/* KN아카데미 공통 스타일 */
/* 글꼴(Pretendard)은 HTML <head>에서 따로 불러와요 (CSS 안 @import는 화면 그리기를 늦춰서 앱 브라우저에서 깨져 보였어요) */
:root{
  --p:#7C4DFF; --p2:#6236E8; --pl:#F3EEFF; --pm:#E6DCFF;
  --ink:#16141F; --sub:#6B6880; --line:#ECEAF2; --soft:#F8F7FB;
  --ok:#14995A; --okl:#E7F8EE; --warn:#C2410C; --warnl:#FFF1E6;
  --r:20px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:clip}
body{overflow-x:clip}   /* 휴대폰·네이버/인스타 앱 브라우저가 글자를 멋대로 키우거나, 옆으로 넘친 내용 때문에 화면을 확대·축소하지 않게 */
body{font-family:"Pretendard Variable",Pretendard,"Noto Sans CJK KR","Apple SD Gothic Neo",sans-serif;color:var(--ink);background:#fff;word-break:keep-all;line-height:1.6;letter-spacing:-.01em;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
:focus-visible{outline:3px solid var(--pm);outline-offset:2px;border-radius:6px}
.wrap{max-width:1160px;margin:0 auto;padding:0 28px}
.narrow{max-width:820px}

/* 상단 띠 / 헤더 */
.top{display:block;background:var(--ink);color:#fff;font-size:14px;text-align:center;height:41px;overflow:hidden;position:relative}
.top-in{display:flex;height:41px}
.top-in a{flex:0 0 100%;display:block;height:41px;line-height:41px;padding:0 16px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top-in a b{color:#FFE08A}
.top-in a:hover{text-decoration:underline}
.top.roll .top-in{animation:toproll calc(var(--n) * 4s) infinite cubic-bezier(.65,0,.35,1)}
.top.roll:hover .top-in,.top.roll:focus-within .top-in{animation-play-state:paused}
/* 배너 2개 기준 (3개 이상이면 단계 추가): 옆으로 밀려 넘어가요 */
@keyframes toproll{0%,42%{transform:translateX(0)}50%,92%{transform:translateX(-100%)}100%{transform:translateX(-200%)}}
@media(prefers-reduced-motion:reduce){.top.roll .top-in{animation:none}}
.top b{color:#C9B6FF}
header.gnb{position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);z-index:50}
.gnb .wrap{display:flex;align-items:center;height:66px;gap:30px}
.logo{display:flex;align-items:center;gap:8px;font-weight:800;font-size:19px;flex:none}
.logo i{width:30px;height:30px;border-radius:9px;background:var(--p);color:#fff;font-style:normal;font-size:13px;display:flex;align-items:center;justify-content:center}
.gnb nav{display:flex;gap:4px;font-size:15.5px;font-weight:600;color:#36334A}
.gnb nav>a,.gnb .dd>button{padding:8px 12px;border-radius:10px;display:inline-flex;align-items:center;gap:4px}
.gnb nav>a:hover,.gnb .dd>button:hover,.gnb nav a.on{background:var(--soft);color:var(--p2)}
.dd{position:relative}
.dd .menu{position:absolute;top:44px;left:0;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 40px rgba(22,20,31,.1);padding:8px;min-width:250px;display:none}
.dd:hover .menu,.dd:focus-within .menu{display:block}
.dd .menu a{display:block;padding:10px 12px;border-radius:10px}
.dd .menu a:hover{background:var(--soft)}
.dd .menu b{display:block;font-size:15px}
.dd .menu small{color:var(--sub);font-size:12.5px;font-weight:500}
.dd .menu .soon{opacity:.5;pointer-events:none}
.gnb .hr{margin-left:auto;display:flex;gap:6px;align-items:center}
.burger{display:none;width:40px;height:40px;border-radius:10px;font-size:22px}
.mnav{display:none}

/* 버튼 */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:50px;padding:0 22px;border-radius:12px;font-weight:700;font-size:15.5px;transition:background .15s}
.btn.s{height:38px;padding:0 15px;font-size:14px;border-radius:10px}
.btn.lg{height:56px;padding:0 28px;font-size:17px;border-radius:14px}
.btn.p{background:var(--p);color:#fff}.btn.p:hover{background:var(--p2)}
.btn.l{background:var(--pl);color:var(--p2)}.btn.l:hover{background:var(--pm)}
.btn.w{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn.w:hover{border-color:#CFCBDB}
.btn.k{background:#FEE500;color:#191600}
.btn.d{background:var(--ink);color:#fff}
.btn.t{color:var(--sub)}.btn.t:hover{color:var(--ink)}
.btn.full{width:100%}

/* 공통 블록 */
.badge{display:inline-block;font-size:12px;font-weight:700;padding:3px 9px;border-radius:6px;background:var(--pl);color:var(--p2);line-height:1.5}
.badge.ok{background:var(--okl);color:var(--ok)}
.badge.dk{background:var(--ink);color:#fff}
.badge.y{background:#FFF4CC;color:#8A6200}
.sec{padding:72px 0}
.sec.soft{background:var(--soft)}
.sec.tight{padding:48px 0}
.sh{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}
.sh h2,.h2{font-size:30px;font-weight:800;letter-spacing:-.035em;line-height:1.3}
.sh p,.sub{color:var(--sub);margin-top:6px;font-size:16px}
.sh .more{font-weight:700;color:var(--p2);font-size:15px;flex:none}
.eyebrow{font-weight:700;color:var(--p);font-size:15px;margin-bottom:8px}
.center{text-align:center}
.sh.center{flex-direction:column;align-items:center;text-align:center}
.center .sh{flex-direction:column;align-items:center}
.box{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.muted{color:var(--sub)}
.hl{color:var(--p)}

/* 메인 히어로 */
.hero{background:linear-gradient(180deg,#F1EBFF 0%,#FAF8FF 60%,#fff 100%);padding:64px 0 56px}
.hero .wrap{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.tag{display:inline-block;background:#fff;color:var(--p2);font-weight:700;font-size:14px;padding:7px 14px;border-radius:30px;box-shadow:0 2px 10px rgba(124,77,255,.12)}
.hero h1{font-size:48px;line-height:1.25;font-weight:800;letter-spacing:-.04em;margin-top:18px}
.hero h1 span{color:var(--p)}
.hero .lead{font-size:18px;color:#4A4760;margin-top:18px}
.chiplb{font-size:14px;color:var(--sub);margin-top:30px;font-weight:600}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.chip{background:#fff;border:1px solid var(--line);border-radius:30px;padding:10px 16px;font-size:15px;font-weight:600;box-shadow:0 2px 8px rgba(22,20,31,.04)}
.chip[aria-pressed=true]{background:var(--p);border-color:var(--p);color:#fff}
.ctas{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.vis{position:relative;height:470px}
.vc{position:absolute;background:#fff;border-radius:22px;box-shadow:0 24px 60px rgba(76,40,180,.14);overflow:hidden;display:block}
.vc .th{height:150px;display:flex;align-items:flex-end;padding:18px;color:#fff;font-weight:800;font-size:22px;line-height:1.3}
.vc .bd{padding:16px 18px}
.vc .bd small{color:var(--sub);font-size:13px}
.vc .bd b{display:block;font-size:17px;margin-top:2px}
.v1{width:280px;left:0;top:20px;transform:rotate(-4deg);z-index:2}
.v2{width:260px;right:0;top:60px;transform:rotate(4deg);z-index:1}
.v3{width:280px;left:110px;bottom:-10px;transform:rotate(-1deg);z-index:3}

/* 썸네일 그라데이션 */
.g1{background:linear-gradient(135deg,#7C4DFF,#A88BFF)}
.g2{background:linear-gradient(135deg,#3D6BFF,#7FA3FF)}
.g3{background:linear-gradient(135deg,#1F1A3D,#4E3F9E)}
.g4{background:linear-gradient(135deg,#FF7E6B,#FFB36B)}
.g5{background:linear-gradient(135deg,#0FA37F,#6FD3B3)}

/* 합격 기업 */
.pgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.pc{border:1px solid var(--line);border-radius:16px;padding:16px;background:#fff;display:flex;flex-direction:column;gap:6px}
.pc .lg{height:40px;display:flex;align-items:center}
.pc .lg img{max-height:34px;max-width:110px;object-fit:contain}
.pc .lg b{font-size:16px;font-weight:800;color:#2B2840}
.pc span{font-size:13px;color:var(--sub)}
.pc .badge{align-self:flex-start}
.logos{display:flex;gap:42px;align-items:center;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.logos .track{display:flex;gap:42px;align-items:center;animation:marq 40s linear infinite;flex:none}
.logos img{height:34px;width:auto;max-width:130px;object-fit:contain;filter:grayscale(1);opacity:.75}
@keyframes marq{to{transform:translateX(calc(-100% - 42px))}}
@media (prefers-reduced-motion:reduce){.logos .track{animation:none}}

/* 프로그램 카드 */
.card{background:#fff;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);display:flex;flex-direction:column;transition:box-shadow .15s}
.card:hover{box-shadow:0 14px 34px rgba(22,20,31,.08)}
.card .th{height:150px;padding:18px;display:flex;flex-direction:column;justify-content:space-between;color:#fff}
.card .th .badge{background:rgba(255,255,255,.22);color:#fff;align-self:flex-start}
.card .th b{font-size:21px;line-height:1.3;font-weight:800}
.card .bd{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.card .bd p{font-size:14.5px;color:#4A4760}
.meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.meta span{font-size:12.5px;background:var(--soft);color:var(--sub);padding:3px 9px;border-radius:6px}
.card .pr{margin-top:auto;padding-top:16px;font-size:19px;font-weight:800}
.card .pr small{font-size:13px;color:var(--sub);font-weight:600}

/* 무료 자료 */
.free{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px}
.fr{border-radius:var(--r);padding:26px;display:flex;flex-direction:column;min-height:230px}
.fr.big{background:var(--ink);color:#fff;flex-direction:row;gap:22px;align-items:center}
.fr.big img{width:130px;border-radius:6px;box-shadow:0 12px 30px rgba(0,0,0,.35);flex:none}
.fr.big h3{font-size:22px;line-height:1.35;margin-top:8px}
.fr.big p{color:#C8C4DA;font-size:14px;margin-top:8px}
.fr.big .btn{margin-top:16px;height:42px}
.fr.c{background:var(--pl)}
.fr.c2{background:#EEF3FF}
.fr.c3{background:#EAF8F2}
.fr .ic{font-size:30px}
.fr h3{font-size:19px;margin-top:12px;line-height:1.35}
.fr .d{font-size:14px;color:var(--sub);margin-top:6px}
.fr .go{margin-top:auto;padding-top:14px;font-weight:700;color:var(--p2);font-size:15px}

/* 후기 */
.rv{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.rc{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;display:flex;flex-direction:column}
.rc .lb{font-size:13px;color:var(--p2);font-weight:700}
.rc p{margin-top:8px;font-size:15.5px;line-height:1.65}
.rc .who{margin-top:auto;padding-top:14px;font-size:13.5px;color:var(--sub);display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.rc .src{margin-left:auto;font-weight:600;color:var(--p2)}
.rimgs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.rimgs button{border-radius:16px;overflow:hidden;border:1px solid var(--line);aspect-ratio:3/4;background:var(--soft)}
.rimgs img{width:100%;height:100%;object-fit:cover;object-position:top}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.filters button{padding:9px 16px;border-radius:30px;border:1px solid var(--line);background:#fff;font-weight:600;font-size:14.5px}
.filters button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}

/* 서브페이지 히어로 */
.phero{background:linear-gradient(180deg,#F1EBFF 0%,#fff 100%);padding:56px 0 48px}
.phero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.phero.one .wrap{grid-template-columns:1fr}
.phero h1{font-size:42px;line-height:1.28;font-weight:800;letter-spacing:-.04em;margin-top:14px}
.phero .lead{font-size:18px;color:#4A4760;margin-top:16px}
.phero .ticks{list-style:none;margin-top:20px;display:grid;gap:6px;font-size:15.5px;color:#36334A}
.phero .ticks li:before{content:"✓";color:var(--p);font-weight:800;margin-right:8px}
.pricebox{background:#fff;border-radius:22px;box-shadow:0 24px 60px rgba(76,40,180,.12);padding:26px}
.pricebox h3{font-size:18px}
.pricebox .rows{margin-top:12px;display:grid;gap:8px}
.pricebox .row{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px;background:var(--soft);font-size:15px}
.pricebox .row b{font-size:17px}
.pricebox .btn{margin-top:16px}
.pricebox .note{font-size:13px;color:var(--sub);margin-top:10px}
.crumb{font-size:14px;color:var(--sub);font-weight:600}
.crumb a:hover{color:var(--p2)}

/* 콘텐츠 블록 */
.prob{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.prob .box h3{font-size:18px;margin-top:10px}
.prob .box p{font-size:15px;color:#4A4760;margin-top:8px}
.ico{width:46px;height:46px;border-radius:14px;background:var(--pl);display:flex;align-items:center;justify-content:center;font-size:22px}
.quote{background:var(--ink);color:#fff;border-radius:var(--r);padding:30px 32px;font-size:19px;line-height:1.6;font-weight:600}
.quote small{display:block;color:#B8B3CE;font-size:14px;margin-top:12px;font-weight:500}
.ba{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ba .box h4{font-size:15px;color:var(--sub)}
.ba .box p{margin-top:10px;font-size:16px;line-height:1.7}
.ba .box .react{margin-top:16px;padding-top:14px;border-top:1px dashed var(--line);font-size:14.5px;color:var(--sub)}
.ba .after{border-color:var(--pm);background:#FCFAFF}
.ba .after h4{color:var(--p2)}
.steps{display:grid;gap:14px}
.step{display:grid;grid-template-columns:auto 1fr;gap:18px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px}
.step .n{width:40px;height:40px;border-radius:12px;background:var(--p);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}
.step h3{font-size:18px}
.step .when{font-size:13px;color:var(--p2);font-weight:700}
.step p,.step li{font-size:15px;color:#4A4760}
.step ul{margin-top:6px;padding-left:18px}
.plans{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.plan{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;display:flex;flex-direction:column}
.plan.best{border:2px solid var(--p);box-shadow:0 18px 44px rgba(124,77,255,.14)}
.plan .badge{align-self:flex-start}
.plan h3{font-size:22px;margin-top:8px}
.plan .d{color:var(--sub);font-size:15px;margin-top:4px}
.plan ul{list-style:none;margin:18px 0;display:grid;gap:8px;font-size:15px}
.plan li:before{content:"✓";color:var(--p);font-weight:800;margin-right:8px}
.plan .price{font-size:30px;font-weight:800;margin-top:auto}
.plan .btn{margin-top:14px}
table.cmp{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden;font-size:15px}
table.cmp th,table.cmp td{padding:13px 16px;border-bottom:1px solid var(--line);text-align:center}
table.cmp th{background:var(--soft);font-weight:700}
table.cmp td:first-child,table.cmp th:first-child{text-align:left}
.fit{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.fit ul{list-style:none;display:grid;gap:8px;margin-top:12px;font-size:15.5px}
.fit .yes li:before{content:"✓";color:var(--ok);font-weight:800;margin-right:8px}
.fit .no li:before{content:"✕";color:#C0392B;font-weight:800;margin-right:8px}
.mentor{display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:start}
.mentor .av{width:96px;height:96px;border-radius:28px;background:linear-gradient(135deg,#7C4DFF,#B39BFF);color:#fff;font-size:34px;font-weight:800;display:flex;align-items:center;justify-content:center}
.mentor h3{font-size:22px}
.mentor .role{color:var(--p2);font-weight:700;font-size:14.5px}
.mentor blockquote{margin-top:12px;font-size:16px;color:#36334A;line-height:1.7}
.mentor ul{list-style:none;margin-top:14px;display:grid;gap:4px;font-size:15px;color:#4A4760}
.mentor .links{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:16px;padding:0 20px;margin-bottom:10px}
.faq summary{list-style:none;cursor:pointer;padding:18px 0;font-weight:700;font-size:16px;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";color:var(--p);font-size:22px;line-height:1}
.faq details[open] summary:after{content:"−"}
.faq .a{padding:0 0 18px;color:#4A4760;font-size:15px;line-height:1.75}
.refund{background:var(--warnl);border-radius:16px;padding:20px 22px;font-size:15px}
.refund b{color:var(--warn)}
.refund ul{margin-top:8px;padding-left:18px}
.cta{background:var(--ink);color:#fff;border-radius:28px;padding:56px 40px;text-align:center}
.cta h2{font-size:32px;letter-spacing:-.035em;line-height:1.35}
.cta p{color:#C8C4DA;margin-top:10px;font-size:16.5px}
.cta .ctas{justify-content:center;margin-top:24px}
.cta .ctas .btn.w{background:transparent;color:#fff;border-color:#4B4565}
.form-img{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-img figure{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.form-img img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:top}
.form-img figcaption{padding:14px 18px;font-weight:700}
.form-img figcaption small{display:block;color:var(--sub);font-weight:500;font-size:13px}
.report{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px}
.report .qq{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.report .qq h4{font-size:16px}
.report dl{display:grid;grid-template-columns:90px 1fr;gap:6px 14px;margin-top:10px;font-size:14.5px}
.report dt{color:var(--sub);font-weight:700}
.chk{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.chk li{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;font-size:15.5px}
.chk li:before{content:"☑";color:var(--p);margin-right:8px}

/* 전자책 */
.book{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center}
.book .cover{max-width:340px;border-radius:8px;box-shadow:0 30px 60px rgba(22,20,31,.25);transform:rotate(-2deg)}
.toc{columns:2;column-gap:28px;font-size:15px}
.toc div{break-inside:avoid;margin-bottom:16px}
.toc b{display:block;color:var(--p2);font-size:14px;margin-bottom:4px}
.toc span{display:block;color:#36334A;padding:2px 0}
.pages{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pages img{border-radius:10px;border:1px solid var(--line);box-shadow:0 10px 26px rgba(22,20,31,.08)}

/* 문서(약관) */
.doc h1{font-size:34px;letter-spacing:-.03em}
.doc .upd{color:var(--sub);margin-top:6px}
.doc h2{font-size:20px;margin:34px 0 10px}
.doc p,.doc li{font-size:15.5px;color:#36334A;line-height:1.8}
.doc ul,.doc ol{padding-left:20px;margin-top:6px}
.doc table{width:100%;border-collapse:collapse;margin-top:10px;font-size:14.5px}
.doc th,.doc td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
.doc th{background:var(--soft)}

/* 스토리 */
.knmean{display:flex;align-items:center;justify-content:center;gap:26px;font-size:56px;font-weight:800;letter-spacing:-.03em}
.knmean span{color:var(--sub);font-weight:500;font-size:36px}
.knmean em{font-style:normal;color:var(--p)}
.letter{font-size:17px;line-height:1.95;color:#36334A}
.letter p+p{margin-top:16px}
.letter .pull{font-size:22px;font-weight:700;color:var(--ink);line-height:1.6;margin:30px 0;padding-left:20px;border-left:4px solid var(--p)}

/* 블로그 */
.bcats{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.empty{text-align:center;padding:60px 20px;color:var(--sub);border:1px dashed #D8D4E4;border-radius:var(--r)}

/* 푸터 */
footer.ft{background:var(--soft);border-top:1px solid var(--line);padding:48px 0 56px;margin-top:0;font-size:14px;color:var(--sub)}
.ft .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}
.ft h4{color:var(--ink);font-size:14.5px;margin-bottom:10px}
.ft ul{list-style:none;display:grid;gap:6px}
.ft a:hover{color:var(--ink)}
.ft .bottom{margin-top:34px;padding-top:20px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}
.ft .bottom nav{display:flex;gap:16px}
.ft .bottom nav a:first-child{font-weight:700;color:var(--ink)}
.fab{position:fixed;right:22px;bottom:22px;background:#FEE500;color:#191600;font-weight:800;border-radius:30px;padding:14px 20px;box-shadow:0 10px 30px rgba(0,0,0,.18);font-size:15px;z-index:40}

/* 라이트박스 */
.lb{position:fixed;inset:0;background:rgba(10,8,20,.82);display:none;align-items:center;justify-content:center;z-index:100;padding:24px}
.lb.on{display:flex}
.lb img{max-height:90vh;max-width:min(560px,92vw);border-radius:12px}
.lb button{position:absolute;top:18px;right:22px;color:#fff;font-size:32px}

@media(max-width:960px){
  .pgrid{grid-template-columns:repeat(3,1fr)}
  .grid4{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:860px){
  .wrap{padding:0 16px}
  .gnb nav,.gnb .hr .t,.gnb .hr .p{display:none}
  .burger{display:flex;align-items:center;justify-content:center}
  .mnav.on{display:block;position:fixed;inset:66px 0 0;background:#fff;z-index:49;padding:12px 16px;overflow:auto}
  .mnav a{display:block;padding:14px 6px;border-bottom:1px solid var(--line);font-weight:600;font-size:16.5px}
  .mnav .grp{font-size:13px;color:var(--sub);padding:18px 6px 4px;font-weight:700}
  .mnav .btns{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}
  .mnav .btns a{border:0;padding:0}
  .hero{padding:36px 0}.hero .wrap,.phero .wrap{grid-template-columns:1fr;gap:28px}
  .hero h1{font-size:32px}.hero .lead,.phero .lead{font-size:16px}
  .phero{padding:36px 0}.phero h1{font-size:30px}
  .vis{display:none}
  .pgrid{grid-template-columns:repeat(2,1fr)}
  .grid2,.grid3,.grid4,.free,.rv,.prob,.ba,.plans,.fit,.form-img,.book,.pages,.chk{grid-template-columns:1fr}
  .rimgs{grid-template-columns:repeat(2,1fr)}
  .fr.big{flex-direction:column;align-items:flex-start}
  .sh{flex-direction:column;align-items:flex-start}.sh h2,.h2{font-size:24px}
  .sec{padding:52px 0}
  .mentor{grid-template-columns:1fr}
  .cta{padding:40px 22px;border-radius:22px}.cta h2{font-size:24px}
  .toc{columns:1}
  .book .cover{max-width:220px}
  .knmean{font-size:38px;gap:14px}.knmean span{font-size:26px}
  .ft .cols{grid-template-columns:1fr 1fr}
  .fab{right:14px;bottom:14px;padding:12px 16px;font-size:14px}
  table.cmp{font-size:13.5px}table.cmp th,table.cmp td{padding:10px 8px}
}

/* ───── 회원 화면 ───── */
.auth{max-width:440px;margin:0 auto}
.auth.wide{max-width:720px}
.auth h1{font-size:30px;letter-spacing:-.03em;margin-top:6px}
.auth>.muted{margin-top:6px}
.fld{display:flex;flex-direction:column;gap:6px;margin-top:14px;font-size:14px}
.fld>span{font-weight:700;color:#36334A;display:flex;align-items:center;gap:8px}
.fld i{color:var(--p);font-style:normal}
.fld input:not([type=checkbox]):not([type=radio]),.fld select,.fld textarea,.tbar select,.upl select{width:100%;font:inherit;font-size:15.5px;padding:12px 14px;border:1px solid #DCD8E6;border-radius:12px;background:#fff;color:var(--ink)}
.fld textarea{resize:vertical;line-height:1.6}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--p);box-shadow:0 0 0 3px var(--pl)}
.fld small{font-size:13px}
.g2f{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.g2f .wide{grid-column:1/-1}
.cks{display:flex;flex-wrap:wrap;gap:8px}
.cks.col{flex-direction:column}
.ck{display:inline-flex;align-items:flex-start;gap:8px;font-size:14.5px;font-weight:500;cursor:pointer}
.cks .ck span{border:1px solid #DCD8E6;border-radius:30px;padding:7px 13px;background:#fff}
.cks .ck input{position:absolute;opacity:0;pointer-events:none}
.cks .ck input:checked+span{background:var(--pl);border-color:var(--p);color:var(--p2);font-weight:700}
.cks .ck input:focus-visible+span{outline:3px solid var(--pm)}
.cks.col .ck span{border-radius:12px;width:100%;padding:12px 14px}
.ck input[type=checkbox],.ck input[type=radio]{width:18px;height:18px;accent-color:var(--p);margin-top:2px;flex:none}
.agree{border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-top:18px;display:grid;gap:10px;background:var(--soft)}
.agree .all{padding-bottom:10px;border-bottom:1px solid var(--line)}
.agree a{text-decoration:underline}
.ferr{color:#C0392B;font-size:14px;min-height:20px;margin:12px 0 6px}
.alert{background:var(--warnl);color:var(--warn);border-radius:12px;padding:12px 14px;font-size:14.5px;margin-top:14px}
.social{display:grid;gap:8px;margin-top:22px}
.btn.kakao{background:#FEE500;color:#191600;height:50px}
.btn.naver{background:#03C75A;color:#fff;height:50px}
.or{display:flex;align-items:center;gap:12px;color:var(--sub);font-size:13px;margin:22px 0 4px}
.or:before,.or:after{content:"";flex:1;height:1px;background:var(--line)}
.stepper{display:flex;gap:6px;font-size:13px;font-weight:700;color:#B4AFC6}
.stepper span{padding:4px 10px;border-radius:20px;background:var(--soft)}
.stepper .on{background:var(--pl);color:var(--p2)}
.stepper .done{color:var(--ok)}
.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:var(--ink);color:#fff;padding:12px 18px;border-radius:12px;font-size:14.5px;opacity:0;pointer-events:none;transition:.2s;z-index:200;max-width:90vw}
.toast.on{opacity:1;transform:translate(-50%,0)}
.toast.bad{background:#B42318}
.modal{position:fixed;inset:0;background:rgba(10,8,20,.5);display:flex;align-items:center;justify-content:center;padding:20px;z-index:150}
.sheet-m{background:#fff;border-radius:22px;padding:28px;width:min(560px,100%);max-height:90vh;overflow:auto;position:relative}
.sheet-m h2{font-size:22px;letter-spacing:-.02em;padding-right:30px}
.sheet-m .x{position:absolute;top:14px;right:16px;font-size:28px;color:var(--sub);line-height:1}
.modal.side{justify-content:flex-end;padding:0}
.modal.side .sheet-m{border-radius:0;height:100vh;max-height:none;width:min(620px,100%)}
.hint{font-size:12.5px;font-weight:700;color:var(--p2);background:var(--pl);border-radius:8px;padding:3px 9px;margin-left:auto}
.stars{display:flex;gap:4px}
.stars label{cursor:pointer;font-size:30px;color:#E2DEEA}
.stars input{position:absolute;opacity:0}
.stars label:has(input:checked),.stars label:has(~ label input:checked){color:#FFB800}
.stars-s{color:#FFB800;font-size:12px;letter-spacing:1px}
.sm{font-size:13.5px}

/* 마이페이지 */
.mp{display:grid;grid-template-columns:250px 1fr;gap:28px;align-items:start}
.mp-side{position:sticky;top:86px}
.pcard{border:1px solid var(--line);border-radius:18px;padding:20px;background:#fff}
.pcard .av{width:48px;height:48px;border-radius:50%;background:var(--pl);color:var(--p2);font-weight:800;display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:10px}
.pcard>b{font-size:17px;display:block}
.pcard dl{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;font-size:13.5px;margin:10px 0;color:var(--sub)}
.pcard dd{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mp-nav{display:grid;gap:2px;margin-top:14px}
.mp-nav a{padding:11px 14px;border-radius:12px;font-weight:600;color:#4A4760}
.mp-nav a:hover{background:var(--soft)}
.mp-nav a.on{background:var(--pl);color:var(--p2)}
.mp-h{font-size:24px;letter-spacing:-.03em;margin-bottom:16px}
.mp-h3{font-size:16.5px;margin:22px 0 4px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.stats a{border:1px solid var(--line);border-radius:16px;padding:18px;font-size:14px;color:var(--sub);background:#fff}
.stats b{display:block;font-size:26px;color:var(--ink)}
.tile h3{font-size:17px;margin-top:10px}.tile p{font-size:14.5px;margin-top:4px}
.list{display:grid;gap:10px}
.li{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid var(--line);border-radius:16px;padding:16px 18px;background:#fff}
.li b{margin-left:6px}
.li small{color:var(--sub)}
.empty.sm{padding:28px 16px;font-size:14.5px}
.empty .ctas{margin-top:14px}
.subtabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:18px}
.subtabs a{padding:10px 14px;font-weight:700;color:var(--sub);border-bottom:2px solid transparent;margin-bottom:-1px}
.subtabs a.on{color:var(--ink);border-color:var(--ink)}
.tip{background:#F5F2FF;border-radius:14px;padding:14px 16px;font-size:14.5px;color:#3D3557;margin-bottom:14px}
.tbar{display:flex;gap:8px;align-items:center;margin-bottom:14px;flex-wrap:wrap}
.tbar select{width:auto;padding:9px 12px;font-size:14.5px}
.tbar .btn{margin-left:auto}
.exl{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.exc{text-align:left;border:1px solid var(--line);border-radius:16px;padding:16px;background:#fff;display:flex;flex-direction:column;gap:6px}
.exc:hover{border-color:var(--pm)}
.exc b{font-size:16px}
.tags{display:flex;flex-wrap:wrap;gap:4px}
.tags i{font-style:normal;font-size:12px;background:var(--soft);color:var(--sub);padding:2px 8px;border-radius:6px}
table.mtx{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden;border:1px solid var(--line)}
.mtx th,.mtx td{border-bottom:1px solid var(--line);padding:12px 14px;text-align:left;vertical-align:top;font-size:14.5px}
.mtx thead th{background:var(--soft)}
.mtx tbody th{background:#FCFBFE;font-weight:700}
.mx{padding:4px 0}.mx b{display:block;margin:0}
.gap{color:#B4AFC6;font-size:13.5px}
.upl{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:16px}
.upl select{width:auto}
.todo{display:grid;grid-template-columns:auto 1fr 150px auto;gap:8px;align-items:center;margin-top:8px}
.todo input[type=text],.todo input[type=date]{font:inherit;font-size:15px;padding:9px 12px;border:1px solid #DCD8E6;border-radius:10px}
.cpns{display:grid;gap:10px}
.cpn{display:flex;gap:18px;align-items:center;border:1px dashed var(--p);border-radius:16px;padding:16px 18px;background:#FCFAFF}
.cpn>b{font-size:22px;color:var(--p2);min-width:110px}
.cpn.dead{opacity:.45;border-color:#CCC}
.sumrow{display:flex;justify-content:space-between;align-items:center;background:var(--soft);border-radius:14px;padding:16px 18px;margin-top:18px}
.sumrow b{font-size:22px}
.res{display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:center}
.res img{border-radius:8px;box-shadow:0 10px 24px rgba(22,20,31,.15)}
.res h3{font-size:19px}.res p{font-size:14.5px;margin:6px 0 14px}
.post{margin-top:22px;font-size:17px;line-height:1.9;color:#2B2840}
.post h2,.post h3,.post h4{margin:28px 0 8px;line-height:1.4}
.post p{margin-top:12px}.post ul{margin:10px 0 0 20px}
.post img{border-radius:12px;margin:16px 0}
.post blockquote{border-left:4px solid var(--p);padding:6px 16px;margin:16px 0;color:#4A4760;background:var(--soft);border-radius:0 10px 10px 0}
@media(max-width:860px){
  .mp{grid-template-columns:1fr}
  .mp-side{position:static}
  .mp-nav{display:flex;overflow-x:auto;gap:4px;margin-top:12px;padding-bottom:4px}
  .mp-nav a{white-space:nowrap;padding:9px 12px}
  .pcard dl{display:none}
  .stats{grid-template-columns:repeat(2,1fr)}
  .exl,.g2f{grid-template-columns:1fr}
  .li{flex-direction:column;align-items:flex-start}
  .todo{grid-template-columns:auto 1fr auto}.todo input[type=date]{grid-column:2}
  .res{grid-template-columns:90px 1fr}
}
@media print{header.gnb,.top,footer.ft,.fab,.mp-side,.subtabs,.tbar,.tip{display:none!important}.mp{display:block}}
/* 관리자 */
.tw{overflow-x:auto;border-radius:16px}
.adm td,.adm th{font-size:13.5px;padding:10px 12px}
.adm small{color:var(--sub)}
.adm select,.tin{font:inherit;font-size:13.5px;padding:7px 10px;border:1px solid #DCD8E6;border-radius:10px;background:#fff;max-width:100%}
.tbar .tin{min-width:240px}
.prefill{background:var(--soft);border-radius:16px;padding:16px 18px;margin-top:12px}
.pf-h{display:flex;flex-direction:column;gap:2px}
.pf-h b{font-size:15.5px}
.prefill .fld input:disabled{background:#F1F0F5;color:var(--sub)}
/* 상품 썸네일 */
.thumb{width:72px;height:72px;border-radius:12px;object-fit:cover;flex:none;display:flex;align-items:flex-end;padding:7px;color:#fff;font-size:11.5px;font-weight:800;line-height:1.25;overflow:hidden;background-color:var(--soft)}
img.thumb{padding:0;object-position:top;border:1px solid var(--line)}
.thumb.lg{width:120px;height:150px;border-radius:14px;font-size:15px;padding:12px}
.thumb.sm{width:44px;height:44px;border-radius:10px;font-size:9px;padding:5px}
.pli{justify-content:flex-start}
.pli .grow{flex:1;min-width:0}
.aphead{display:flex;gap:20px;align-items:center;margin-top:8px}
.aphead h1{margin-top:0}
.pcell{display:flex;gap:10px;align-items:center}
.upbox{display:flex;flex-direction:column;gap:8px;border:1px dashed #CFC8E6;border-radius:14px;padding:14px;margin-top:14px;background:#FCFAFF}
.upbox>div{display:flex;flex-direction:column}
@media(max-width:860px){.pli{flex-direction:row;flex-wrap:wrap}.aphead{flex-direction:column;align-items:flex-start}}
[hidden]{display:none!important}
.subtabs small{font-size:12px;color:var(--sub);font-weight:600;margin-left:2px}
.kvs{border:1px solid var(--line);border-radius:14px;padding:4px 16px;margin-top:8px}
.kv{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.kv:last-child{border-bottom:0}
.kv span{color:var(--sub);flex:none}
.kv b{text-align:right;font-weight:600}
/* 로그인·가입 (단순형) */
.auth.slim{max-width:380px;text-align:center;padding-top:12px}
.auth.slim h1{font-size:26px}
.auth.slim>.muted{margin:6px 0 26px}
.auth.slim form{text-align:left}
.in{display:block;width:100%;font:inherit;font-size:15.5px;padding:14px 16px;border:1px solid #DCD8E6;border-radius:12px;background:#fff;margin-top:10px;color:var(--ink)}
select.in{appearance:auto;color:var(--ink)}
.in:focus{outline:none;border-color:var(--p);box-shadow:0 0 0 3px var(--pl)}
.auth.slim .ferr{min-height:18px;margin:10px 0 8px;text-align:left}
.auth.slim .agree{margin-top:14px;text-align:left}
.sns{margin-top:30px}
.sns-l{display:flex;align-items:center;gap:12px;color:var(--sub);font-size:13px}
.sns-l:before,.sns-l:after{content:"";flex:1;height:1px;background:var(--line)}
.sns-b{display:flex;justify-content:center;gap:14px;margin-top:16px}
.sico{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.sico svg{width:22px;height:22px}
.sico.kakao{background:#FEE500;color:#191600}
.sico.naver{background:#03C75A;color:#fff}
.sico.naver svg{width:17px;height:17px}
.alinks{display:flex;justify-content:center;gap:10px;margin-top:26px;font-size:14px;color:var(--sub)}
.alinks a{color:var(--ink);font-weight:600}
.alinks a:hover{color:var(--p2)}
.rgrp{margin-top:10px}.rgrp>small{display:block;font-weight:700;margin-bottom:6px}

/* 후기 페이지 (피드형) */
.rv2{max-width:800px;margin:0 auto;padding:0 22px 70px}
.rv2-h{padding:44px 0 6px}.rv2-h h1{font-size:34px;letter-spacing:-.03em;line-height:1.3;margin-top:6px}.rv2-h p{color:var(--sub);margin-top:8px}
.seg{display:inline-flex;background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:4px;margin-top:22px;gap:4px}
.seg button{padding:10px 20px;border-radius:10px;font-weight:700;font-size:15.5px;color:var(--sub)}
.seg button small{font-weight:600;margin-left:2px}
.seg .on{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(22,20,31,.08)}.seg .on small{color:var(--p)}
.rv2 .score{display:flex;gap:26px;align-items:center;border:1px solid var(--line);border-radius:20px;padding:22px 24px;margin-top:22px}
.rv2 .sc b{display:block;font-size:42px;font-weight:800;color:var(--p);line-height:1.05;letter-spacing:-.02em}.rv2 .sc span{font-size:13.5px;color:var(--sub)}
.rv2 .score.pass p{color:var(--sub);font-size:15px}
.rv2 .bars{flex:1;display:grid;gap:7px}
.rv2 .bars div{display:grid;grid-template-columns:120px 1fr 26px;gap:10px;align-items:center;font-size:13.5px;color:var(--sub)}
.rv2 .bars b{font-weight:600;text-align:right}
.rv2 .bars i{height:8px;border-radius:9px;background:var(--pl);position:relative;overflow:hidden}
.rv2 .bars i:after{content:"";position:absolute;inset:0;width:var(--w);background:var(--p);border-radius:9px}
.ptabs{display:flex;gap:4px;flex-wrap:wrap;margin-top:26px;border-bottom:1px solid var(--line)}
.ptabs button{padding:10px 12px;font-weight:700;font-size:15px;color:var(--sub);border-bottom:2px solid transparent;margin-bottom:-1px}
.ptabs button small{font-weight:600}.ptabs .on{color:var(--ink);border-color:var(--ink)}
.fd{border-bottom:1px solid var(--line);padding:22px 2px}
.fd .fh{display:flex;align-items:center;gap:11px}
.fd .av{width:40px;height:40px;border-radius:50%;background:var(--pl);color:var(--p2);font-weight:800;display:flex;align-items:center;justify-content:center;font-size:13.5px;flex:none}
.fd .av img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
.fd .av:has(img){overflow:hidden}
.fd .nm{font-weight:700;font-size:15.5px}.fd .mt{font-size:13px;color:#8C88A0;margin-top:1px}.fd .st{color:#FFB800;letter-spacing:1px}
.fd .ok{background:var(--okl);color:var(--ok);font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:99px;margin-left:7px;vertical-align:2px}
.fd p{margin-top:12px;font-size:15.5px;line-height:1.75;white-space:pre-line}
.more3{display:block;width:100%;margin-top:22px;border:1px solid var(--line);border-radius:12px;padding:14px;font-weight:700;background:#fff}
.more3:hover{background:var(--soft)}
.rv2-cta{margin-top:34px;background:var(--pl);border-radius:20px;padding:22px 24px;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.rv2-cta b{font-size:17px}.rv2-cta p{color:var(--sub);font-size:14.5px;margin-top:3px}
.rv2-more{display:flex;gap:18px;justify-content:center;margin-top:30px;font-size:14.5px;color:var(--sub);flex-wrap:wrap}.rv2-more a:hover{color:var(--p2)}
@media(max-width:700px){.rv2 .score{flex-direction:column;align-items:stretch;gap:16px}.rv2-h h1{font-size:28px}.seg{display:flex}.seg button{flex:1;padding:10px 8px}.rv2 .bars div{grid-template-columns:100px 1fr 24px}}

/* ── 부트캠프 상세 ── */
.bc-hero{background:#141414;color:#fff;padding:46px 0 56px}
.bc-hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}
.bc-hero .crumb,.bc-hero .crumb a{color:#9a97a8}
.bc-tag{display:inline-block;margin-top:12px;font-size:13.5px;font-weight:700;color:#12F09A;border:1px solid #1f6b4c;padding:5px 12px;border-radius:99px}
.bc-hero h1{font-size:48px;line-height:1.18;letter-spacing:-.035em;margin-top:16px;font-weight:800}
.bc-hero h1 em{font-style:normal;color:#12F09A}
.bc-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px}
.bc-chips span{font-size:13.5px;font-weight:600;padding:6px 11px;border-radius:9px;background:#232323;color:#dcdbe3}
.bc-hero .lead{color:#c4c2cf;margin-top:18px;font-size:17px}.bc-hero .lead b{color:#fff}
.bc-live{background:#fff;color:var(--ink);border-radius:22px;padding:24px;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.bl-h{display:flex;justify-content:space-between;align-items:center}.bl-h b{font-size:20px}
.bl-st{font-size:12.5px;font-weight:700;padding:4px 10px;border-radius:99px;background:var(--soft);color:var(--sub)}
.bl-st.on{background:#E3FCEF;color:#0B8A57}.bl-st.off{background:#FFE9E3;color:#C2410C}
.bl-dates{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:16px}
.bl-date{border:1.5px solid var(--line);border-radius:14px;padding:12px 10px;text-align:center}
.bl-date b{display:block;font-size:22px;letter-spacing:-.02em}.bl-date small{font-size:12.5px;color:var(--sub)}
.bl-date.x{background:var(--soft);color:#b3b0c0}.bl-date.x b{text-decoration:line-through}.bl-date.x small{color:#C2410C;font-weight:700}
.bl-note{font-size:12.5px;color:var(--sub);margin:12px 0 14px}
.bl-sub{display:block;text-align:center;font-size:14px;color:var(--sub);margin-top:10px}
.bc-tabs{position:sticky;top:66px;z-index:40;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}
.bc-tabs .wrap{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.bc-tabs a{padding:14px 14px;font-weight:700;font-size:15px;color:var(--sub);white-space:nowrap;border-bottom:2px solid transparent}
.bc-tabs a.on,.bc-tabs a:hover{color:var(--ink);border-color:var(--ink)}
.bc-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.bc-facts div{border:1px solid var(--line);border-radius:18px;padding:18px}
.bc-facts i{font-style:normal;font-size:22px}.bc-facts b{display:block;margin-top:8px;font-size:16.5px}.bc-facts span{font-size:14px;color:var(--sub)}
.bc-dark{background:#141414;color:#fff}.bc-dark .sh p,.bc-dark .bc-p{color:#b9b7c4}.bc-dark .h2,.bc-dark h2{color:#fff}
.eyebrow.g{color:#12F09A}.eyebrow.r{color:#E64A2E}
.bc-p{font-size:17px;line-height:1.8;margin-top:18px}.bc-p b{color:#fff}
.quote.dk{background:#222;color:#e8e6ef;border-color:#333;margin-top:22px}
.bc-beige{background:#F3EDE2}
.bc-check{background:#fff;border-radius:20px;padding:8px 22px;margin-top:22px}
.ck2{display:flex;gap:14px;align-items:center;padding:15px 12px;margin:0 -12px;border-bottom:1px dashed #e4dccd;cursor:pointer;font-size:16px;border-radius:12px;transition:background .2s}
.ck2:last-child{border-bottom:0}
.ck2:hover{background:#FFF6F2}
.ck2 input{position:absolute;opacity:0;pointer-events:none}
.ck2 .bx{width:26px;height:26px;border:2px solid #CFC6B6;border-radius:8px;flex:none;position:relative;background:#fff;transition:border-color .2s,background .2s,transform .15s}
.ck2:hover .bx{border-color:#E64A2E}
.ck2 .bx:after{content:"";position:absolute;left:7px;top:2px;width:7px;height:13px;border:solid #fff;border-width:0 3px 3px 0;transform:rotate(45deg) scale(0);transition:transform .2s cubic-bezier(.3,1.6,.5,1)}
.ck2 input:checked+.bx{background:#E64A2E;border-color:#E64A2E;animation:bxpop .3s}
.ck2 input:checked+.bx:after{transform:rotate(45deg) scale(1)}
.ck2 input:checked~span{font-weight:700;color:#B4361F}
.ck2:has(input:checked){background:#FFF1EC}
.ck2 input:focus-visible+.bx{outline:3px solid #FFC7B8;outline-offset:2px}
@keyframes bxpop{0%{transform:scale(1)}40%{transform:scale(1.25)}100%{transform:scale(1)}}
/* 처음 보는 분께 '눌러서 체크'를 알려 주는 반짝임 (한 번 누르면 사라져요) */
.bc-tap{margin-top:8px;font-size:15px;color:#8A6F55;font-weight:600}
.bc-check.nudge.on .ck2:first-child .bx{animation:bxhint 1.6s ease-in-out infinite}
.bc-check.nudge.on .ck2:first-child{background:#FFF6F2}
@keyframes bxhint{0%,100%{box-shadow:0 0 0 0 rgba(230,74,46,.45);border-color:#E64A2E}60%{box-shadow:0 0 0 10px rgba(230,74,46,0)}}
.bc-result b span{display:inline-block}.bc-result b span.bump{animation:bxpop .35s}
@media(prefers-reduced-motion:reduce){.bc-check.nudge.on .ck2:first-child .bx,.ck2 input:checked+.bx{animation:none}}
.bc-result{margin-top:16px;background:#1d1b19;color:#fff;border-radius:18px;padding:20px 22px}
.bc-result b{font-size:18px}.bc-result b span{color:#FFD43B}.bc-result p{color:#d8d4cc;margin-top:6px}
.bc-result .btn{margin-top:12px}
.bc-why{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.bc-why div{background:var(--soft);border-radius:18px;padding:22px}.bc-why b{color:var(--p);font-family:monospace;font-size:15px}
.bc-why h3{margin-top:6px;font-size:18px}.bc-why p{color:var(--sub);font-size:15px;margin-top:6px}
.bc-imgs{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.bc-imgs figure{border-radius:18px;overflow:hidden;border:1px solid var(--line)}.bc-imgs figcaption{padding:10px 14px;font-size:14px;font-weight:700}
.bc-table{overflow-x:auto;border-radius:18px;background:#fff;color:var(--ink)}
.bc-table table{width:100%;border-collapse:collapse;min-width:560px}
.bc-table th{background:#0f1430;color:#fff;text-align:left;padding:14px 18px;font-size:14px}
.bc-table td{padding:15px 18px;border-bottom:1px solid var(--line);vertical-align:top}
.bc-table td b{display:block;font-size:16px}.bc-table td small{color:var(--sub);font-size:13.5px}
.bc-table .dn{font-family:monospace;font-weight:700;color:#2747F5;white-space:nowrap}.bc-table .fm{color:#4a4860;font-size:14.5px}
.bc-table tr.last td{background:#EEF2FF}
.bc-out{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:center}
.bc-out ol{list-style:none;counter-reset:o;display:grid;gap:14px}
.bc-out li{counter-increment:o;background:#fff;border-radius:18px;padding:18px 18px 18px 62px;position:relative}
.bc-out li:before{content:counter(o);position:absolute;left:18px;top:18px;width:30px;height:30px;border-radius:50%;background:var(--p);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}
.bc-out li b{display:block;font-size:17px}.bc-out li span{color:var(--sub);font-size:14.5px}
.bc-out img{border-radius:18px}
.bc-plans{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;align-items:start}
.bp{border:1px solid var(--line);border-radius:22px;padding:26px;position:relative;background:#fff}
.bp.prem{background:#16133a;color:#fff;border:0;padding:30px;box-shadow:0 24px 60px rgba(40,24,120,.28)}
.bp-badge{position:absolute;top:-13px;left:24px;background:#12F09A;color:#0b3d28;font-weight:800;font-size:13px;padding:5px 12px;border-radius:99px}
.bp-name{font-weight:700;color:var(--sub)}.bp.prem .bp-name{color:#c9c2ff}
.bp-price{margin-top:6px}.bp-price b{font-size:40px;letter-spacing:-.03em}.bp.prem .bp-price b{font-size:46px}
.bp ul{list-style:none;margin:16px 0;display:grid;gap:9px}
.bp li{padding-left:26px;position:relative;font-size:15.5px}.bp li:before{content:"✓";position:absolute;left:0;color:var(--p);font-weight:800}
.bp.prem li:before{color:#12F09A}
.bp-calc{background:rgba(255,255,255,.08);border-radius:14px;padding:14px 16px;font-size:14.5px;line-height:1.6;margin-bottom:16px;color:#d9d5ff}.bp-calc b{color:#12F09A;font-size:17px}
.bp-for{font-size:13.5px;color:var(--sub);margin-top:10px;text-align:center}.bp.prem .bp-for{color:#a9a3d9}
.bp blockquote{margin-top:18px;border-left:3px solid #12F09A;padding-left:14px;font-size:14.5px;color:#e0ddf7;line-height:1.7}
.bp blockquote cite{display:block;font-style:normal;color:#a9a3d9;font-size:13px;margin-top:6px}
.bp-up{font-size:13.5px;color:var(--sub);margin-top:10px}
.cmp td.pc,.cmp th.pc{background:#EEF0FF}
.bc-cases{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.cs{background:#fff;border-radius:16px;padding:16px 18px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.cs b{display:block;font-size:16.5px}.cs small{color:var(--sub);font-size:13.5px}
.cs span{font-size:12.5px;font-weight:800;padding:5px 10px;border-radius:99px;background:#1d1b19;color:#fff;white-space:nowrap}.cs span.ok{background:#E64A2E}
.bc-story{margin-top:18px;background:#1d1b19;color:#fff;border-radius:22px;padding:26px}
.bc-story .eyebrow{color:#FFD43B}.bc-story h3{font-size:21px;margin-top:6px;line-height:1.45}
.bc-story p{color:#d6d2ca;margin-top:12px;line-height:1.8}.bc-story p b{color:#fff}.bc-story .muted{color:#8f8a80}
.bc-bar{display:none}
.bc-apply .seg2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bc-apply .opt{border:1.5px solid var(--line);border-radius:14px;padding:12px 14px;cursor:pointer;display:block}
.bc-apply .opt input{position:absolute;opacity:0}
.bc-apply .opt b{display:block}.bc-apply .opt small{color:var(--sub)}
.bc-apply .opt:has(input:checked){border-color:var(--p);background:var(--pl)}
.bc-apply .opt.dis{opacity:.45;cursor:not-allowed}
.bc-apply .dates{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.bc-apply .sumrow{margin-top:14px}
@media(max-width:860px){
  .bc-hero .wrap,.bc-plans,.bc-out,.bc-imgs{grid-template-columns:1fr}
  .bc-hero h1{font-size:34px}.bc-facts,.bc-why,.bc-cases{grid-template-columns:1fr 1fr}
  .bc-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom));align-items:center;justify-content:space-between;gap:12px;box-shadow:0 -6px 20px rgba(0,0,0,.06)}
  .bc-bar b{display:block;font-size:14.5px}.bc-bar small{font-size:12px;color:var(--sub)}
  body:has(.bc-bar) footer{padding-bottom:90px}
}
@media(max-width:520px){.bc-facts,.bc-why,.bc-cases{grid-template-columns:1fr}.bp.prem .bp-price b{font-size:38px}}
/* 부트캠프 서식 예시 (HTML로 그린 문서) */
.bc-docs{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}
.doc{background:#fff;border:1px solid #d9dbe6;border-radius:14px;padding:0 0 18px;box-shadow:0 14px 34px rgba(20,24,60,.08);overflow:hidden}
.doc-h{background:#2B3150;color:#fff;font-size:12.5px;font-weight:700;padding:9px 16px}
.doc h4{text-align:center;font-size:19px;margin-top:16px}.doc-s{text-align:center;font-size:12.5px;color:#5b6cf0}
.doc table{width:calc(100% - 32px);margin:12px 16px 0;border-collapse:collapse;font-size:14px}
.doc th{width:96px;background:#F1F2F7;text-align:left;padding:10px 12px;border:1px solid #d9dbe6;font-weight:700;color:#2B3150}
.doc td{border:1px solid #d9dbe6;padding:10px 12px}
.doc .hw{font-family:"Nanum Pen Script","Gaegu",cursive;color:#2f3fbf;font-size:17px}
.doc mark{background:#7cf5c6;color:inherit;padding:0 2px}.doc .q{color:#aaa}
.doc .red{color:#d43c2f;font-size:12px}.doc .opts{font-size:12.5px;display:flex;flex-wrap:wrap;gap:4px 10px}.doc .opts .on{color:#2f3fbf;font-weight:700}
.doc .tall{height:54px}
.cert{background:#fff;border-radius:16px;padding:14px;box-shadow:0 20px 50px rgba(0,0,0,.12);max-width:440px;margin:0 auto;width:100%}
.cert-in{border:3px double #a4895a;padding:24px 22px;text-align:center}
.cert-in small{color:#8a6d3b;font-weight:700;font-size:12px}
.cert-in h4{font-size:26px;letter-spacing:.3em;margin:10px 0 14px;font-family:serif}
.cert-in dl{display:grid;grid-template-columns:80px 1fr;text-align:left;font-size:13px;background:#FAF8F2;border-radius:6px;padding:8px 12px;gap:6px}
.cert-in dt{color:#8a7a5a;font-weight:700}.cert-in .blur{filter:blur(4px)}
.cert-in p{font-size:12.5px;line-height:1.8;color:#5a4f3a;margin-top:12px;text-align:left}
.cert-f{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:14px;font-family:serif}
.seal{width:40px;height:40px;border:2px solid #c0392b;color:#c0392b;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:13px;transform:rotate(-6deg)}
@media(max-width:860px){.bc-docs{grid-template-columns:1fr}}
.paynote{font-size:13.5px;line-height:1.6;background:#FFF8E1;border-radius:10px;padding:10px 12px;margin-top:8px;color:#5a4a10}.paynote:empty{display:none}
.bcn{border:1px solid var(--pm);border-radius:18px;padding:18px;margin-bottom:12px;background:#fff}
.bcn-h b{display:block;font-size:17px;margin-top:6px}
.ntc{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}
.ntc summary{cursor:pointer;display:flex;align-items:center;gap:8px;list-style:none}.ntc summary::-webkit-details-marker{display:none}
.ntc summary small{margin-left:auto;color:var(--sub);font-size:12.5px}
.ntc .new{background:#E64A2E;color:#fff;font-size:11px;font-weight:800;padding:2px 6px;border-radius:6px}
.ntc .post-body{margin-top:10px;font-size:15px;line-height:1.75}
.qrow{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-top:8px;background:#fff}
.qtop{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.qtop>b{color:var(--p);width:18px}
.qtop .tin{flex:1;min-width:200px}.qrow textarea.tin{width:100%;margin-top:8px}
.qtop select{height:38px;border:1px solid var(--line);border-radius:10px;padding:0 8px}
.ntc .post-body ul{padding-left:20px}
/* 희망 직군/직무 가독성 */
[data-jgs] .cks .ck input:checked+span{background:var(--p);border-color:var(--p);color:#fff}
[data-jgs] .cks .ck input:checked+span:before{content:"✓ "}
[data-rbox]:empty{display:none}
.rbox{background:#F7F5FF;border:1px solid var(--pm);border-radius:16px;padding:14px 16px 16px}
.rbox-t{display:block;font-weight:700;font-size:15px}.rbox-t small{font-weight:500;color:var(--sub);font-size:12.5px;margin-left:4px}.rbox-t small b{color:var(--p)}
.rgrp{margin-top:14px;padding-top:12px;border-top:1px dashed var(--pm)}.rgrp:first-of-type{border-top:0;padding-top:0;margin-top:10px}
.rgrp-h{display:flex;align-items:center;gap:6px;margin-bottom:8px}
.rgrp-h b{background:var(--p);color:#fff;font-size:12.5px;padding:3px 10px;border-radius:99px}
.rgrp-h span{font-size:12.5px;color:var(--sub)}
.rgrp .cks{gap:6px}
.rgrp .cks .ck span{font-size:13.5px;padding:5px 11px;background:#fff;border-color:#E3DFF0;color:#4B4859}
.rgrp .cks .ck input:checked+span{background:#fff;border:1.5px solid var(--p);color:var(--p2);font-weight:700;box-shadow:0 0 0 2px var(--pl)}
.rgrp .cks .ck input:checked+span:before{content:"✓ "}
.rgrp .cks .ck:first-child span{border-style:dashed}
/* 부트캠프 보는 맛 */
.bc-real{display:flex;gap:18px;align-items:center}
.bc-emo{font-size:84px;line-height:1;animation:bcw 2.6s ease-in-out infinite}
@keyframes bcw{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(6deg) translateY(-4px)}}
.bc-crowd{display:grid;grid-template-columns:repeat(10,1fr);gap:6px;margin-top:26px;background:#1d1d1d;border-radius:20px;padding:18px;font-size:24px;text-align:center}
.bc-crowd span{filter:grayscale(1) opacity(.45)}
.bc-crowd .pick{filter:none;background:#12F09A33;border-radius:12px;box-shadow:0 0 0 2px #12F09A;animation:bcp 1.6s ease-in-out infinite}
@keyframes bcp{50%{transform:scale(1.15)}}
.bc-crowd-c{font-size:14.5px;color:#9a97a8;margin-top:10px;text-align:center}.bc-crowd-c b{color:#12F09A}
.cert-img{max-width:440px;margin:0 auto}.cert-img img{border-radius:10px;box-shadow:0 24px 60px rgba(0,0,0,.18);transform:rotate(1.5deg)}
.cert-img figcaption{text-align:center;font-size:13px;color:var(--sub);margin-top:14px}
.bc-story{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:center;padding:30px}
.bc-story .win{color:#12F09A;font-size:18px}
.kchat{background:#B7C9DB;border-radius:20px;padding:18px 16px;display:flex;flex-direction:column;gap:8px;font-size:14.5px;color:#111}
.kchat i{font-style:normal;font-size:12.5px;color:#333;display:block;margin:0 0 4px 2px}
.kc-l,.kc-r{display:flex;flex-direction:column;gap:5px;max-width:86%}
.kc-l p,.kc-r p{background:#fff;padding:9px 12px;border-radius:4px 14px 14px 14px;line-height:1.55;width:fit-content}
.kc-r{align-self:flex-end;align-items:flex-end}.kc-r p{background:#FEE500;border-radius:14px 4px 14px 14px}
.kc-d{align-self:center;background:rgba(0,0,0,.18);color:#fff;font-size:12px;padding:4px 12px;border-radius:99px;margin:6px 0}
.kchat small{font-size:11.5px;color:#3d4a57;text-align:center;margin-top:4px}
.bc-who{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.bc-who div{border-radius:20px;padding:22px 18px;display:flex;flex-direction:column;gap:6px}
.bc-who i{font-style:normal;font-size:38px}.bc-who b{font-size:17px}.bc-who span{font-size:14px;color:#4B4859;line-height:1.6}
.bc-who .w1{background:#E8FFF5}.bc-who .w2{background:#EEF0FF}.bc-who .w3{background:#FFF4E5}.bc-who .w4{background:#F6EEFF}
.bc-not{margin-top:14px;font-size:14px;color:var(--sub);background:var(--soft);border-radius:14px;padding:12px 16px}.bc-not b{color:#C2410C;margin-right:8px}
.bc-final{padding:56px 0 70px}
.bc-final-in{background:#141414;color:#fff;border-radius:28px;padding:40px;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;position:relative;overflow:hidden}
.bc-final-in:after{content:"";position:absolute;right:-80px;top:-80px;width:280px;height:280px;border-radius:50%;background:#12F09A22}
.bf-tag{font-size:13px;font-weight:700;color:#12F09A}
.bc-final h2{font-size:38px;letter-spacing:-.03em;margin-top:8px}.bc-final p{color:#b9b7c4;margin-top:10px;font-size:16.5px}
.bf-r{position:relative;z-index:1}
.bf-dates{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px}
.bf-dates div{background:#232323;border:1px solid #333;border-radius:12px;padding:10px;text-align:center;font-weight:800;font-size:18px}
.bf-dates div small{display:block;font-size:11.5px;font-weight:600;color:#12F09A}.bf-dates div.x{opacity:.4}.bf-dates div.x small{color:#ff8a65}
.bc-final .btn{background:#12F09A;color:#0b3d28;font-weight:800}
.bf-k{display:block;text-align:center;color:#b9b7c4;font-size:14px;margin-top:12px}
@media(max-width:860px){.bc-story,.bc-final-in{grid-template-columns:1fr}.bc-who{grid-template-columns:1fr 1fr}.bc-emo{font-size:60px}.bc-crowd{font-size:18px;gap:4px;padding:12px}.bc-final-in{padding:28px 22px}.bc-final h2{font-size:30px}}
@media(max-width:520px){.bc-who{grid-template-columns:1fr}}
.bc-story .kchat p{color:#111;margin:0}.bc-story .kchat p b{color:#111}
/* 멘토 소개 2 */
.mt2{display:grid;grid-template-columns:330px 1fr;gap:18px;align-items:start}
.mt2-card{background:linear-gradient(160deg,#16133a,#2a2360);color:#fff;border-radius:24px;padding:28px 24px;text-align:center;position:sticky;top:140px}
.mt2-av{width:84px;height:84px;margin:0 auto;border-radius:26px;background:linear-gradient(135deg,#8A5CFF,#B79CFF);display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:800}
.mt2-role{margin-top:14px;font-size:13px;font-weight:700;color:#C9B6FF}.mt2-card h3{font-size:24px;margin-top:2px}
.mt2-tag{font-size:13.5px;color:#d7d2f5;margin-top:6px}
.mt2-sites{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:16px}
.mt2-sites span{background:rgba(255,255,255,.08);border-radius:12px;padding:10px 6px;font-size:12.5px;font-weight:600;display:flex;flex-direction:column;gap:4px}.mt2-sites i{font-style:normal;font-size:20px}
.mt2-why{margin-top:16px;font-size:12.5px;color:#b9b2e6;line-height:1.6;border-top:1px solid rgba(255,255,255,.12);padding-top:14px}.mt2-why b{color:#fff}
.mt2-body{background:#fff;border:1px solid var(--line);border-radius:24px;padding:26px}
.mt2-body blockquote{font-size:17px;line-height:1.75;font-weight:600;border-left:4px solid var(--p);padding-left:16px}
.mt2-nums{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:20px}
.mt2-nums div{background:var(--pl);border-radius:14px;padding:12px 8px;text-align:center}.mt2-nums b{display:block;font-size:20px;color:var(--p2)}.mt2-nums span{font-size:12px;color:var(--sub)}
.mt2-body h4{margin-top:22px;font-size:15px}
.mt2-cv{list-style:none;margin-top:8px;display:grid;gap:6px}.mt2-cv li{position:relative;padding-left:18px;font-size:15px}.mt2-cv li:before{content:"";position:absolute;left:2px;top:9px;width:7px;height:7px;border-radius:50%;background:var(--p)}
.mt2-exp{margin-top:8px;padding-left:20px;display:grid;gap:4px;font-size:15px;color:#3b3850}
.mt2-body .links{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
@media(max-width:860px){.mt2{grid-template-columns:1fr}.mt2-card{position:static}.mt2-nums{grid-template-columns:1fr 1fr}}
/* 후기 강조 */
.rc mark,.fd mark{background:linear-gradient(transparent 55%,#FFE27A 55%);color:inherit;font-weight:700;padding:0 1px}
#bc-rv .rc p{font-size:15px;line-height:1.75}
.mt2-av{background:#fff;border-radius:50%;padding:6px;box-shadow:0 0 0 4px rgba(255,255,255,.12)}
.mt2-av img{width:100%;height:100%;object-fit:contain;border-radius:50%}
/* 부트캠프 무료 전자책 */
.bc-eb-in{background:linear-gradient(135deg,#EAF2FF 0%,#F4EFFF 100%);border-radius:28px;padding:36px;display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}
.bc-eb-badge{display:inline-block;background:#2747F5;color:#fff;font-weight:800;font-size:13.5px;padding:6px 13px;border-radius:99px}
.bc-eb h2{font-size:30px;letter-spacing:-.03em;line-height:1.3;margin-top:14px}
.bc-eb-sub{margin-top:10px;color:#4B4859;font-size:16px}
.bc-eb-toc{list-style:none;margin:18px 0 12px;display:grid;gap:7px}
.bc-eb-toc li{background:#fff;border-radius:12px;padding:10px 14px;font-size:14.5px;font-weight:600;display:flex;gap:10px;align-items:center}
.bc-eb-toc span{color:#2747F5;font-weight:800;font-size:13px;min-width:28px}.bc-eb-toc em{font-style:normal;margin-left:auto;font-size:11.5px;background:#FFE27A;padding:2px 8px;border-radius:99px}
.bc-eb-r{display:grid;grid-template-columns:1fr;gap:12px;justify-items:center}
.eb-cover{width:46%;transform:rotate(-3deg);box-shadow:0 26px 50px rgba(30,40,90,.28);border-radius:6px;overflow:hidden;transition:transform .2s}.eb-cover:hover{transform:rotate(0) scale(1.02)}
.eb-pages{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%}
.eb-pages button{background:#fff;border-radius:10px;padding:6px;box-shadow:0 8px 20px rgba(30,40,90,.1);display:flex;flex-direction:column;gap:5px}
.eb-pages img{border-radius:5px;aspect-ratio:3/4;object-fit:cover;object-position:top}.eb-pages span{font-size:12px;font-weight:700;color:#4B4859}
@media(max-width:860px){.bc-eb-in{grid-template-columns:1fr;padding:24px}.bc-eb h2{font-size:24px}}
.paybox{background:#FFF8E1;border:1px solid #F5DC8B;border-radius:16px;padding:16px 18px;margin-bottom:16px}
.paybox>b{font-size:15.5px}
.pb-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;background:#fff;border-radius:12px;padding:12px 14px;margin-top:10px}
.pb-row small{color:var(--sub);font-size:12.5px}.pb-row p{font-size:14.5px;margin-top:4px}
.pb-row pre{font-family:inherit;white-space:pre-wrap;font-weight:800;font-size:16px;margin-top:6px;color:var(--ink)}
/* 부트캠프 과제실 */
.camp-h{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.camp-prog{min-width:160px;font-size:14px;color:var(--sub)}.camp-prog b{font-size:24px;color:var(--p)}
.camp-prog i{display:block;height:8px;background:var(--pl);border-radius:9px;margin-top:6px;position:relative;overflow:hidden}.camp-prog i:after{content:"";position:absolute;inset:0;width:var(--w);background:var(--p);border-radius:9px}
.camp-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.camp-days .cd{border:1.5px solid var(--line);border-radius:14px;padding:10px 4px;text-align:center;display:flex;flex-direction:column;gap:2px;background:#fff}
.cd small{font-size:11.5px;font-weight:800;color:var(--sub)}.cd b{font-size:20px}.cd span{font-size:11px;color:var(--sub);line-height:1.3}
.cd.locked{background:var(--soft);opacity:.7}.cd.open{border-color:#F5A524}.cd.sub{border-color:#14995A;background:#F0FBF5}.cd.sub b{color:#14995A}
.cd.on{box-shadow:0 0 0 3px var(--p);border-color:var(--p)}
.camp-rule{font-size:13px;color:#5a4a10;background:#FFF8E1;border-radius:12px;padding:10px 14px;margin:12px 0 16px}
.cbox{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;margin-bottom:12px}
.cbox.done{border-color:#9be3bd;background:#F6FDF9}.cbox.ans{background:#F7F5FF}
.cbox-h h3{font-size:18px;margin-top:4px}.cbox-h{margin-bottom:12px}
.cbox textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px;font:inherit;font-size:15px}
.cfiles{display:flex;flex-direction:column;gap:6px;margin-top:12px}.cfiles>b{font-size:14px}
.cf{display:inline-flex;align-items:center;gap:6px;background:var(--soft);border-radius:10px;padding:8px 12px;font-size:14px;font-weight:600;width:fit-content;margin:4px 6px 0 0}.cf small{color:var(--sub);font-weight:500}
.cf button{font-size:16px;color:var(--sub);padding:0 2px}
.cpick{display:block;border:1.5px dashed var(--pm);border-radius:12px;padding:14px;text-align:center;cursor:pointer;margin:10px 0;color:var(--p2);font-weight:700;font-size:14px}
.cpick input{display:none}
.cthread{display:flex;flex-direction:column;gap:8px}
.cm{border-radius:14px;padding:10px 14px;max-width:90%}.cm small{font-size:12px;color:var(--sub);font-weight:700}
.cm.m{background:#EEF0FF;align-self:flex-start}.cm.u{background:var(--soft);align-self:flex-end}
.creply{display:flex;gap:8px;margin-top:12px}.creply input{flex:1;border:1px solid var(--line);border-radius:10px;padding:0 12px;height:40px;font:inherit}
.lockmsg{background:var(--soft);border-radius:12px;padding:14px;font-size:14.5px;color:#4B4859}
.peer{border-top:1px solid var(--line);padding:10px 0}.peer summary{cursor:pointer;display:flex;gap:8px;align-items:center}.peer summary small{margin-left:auto;color:var(--sub)}
.late{background:#FFE9E3;color:#C2410C;font-size:11.5px;font-weight:700;padding:2px 7px;border-radius:6px}
@media(max-width:700px){.camp-days{grid-template-columns:repeat(4,1fr)}}
.tk summary{cursor:pointer;display:flex;gap:8px;align-items:center}.tk summary small{margin-left:auto;color:var(--sub)}
.tkf{margin-top:12px}.tkf textarea{width:100%}
.cbt td{text-align:center;vertical-align:middle}.cbt td:first-child{text-align:left}
.cell{border-radius:8px;padding:6px 8px;font-size:12.5px;font-weight:700;width:100%}
.cell.need{background:#FFE9E3;color:#C2410C}.cell.fb{background:#EEF0FF;color:var(--p2)}.cell.ok{background:#E8F8EF;color:#14995A}
.cell i{display:block;font-style:normal;font-size:10.5px;color:#C2410C}
.camp-pin{background:#F7F5FF;border:1px solid var(--pm);border-radius:14px;padding:12px 16px;margin-top:12px}
.camp-pin summary{cursor:pointer;display:flex;gap:8px;align-items:center}.camp-pin summary small{margin-left:auto;color:var(--sub)}
.camp-pin .post-body{margin-top:10px;font-size:14.5px;line-height:1.75}
.certbox{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;background:#fff;border:1.5px solid var(--pm);border-radius:16px;padding:14px 18px;margin-top:12px}
.certbox.done{background:#F0FBF5;border-color:#9be3bd}
.certck{list-style:none;display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:6px;font-size:14px}.certck small{color:var(--sub)}
.stu{font-weight:800;color:var(--p2);text-decoration:underline;text-underline-offset:3px;font-size:15px}

.cell i.q{display:inline-block;color:#fff;background:#e8590c;border-radius:4px;padding:0 5px;margin-top:3px}

.camp-pin{padding:14px 18px}
.camp-pin[open] summary{padding-bottom:12px;border-bottom:1px solid var(--pm);margin-bottom:4px}
.post-body.pin{font-size:14.5px;line-height:1.7}
.pin-intro{padding:10px 2px 6px}.pin-intro p{margin:0 0 4px}
.pin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:10px}
.pin-sec{background:#fff;border:1px solid #ECE8FB;border-radius:12px;padding:14px 16px}
.pin-sec h3{font-size:15.5px;margin:0 0 8px;color:#4C2FD6}
.pin-sec ul{margin:0;padding-left:18px}.pin-sec li{margin:5px 0}
.pin-sec p{margin:10px 0 0;color:var(--sub);font-size:14px}
.pin-sec p:last-child{margin-bottom:0}
@media(max-width:760px){.pin-grid{grid-template-columns:1fr}}

.rd-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px dashed #DDD6FB}
.rd-done{font-weight:700;color:#15803D}.rd-done small{font-weight:400;color:var(--sub);margin-left:4px}
.rd-tag{font-size:11.5px;font-weight:700;color:#15803D;background:#DCFCE7;border-radius:99px;padding:2px 8px;white-space:nowrap}
.rd-tag.no{color:#C2410C;background:#FFEDD5}
.lnk{background:none;border:0;padding:0;color:#5B3DF5;font:inherit;font-weight:700;cursor:pointer;text-decoration:underline}
.rdl{margin-top:10px;padding-top:10px;border-top:1px solid var(--line,#eee)}.rdl p{margin:6px 0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.rdl .chip{background:#FFF1E6;border-radius:8px;padding:3px 8px;font-size:13px}.rdl .chip.ok{background:#ECFDF3}.rdl .chip small{color:var(--sub)}

.pv-bar{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;background:#FFF7E6;border:1px solid #FFD591;border-radius:12px;padding:10px 14px;margin-top:12px;font-size:14px}
.pv-bar span{color:#7A5200}.pv-sw{margin-left:auto;display:flex;gap:4px}.pv-sw a{padding:4px 10px;border-radius:99px;background:#fff;border:1px solid #FFD591;color:#7A5200;font-weight:700;font-size:13px}.pv-sw a.on{background:#F59E0B;color:#fff;border-color:#F59E0B}

.md-gap{display:none;height:.8em}.cm .md-gap,.cbox .md-gap,.pin .md-gap,.ntc .md-gap,.camp-pin .md-gap{display:block}
.cm,.post-body,.cbox,.pin-sec,.ntc{overflow-wrap:anywhere;word-break:break-word}
.cm div p{margin:0}.cm{line-height:1.65}
.nbtn{margin-top:4px;border:1px solid #DDD6FB;background:#fff;color:#5B3DF5;border-radius:99px;padding:1px 8px;font-size:11.5px;font-weight:700;cursor:pointer;white-space:nowrap}.nbtn.on{background:#5B3DF5;color:#fff;border-color:#5B3DF5}
.cnote{background:#FFFBEB;border:1px solid #FDE68A}.cnote .cm{background:#fff;max-width:100%}

.sub-text{white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border:1px solid var(--line,#eee);border-radius:12px;padding:12px 14px;margin-bottom:10px}.sub-lock .cfiles{margin-bottom:8px}

.nbtn{padding:3px 9px;font-size:12px;margin-top:6px}

/* ───── 패키지 ───── */
.pk-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pk-grid.three{grid-template-columns:repeat(3,1fr)}
.pk-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.pk-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(76,40,180,.12)}
.pk-top{display:flex;flex-direction:column;gap:4px;padding:18px;color:#fff;min-height:128px}
.pk-top .badge{background:rgba(255,255,255,.22);color:#fff;margin-bottom:auto}
.pk-top b{font-size:20px;font-weight:800;line-height:1.3;margin-top:10px}
.pk-top small{font-size:13px;opacity:.9}
.pk-bd{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.pk-items{list-style:none;display:grid;gap:7px;font-size:14px;margin-bottom:16px}
.pk-items li{display:flex;justify-content:space-between;gap:8px;color:#36334A}
.pk-items li::before{content:"✓";color:var(--p);font-weight:800;margin-right:2px}
.pk-items li span{flex:1}
.pk-items s{color:var(--sub);font-size:12.5px;white-space:nowrap}
.pk-price{margin-top:auto;padding-top:16px;border-top:1px dashed var(--line);display:flex;flex-direction:column;gap:2px}
.pk-old{font-size:13px;color:var(--sub)}
.pk-price b{font-size:24px;font-weight:800;letter-spacing:-.02em}
.pk-save{align-self:flex-start;font-size:12.5px;font-weight:700;color:var(--ok);background:var(--okl);border-radius:6px;padding:2px 8px}
.pk-next{font-size:12.5px;color:var(--warn);margin-top:6px}
.pk-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.pk-btns .btn:only-child{grid-column:1/-1}
.pk-btns .btn{justify-content:center;text-align:center}
.pk-tbl-w{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:16px;border:1px solid var(--line);background:#fff}
.pk-tbl{width:100%;border-collapse:collapse;min-width:640px;font-size:15px}
.pk-tbl th,.pk-tbl td{padding:14px 12px;border-bottom:1px solid var(--line);text-align:center}
.pk-tbl th{font-size:14.5px;background:var(--soft)}
.pk-tbl th a{color:var(--p2)}
.pk-tbl td:first-child,.pk-tbl th:first-child{text-align:left;font-weight:600;white-space:nowrap}
.pk-tbl td.ok{color:var(--p2);font-weight:800}
.pk-tbl td.no{color:#C9C6D6}
.pk-tbl tr.pr td{border-bottom:0}
.pk-tbl tr.pr s{display:block;color:var(--sub);font-size:12.5px}
.pk-tbl tr.pr b{font-size:17px}
.pk-minis{display:grid;gap:10px}
.pk-minis.two{grid-template-columns:1fr 1fr}
.pk-mini,.pp-it{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;transition:border-color .2s}
.pk-mini:hover,.pp-it:hover{border-color:var(--pm)}
.pk-mini>div:nth-child(2),.pp-it>div:nth-child(2){flex:1;min-width:0}
.pk-mini b,.pp-it b{display:block;font-size:15.5px}
.pk-mini small,.pp-it small{display:block;color:var(--sub);font-size:13px}
.pk-dot{width:12px;height:40px;border-radius:6px;flex:none}
.pk-mini-pr,.pp-pr{text-align:right;flex:none}
.pk-mini-pr s,.pp-pr s{display:block;color:var(--sub);font-size:12px}
.pk-mini-pr b,.pp-pr b{font-size:16px;color:var(--p2)}
.pk-parts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.pk-part{display:flex;flex-direction:column;gap:4px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}
.pk-part small{color:var(--sub);font-size:13.5px}
.pk-part span{margin-top:8px;font-size:13.5px;font-weight:700;color:var(--p2)}
.pk-part:hover{border-color:var(--pm)}
.pricebox .row a{text-decoration:underline;text-decoration-color:var(--pm);text-underline-offset:3px}
.pricebox .row small{font-size:12.5px}
.pricebox .pk-row{background:var(--pl)}
.bp-next{text-align:center;font-size:14px;color:var(--sub);margin-top:14px}
/* 첫 화면 패키지 팝업 */
.pkpop{position:fixed;right:24px;bottom:24px;z-index:120;width:380px;max-width:calc(100vw - 32px);background:#fff;border-radius:22px;box-shadow:0 24px 70px rgba(22,20,31,.22);padding:22px 20px 14px;display:flex;flex-direction:column;gap:12px;animation:ppIn .35s ease}
.pkpop[hidden]{display:none}
@keyframes ppIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.pp-x{position:absolute;top:10px;right:12px;width:32px;height:32px;border-radius:50%;font-size:22px;line-height:1;color:var(--sub)}
.pp-x:hover{background:var(--soft)}
.pp-h h3{font-size:19px;margin-top:8px;padding-right:24px;line-height:1.35}
.pp-list{display:grid;gap:8px}
.pp-it{padding:10px 12px}
.pp-it .pk-dot{height:32px;width:8px}
.pp-it b{font-size:14.5px}
.pp-it small{font-size:12px}
.pp-pr b{font-size:14.5px}
.pp-today{font-size:13px;color:var(--sub);text-decoration:underline;text-underline-offset:3px;align-self:center;padding:4px}
@media(max-width:960px){.pk-grid{grid-template-columns:repeat(2,1fr)}.pk-grid.three{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.pk-grid,.pk-grid.three,.pk-minis.two,.pk-parts{grid-template-columns:1fr}
  .pkpop{right:0;left:0;bottom:0;width:auto;max-width:none;border-radius:22px 22px 0 0;max-height:85vh;overflow-y:auto;padding-bottom:calc(14px + env(safe-area-inset-bottom))}}
@media (prefers-reduced-motion:reduce){.pkpop{animation:none}.pk-card{transition:none}}
.ck-sub{font-style:normal}
.off-tag{font-style:normal;display:inline-block;font-size:12px;font-weight:800;color:var(--ok);background:var(--okl);border-radius:6px;padding:1px 7px;margin-left:2px}
.bp-next+.bp-next{margin-top:4px}
.paid-rep{margin-top:10px;padding:10px 12px;border-radius:10px;background:var(--okl);color:var(--ok);font-weight:700;font-size:14px}
.pb-btns{display:flex;gap:6px;flex-wrap:wrap;flex:none}
/* 1:1 일정·소통 */
.oo{margin-top:14px}
.oo-h{display:flex;gap:12px;align-items:center}
.oo-h b{display:block;margin-top:4px}
.oo-ses{display:grid;gap:8px}
.oo-s{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}
.oo-when{color:var(--p2);font-weight:700;margin-top:2px}
.oo-sb{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.oo-f{margin-top:12px}
.oo-f textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:10px 12px;font:inherit;resize:vertical}
.cfiles{display:flex;flex-direction:column;gap:4px;margin-top:6px}
.nb{display:inline-block;min-width:18px;padding:0 5px;border-radius:9px;background:#E5484D;color:#fff;font-size:11px;font-weight:800;text-align:center;line-height:18px}
.sl-days{display:grid;gap:12px;margin-top:14px;max-height:52vh;overflow-y:auto;padding-right:4px}
.sl-d b{display:block;font-size:14px;margin-bottom:6px}
.sl-d b.sun{color:#E5484D}.sl-d b.sat{color:#3D6BFF}
.sl-ts{display:flex;flex-wrap:wrap;gap:6px}
.sl-t{border:1px solid var(--line);border-radius:10px;padding:8px 14px;font-weight:700;background:#fff}
.sl-t:hover{border-color:var(--pm)}
.sl-t.on{background:var(--p);border-color:var(--p);color:#fff}
.oo-li{width:100%;text-align:left;align-items:center}
.sl-cal{display:grid;gap:10px;margin-top:8px}
.sl-row{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fff}
.sl-dh{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.sl-dh b.sun{color:#E5484D}.sl-dh b.sat{color:#3D6BFF}
.sl-c{border:1px solid var(--line);border-radius:10px;padding:6px 12px;font-weight:700;font-size:14px;background:#fff}
.sl-c:hover{border-color:var(--pm)}
.sl-c.cl{background:#F1F0F5;color:#A9A6B8;text-decoration:line-through}
.sl-c.bk{background:var(--pl);border-color:var(--p);color:var(--p2)}
.sl-c.bk b{font-weight:800}
/* 마이페이지·관리자: 모바일에서 메뉴 줄이 화면을 옆으로 밀지 않게 */
.mp>*,.mp-side,.mp-main{min-width:0}
.mp-nav{max-width:100%}
#oof textarea{border:1px solid var(--line);border-radius:12px;padding:10px 12px;font:inherit;resize:vertical}
/* 자소서: 멘토 이야기 */
.why-cmp{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:6px}
.wc{border-radius:16px;padding:18px;border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;gap:6px}
.wc.bad{background:#FAFAFC}.wc.good{border-color:var(--pm);background:var(--pl)}
.wc-t{font-size:13px;font-weight:800;color:var(--sub)}.wc.good .wc-t{color:var(--p2)}
.wc b{font-size:17px}.wc p{font-size:14.5px;color:#4A4760}
.why-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.why-steps>div{border:1px solid var(--line);border-radius:14px;padding:16px;background:#fff}
.why-steps i{display:inline-flex;width:26px;height:26px;border-radius:50%;background:var(--p);color:#fff;font-style:normal;font-weight:800;font-size:13px;align-items:center;justify-content:center;margin-right:6px}
.why-steps b{font-size:16px}.why-steps p{font-size:14px;color:#4A4760;margin-top:6px}
.why-q{margin-top:18px;padding:18px 20px;border-left:4px solid var(--p);background:var(--soft);border-radius:0 14px 14px 0;font-size:17px;line-height:1.6}
@media(max-width:700px){.why-cmp,.why-steps{grid-template-columns:1fr}}
/* 관리자 신청·결제: 처리할 일 강조, 끝난 건 흐리게 */
.todo-bar{margin:10px 0;padding:12px 14px;border-radius:12px;background:#FFF7E6;border:1px solid #FDE2B3;font-size:14.5px}
tr.rk0 td{background:#ECFDF3}tr.rk1 td{background:#FFFBEB}tr.rk2 td{background:#FFF1E6}
tr.rk4 td{opacity:.55}
/* 자소서 첨삭 전·후 */
.cx{display:flex;flex-wrap:wrap;gap:6px}
.cx>input{position:absolute;opacity:0;pointer-events:none}
.cx>label{padding:9px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;font-weight:700;font-size:14px;cursor:pointer}
.cx>input:checked+label{background:var(--p);border-color:var(--p);color:#fff}
.cx>input:focus-visible+label{outline:3px solid var(--pm)}
.cx-p{display:none;width:100%;margin-top:10px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}
#cx0:checked~.cx-p[data-i="0"],#cx1:checked~.cx-p[data-i="1"],#cx2:checked~.cx-p[data-i="2"]{display:block}
.cx-q{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;align-items:center}
.cx-q b{font-size:15px}
.cx-ba{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.cx-b,.cx-a{border-radius:14px;padding:14px 16px;font-size:14.5px;line-height:1.75}
.cx-b{background:#F6F6F9;color:#6B6880}.cx-a{background:var(--pl);color:var(--ink)}
.cx-b span,.cx-a span{display:block;font-size:12.5px;font-weight:800;margin-bottom:6px}
.cx-b span{color:#9A97AB}.cx-a span{color:var(--p2)}
.cx-a b{background:linear-gradient(transparent 60%,#FFE58A 60%);font-weight:700}
.cx-n{margin-top:12px;padding:14px 16px;border-radius:14px;border:1px dashed var(--pm)}
.cx-n p{font-size:14.5px;color:#4A4760;margin-top:4px;line-height:1.7}
.cx-inc{margin-top:14px;padding:16px 18px;background:#fff;border-radius:16px;border:1px solid var(--line)}
.cx-inc ul{margin:8px 0 0 18px;font-size:14.5px;color:#4A4760;line-height:1.8}
@media(max-width:700px){.cx-ba{grid-template-columns:1fr}.cx>label{font-size:13px;padding:8px 12px}}
/* 마이페이지 메뉴: 내 강의실 하위 항목 */
.mp-nav a.sub{position:relative;padding-left:34px;font-size:14.5px;font-weight:600;color:#6B6880;margin-top:-1px}
.mp-nav a.sub::before{content:"";position:absolute;left:20px;top:0;bottom:0;border-left:2px solid var(--line)}
.mp-nav a.sub.on{color:var(--p2)}.mp-nav a.sub.on::before{border-color:var(--p)}
.oo-card{color:inherit}.oo-card .sm{margin-top:3px}
@media(max-width:860px){.mp-nav a.sub{padding-left:12px;font-size:inherit}.mp-nav a.sub::before{display:none}}
.tpl-pv{display:block;margin-top:4px;color:var(--p2);font-weight:600}
.cx-imgs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.cx-imgs.n3{grid-template-columns:1fr 1fr}.cx-imgs.n3 .cx-f:last-child{grid-column:1/-1}
.cx-f{margin:0}
.cx-f figcaption{font-size:12.5px;font-weight:800;color:var(--sub);margin-bottom:6px}
.cx-f button{display:block;width:100%;padding:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;cursor:zoom-in;box-shadow:0 6px 18px rgba(22,20,31,.06)}
.cx-f img{width:100%;height:auto;display:block}
.cx-f:nth-child(2) figcaption{color:var(--p2)}
.cx-txt{margin-top:10px}.cx-txt summary{cursor:pointer;font-weight:700;font-size:14px;color:var(--p2)}
@media(max-width:700px){.cx-imgs,.cx-imgs.n3{grid-template-columns:1fr}}
/* 모바일 메뉴 아래 버튼(마이페이지·로그인 등): 글자 가운데 */
.mnav .btns .btn{display:inline-flex;align-items:center;justify-content:center;padding:0 12px;border-bottom:0;margin-top:0;height:50px}
/* 2026-10-15 개선: 썸네일 색 추가 */
.g6{background:linear-gradient(135deg,#E8457C,#FF8FB1)}
.g7{background:linear-gradient(135deg,#0E7490,#22B8CF)}
/* 커리어 관리 */
.stats.mini{margin-bottom:16px}.stats.mini a{padding:12px 14px}.stats.mini b{font-size:20px}
.dsel{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:6px}.dsel select:disabled{opacity:.5}
.jbox{display:grid;gap:6px}.jgrp{border:1px solid var(--line);border-radius:12px;padding:8px 12px;background:#fff}
.jgrp summary{cursor:pointer;display:flex;gap:8px;align-items:center}.jgrp summary small{color:var(--sub);font-size:12px}
.jgrp .mine{color:var(--p2)!important;background:var(--pl);padding:1px 6px;border-radius:6px}.jgrp .cks{margin-top:8px}
.tags i.j{background:#EEF4FF;color:#2F55D4}
.dr-tag{font-size:12px;color:var(--warn);font-weight:700}
.autosave{margin:-4px 0 10px}
#fj{max-width:220px}
.mx-top{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.mx-top .btn{margin-left:auto}
.mx-pick{display:flex;gap:8px;align-items:center;font-weight:700}.mx-pick select{font:inherit;padding:9px 12px;border:1px solid #DCD8E6;border-radius:12px;max-width:260px}
.mx-sum{border:1px solid var(--line);border-radius:16px;padding:16px 18px;background:#fff}
.mx-sum small{color:var(--sub);font-weight:700}.mx-sum>div>b{display:block;font-size:28px}.mx-sum>div>b span{font-size:15px;color:var(--sub);font-weight:600;margin-left:4px}
.mx-bar{height:8px;background:var(--soft);border-radius:8px;margin:8px 0;overflow:hidden}.mx-bar i{display:block;height:100%;background:var(--p);border-radius:8px}
.mx-sum p{font-size:14px;color:var(--sub)}
.mx-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:14px}
.mxc{border:1px dashed #D8D4E4;border-radius:14px;padding:14px;background:#FCFBFE}.mxc.on{border:1px solid var(--pm);background:#fff}.mxc.core{box-shadow:inset 3px 0 0 #F5B700}
.mxc-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.mxc-n{font-size:12px;color:var(--sub);font-weight:700}.mxc.on .mxc-n{color:var(--ok)}
.mxc .star{color:#F5B700;margin-right:4px}
.mx-ex{display:block;border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin-top:6px;color:inherit;background:#fff}.mx-ex:hover{border-color:var(--p)}
.mx-ex b{display:block;font-size:14.5px}.mx-ex span{font-size:12.5px;color:var(--sub)}.mx-ex em{display:block;font-style:normal;font-size:13px;color:#4A4660;margin-top:2px}
.mxc-hint{font-size:13px;color:var(--sub)}.mx-add{display:inline-block;margin-top:6px;font-size:13.5px;font-weight:700;color:var(--p2)}
@media(max-width:700px){.mx-grid{grid-template-columns:1fr}.dsel{grid-template-columns:1fr 1fr 1fr}}
@media print{.mx-top{display:none}.mxc{break-inside:avoid}}
/* 관리자: 손님 경험 노트 */
.xp{border-top:1px solid var(--line);padding:8px 0}.xp summary{cursor:pointer}.xp-b p{margin:6px 0;white-space:pre-line;font-size:14px}.xp-b small{display:block;color:var(--sub);font-weight:700;font-size:12px}
/* 1:1 일정·소통 */
.oo-idx{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:var(--soft);border-radius:14px;padding:12px 14px;margin-bottom:6px;font-size:14px}
.oo-idx a{display:inline-flex;gap:6px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:99px;padding:6px 12px;font-weight:700;color:inherit}
.oo-idx i{font-style:normal;background:var(--p);color:#fff;border-radius:99px;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;font-size:12px}
.oo.many{margin-top:28px;border-top:4px solid var(--p)}
.oo-no{background:var(--ink);color:#fff;border-radius:10px;min-width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;flex:none}
.oo-thr{max-height:420px;overflow-y:auto;padding:4px 2px;border:1px solid var(--line);border-radius:14px;padding:10px;background:#FCFBFE}
.oo-key{margin-top:4px}
.oo-s.todo{border-color:var(--pm);background:#FBF9FF}.oo-bump{color:var(--warn);font-size:13.5px;font-weight:700;margin-top:2px}
.sl-note{background:#FFF7E0;border:1px solid #FDE28A;border-radius:12px;padding:12px 14px;margin-top:12px;display:flex;flex-direction:column;gap:2px}
.sl-note b{font-size:16.5px;color:#8A5A00}.sl-note span{font-size:14px;color:#5B4A1F}
.sl-rules{margin:10px 0 0 18px;font-size:14px;color:#4A4660;display:grid;gap:4px}
.sl-t small{display:block;font-size:11px;font-weight:700}
.sl-t.taken{background:#F1F0F5;color:#A9A6B8;border-color:#ECEAF2;cursor:not-allowed}
.sl-t.mine{background:var(--pl);border-color:var(--p);color:var(--p2)}
.sl-full{font-size:11px;background:#F1F0F5;color:var(--sub);padding:1px 6px;border-radius:6px;margin-left:4px}
/* 후기 사진 · 합격 인증 공개 안내 */
.rv-ph{display:block;max-width:min(100%,520px);max-height:240px;object-fit:contain;border-radius:12px;margin-top:10px;border:1px solid var(--line);cursor:zoom-in;background:#fff}
.rv-pb{display:block;padding:0;border:0;background:none;text-align:left}
.pass-pub{background:#F5F2FF;border-radius:12px;padding:12px 14px;font-size:14.5px;color:#3D3557;margin-top:10px}
.tb-s{display:none}
@media(max-width:560px){.top-in a{font-size:13.5px;padding:0 10px}.tb-l{display:none}.tb-s{display:inline}}
body.menu-on header.gnb{background:#fff;backdrop-filter:none}
@media(max-width:380px){.top-in a{font-size:12.5px;padding:0 6px;letter-spacing:-.03em}}
/* 상세페이지 공통 (부트캠프 스타일) · 자소서 컨설팅은 분홍 포인트 */
.bc-hero.pk h1 em,.bc-final.pk .bf-tag{color:#FF8FB1}.bc-hero.pk .bc-tag{color:#FF8FB1;border-color:#7a2f4a}
.bc-final.pk .btn:not(.w){background:#FF8FB1;color:#4a0f24}.bc-final .btn.w{background:transparent;color:#fff;border:1px solid #555}
.bc-final.pk .bc-final-in:after{background:radial-gradient(circle,rgba(255,143,177,.35),transparent 70%)}
.cs-rows{margin-top:14px;display:grid;gap:6px}
.cs-rows div{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 12px;border-radius:12px;background:var(--soft);font-size:14.5px}
.cs-rows b{font-size:17px;white-space:nowrap}.cs-rows small{font-size:12px;color:var(--sub);font-weight:600;margin-left:2px}
.cs-rows .best{background:#FFF0F5;border:1.5px solid #FF8FB1}.cs-rows .best b{color:#D6336C}.cs-rows em{font-style:normal;font-size:11.5px;color:#D6336C;background:#fff;border-radius:6px;padding:1px 6px;margin-left:4px}
.bc-result .rec-t{display:block;color:#FFD43B;margin-top:8px;font-size:17px}
.cs-tip{background:#FFF0F5;border-radius:12px;padding:10px 14px;font-size:14px;color:#8A1F45;margin:4px 0 10px}
/* 밝은 히어로 (자소서 컨설팅): 종이 위 첨삭 느낌 */
.bc-hero.light{background:radial-gradient(900px 400px at 85% 10%,#FFE3EC 0%,transparent 60%),linear-gradient(180deg,#FFF7F9 0%,#fff 100%);color:var(--ink);border-bottom:1px solid #F6E3EA}
.bc-hero.light .crumb,.bc-hero.light .crumb a{color:var(--sub)}
.bc-hero.light h1 em{color:#D6336C;background:linear-gradient(transparent 62%,#FFD3E0 62%)}
.bc-hero.light .bc-tag{color:#D6336C;border-color:#F5B5C9;background:#fff}
.bc-hero.light .bc-chips span{background:#fff;color:#4A4760;border:1px solid #F1D9E2}
.bc-hero.light .lead{color:#4A4760}.bc-hero.light .lead b{color:#D6336C}
.bc-hero.light .bc-live{box-shadow:0 20px 50px rgba(214,51,108,.12);border:1px solid #F6DCE5}
.rv-spec{background:#F5F2FF;border-radius:10px;padding:8px 12px;font-size:13.5px;color:#3D3557;margin:8px 0 6px;line-height:1.6}.rv-spec b{display:inline-block;font-size:12px;color:var(--p2);background:#fff;border-radius:6px;padding:1px 7px;margin-right:6px}
/* 프로필 사진 */
.pcard .av-btn{position:relative;border:0;padding:0;cursor:pointer;overflow:visible}
.pcard .av-btn img,.av-pv img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.pcard .av-btn i{position:absolute;right:-4px;bottom:-4px;width:22px;height:22px;border-radius:50%;background:#fff;border:1px solid var(--line);font-style:normal;font-size:11px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(0,0,0,.08)}
.pcard .av-btn:hover{outline:2px solid var(--pm);outline-offset:2px}
.av-pv{width:140px;height:140px;margin:18px auto 0;border-radius:50%;background:var(--pl);display:flex;align-items:center;justify-content:center;font-size:52px;font-weight:800;color:var(--p2);overflow:hidden}
/* ═══ 자소서 컨설팅 (종이·빨간펜 컨셉) ═══ */
.cs-hero{background:linear-gradient(180deg,#FFFBF5 0%,#FFF6F8 100%);border-bottom:1px solid #F3E6EA;padding:48px 0 56px}
.cs-hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}
.cs-hero .crumb,.cs-hero .crumb a{color:var(--sub)}
.cs-tag{display:inline-block;margin-top:12px;font-size:13.5px;font-weight:700;color:#D6336C;border:1px solid #F5B5C9;background:#fff;padding:5px 12px;border-radius:99px}
.cs-hero h1{font-size:46px;line-height:1.2;letter-spacing:-.035em;margin-top:16px;font-weight:800}
.cs-hero mark,.cs-hl{background:linear-gradient(transparent 60%,#FFD3E0 60%);color:#D6336C}
.cs-hero .lead{color:#4A4760;margin-top:18px;font-size:16.5px;line-height:1.75}.cs-hero .lead b{color:#D6336C}
.cs-trust{margin-top:16px;font-size:13.5px;color:var(--sub)}
.cs-paper{background:#fff;border-radius:6px;padding:26px 26px 22px;box-shadow:0 1px 0 #eee,0 24px 50px rgba(120,60,80,.12);position:relative;transform:rotate(1.2deg);background-image:repeating-linear-gradient(transparent 0 31px,#F2EEF3 31px 32px);border:1px solid #F1E7EA}
.cs-paper:before{content:"";position:absolute;left:40px;top:0;bottom:0;border-left:2px solid #FFD3DC}
.cs-ph{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-left:22px}.cs-ph b{font-size:14px}.cs-ph span{font-size:12px;font-weight:700;color:#fff;background:#E03E52;border-radius:6px;padding:2px 8px;animation:cspulse 1.6s infinite}
@keyframes cspulse{50%{opacity:.55}}
.cs-paper p{padding-left:22px;font-size:14.5px;line-height:2;margin-top:8px}
.cs-del{color:#8b8796;text-decoration:line-through;text-decoration-color:#E03E52;text-decoration-thickness:2px}
.cs-note,.cs-hw,.cs-sign{font-family:"Gaegu",cursive;color:#E03E52;font-size:20px!important;line-height:1.4!important}
.cs-note{transform:rotate(-2deg)}
.cs-new mark{background:linear-gradient(transparent 58%,#FFE08A 58%)}
.cs-sign{text-align:right;color:#B4361F}
.cs-pt2{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;border:1px solid #F3DDE5;background:#FFF9FB;border-radius:24px;padding:30px;margin-top:18px}
.cs-pt2.rev{grid-template-columns:1fr 1.1fr}.cs-pt2.rev .cs-slide{order:2}
.cs-slide{position:relative;aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:0 14px 30px rgba(0,0,0,.06)}
.cs-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;opacity:0;transform:scale(1.04);transition:opacity .9s,transform 3.2s ease-out}
.cs-slide img.on{opacity:1;transform:scale(1)}
.cs-slide:not(.js) img:first-child{opacity:1}
.cs-cap{position:absolute;left:12px;bottom:12px;background:rgba(22,20,31,.78);color:#fff;font-size:12.5px;font-weight:700;padding:5px 10px;border-radius:8px}
.cs-pill{display:inline-block;background:#FF8FB1;color:#fff;font-weight:800;font-size:14px;padding:5px 14px;border-radius:99px}
.cs-pt2 h3{font-size:24px;line-height:1.4;margin-top:12px;letter-spacing:-.03em}
.cs-pt2 ul{list-style:none;margin-top:14px;display:grid;gap:8px;font-size:16px;color:#4A4760}.cs-pt2 li:before{content:"✓";color:#D6336C;font-weight:800;margin-right:8px}
.cs-pain-sec{padding-top:10px}
.cs-pain{background:#D6336C;border-radius:28px;padding:40px 28px 46px;text-align:center;color:#fff}
.cs-pain-s{font-weight:700;opacity:.85}.cs-pain h2{font-size:30px;line-height:1.35;margin-top:8px;letter-spacing:-.03em}
.cs-bubbles{background:#FFF0F5;border-radius:20px;padding:22px;margin:26px auto 0;max-width:620px;display:grid;gap:12px;position:relative}
.cs-bubbles:after{content:"";position:absolute;left:50%;bottom:-22px;transform:translateX(-50%);border:12px solid transparent;border-top-color:#FFF0F5}
.cs-bubbles p{background:#fff;color:var(--ink);border-radius:14px;padding:16px 18px;font-size:16px;display:flex;gap:12px;align-items:center;justify-content:center;opacity:0;transform:translateY(10px);transition:.5s}
.cs-bubbles p i{font-style:normal;font-size:24px}
.cs-pain.in .cs-bubbles p{opacity:1;transform:none}.cs-pain.in .cs-bubbles p:nth-child(2){transition-delay:.15s}.cs-pain.in .cs-bubbles p:nth-child(3){transition-delay:.3s}.cs-pain.in .cs-bubbles p:nth-child(4){transition-delay:.45s}
.cs-radar-w{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.cs-crit{list-style:none;margin-top:16px;display:grid;gap:8px}.cs-crit li{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 14px;font-size:14.5px;color:#4A4760}.cs-crit b{display:inline-block;min-width:96px;color:#D6336C}
.cs-radar{background:#fff;border-radius:24px;padding:20px;border:1px solid var(--line)}
.cs-radar svg{width:100%;height:auto;overflow:visible}
.cs-radar .g{fill:none;stroke:#E6E3EE}.cs-radar text{font-size:12.5px;font-weight:700;fill:#5B4E7A}
.cs-radar .b{fill:rgba(160,155,180,.25);stroke:#A09BB4;stroke-width:1.5;stroke-dasharray:4 3}
.cs-radar .a{fill:rgba(214,51,108,.18);stroke:#D6336C;stroke-width:2.5;transform-origin:160px 150px;transform:scale(.4);opacity:0;transition:transform 1.2s cubic-bezier(.2,1.2,.4,1),opacity .6s}
.cs-radar.in .a{transform:scale(1);opacity:1}
.cs-radar figcaption{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;font-size:13px;margin-top:6px}
.cs-radar figcaption span:before{content:"";display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.cs-radar .b:before{background:#D7D4E0}.cs-radar figcaption .a:before{background:#D6336C}.cs-radar figcaption .b:before{background:#C9C5D6}
.cs-radar figcaption small{width:100%;text-align:center;color:var(--sub)}
.cs-groups{display:grid;gap:22px;margin-top:22px}
.cs-g{background:#fff;border-radius:20px;padding:24px 24px 18px;position:relative;border:1px solid #EFE6D8}
.cs-gt{position:absolute;top:-14px;left:20px;background:#FF8FB1;color:#fff;font-weight:800;font-size:14px;padding:4px 14px;border-radius:10px;transform:rotate(-3deg)}
.cs-gq{display:block;font-size:18px;text-align:center;margin:6px 0 8px}
.cs-gl{padding:0 6px}
.cs-sol{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px;border:1.5px dashed #F5B5C9;background:#FFF7FA;border-radius:14px;padding:12px 16px;color:#8A1F45;transition:.3s}
.cs-sol p{font-weight:600}.cs-sol .btn{opacity:.4;pointer-events:none;transition:.3s}
.cs-g.hit .cs-sol{border-style:solid;border-color:#D6336C;background:#FFE6EF;box-shadow:0 8px 20px rgba(214,51,108,.15)}.cs-g.hit .cs-sol .btn{opacity:1;pointer-events:auto}
.cs-groups.nudge.on .cs-g:first-child .ck2:first-child .bx{animation:bxhint 1.6s ease-in-out infinite}
.cs-navy{background:#22243A;color:#fff}.cs-navy .sh h2{color:#fff}.cs-navy .eyebrow{color:#FF8FB1}
.cs-steps{background:#fff;color:var(--ink);border-radius:18px;overflow:hidden;margin-top:6px}
.cs-sh{background:#FF8FB1;color:#fff;font-weight:800;text-align:center;padding:10px;font-size:14.5px}
.cs-steps ol{list-style:none;counter-reset:s;display:grid;grid-template-columns:repeat(5,1fr);gap:10px;padding:20px 22px}
.cs-steps li{counter-increment:s;font-weight:700;font-size:15px;display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap}
.cs-steps li:before{content:counter(s);width:22px;height:22px;border-radius:50%;background:#FF8FB1;color:#fff;font-size:12.5px;display:inline-flex;align-items:center;justify-content:center;flex:none;margin-top:1px}
.cs-steps small{display:block;width:100%;font-weight:500;color:var(--sub);font-size:12.5px;padding-left:30px}
.cs-info{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}
.cs-info>div{background:#fff;color:var(--ink);border-radius:18px;padding:20px;position:relative;overflow:hidden;font-size:14.5px}
.cs-info>div>b{display:block;font-size:15.5px;margin-top:10px}.cs-info>div>b:first-child{margin-top:0}.cs-info p{color:#4A4760;margin-top:4px}
.cs-info ul{list-style:none;margin-top:6px;display:grid;gap:6px;color:#4A4760}.cs-info li:before{content:"✓";color:#D6336C;margin-right:8px;font-weight:800}
.cs-ticket{position:absolute;right:16px;bottom:16px;background:linear-gradient(135deg,#FFE6EF,#FFD3E0);color:#D6336C;border-radius:12px;padding:8px 14px;font-size:12px;font-weight:700;transform:rotate(-8deg);text-align:center;line-height:1.2;box-shadow:0 8px 18px rgba(214,51,108,.2)}.cs-ticket b{font-size:22px}
.cs-info .pb{padding-bottom:84px}
.cs-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:end;max-width:1000px;margin:0 auto}
.cs-plan{background:#fff;border-radius:20px;padding:24px;border:1px solid var(--line);display:flex;flex-direction:column;gap:14px;position:relative}
.cs-plan.best{border:2px solid #D6336C;padding:34px 24px 28px;box-shadow:0 20px 40px rgba(214,51,108,.14)}
.cs-plan em{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:#D6336C;color:#fff;font-style:normal;font-weight:800;font-size:12.5px;padding:4px 12px;border-radius:99px;white-space:nowrap}
.cs-plan .pn{font-size:18px}.cs-plan ul{list-style:none;background:#FFF7FA;border-radius:12px;padding:14px;display:grid;gap:7px;font-size:14.5px;color:#4A4760}
.cs-plan .pp span{display:block;font-size:14px}.cs-plan .pp i{font-style:normal;color:#E03E52;font-weight:800;margin-right:6px}.cs-plan .pp s{color:var(--sub)}
.cs-plan .pp b{font-size:28px;letter-spacing:-.02em}.cs-plan .pp small{margin-left:6px;color:var(--sub)}
.cs-rvs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.cs-rvc{background:#fff;border-radius:18px;overflow:hidden;border:1px solid var(--line);display:flex;flex-direction:column}
.cs-rvc .band{background:#FF8FB1;color:#fff;font-weight:700;font-size:14px;padding:12px 18px}
.cs-rvc .hd{padding:16px 18px 0}.cs-rvc .st{display:inline-block;background:#FFF0F5;color:#D6336C;font-size:12px;border-radius:6px;padding:2px 8px}
.cs-rvc .hd b{display:block;font-size:16.5px;line-height:1.5;margin-top:10px}
.cs-rvc p{padding:10px 18px 18px;font-size:14px;color:#4A4760;line-height:1.7}
.cs-note-sec{background:#FBF6EE}
.cs-for{display:grid;grid-template-columns:1.4fr 1fr;gap:12px}.cs-for>div{background:#fff;border-radius:18px;padding:20px;border:1px solid var(--line)}
.cs-for ul{margin:10px 0 0 18px;display:grid;gap:6px;font-size:15px;color:#4A4760}.cs-for .y b{color:#0B8A57}.cs-for .n b{color:#C2410C}
.cs-final{text-align:center;background:#fff;border:1px solid #F1E7EA;border-radius:24px;padding:40px 24px;background-image:repeating-linear-gradient(transparent 0 31px,#F6F1F4 31px 32px)}
.cs-final .cs-hw{font-size:30px!important}.cs-final .ctas{margin-top:18px}
@media(max-width:860px){.cs-hero .wrap,.cs-pt2,.cs-pt2.rev,.cs-radar-w{grid-template-columns:1fr}.cs-pt2.rev .cs-slide{order:0}.cs-hero h1{font-size:34px}.cs-paper{transform:none}
  .cs-steps ol{grid-template-columns:1fr}.cs-info,.cs-plans,.cs-rvs,.cs-for{grid-template-columns:1fr}.cs-pt2{padding:18px;gap:18px}.cs-pain h2{font-size:24px}}
/* 자소서 0→1 클래스 과제실 */
.dr-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}
.dr-st{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff;color:inherit;display:flex;flex-direction:column;gap:2px}
.dr-st small{font-size:12px;font-weight:800;color:#D6336C}.dr-st b{font-size:15px}.dr-st span{font-size:12.5px;color:var(--sub)}
.dr-st.done{background:#F2FBF6;border-color:#BFE8D2}.dr-st.done span{color:var(--ok);font-weight:700}
.dr-st.locked{opacity:.55}.dr-st.on{border:2px solid #D6336C;box-shadow:0 6px 16px rgba(214,51,108,.12)}
.dr-done{background:linear-gradient(135deg,#FFF0F5,#FFF8E6);border:1px solid #F5C9D7;border-radius:16px;padding:16px 18px;margin-top:12px}
.dr-exp{background:#FFF4E5;border-radius:12px;padding:10px 14px;margin-bottom:10px;font-size:14.5px}.dr-exp.ok{background:#E7F8EE;color:var(--ok)}
#drf textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px;font:inherit;resize:vertical}
@media(max-width:700px){.dr-steps{grid-template-columns:1fr 1fr}}
/* ═══ 자소서 0→1 클래스 상세 (노트·주황 포인트) ═══ */
.dr-hero{background:radial-gradient(700px 360px at 90% 0%,#FFE8C2 0%,transparent 60%),linear-gradient(180deg,#FFFBF2 0%,#fff 100%);padding:48px 0 56px;border-bottom:1px solid #F4E9D6}
.dr-hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center}
.dr-hero .crumb,.dr-hero .crumb a{color:var(--sub)}
.dr-tag{display:inline-block;margin-top:12px;font-size:13.5px;font-weight:700;color:#C25E00;background:#fff;border:1px solid #F5CF95;padding:5px 12px;border-radius:99px}
.dr-hero h1{font-size:46px;line-height:1.22;letter-spacing:-.035em;margin-top:16px;font-weight:800}
.dr-hero h1 em{font-style:normal;color:#E8590C;background:linear-gradient(transparent 62%,#FFE3B3 62%)}
.dr-hero .lead{color:#4A4760;margin-top:18px;font-size:16.5px;line-height:1.75}.dr-hero .lead b{color:#C25E00}
.dr-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.dr-facts span{background:#fff;border:1px solid #F1E3CB;border-radius:10px;padding:6px 10px;font-size:13.5px;font-weight:600;color:#5B4A2E}
.dr-meter{background:#fff;border-radius:24px;padding:24px;border:1px solid #F4E3C6;box-shadow:0 24px 50px rgba(194,94,0,.12)}
.dr-big{display:flex;align-items:center;justify-content:center;gap:18px;font-weight:900}
.dr-big b{font-size:72px;line-height:1;color:#D9D2C3}.dr-big b.one{color:#E8590C;animation:drone 2.4s ease-in-out infinite}.dr-big i{font-style:normal;font-size:34px;color:#C9B89A}
@keyframes drone{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
.dr-meter ol{list-style:none;margin-top:16px;display:grid;gap:8px}
.dr-meter li{display:flex;align-items:center;gap:10px;background:#FFF9EF;border-radius:12px;padding:10px 12px;font-weight:700;font-size:15px;opacity:0;transform:translateX(12px);animation:drin .5s forwards;animation-delay:calc(.25s + var(--d) * .22s)}
.dr-meter li span{width:26px;height:26px;border-radius:50%;background:#E8590C;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:13px;flex:none}
.dr-meter li small{margin-left:auto;font-weight:600;color:#8A6D3B;font-size:12.5px}
@keyframes drin{to{opacity:1;transform:none}}
.dr-who{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.dr-who div{background:#FFF9EF;border-radius:18px;padding:22px;text-align:center}.dr-who i{font-style:normal;font-size:36px}.dr-who b{display:block;margin-top:8px;font-size:16.5px}.dr-who p{color:#5B5670;font-size:14.5px;margin-top:6px}
.dr-soft{background:#FFFBF4}
.dr-path{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;counter-reset:x;position:relative}
.dr-path li{background:#fff;border:1px solid #F1E3CB;border-radius:20px;padding:20px;display:flex;flex-direction:column;gap:8px;position:relative}
.dr-path li:not(:last-child):after{content:"→";position:absolute;right:-12px;top:50%;transform:translate(50%,-50%);color:#E8590C;font-weight:900;z-index:1}
.dr-n{align-self:flex-start;background:#E8590C;color:#fff;font-weight:800;font-size:12.5px;border-radius:8px;padding:3px 9px}
.dr-path b{font-size:18px}.dr-path p{color:#5B5670;font-size:14.5px}
.dr-out{background:#FFF4E2;border-radius:12px;padding:10px 12px;font-weight:700;font-size:14.5px;margin-top:auto}.dr-out small{display:block;color:#8A6D3B;font-size:12px}
.dr-path em{font-style:normal;font-size:12.5px;color:#7a6a4f}
.dr-plans{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:820px;margin:0 auto;align-items:end}
.dr-plan{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px;display:flex;flex-direction:column;gap:12px;position:relative}
.dr-plan.best{border:2px solid #E8590C;box-shadow:0 20px 40px rgba(232,89,12,.14);padding-top:34px}
.dr-plan em{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:#E8590C;color:#fff;font-style:normal;font-weight:800;font-size:12.5px;padding:4px 12px;border-radius:99px}
.dr-plan .pn{font-size:20px}.dr-plan ul{list-style:none;background:#FFF9EF;border-radius:12px;padding:14px;display:grid;gap:7px;font-size:14.5px;color:#4A4760}
.dr-plan .pp b{font-size:30px;letter-spacing:-.02em}.dr-plan .pp small{display:block;color:var(--sub);font-size:12.5px}
.dr-ladder{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap;justify-content:center}
.dr-ladder>div{flex:1;min-width:170px;border:1px solid var(--line);border-radius:18px;padding:16px;background:#fff}
.dr-ladder>div.me{border:2px solid #E8590C;background:#FFF9EF}
.dr-ladder small{display:block;font-size:12.5px;color:var(--sub);font-weight:700}.dr-ladder b{display:block;font-size:17px;margin-top:4px}.dr-ladder span{font-size:13.5px;color:#5B5670}
.dr-ladder i{font-style:normal;align-self:center;color:#E8590C;font-weight:900}
.dr-cmp{overflow-x:auto;margin-top:22px}.dr-cmp table{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden;border:1px solid var(--line);min-width:560px}
.dr-cmp th,.dr-cmp td{padding:12px 14px;border-bottom:1px solid var(--line);font-size:14.5px;text-align:left}.dr-cmp th{background:var(--soft)}.dr-cmp .me{background:#FFF4E2}
@media(max-width:860px){.dr-hero .wrap,.dr-who,.dr-path,.dr-plans{grid-template-columns:1fr}.dr-hero h1{font-size:34px}.dr-path li:after{display:none!important}.dr-ladder i{transform:rotate(90deg)}}
/* 자소서: 문항 의도 분석 */
.cs-qs{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cs-q{background:#fff;border:1px solid #F3DDE5;border-radius:20px;padding:22px}
.cs-qt{display:inline-block;background:#FFF0F5;color:#D6336C;font-weight:800;font-size:13.5px;border-radius:8px;padding:3px 10px}
.cs-q q{display:block;margin-top:10px;font-weight:800;font-size:16.5px;quotes:"“" "”"}
.cs-q dl{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin-top:12px;font-size:14.5px;color:#4A4760}
.cs-q dt{font-weight:800;color:var(--ink);white-space:nowrap}.cs-q dt.x{color:#C2410C}.cs-q dt.o{color:#0B8A57}
.cs-qn{margin-top:16px;text-align:center;font-size:15px;color:#4A4760}
.cs-crit small{color:var(--sub);font-weight:500}
@media(max-width:860px){.cs-qs{grid-template-columns:1fr}}
/* ═══ 상세페이지 v3 (자소서 첨삭): 본문 + 오른쪽 고정 신청 카드 · 깔끔한 보라 포인트 ═══ */
.kc-tabs{top:66px}
.kc-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:40px;align-items:start;padding-top:8px;padding-bottom:40px}
.kc-main{min-width:0}
.kc-sec{padding:56px 0 8px;border-bottom:1px solid var(--kb)}.kc-sec:last-child{border-bottom:0}
.kc-lb{font-size:14px;font-weight:800;color:var(--p)}
.kc-h{font-size:30px;line-height:1.38;letter-spacing:-.035em;margin-top:8px;font-weight:800}.kc-h span{color:var(--p)}
.kc-sub{margin-top:10px;color:#5B5670;font-size:16px}
.kc-note{margin-top:16px;background:var(--kt);border-radius:14px;padding:14px 16px;font-size:15px;color:#4A4760}
.kc-worry{display:grid;gap:10px;margin-top:20px}
.kc-worry div{display:flex;justify-content:space-between;align-items:center;background:#F7F7FA;border-radius:16px;padding:18px 22px;font-size:16.5px;line-height:1.55}
.kc-worry b{color:var(--p2)}.kc-worry i{font-style:normal;font-size:30px}
.kc-qs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
.kc-q{border:1px solid var(--kb);border-radius:18px;padding:20px;background:#fff}
.kc-qt{display:inline-block;background:var(--pl);color:var(--p2);font-weight:800;font-size:13px;border-radius:8px;padding:3px 10px}
.kc-q q{display:block;margin-top:10px;font-weight:800;font-size:15.5px;line-height:1.5}
.kc-q dl{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin-top:12px;font-size:14px;color:#4A4760}
.kc-q dt{font-weight:800;color:var(--ink);white-space:nowrap}.kc-q dt.x{color:#E5484D}.kc-q dt.o{color:#0B8A57}
.kc-main .cs-pt2{background:#F7F7FA;border:0;border-radius:20px;padding:24px;gap:26px;grid-template-columns:1fr 1fr}
.kc-main .cs-pt2.rev{grid-template-columns:1fr 1fr}
.kc-main .cs-pill{background:var(--p)}
.kc-main .cs-pt2 h3{font-size:21px}.kc-main .cs-pt2 ul{font-size:15px}.kc-main .cs-pt2 li:before{color:var(--p)}
.kc-radar-w{grid-template-columns:1fr 1fr;gap:26px}
.kc-crit b{color:var(--p2)!important;min-width:90px}
.kc-radar .a{fill:rgba(var(--prgb),.18);stroke:var(--p)}.kc-radar figcaption .a:before{background:var(--p)}
.kc-ex .sec{padding:56px 0 8px;background:none}.kc-ex .wrap{padding:0;max-width:none}
.kc-ex .sh{text-align:left}
.kc-groups .cs-g{border-color:var(--kb)}.kc-groups .cs-gt{background:var(--p);transform:none}
.kc-groups .cs-sol{border-color:var(--pm);background:var(--kt);color:var(--p2)}
.kc-groups .cs-g.hit .cs-sol{border-color:var(--p);background:var(--kt);box-shadow:0 8px 20px rgba(var(--prgb),.15)}
.kc-groups .ck2:has(input:checked){background:var(--kt)}.kc-groups .ck2 input:checked+.bx{background:var(--p);border-color:var(--p)}.kc-groups .ck2 input:checked~span{color:var(--p2)}
.kc-flow{list-style:none;counter-reset:f;display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:20px}
.kc-flow li{counter-increment:f;background:#F7F7FA;border-radius:16px;padding:16px 14px;position:relative}
.kc-flow li:before{content:counter(f);display:inline-flex;width:24px;height:24px;border-radius:50%;background:var(--p);color:#fff;font-weight:800;font-size:12.5px;align-items:center;justify-content:center}
.kc-flow b{display:block;margin-top:8px;font-size:15px}.kc-flow span{font-size:12.5px;color:var(--sub)}
.kc-get{margin-top:14px;border:1px solid var(--kb);border-radius:18px;padding:20px}
.kc-get h3{font-size:17px}.kc-get ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.kc-get li{background:var(--kt);border-radius:12px;padding:12px 14px}.kc-get li b{display:block;font-size:15px}.kc-get li span{font-size:13px;color:#5B5670}
.kc-main .mt2{grid-template-columns:1fr}.kc-main>.sec.soft{background:none;padding:56px 0 8px;border-bottom:1px solid var(--kb)}.kc-main>.sec .wrap{padding:0;max-width:none}
.kc-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px;align-items:stretch}
.kc-plan{border:1px solid var(--kb);border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:10px;position:relative;background:#fff}
.kc-plan.best{border:2px solid var(--p);box-shadow:0 18px 36px -12px rgba(var(--prgb),.35)}
.kc-plan em{position:absolute;top:-12px;left:20px;background:var(--p);color:#fff;font-style:normal;font-weight:800;font-size:12px;padding:3px 10px;border-radius:99px}
.kc-plan .pn{font-weight:800;font-size:15px;color:#4A4760}.kc-plan .dc{font-size:13px}.kc-plan .dc i{font-style:normal;color:#E5484D;font-weight:800;margin-right:4px}.kc-plan .dc s{color:var(--sub)}
.kc-plan .pr{font-size:25px;letter-spacing:-.02em}.kc-plan .pr small{font-size:13px;color:var(--sub);font-weight:600;margin-left:3px}
.kc-plan ul{list-style:none;display:grid;gap:6px;font-size:14px;color:#4A4760;margin-bottom:auto}.kc-plan li:before{content:"✓";color:var(--p);font-weight:800;margin-right:6px}
.kc-rvs .cs-rvc .band{background:var(--pl);color:var(--p2)}.kc-rvs .st{background:#FFF6E0;color:#B7791F}
.kc-rvs{grid-template-columns:repeat(2,1fr)}
.kc-side{position:sticky;top:130px;margin-top:56px}
.kc-card{border:1px solid var(--kb);border-radius:22px;padding:22px;background:#fff;box-shadow:0 20px 40px -20px rgba(var(--prgb),.18)}
.kc-cl{font-size:12.5px;font-weight:800;color:var(--p)}.kc-ct{display:block;font-size:19px;line-height:1.4;margin-top:6px}
.kc-rows{display:grid;gap:4px;margin-top:14px}.kc-rows div{display:flex;justify-content:space-between;font-size:14px;padding:8px 10px;border-radius:10px}.kc-rows div.best{background:var(--pl);color:var(--p2);font-weight:700}
.kc-facts{list-style:none;margin:14px 0;display:grid;gap:4px;font-size:13.5px;color:#5B5670}
.kc-k{display:block;text-align:center;font-size:13.5px;color:var(--sub);margin-top:12px}
@media(max-width:1080px){.kc-layout{grid-template-columns:1fr}.kc-side{display:none}}
@media(max-width:860px){.kc-hero .wrap,.kc-qs,.kc-radar-w,.kc-plans,.kc-rvs,.kc-get ul{grid-template-columns:1fr}.kc-main .cs-pt2,.kc-main .cs-pt2.rev{grid-template-columns:1fr}.kc-flow{grid-template-columns:1fr 1fr}.kc-hero h1{font-size:31px}.kc-h{font-size:24px}.kc-stats b{font-size:18px}}
.kc-groups .cs-sol .btn{opacity:.6;pointer-events:auto}.kc-groups .cs-g.hit .cs-sol .btn{opacity:1}
/* ═══ 자소서 첨삭 v5: 색 테마 + 새 히어로 ═══ */
.kc-page{--kh:#F6F7FB}
.kc-t1{--p:#0F8B6C;--p2:#0B6E55;--pl:#E6F4EF;--pm:#C9E8DC;--kt:#F2F9F6;--kb:#E2EEE9;--prgb:15,139,108;--kh:#F5F3EC;--k2:#E9C46A}
.kc-t2{--p:#3459F5;--p2:#2440C9;--pl:#ECF0FF;--pm:#D3DCFF;--kt:#F4F6FF;--kb:#E3E8F5;--prgb:52,89,245;--kh:#F3F6FD;--k2:#7DD3FC}
.kc-t3{--p:#EE5F2B;--p2:#C44A1C;--pl:#FFF0E8;--pm:#FFD9C7;--kt:#FFF7F2;--kb:#F1E7E1;--prgb:238,95,43;--kh:#FAF6F1;--k2:#FDBA74}
.kc-hero{position:relative;overflow:hidden;background:var(--kh);padding:52px 0 72px}
.kc-hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(20,20,40,.07) 1px,transparent 1px);background-size:22px 22px;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 55%);mask-image:linear-gradient(90deg,transparent 0,#000 55%)}
.kc-hero::after{content:"";position:absolute;width:560px;height:560px;right:-120px;top:-160px;border-radius:50%;background:radial-gradient(circle,rgba(var(--prgb),.16),transparent 65%)}
.kc-hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.kc-hero .crumb,.kc-hero .crumb a{color:var(--sub);font-size:13px}
.kc-eye{display:inline-flex;align-items:center;gap:8px;margin-top:22px;font-size:14px;font-weight:700;color:var(--p2)}
.kc-eye i{width:8px;height:8px;border-radius:50%;background:var(--p);box-shadow:0 0 0 4px rgba(var(--prgb),.18)}
.kc-hero h1{font-size:50px;line-height:1.2;letter-spacing:-.045em;margin-top:12px;font-weight:800;color:#15141C}
.kc-hero h1 em{font-style:normal;color:var(--p);background:linear-gradient(transparent 80%,rgba(var(--prgb),.18) 80%);padding:0 2px}
.kc-hero .lead{color:#55536A;margin-top:20px;font-size:16.5px;line-height:1.8}.kc-hero .lead b{color:#15141C}
.kc-cta{display:flex;gap:8px;margin-top:28px;flex-wrap:wrap}.kc-cta .btn{height:52px;padding:0 24px}
.kc-cta .btn.p{box-shadow:0 10px 24px -8px rgba(var(--prgb),.55)}
.kc-stats{display:flex;margin-top:36px;padding-top:22px;border-top:1px solid rgba(20,20,40,.08);max-width:520px}
.kc-stats div{flex:1;padding-right:18px}.kc-stats div+div{padding-left:18px;border-left:1px solid rgba(20,20,40,.08)}
.kc-stats dt{font-size:24px;font-weight:800;letter-spacing:-.03em;color:#15141C}.kc-stats dd{margin:2px 0 0;font-size:13px;color:var(--sub)}
.kc-vis{position:relative;padding:28px 10px 40px 34px}
.kc-back{position:absolute;left:0;top:0;width:78%;background:#fff;border:1px solid var(--kb);border-radius:18px;padding:18px 20px;transform:rotate(-5deg);opacity:.75;filter:saturate(.6)}
.kc-back b{font-size:12px;color:var(--sub)}.kc-back p{margin-top:8px;font-size:13px;line-height:1.7;color:#A3A1B3}
.kc-doc{position:relative;background:#fff;border-radius:20px;border:1px solid var(--kb);box-shadow:0 40px 80px -30px rgba(20,20,50,.28),0 2px 6px rgba(20,20,50,.04);padding:22px 24px;margin-top:34px}
.kc-doc-h{display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:14px;color:#3B3950}.kc-doc-h i{font-style:normal;font-size:12px;background:var(--pl);color:var(--p2);padding:3px 9px;border-radius:99px}
.kc-doc-q{margin-top:14px;border-left:3px solid var(--p);background:var(--kt);border-radius:4px 10px 10px 4px;padding:10px 12px;font-size:13.5px;color:#3B3950}.kc-doc-q b{display:block;font-size:12px;color:var(--p2);margin-bottom:2px}
.kc-del{margin-top:14px;font-size:13.5px;line-height:1.75;color:#A3A1B3;text-decoration:line-through;text-decoration-color:#E5484D}
.kc-new{margin-top:10px;font-size:14.5px;line-height:1.85;color:#22212C}
.kc-new mark{color:inherit;border-radius:3px;padding:0 1px;background:linear-gradient(rgba(var(--prgb),.18),rgba(var(--prgb),.18)) no-repeat 0 0/0 100%;animation:kcmark .7s ease forwards}
.kc-new mark:nth-of-type(2){animation-delay:.5s}.kc-new mark:nth-of-type(3){animation-delay:1s}
@keyframes kcmark{to{background-size:100% 100%}}
.kc-tag{position:absolute;z-index:2;background:#fff;border:1px solid var(--kb);border-radius:99px;padding:8px 14px;font-size:13px;font-weight:700;color:#3B3950;box-shadow:0 12px 28px -10px rgba(20,20,50,.25);white-space:nowrap;animation:kcfloat 4s ease-in-out infinite}
.kc-tag.t1{right:-6px;top:6px;color:var(--p2)}
.kc-tag.t2{left:4px;bottom:4px;animation-delay:-2s}.kc-tag.t2 b{color:var(--p2)}
@keyframes kcfloat{50%{transform:translateY(-6px)}}
@media(max-width:860px){.kc-hero{padding:32px 0 48px}.kc-hero h1{font-size:34px}.kc-hero .lead br{display:none}.kc-hero .lead{font-size:15.5px}.kc-cta .btn{flex:1;padding:0 10px;font-size:15px}
.kc-stats dt{font-size:20px}.kc-stats div{padding-right:10px}.kc-stats div+div{padding-left:12px}.kc-vis{padding:18px 4px 36px 14px}.kc-tag.t1{right:0}.kc-hero::after{width:360px;height:360px;right:-160px;top:-60px}}
@media(prefers-reduced-motion:reduce){.kc-tag{animation:none}.kc-new mark{animation:none;background-size:100% 100%}}
.kc-back p{filter:blur(.6px)}
@media(max-width:860px){.kc-hero .wrap{grid-template-columns:1fr;gap:28px}.kc-vis{max-width:460px}.kc-back{width:84%}}
.kc-t1{--kd1:#0C2A23;--kd2:#14473A}.kc-t2{--kd1:#0F1A3F;--kd2:#1E3277}.kc-t3{--kd1:#2A1710;--kd2:#5A2C17}
.kc-page .mt2-card{background:linear-gradient(160deg,var(--kd1),var(--kd2))}
.kc-page .mt2-role{color:rgba(255,255,255,.75)}.kc-page .mt2-tag,.kc-page .mt2-why{color:rgba(255,255,255,.72)}
/* 예약 모달: 예약 버튼이 항상 아래에 붙어 있게 */
.sl-foot{position:sticky;bottom:-28px;margin:16px -28px -28px;padding:12px 28px 20px;background:#fff;border-top:1px solid var(--line);box-shadow:0 -10px 24px -14px rgba(20,20,50,.25);z-index:2}
.sl-foot .sumrow{margin-top:0}.sl-foot #sl-pick{font-size:14px}
/* 휴대폰 마이페이지 메뉴: 옆으로 숨기지 않고 모두 보이게 */
@media(max-width:860px){
  .mp-nav{flex-wrap:wrap;overflow:visible;gap:6px;padding-bottom:0}
  .mp-nav a{padding:8px 12px;border:1px solid var(--line);border-radius:99px;font-size:14px;background:#fff}
  .mp-nav a.on{border-color:var(--p);background:var(--pl)}
  .mp-nav a.sub{padding-left:12px;margin-top:0;font-size:13.5px;background:var(--soft);border-style:dashed}
  .mp-nav a.sub::before{display:none}
}
/* 휴대폰 헤더: 로그인하면 마이페이지 버튼을 로그아웃 옆에 */
@media(max-width:860px){.gnb .hr .btn.t.my{display:inline-flex;background:var(--pl);color:var(--p2);font-weight:700}.gnb .hr .btn.s{padding:0 11px;font-size:13.5px}}
/* 관리자: 부트캠프 메뉴 안 전환 (기수·일정 / 과제·피드백) */
.adseg{display:inline-flex;gap:4px;background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:4px;margin-bottom:14px}
.adseg a{padding:8px 16px;border-radius:9px;font-weight:700;font-size:14.5px;color:var(--sub)}
.adseg a.on{background:#fff;color:var(--p2);box-shadow:0 1px 4px rgba(20,20,50,.1)}
/* 0→1 클래스: 이런 분께 4칸 + 피드백 선택 */
.dr-who.four{grid-template-columns:1fr 1fr}.dr-who.four div{text-align:left;display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:start}.dr-who.four i{grid-row:span 2;font-size:30px}.dr-who.four b{margin-top:2px}
.dr-pick{max-width:640px;margin:0 auto;background:#fff;border-radius:24px;border:1px solid var(--line);box-shadow:0 20px 50px -24px rgba(40,20,90,.25);padding:22px}
.dr-sw{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:var(--soft);border-radius:16px;padding:5px}
.dr-sw button{position:relative;border-radius:12px;padding:14px 10px;text-align:center;color:var(--sub);transition:.2s}
.dr-sw button b{display:block;font-size:15.5px}.dr-sw button span{font-size:13.5px;font-weight:600}
.dr-sw button em{position:absolute;top:-9px;right:10px;font-style:normal;font-size:11.5px;font-weight:800;background:var(--p);color:#fff;border-radius:99px;padding:2px 8px}
.dr-sw button[aria-checked=true]{background:#fff;color:var(--ink);box-shadow:0 4px 14px rgba(20,20,50,.12)}.dr-sw button[aria-checked=true] span{color:var(--p2)}
.dr-pc{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;margin-top:20px;align-items:end}
.dr-pc ul{list-style:none;display:grid;gap:9px;font-size:14.5px}.dr-pc li{padding-left:22px;position:relative}.dr-pc li:before{content:"✓";position:absolute;left:0;color:var(--p);font-weight:800}
.dr-pick[data-plan=self] .dr-pc li.fb{color:#B8B5C6;text-decoration:line-through}.dr-pick[data-plan=self] .dr-pc li.fb:before{content:"–";color:#B8B5C6}
.dr-pick[data-plan=feedback] .dr-pc li.fb{background:var(--pl);border-radius:8px;padding:6px 8px 6px 26px}.dr-pick[data-plan=feedback] .dr-pc li.fb:before{left:8px;top:6px}
.dr-pick[data-plan=self] .only-fb,.dr-pick[data-plan=feedback] .only-self{display:none}
.dr-pr>b{display:block;font-size:30px;letter-spacing:-.03em}.dr-pr small{display:block;color:var(--sub);font-size:12.5px;margin:2px 0 12px}
@media(max-width:860px){.dr-pc{grid-template-columns:1fr}}
@media(max-width:520px){.dr-who.four{grid-template-columns:1fr}}
/* 맞춤 첨삭 제목 글씨체: 도현 */
.kc-hero h1{font-family:"Do Hyeon","Pretendard Variable",Pretendard,sans-serif;font-weight:400;font-size:58px;letter-spacing:-.01em;line-height:1.15}
@media(max-width:860px){.kc-hero h1{font-size:40px}}
/* 맞춤 첨삭: 인재상 문항 사례 */
.kc-sub{color:var(--sub);margin-top:8px;font-size:15px}
.kc-cs{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;margin-top:22px;align-items:stretch}
.kc-cs-col{background:#fff;border:1px solid var(--kb);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:8px}
.kc-cs-tag{align-self:flex-start;font-size:12.5px;font-weight:800;border-radius:99px;padding:3px 10px}.kc-cs-tag.x{background:#FDECEC;color:#C53030}.kc-cs-tag.o{background:var(--pl);color:var(--p2)}
.kc-cs-box{background:var(--soft);border-radius:12px;padding:10px 12px;font-size:14px;font-weight:600;line-height:1.55}.kc-cs-box small{display:block;font-size:11.5px;color:var(--sub);font-weight:700;margin-bottom:2px}
.kc-cs-box.hl{background:var(--kt);border:1px solid var(--pm)}.kc-cs-box.sop{background:var(--p);color:#fff}.kc-cs-box.sop small{color:rgba(255,255,255,.75)}.kc-cs-box.sop b{color:#fff;text-decoration:underline;text-underline-offset:3px}
.kc-cs-two{display:grid;grid-template-columns:1fr 1fr;gap:6px}.kc-cs-two .kc-cs-box{font-size:13px}
.kc-cs-warn{font-size:13px;color:#9B2C2C;background:#FFF5F5;border-radius:10px;padding:8px 10px;margin-top:auto}
.kc-cs-arrow{align-self:center;font-size:26px;font-weight:800;color:var(--p)}
.kc-cs-memo{margin-top:14px;background:#FFF6E5;border-left:4px solid #F5A524;border-radius:6px 14px 14px 6px;padding:12px 16px;font-size:14.5px;color:#5A4210}.kc-cs-memo p{margin-top:4px}
.kc-cs-ba{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.kc-cs-ba>div{border:1px solid var(--kb);border-radius:16px;padding:16px;font-size:14.5px;line-height:1.75;color:#55536A}.kc-cs-ba span{display:block;font-size:12.5px;font-weight:800;color:var(--sub);margin-bottom:6px}
.kc-cs-ba .a{border-color:var(--pm);background:var(--kt);color:#22212C}.kc-cs-ba .a span{color:var(--p2)}.kc-cs-ba mark{background:rgba(var(--prgb),.16);color:inherit;border-radius:3px;padding:0 2px}
.kc-cs-rv{margin:16px 0 0;background:#fff;border:1px solid var(--kb);border-radius:18px;padding:20px 22px;position:relative}
.kc-cs-rv:before{content:"“";position:absolute;top:-6px;left:16px;font-size:56px;font-weight:800;color:var(--p);line-height:1}
.kc-cs-rv blockquote{margin:0;padding-top:14px;font-size:15.5px;line-height:1.8;font-weight:600;color:#22212C}.kc-cs-rv figcaption{margin-top:10px;font-size:13px;color:var(--sub)}
@media(max-width:860px){.kc-cs,.kc-cs-ba{grid-template-columns:1fr}.kc-cs-arrow{transform:rotate(90deg);justify-self:center}}
/* 맞춤 첨삭 문항별 결제: 수량 맞추기 안내 (결제 화면 모양) */
.qtyg{margin-top:16px;text-align:left;background:#FFFBEA;border:1px solid #F5D77A;border-radius:16px;padding:14px 16px}
.qtyg>b{font-size:15px}.qtyg>b em{font-style:normal;color:#B45309;background:#FDE68A;border-radius:4px;padding:0 4px}
.qtyg>p{font-size:13px;color:#6B5A2A;margin-top:4px}
.qtyg-m{margin-top:10px;background:#fff;border:1px solid #E7E2D1;border-radius:12px;padding:6px 12px;font-size:13.5px}
.qtyg-m>div{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 0;border-bottom:1px dashed #EEE8D6}.qtyg-m>div:last-child{border:0}
.qtyg-m span{color:#7A7486}.qtyg-m .q{gap:6px;justify-content:flex-start}.qtyg-m .q span{margin-right:auto}
.qtyg-m i{font-style:normal;min-width:34px;text-align:center;border:1px solid #DDD;border-radius:6px;padding:2px 6px;color:#999;text-decoration:line-through}
.qtyg-m i.on{color:#B45309;border:2px solid #F59E0B;background:#FFFBEA;font-weight:800;text-decoration:none;animation:qtyp 1.4s ease-in-out infinite}
.qtyg-m s{text-decoration:none;color:#B45309;font-weight:800}
.qtyg-m .t b{color:#B45309;font-size:15px}
@keyframes qtyp{50%{box-shadow:0 0 0 4px rgba(245,158,11,.25)}}
.pb-row>div:first-child{min-width:0;flex:1}
@media(max-width:640px){.pb-row{flex-direction:column;align-items:stretch}.pb-btns{width:100%}.pb-btns .btn{flex:1}}
/* 수량 안내: 실제 결제 화면 사진 + 손가락 */
.qtyg-img{position:relative;margin-top:10px;border-radius:12px;overflow:hidden;border:1px solid #E7E2D1;background:#fff}
.qtyg-img img{display:block;width:100%;height:auto}
.qtyg-ring{position:absolute;left:93.3%;top:46.6%;width:12%;aspect-ratio:1;transform:translate(-50%,-50%);border:3px solid #F59E0B;border-radius:50%;animation:qtyring 1.4s ease-out infinite}
.qtyg-hand{position:absolute;left:91.5%;top:47%;width:clamp(34px,9vw,52px);height:auto;transform:translate(-50%,0);fill:#1F2937;stroke:#fff;stroke-width:1.2;paint-order:stroke;filter:drop-shadow(0 2px 3px rgba(0,0,0,.3));animation:qtytap 1.4s ease-in-out infinite}
.qtyg-tip{position:absolute;right:16%;top:66%;background:#B45309;color:#fff;font-size:12.5px;font-weight:800;border-radius:99px;padding:4px 10px;white-space:nowrap}
.qtyg-cap{font-size:12px!important;color:#8A7F5C!important;margin-top:6px!important}
@keyframes qtytap{0%,100%{transform:translate(-50%,6px)}45%{transform:translate(-50%,-4px)}}
@keyframes qtyring{0%{opacity:1;transform:translate(-50%,-50%) scale(.6)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.4)}}
@media(prefers-reduced-motion:reduce){.qtyg-hand,.qtyg-ring{animation:none}}
.qtyg-img{max-width:420px}
/* 첨삭본 사진: 멘토 메모 쪽으로 천천히 확대 */
.cs-slide img.zoom{object-position:var(--zx) top;transform-origin:var(--zx) var(--zy)}
.cs-slide img.zoom.on{animation:cszoom 5.2s ease-in-out forwards}
@keyframes cszoom{0%,15%{transform:scale(1)}55%,100%{transform:scale(var(--zs))}}
@media(prefers-reduced-motion:reduce){.cs-slide img.zoom.on{animation:none}}
.tf-off{font-style:normal;font-size:12px;font-weight:800;color:#fff;background:#E8590C;border-radius:99px;padding:2px 8px;margin-left:4px}
.cs-slide img{pointer-events:none;-webkit-user-drag:none;user-select:none;-webkit-touch-callout:none}
/* 첨삭 전·후 사진 칸 크기 맞추기 (눌러서 크게 보면 전체가 보여요) */
.cx-imgs{align-items:start}
.cx-imgs .cx-f:not(:nth-child(3)) button{aspect-ratio:4/3.3}
.cx-imgs .cx-f:not(:nth-child(3)) img{height:100%;object-fit:cover;object-position:left top}
.kc-cs-two.three{grid-template-columns:repeat(3,1fr)}
.kc-mask{background:#E5E7EB;color:#E5E7EB;border-radius:4px;padding:0 6px;user-select:none}
/* 맞춤 첨삭: 보내 주실 자료 */
.kc-docs{margin-top:14px;background:#fff;border:1px solid var(--kb);border-radius:18px;padding:18px 20px}
.kc-docs h3{font-size:16px}.kc-docs ol{margin:10px 0 0;padding-left:20px;display:grid;gap:8px;font-size:14.5px}
.kc-docs li b{font-weight:700}.kc-docs li span{display:block;color:var(--sub);font-size:13px}.kc-docs li em{font-style:normal;font-size:11.5px;font-weight:800;color:var(--p2);background:var(--pl);border-radius:99px;padding:1px 7px}
.kc-docs>p{margin-top:10px;font-size:13px;color:var(--sub)}
.kc-main .mt2-card{position:static}
.kc-up{margin-top:14px;background:var(--kt);border:1px solid var(--pm);border-radius:14px;padding:14px;display:grid;grid-template-columns:1fr 1.1fr;gap:14px;align-items:center}
.kc-up b{font-size:14.5px}.kc-up b a{color:var(--p2);text-decoration:underline;text-underline-offset:3px}.kc-up p{font-size:13px;color:var(--sub);margin-top:4px}
.kc-up img{width:100%;border-radius:10px;border:1px solid var(--kb);box-shadow:0 8px 20px -10px rgba(20,20,50,.25)}
@media(max-width:700px){.kc-up{grid-template-columns:1fr}}
.kc-ka{display:inline-flex;align-items:center;gap:4px;margin-left:6px;font-size:13px;font-weight:700;color:#3A1D1D;background:#FEE500;border-radius:99px;padding:3px 10px;white-space:nowrap}.kc-ka:hover{filter:brightness(.97)}
/* 상세페이지 중간 다른 프로그램 안내 */
.kc-x{display:flex;align-items:center;gap:14px;margin:28px 0 0;background:#fff;border:1px dashed var(--pm);border-radius:16px;padding:14px 18px;transition:.2s}
.kc-x:hover{border-style:solid;border-color:var(--p);box-shadow:0 10px 24px -14px rgba(var(--prgb),.5)}
.kc-x>i{font-style:normal;font-size:26px}.kc-x>div{flex:1;min-width:0}.kc-x b{display:block;font-size:15px}.kc-x span{font-size:13px;color:var(--sub)}
.kc-x em{font-style:normal;font-size:13.5px;font-weight:800;color:var(--p2);white-space:nowrap}
@media(max-width:640px){.kc-x{flex-wrap:wrap}.kc-x em{width:100%;padding-left:40px}}
@media(max-width:860px){.dr-v2 .bc-facts{grid-template-columns:1fr 1fr;gap:8px}.dr-v2 .bc-facts>div{padding:14px}}
/* 0→1 클래스 5단계: 템플릿 입력 · AI 요청문 */
.dr-steps.n5{grid-template-columns:repeat(5,1fr)}
@media(max-width:700px){.dr-steps.n5{grid-template-columns:1fr 1fr}}
.drf .g2f{margin-top:4px}
.drrows{display:grid;gap:10px;margin-top:12px}
.drrow{position:relative;border:1px solid var(--line);border-radius:14px;padding:12px 14px 4px;background:var(--soft);margin:0;min-width:0}
.drrow legend{font-size:12.5px;font-weight:800;color:var(--p2);background:#fff;border:1px solid var(--line);border-radius:99px;padding:2px 10px}
.drrm{position:absolute;top:8px;right:10px;font-size:20px;line-height:1;color:var(--sub)}
#dradd{margin-top:10px}
.dr-ai{display:flex;gap:14px;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#EEF2FF,#F5F3FF);border:1px solid #D9DEFF;border-radius:14px;padding:14px 16px;margin-bottom:14px}
.dr-ai p{font-size:13px;color:var(--sub);margin-top:2px}.dr-ai .btn{flex:none}
.dr-prompt{width:100%;font-size:13px;line-height:1.6;border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--soft);margin-top:10px;resize:vertical}
@media(max-width:640px){.dr-ai{flex-direction:column;align-items:stretch}}
/* 0→1 클래스: 마이페이지 화면 미리 보기 */
.dr-shot{margin:0;border:1px solid var(--kb);border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 18px 40px -24px rgba(20,20,50,.35)}
.dr-shot img{display:block;width:100%;height:auto}
.dr-shot.wide{margin-top:18px;padding:14px;background:var(--kt)}.dr-shot.wide img{border-radius:10px}
.dr-shot figcaption{font-size:12.5px;color:var(--sub);margin-top:8px;text-align:center}
.dr-shows{display:grid;gap:26px;margin-top:26px}
.dr-sh{display:grid;grid-template-columns:1.05fr 1fr;gap:26px;align-items:center}
.dr-sh.rev .dr-shot{order:2}
.dr-sh .dr-shot{max-height:360px}.dr-sh .dr-shot img{object-fit:cover;object-position:top}
.dr-sh h3{font-size:20px;line-height:1.4;letter-spacing:-.02em;margin-top:10px}
.dr-sh p{color:#55536A;font-size:14.5px;line-height:1.75;margin-top:8px}.dr-sh p b{color:var(--ink)}
@media(max-width:860px){.dr-sh,.dr-sh.rev{grid-template-columns:1fr}.dr-sh.rev .dr-shot{order:0}.dr-sh .dr-shot{max-height:300px}}
.dr-shot button{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}
/* 0→1 클래스 5단계: 한 줄씩 세로 흐름 */
.dr-v2 .dr-path{grid-template-columns:1fr;gap:14px;margin-top:18px}
.dr-v2 .dr-path li{display:grid;grid-template-columns:82px minmax(0,1fr) 210px;grid-template-areas:"n b o" "n p o" "n e o";column-gap:16px;row-gap:4px;align-items:start;padding:18px 20px}
.dr-v2 .dr-path li>.dr-n{grid-area:n;align-self:start;text-align:center}
.dr-v2 .dr-path li>b{grid-area:b}.dr-v2 .dr-path li>p{grid-area:p}.dr-v2 .dr-path li>em{grid-area:e}
.dr-v2 .dr-path li>.dr-out{grid-area:o;align-self:center;margin:0}
.dr-v2 .dr-path li:not(:last-child):after{content:"↓";right:auto;left:61px;top:auto;bottom:-14px;transform:translate(-50%,50%);background:#fff;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:13px;border:1px solid #F1E3CB}
@media(max-width:860px){.dr-v2 .dr-path li{grid-template-columns:1fr;grid-template-areas:"n" "b" "p" "o" "e"}.dr-v2 .dr-path li>.dr-n{justify-self:start}.dr-v2 .dr-path li:not(:last-child):after{display:flex!important;left:50%}}
.cbox.drfb{border-color:#F5D77A;background:#FFFBEA}.cbox.drfb.wait{background:#fff}
/* 맞춤 첨삭: 첨삭 자료 보내기 (마이페이지 1:1) */
.cs-due{background:#FFF4E5;border:1px solid #FBD38D;color:#7B341E;border-radius:10px;padding:8px 12px;font-size:14px;margin-bottom:8px}
.cs-ok{background:#E8F8EF;border:1px solid #9AE6B4;color:#22543D;border-radius:10px;padding:8px 12px;font-size:14px;margin-bottom:8px}
.cs-list{display:grid;gap:8px}
.cs-it{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff}
.cs-it.ok{border-color:#9AE6B4;background:#F6FFFA}
.cs-it-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}.cs-it-h b{font-size:15px}.cs-it-h em{font-style:normal;font-size:11.5px;font-weight:800;color:var(--p2);background:var(--pl);border-radius:99px;padding:1px 7px}.cs-it-h small{color:var(--sub);font-size:12.5px;width:100%}
.cs-it.ok .cs-it-h b{color:#22543D}
.cs-docs{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.cs-link{display:flex;gap:6px;margin-top:8px}.cs-link input{flex:1;min-width:0;border:1px solid var(--line);border-radius:10px;height:38px;padding:0 10px;font:inherit}
.cs-btns{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.cs-btns label.btn{cursor:pointer}
.cs-agree{margin:12px 0 10px;font-size:13.5px}.cs-agree .ck span{line-height:1.6}
/* 첨삭 자료 보내기: 구분 잘 되게 (번호 · 상태 칩 · 한 줄 정렬) */
.cs-panel{margin-top:16px;background:#F7F5FF;border:1px solid #E4DCFF;border-radius:18px;padding:16px}
.csd-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.csd-h h3{font-size:17px}
.cs-pg{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--sub);white-space:nowrap}.cs-pg b{color:var(--p2);font-size:15px}
.cs-pg i{display:block;width:90px;height:6px;border-radius:99px;background:#E4DCFF;position:relative;overflow:hidden}.cs-pg i:after{content:"";position:absolute;inset:0;width:var(--w);background:var(--p);border-radius:99px}
.cs-list{gap:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.cs-it{display:grid;grid-template-columns:34px minmax(0,1fr) auto;grid-template-areas:"n h b" "n d b" "n l l";column-gap:12px;row-gap:4px;align-items:center;border:0;border-radius:0;border-top:1px solid var(--line);padding:14px 16px}
.cs-it:first-child{border-top:0}
.cs-it.ok{background:#F6FFFA}.cs-it.opt{background:#FCFCFD}
.cs-no{grid-area:n;align-self:start;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;background:#EEEAF8;color:var(--p2)}
.cs-it.ok .cs-no{background:#2F855A;color:#fff}
.cs-it-h{grid-area:h;gap:8px;align-items:center}.cs-it-h b{font-size:15.5px}.cs-it-h small{margin-top:1px}
.cs-st{font-size:11.5px;font-weight:800;border-radius:99px;padding:2px 8px}
.cs-st.need{background:#FFF1F0;color:#C53030}.cs-st.opt{background:#F1F0F5;color:var(--sub)}.cs-st.ok{background:#DCF5E7;color:#22543D}
.cs-it-h em{display:none}
.cs-docs{grid-area:d;margin-top:2px}
.cs-btns{grid-area:b;margin:0;justify-content:flex-end;align-self:start}
.cs-link{grid-area:l;margin-top:6px}
.cs-agree{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px}
@media(max-width:640px){.cs-it{grid-template-columns:30px minmax(0,1fr);grid-template-areas:"n h" "n d" "n l" "n b";padding:12px}.cs-btns{justify-content:flex-start;margin-top:6px;flex-wrap:nowrap}.cs-btns .btn{flex:1;padding:0 8px;font-size:13px}.cs-pg i{width:50px}.csd-h h3{font-size:16px}}
.cs-doc{display:inline-flex;align-items:center;gap:2px;background:#fff;border:1px solid var(--line);border-radius:10px;padding-right:4px}.cs-doc .cf{border:0;background:none}
.cs-rm{width:26px;height:26px;border-radius:50%;font-size:18px;line-height:1;color:#C53030}.cs-rm:hover{background:#FFF1F0}
/* 관리자 1:1 목록: 프로그램별 골라 보기 */
.oo-flt{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:12px 0 4px}
.oo-flt label{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px}
.oo-flt select{height:38px;border:1px solid var(--line);border-radius:10px;padding:0 10px;font:inherit;min-width:200px}
.oo-li{align-items:center;gap:12px}
.oo-cat{flex:none;min-width:92px;text-align:center;font-size:12px;font-weight:800;border-radius:8px;padding:5px 8px;background:#F1F0F5;color:#4A4760}
.oo-cat.c-consult{background:#E8EEFF;color:#2440C9}.oo-cat.c-draft{background:#FFF0E8;color:#C44A1C}.oo-cat.c-interview{background:#F3EEFF;color:#6236E8}
.oo-cat.c-diagnosis{background:#E6F4EF;color:#0B6E55}.oo-cat.c-package{background:#FFF6DB;color:#8A5A00}.oo-cat.c-bootcamp{background:#FDECF3;color:#B4235A}
.oo-li{text-align:left;width:100%}.oo-li .grow{text-align:left;flex:1;min-width:0}
.dr-st.wait{opacity:.8;background:#FFFBEA;border-style:dashed}
.xpnote{margin-top:10px;background:#FFFBEA;border:1px solid #F5D77A;border-radius:10px;padding:10px}.xpnote textarea{width:100%;margin:6px 0;border:1px solid var(--line);border-radius:8px;padding:8px;font:inherit}
.xn-st{display:block;margin-top:6px;font-size:12.5px;font-weight:700;color:#8A5A00;background:#FFF6DB;border-radius:8px;padding:4px 8px}
.xn-box{background:#FFFBEA;border:1px solid #F5D77A;border-radius:12px;padding:12px 14px;margin:10px 0 4px}.xn-box p{margin-top:4px;white-space:pre-line;font-size:14.5px}
.dr-ext{display:flex;gap:14px;align-items:center;justify-content:space-between;margin-top:12px;background:#FFF4E5;border:1px solid #FBD38D;border-radius:14px;padding:14px 16px}.dr-ext p{font-size:13.5px;color:#7B341E;margin-top:2px}.dr-ext .btn{flex:none}
@media(max-width:640px){.dr-ext{flex-direction:column;align-items:stretch}}
/* 0→1 가이드·멘토 예시 가독성 */
.drmd{font-size:15px;line-height:1.75}
.drmd h2,.drmd h3{font-size:17px;margin:22px 0 10px;padding-left:10px;border-left:4px solid var(--p)}.drmd h2:first-child,.drmd h3:first-child{margin-top:4px}
.drmd ul{list-style:none;padding:0;margin:8px 0;display:grid;gap:8px}
.drmd li{position:relative;padding-left:18px}.drmd li:before{content:"";position:absolute;left:4px;top:.75em;width:6px;height:6px;border-radius:50%;background:var(--p)}
.drmd li.kv{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 14px}
.drmd li.kv .kv-k{word-break:keep-all}
.drmd li.kv:before{display:none}
.drmd .kv-k{font-size:13px;font-weight:800;color:var(--p2);padding-top:2px}
.drmd p.kv-head{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;background:var(--pl);border-radius:12px;padding:10px 14px;margin:6px 0 10px}
.drmd p.kv-head b{font-size:15.5px}
.drmd blockquote{margin:12px 0;padding:10px 14px;border-radius:10px;background:var(--soft);border-left:4px solid var(--line)}
.drmd blockquote.bad{background:#FFF5F5;border-left-color:#E53E3E;color:#742A2A}
.drmd blockquote+blockquote{margin-top:-14px;border-top-left-radius:0;border-top-right-radius:0}
.drmd b{color:var(--ink)}
@media(max-width:640px){.drmd li.kv{grid-template-columns:1fr;gap:2px}}

/* 부트캠프 과제·모범답안 편집 */
.tk2 summary{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.tk2 .tkt{flex:1;min-width:140px}
.tk2 .tkcs{display:flex;flex-wrap:wrap;gap:4px}
.tkc{font-size:12px;padding:2px 8px;border-radius:999px;background:#f1f3f5;color:#868e96;white-space:nowrap}
.tkc.on{background:#e7f0ff;color:#1c5fd4;font-weight:600}
.tkc.a.on{background:#e6f7ee;color:#1a8a4a}
.tks{border:1px solid #e3e8ef;border-left:4px solid #3b82f6;border-radius:10px;padding:12px 14px;margin:12px 0;background:#fafcff}
.tks.a{border-left-color:#22a861;background:#f8fdf9}
.tks h4{margin:0 0 8px;font-size:15px}
.tks h4 small{font-weight:400;color:#868e96;margin-left:6px;font-size:12px}
.tkfl{list-style:none;margin:4px 0 8px;padding:0;border:1px solid #e9ecef;border-radius:8px;background:#fff}
.tkfl li{display:flex;align-items:center;gap:8px;padding:7px 10px;border-top:1px solid #f1f3f5;font-size:14px}
.tkfl li:first-child{border-top:0}
.tkfl .n{flex:none;width:20px;height:20px;border-radius:50%;background:#eef2f7;color:#555;font-size:11px;display:grid;place-items:center}
.tkfl a.cf{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:none;padding:0}
.tkfl .x{flex:none;border:0;background:#fff0f0;color:#d33;border-radius:6px;width:26px;height:26px;cursor:pointer}
.tkfl-0{margin:4px 0 8px;color:#adb5bd;font-size:13px}
.tkup{display:inline-block;padding:6px 12px;border:1px dashed #9db4d6;border-radius:8px;color:#1c5fd4;font-size:13px;cursor:pointer;background:#fff}
.tks.a .tkup{border-color:#8fcca8;color:#1a8a4a}
.tkup:hover{background:#f3f7ff}
.dr-tst{margin:10px 0 0;padding:10px 12px;border:1px dashed #f0a35a;border-radius:10px;background:#fff8f0;font-size:14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.av-pub{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:12px;border:1px solid var(--line);border-radius:12px;cursor:pointer;text-align:left}
.av-pub input{margin-top:3px;flex:none;width:18px;height:18px}
.av-pub b{display:block;font-size:14px}
.av-pub small{display:block;color:#868e96;font-size:12.5px;margin-top:2px;line-height:1.5}
.oo-due{margin:8px 0;padding:9px 12px;border-radius:10px;background:#fff8e6;color:#8a5a00;font-size:13.5px}

/* 0→1 상세: 멘토 예시 미리 보기 */
.dr-ex{position:relative;margin-top:18px;border:1px solid #eadff7;background:#faf7ff;border-radius:18px;padding:20px 20px 0;overflow:hidden;user-select:none;-webkit-user-select:none}
.dr-ex-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.dr-ex-h b{font-size:17px}
.dr-ex .post-body{margin:0}
.dr-ex-more{filter:blur(5px);opacity:.75;pointer-events:none;max-height:230px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 30%,transparent);mask-image:linear-gradient(#000 30%,transparent)}
.dr-ex-more ul{margin-top:8px}
.dr-ex-lock{position:absolute;left:50%;bottom:34px;transform:translateX(-50%);background:#1f1630;color:#fff;font-size:14px;padding:10px 16px;border-radius:999px;white-space:nowrap;box-shadow:0 6px 20px rgba(0,0,0,.15)}
.dr-ex-why{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}
.dr-ex-why div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}
.dr-ex-why i{font-style:normal;font-size:22px;display:block}
.dr-ex-why b{display:block;margin-top:6px;font-size:15px}
.dr-ex-why span{display:block;color:#6b7280;font-size:13px;margin-top:4px;line-height:1.5}
@media(max-width:760px){.dr-ex-why{grid-template-columns:1fr 1fr}.dr-ex{padding:16px 14px 0}.dr-ex-lock{white-space:normal;width:86%;text-align:center;bottom:24px}}

/* 완료 축하 */
.dr-st,.camp-days .cd{position:relative}
.dr-st.done{background:linear-gradient(135deg,#ECFBF2,#DDF6E8);border-color:#9EDDBB;box-shadow:0 4px 14px rgba(20,153,90,.10)}
.dr-st.done span{color:#0F8A4F;font-weight:800}
.dr-st .stamp{position:absolute;top:-10px;right:-8px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:20px;background:#fff;border:2px solid #9EDDBB;box-shadow:0 4px 10px rgba(20,153,90,.18);transform:rotate(-12deg);animation:kn-pop .5s cubic-bezier(.3,1.6,.5,1) both}
.cd.sub b{font-size:20px;display:inline-block;animation:kn-pop2 .5s cubic-bezier(.3,1.6,.5,1) both}
@keyframes kn-pop2{0%{transform:scale(.3);opacity:0}100%{transform:scale(1);opacity:1}}
.cd.sub{background:linear-gradient(135deg,#ECFBF2,#DDF6E8)}
.cd.sub span{font-weight:800}
@keyframes kn-pop{0%{transform:scale(.3) rotate(-30deg);opacity:0}100%{transform:scale(1) rotate(-12deg);opacity:1}}
.all-done .dr-st.done,.all-done .cd.sub{background:linear-gradient(135deg,#FFF6D6,#FFE7A3);border-color:#F2C14E;box-shadow:0 6px 18px rgba(242,166,0,.18);overflow:hidden}
.all-done .dr-st.done span,.all-done .cd.sub span,.all-done .cd.sub b{color:#9A6400}
.all-done .dr-st .stamp{border-color:#F2C14E;box-shadow:0 4px 12px rgba(242,166,0,.3)}
.all-done .dr-st.done:after,.all-done .cd.sub:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.7) 50%,transparent 70%);transform:translateX(-100%);animation:kn-shine 2.8s ease-in-out infinite;pointer-events:none}
.all-done .dr-st.done{overflow:visible}
.all-done .dr-st.done:after{border-radius:14px}
@keyframes kn-shine{0%,40%{transform:translateX(-100%)}80%,100%{transform:translateX(100%)}}
.camp-prog .cheer{display:block;font-size:12.5px;color:var(--sub);margin-top:4px;font-weight:600;white-space:nowrap}
.camp-prog.full .cheer{color:#9A6400}
.camp-prog.full i:after{background:linear-gradient(90deg,#F2C14E,#FF9F1C)}
.kn-cf{position:fixed;inset:0;pointer-events:none;z-index:9999;overflow:hidden}
.kn-cf i{position:absolute;top:-20px;animation:kn-fall linear forwards}
@keyframes kn-fall{0%{transform:translate(0,0) rotate(0)}100%{transform:translate(var(--x),105vh) rotate(var(--r));opacity:.9}}
@media(prefers-reduced-motion:reduce){.dr-st .stamp,.cd.sub b{animation:none}.all-done .dr-st.done:after,.all-done .cd.sub:after{animation:none}}

/* 본문 표 (| a | b |) */
.md-tw{margin:12px 0;overflow-x:auto}
.md-t{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;font-size:14.5px;line-height:1.6}
.md-t th{background:#F3EEFF;color:#5B3CC4;font-weight:800;text-align:left;padding:10px 12px;font-size:13.5px;white-space:nowrap}
.md-t td{padding:12px;border-top:1px solid var(--line);vertical-align:top}
.md-t td:first-child{font-weight:800;white-space:nowrap}
@media(max-width:640px){
  .md-t,.md-t tbody,.md-t tr,.md-t td{display:block;width:100%}
  .md-t{border:0;background:none}
  .md-t thead{display:none}
  .md-t tr{background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px 14px 10px;margin-bottom:10px}
  .md-t td{border:0;padding:6px 0 0;white-space:normal}
  .md-t td:before{content:attr(data-l);display:block;font-size:12px;font-weight:800;color:#7C4DFF}
  .md-t td:first-child{font-size:16px;padding-top:8px}
  .md-t td:first-child:before{display:none}
}
.dr-aiq{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#F6F2FF;border:1px dashed #C9B6FF;border-radius:10px;padding:8px 10px}
.dr-aiq .btn{background:#fff}
.dr-aiq small{color:#6b7280;font-size:12.5px}

/* 0→1 역량 고르기 */
.skg{display:flex;flex-direction:column;gap:8px;background:#FAF8FF;border:1px solid #EAE3FF;border-radius:12px;padding:12px}
.skr{display:grid;grid-template-columns:84px 1fr;gap:8px;align-items:start}
.skr>b{font-size:12.5px;color:#7C4DFF;padding-top:6px}
.skr>div{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.skc{border:1px solid #DCD3F5;background:#fff;color:#333;border-radius:999px;padding:5px 11px;font-size:13px;cursor:pointer;line-height:1.3}
.skc.on{background:#7C4DFF;border-color:#7C4DFF;color:#fff;font-weight:700}
.skc.on:before{content:"✓ "}
.skin{border:1px dashed #C9B6FF;border-radius:999px;padding:5px 12px;font-size:13px;min-width:160px;background:#fff}
@media(max-width:640px){.skr{grid-template-columns:1fr;gap:4px}.skr>b{padding-top:0}}
.skf .skx .skin{width:auto;flex:1 1 160px;max-width:260px;min-width:140px;height:auto;margin:0}
.skf .skx .skadd{flex:none;padding:5px 12px}
.kc-t4{--p:#6D4AFF;--p2:#5133D6;--pl:#F0ECFF;--pm:#DCD3FF;--kt:#F7F5FF;--kb:#E7E2F5;--prgb:109,74,255;--kh:#F6F4FD;--k2:#C4B5FD;--kd1:#1B1240;--kd2:#35257A}
.kc-t5{--p:#1E3A8A;--p2:#172C6B;--pl:#E8EDF8;--pm:#CBD6EE;--kt:#F3F6FB;--kb:#DFE5F0;--prgb:30,58,138;--kh:#F2F4F8;--k2:#FBBF24;--kd1:#0B1530;--kd2:#1B2C5E}
.kc-page .report{margin-top:20px}
/* 면접 코칭: 실제 리포트 미리 보기 */
.iv-reps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px;user-select:none;-webkit-user-select:none}
.iv-reps figure{margin:0;border:1px solid var(--kb);border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 10px 24px -14px rgba(var(--prgb),.35)}
.iv-reps img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top;pointer-events:none;-webkit-touch-callout:none}
.iv-reps figcaption{font-size:13px;font-weight:700;padding:10px 12px;border-top:1px solid var(--kb);color:var(--p2)}
.iv-note{margin-top:10px;font-size:13px;color:var(--sub)}
@media(max-width:760px){.iv-reps{grid-template-columns:1fr 1fr}.iv-reps figure:last-child{display:none}}
/* 커리어 진단: 맞춤 PPT 미리 보기 · 자주 받는 질문 */
.dg-shots{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px;user-select:none;-webkit-user-select:none}
.dg-shots figure{margin:0;border:1px solid var(--kb);border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 10px 24px -14px rgba(var(--prgb),.35)}
.dg-shots img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;pointer-events:none;-webkit-touch-callout:none}
.dg-shots figcaption{font-size:12.5px;font-weight:700;padding:8px 10px;color:var(--p2);border-top:1px solid var(--kb)}
.dg-asks{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.dg-asks span{background:var(--kt);border:1px solid var(--kb);border-radius:999px;padding:9px 14px;font-size:14.5px;font-weight:600}
.dg-asks span:before{content:"Q. ";color:var(--p);font-weight:800}
@media(max-width:760px){.dg-shots{grid-template-columns:1fr 1fr}}
/* 관리자 1:1 대화: 진행 중 / 종료 */
.oo-seg{display:inline-flex;gap:4px;background:#F1F2F6;border-radius:12px;padding:4px;margin:12px 0 4px}
.oo-seg button{border:0;background:none;padding:7px 14px;border-radius:9px;font-weight:700;font-size:14px;color:#6b7280;cursor:pointer}
.oo-seg button.on{background:#fff;color:var(--ink);box-shadow:0 1px 4px rgba(0,0,0,.08)}
.oo-seg b{color:var(--p);margin-left:2px}
.oo-li.done{opacity:.7}
.oo-end{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:6px 0 4px}
.oo-end small{font-size:12.5px}
@media(max-width:480px){.knmean{font-size:clamp(24px,8vw,34px);gap:8px;flex-wrap:wrap}.knmean span{font-size:22px}}
.g7{background:linear-gradient(135deg,#EE5F2B,#FDBA74)}
@media(min-width:1100px){.grid4.g5c{grid-template-columns:repeat(5,1fr);gap:14px}.g5c .card .th b{font-size:19px}}

/* 홈: 취업 여정 · 결과물 · 마이페이지 */
.hm-jrs{padding-top:48px}
.hm-jr{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:22px;position:relative}
.hm-st{position:relative;display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 16px;color:inherit;transition:transform .2s,box-shadow .2s}
.hm-st:hover{transform:translateY(-3px);box-shadow:0 14px 30px -16px rgba(91,60,196,.35);border-color:#D9CCFF}
.hm-st .n{font-size:12px;font-weight:800;color:var(--p);letter-spacing:.04em}
.hm-st i{font-style:normal;font-size:28px;line-height:1}
.hm-st b{font-size:17px}
.hm-st small{font-size:13.5px;color:var(--sub);line-height:1.5;flex:1}
.hm-st em{font-style:normal;font-size:13px;font-weight:800;color:var(--p);margin-top:6px}
.hm-st:not(:last-child):after{content:"";position:absolute;right:-9px;top:50%;width:6px;height:6px;border-top:2px solid #C9B6FF;border-right:2px solid #C9B6FF;transform:translateY(-50%) rotate(45deg);z-index:1}
.hm-out{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px;user-select:none;-webkit-user-select:none}
.hm-o{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;color:inherit;transition:transform .2s,box-shadow .2s}
.hm-o:hover{transform:translateY(-3px);box-shadow:0 14px 30px -16px rgba(0,0,0,.25)}
.hm-o .im{aspect-ratio:4/3;overflow:hidden;background:#F4F4F8;border-bottom:1px solid var(--line)}
.hm-o img{width:100%;height:100%;object-fit:cover;object-position:top;pointer-events:none;-webkit-touch-callout:none}
.hm-o .tx{padding:14px 16px}
.hm-o .tx span{font-size:12.5px;font-weight:800;color:var(--p)}
.hm-o .tx b{display:block;margin-top:4px;font-size:15px;line-height:1.45}
.hm-mp{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}
.hm-mp div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}
.hm-mp i{font-style:normal;font-size:26px;display:block}
.hm-mp b{display:block;margin-top:8px;font-size:16px}
.hm-mp span{display:block;margin-top:4px;font-size:13.5px;color:var(--sub);line-height:1.55}
@media(max-width:960px){.hm-jr{grid-template-columns:1fr 1fr}.hm-st:after{display:none}.hm-out{grid-template-columns:1fr 1fr}.hm-mp{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.hm-jr{grid-template-columns:1fr}.hm-st{flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:14px 16px}.hm-st small{flex-basis:100%;order:4}.hm-st em{order:5;margin-top:2px}.hm-mp{grid-template-columns:1fr}}
.hm-o .im.fit{display:flex;align-items:center;justify-content:center;padding:10px;background:#F6F4FB}
.hm-o .im.fit img{object-fit:contain;height:auto;max-height:100%;border-radius:8px;box-shadow:0 4px 14px rgba(0,0,0,.08)}
.hm-o:first-child img{object-position:right top}
@media(max-width:560px){.hm-mp{grid-template-columns:1fr 1fr;gap:8px}.hm-mp div{padding:14px}.hm-mp i{font-size:22px}.hm-mp b{font-size:14.5px;margin-top:6px}.hm-mp span{font-size:12.5px}}
.rv-cp{background:#FFF7E6;border:1px solid #FDE2A7;color:#7A4B00;border-radius:12px;padding:10px 14px;font-size:14px;margin-bottom:16px}

/* 전자책 무료 이벤트 팝업 */
.evpop{position:fixed;inset:0;z-index:9000;background:rgba(14,18,16,.5);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:16px;animation:ev-in .25s ease}
.evpop[hidden]{display:none}
body.ev-lock{overflow:hidden}
.ev-card{width:min(400px,100%);border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 30px 70px -24px rgba(0,0,0,.45);animation:ev-up .35s cubic-bezier(.2,1.1,.4,1)}
.ev-art{background:linear-gradient(160deg,#E4EEE8 0%,#CFE0D6 100%);padding:28px 0 0;display:flex;justify-content:center;height:206px;overflow:hidden}
.ev-art img{width:170px;align-self:flex-start;border-radius:6px 6px 0 0;box-shadow:0 18px 40px -12px rgba(20,33,27,.45)}
.ev-body{padding:22px 24px 20px}
.ev-badge{display:inline-block;font-size:12px;font-weight:700;color:#2E4A3C;background:#EAF2ED;border:1px solid #D3E3D9;padding:4px 10px;border-radius:999px}
.ev-body h3{margin-top:12px;font-size:22px;line-height:1.38;letter-spacing:-.03em;color:#16141F;font-weight:800}
.ev-sub{margin-top:8px;font-size:14px;color:#5B6660;line-height:1.6}
.ev-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid #EEF1EF}
.ev-pr s{color:#9AA39E;font-size:14px}
.ev-pr b{font-size:22px;color:#16141F;margin-left:4px}
.ev-dd{font-size:12.5px;font-weight:700;color:#2E4A3C}
.ev-go{display:block;margin-top:14px;text-align:center;background:#16141F;color:#fff;font-weight:700;font-size:16px;padding:14px;border-radius:12px;transition:background .2s}
.ev-go:hover{background:#2E4A3C}
.ev-foot{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #EEF1EF}
.ev-foot button{border:0;background:#fff;padding:14px;font-size:14px;color:#5B6660;cursor:pointer}
.ev-foot button+button{border-left:1px solid #EEF1EF}
.ev-foot button:hover{background:#F7F9F8;color:#16141F}
@keyframes ev-in{from{opacity:0}to{opacity:1}}
@keyframes ev-up{from{transform:translateY(20px);opacity:0}to{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){.evpop,.ev-card{animation:none}}

/* 홈: 지금 신청할 수 있는 프로그램 · 칼럼 */
.hm-now{padding-top:24px}
.hm-nw{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:12px;margin-top:20px}
.hm-n{display:flex;flex-direction:column;gap:4px;border:1px solid var(--line);border-radius:16px;padding:18px;background:#fff;color:inherit;transition:border-color .2s,box-shadow .2s}
.hm-n:hover{border-color:#D9CCFF;box-shadow:0 12px 26px -16px rgba(91,60,196,.35)}
.hm-n .t{font-size:13px;font-weight:700;color:var(--sub)}
.hm-n b{font-size:18px}
.hm-n small{font-size:13px;color:var(--sub)}
.hm-n.bc{background:linear-gradient(135deg,#F3EEFF,#fff 70%);border-color:#DCD0FF}
.hm-n.bc b{color:var(--p)}
.hm-n .ds{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.hm-n .ds span{font-size:12.5px;font-weight:700;background:#fff;border:1px solid #E3DAFF;border-radius:999px;padding:4px 10px}
.hm-n .ds em{font-style:normal;color:#E5484D;margin-left:2px}
.hm-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}
.hm-c{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;color:inherit}
.hm-c .im{aspect-ratio:16/9;overflow:hidden;background:#F4F4F8}.hm-c img{width:100%;height:100%;object-fit:cover}
.hm-c .tx{padding:14px 16px}.hm-c .tx span{font-size:12.5px;font-weight:800;color:var(--p)}.hm-c .tx b{display:block;margin-top:4px;font-size:16px;line-height:1.45}
.hm-c .tx small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:6px;font-size:13.5px;color:var(--sub)}
@media(max-width:960px){.hm-nw{grid-template-columns:1fr 1fr}.hm-n.bc{grid-column:1/-1}.hm-cols{grid-template-columns:1fr}}
/* 홈 프로그램: 히어로 바로 아래, 더 잘 보이게 */
.hm-prog{padding-top:36px;padding-bottom:36px}
.hm-prog .sh h2{font-size:30px}
.hm-prog .card{box-shadow:0 10px 26px -18px rgba(30,20,80,.35);transition:transform .2s,box-shadow .2s}
.hm-prog .card:hover{transform:translateY(-4px);box-shadow:0 18px 36px -18px rgba(30,20,80,.45)}
@media(max-width:700px){
  .hm-prog .grid4.g5c{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0 -16px;padding:4px 16px 14px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .hm-prog .grid4.g5c::-webkit-scrollbar{display:none}
  .hm-prog .grid4.g5c .card{flex:0 0 76%;scroll-snap-align:start}
  .hm-prog .sh h2{font-size:24px}
}
@media(max-width:700px){
  .hero{padding:36px 0 18px}
  .hm-cta{flex-wrap:nowrap;gap:8px}.hm-cta .btn{flex:1;justify-content:center;padding-left:10px;padding-right:10px;font-size:15px}
  .hm-facts{display:grid!important;grid-template-columns:repeat(3,1fr);gap:8px!important;margin-top:20px!important}
  .hm-facts>div{font-size:12px;line-height:1.35}.hm-facts b{font-size:19px!important}
  .hero .chips{gap:6px}.hero .chip{padding:8px 12px;font-size:14px}
}
@media(max-width:700px){.hm-cta .btn{white-space:nowrap}.hm-cta .btn.w{flex:0 0 auto}}

/* ── 헤더 로고 마크 ── */
.logo{gap:0;letter-spacing:-.02em}
.kn-w{display:inline-flex;font-weight:900;letter-spacing:-.04em}.kn-w b:first-child{color:#1B2741}.kn-w b:last-child{color:#5DB38F}

/* ── 홈 히어로: 배너 슬라이드 + 바로가기 ── */
.hero.hm2{background:#fff;padding:22px 0 8px}
.hero.hm2 .wrap{display:block}
.hs{position:relative;border-radius:24px;overflow:hidden}
.hs-s{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:28px;height:360px;padding:36px 48px 52px;border-radius:24px;color:#fff;background:#1C2A48;position:relative;overflow:hidden}
.hs-s[hidden]{display:none}
.hs-s.on{animation:hsIn .5s ease}
@keyframes hsIn{from{opacity:.2;transform:translateX(14px)}to{opacity:1;transform:none}}
.hs-ev{background:linear-gradient(120deg,#16213C 0%,#1E3A4A 55%,#2F7A62 100%)}
.hs-mp{background:linear-gradient(120deg,#1C2A48 0%,#2B3D66 100%)}
.hs-dr{background:linear-gradient(120deg,#B4531B 0%,#E07A35 100%)}
.hs-bc{background:linear-gradient(120deg,#2E2569 0%,#6B4EE6 100%)}
.hs-iv{background:linear-gradient(120deg,#15513F 0%,#2C8A68 100%)}
.hs-tag{display:inline-block;font-size:13.5px;font-weight:700;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.16);letter-spacing:-.01em}
.hs-tx h2{font-size:38px;line-height:1.28;font-weight:800;letter-spacing:-.04em;margin-top:16px}
.hs-tx p{margin-top:12px;font-size:16px;color:rgba(255,255,255,.82);line-height:1.6}
.hs-cta{margin-top:22px;background:#fff;color:#16213C;font-weight:700}
.hs-cta:hover{background:#F1F4F8}
.hs-im{display:flex;justify-content:center;align-items:center;height:100%}
.hs-im.shot img{width:100%;max-height:250px;object-fit:cover;object-position:top;border-radius:14px;box-shadow:0 18px 40px rgba(0,0,0,.28);background:#fff}
.hs-im.book img{height:250px;width:auto;border-radius:6px 12px 12px 6px;box-shadow:0 22px 40px rgba(0,0,0,.35);transform:rotate(-3deg)}
.hs-nav{position:absolute;right:22px;bottom:18px;display:flex;align-items:center;gap:6px;background:rgba(0,0,0,.28);border-radius:999px;padding:4px 6px;color:#fff;font-size:13px}
.hs-nav button{width:28px;height:28px;border-radius:50%;border:0;background:transparent;color:#fff;font-size:20px;line-height:1;cursor:pointer}
.hs-nav button:hover{background:rgba(255,255,255,.18)}
.hs-cnt{min-width:42px;text-align:center}.hs-cnt i{font-style:normal;opacity:.75}
.hs-dots{display:none}
.qn{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;margin-top:20px}
.qn a{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 4px;border-radius:16px;color:var(--ink);font-size:14px;font-weight:600;text-align:center}
.qn a:hover{background:#F5F6FA}
.qn i{font-style:normal;font-size:26px;width:56px;height:56px;border-radius:18px;background:#F3F5F9;display:flex;align-items:center;justify-content:center}
@media(max-width:960px){.hs-s{grid-template-columns:1fr;padding:30px 28px 64px;height:300px;align-content:center}.hs-im{display:none}.hs-tx h2{font-size:30px}}
@media(max-width:560px){
  .hero.hm2{padding:12px 0 0}
  .hs,.hs-s{border-radius:18px}
  .hs-s{padding:22px 20px 56px;height:310px}
  .hs-tx h2{font-size:25px;margin-top:12px}.hs-tx p{font-size:14.5px}
  .hs-cta{margin-top:16px;height:42px;font-size:14.5px}
  .hs-nav{right:12px;bottom:12px}
  .qn{grid-template-columns:repeat(4,1fr);gap:4px;margin-top:12px}
  .qn a{padding:10px 2px;font-size:12.5px;gap:6px}
  .qn i{width:48px;height:48px;font-size:22px;border-radius:15px}
}

/* ── 홈: 마이페이지 기능 탭 ── */
.mps{margin-top:22px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:10px}
.mps-tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding:4px;background:#F5F6FA;border-radius:16px}
.mps-tabs::-webkit-scrollbar{display:none}
.mps-tabs button{flex:1 0 auto;border:0;background:transparent;padding:12px 16px;border-radius:12px;font:inherit;font-size:15px;font-weight:600;color:var(--sub);cursor:pointer;white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:6px}
.mps-tabs button i{font-style:normal}
.mps-tabs button[aria-selected=true]{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(20,24,40,.08)}
.mps-p{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;align-items:center;padding:30px 26px 26px}
.mps-p[hidden]{display:none}
.mps-tx h3{font-size:26px;letter-spacing:-.03em;line-height:1.35}
.mps-tx>p{margin-top:12px;color:#4A4760;font-size:15.5px;line-height:1.7}
.mps-tx ul{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:8px}
.mps-tx li{position:relative;padding-left:24px;font-size:15px}
.mps-tx li:before{content:'✓';position:absolute;left:0;top:0;color:#2C8A68;font-weight:800}
.mps-use{margin-top:20px;display:grid;gap:8px}
.mps-use small{font-size:13px;color:var(--sub);font-weight:700}
.mps-use a{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:#F5F8F6;border:1px solid #E1ECE6;font-size:14px}
.mps-use a b{color:#1E6B50;flex:none}.mps-use a span{color:#4A4760}
.mps-use a:after{content:'→';margin-left:auto;color:#2C8A68}
.mps-use a:hover{border-color:#9FCFB9}
.mps-im{border-radius:16px;overflow:hidden;border:1px solid var(--line);box-shadow:0 18px 40px rgba(20,24,40,.10);background:#fff}
.mps-im .bar{display:flex;align-items:center;gap:6px;padding:10px 14px;background:#F5F6FA;border-bottom:1px solid var(--line)}
.mps-im .bar i{width:10px;height:10px;border-radius:50%;background:#E2E4EC}
.mps-im .bar span{margin-left:8px;font-size:12px;color:var(--sub)}
.mps-im img{display:block;width:100%;max-height:440px;object-fit:cover;object-position:top}
@media(max-width:960px){.mps-p{grid-template-columns:1fr;gap:22px;padding:22px 14px 16px}.mps-im{order:-1}}
@media(max-width:560px){.mps{padding:6px;border-radius:18px}.mps-tabs button{font-size:14px;padding:10px 12px}.mps-tx h3{font-size:21px}.mps-tx>p{font-size:14.5px}.mps-im img{max-height:300px}}

/* 글 안 화면 캡처는 테두리로 구분 */
.post img{border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px rgba(20,24,40,.06);margin:6px 0}

/* ── 패키지 상세 (kc 레이아웃) ── */
.pk-page .kc-hero h1 em{font-style:normal}
.pk-vis{position:relative;height:400px}
.pkv{position:absolute;margin:0;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 22px 44px rgba(20,24,40,.18);border:1px solid rgba(0,0,0,.06);width:62%}
.pkv img{display:block;width:100%;height:230px;object-fit:cover;object-position:top}
.pkv.fit img{object-fit:contain;background:#F4F5F8}
.pkv figcaption{font-size:13px;font-weight:700;padding:9px 12px;color:var(--ink);border-top:1px solid var(--line)}
.pkv0{left:0;top:10px;transform:rotate(-3deg);z-index:1}
.pkv1{right:0;top:70px;transform:rotate(2.5deg);z-index:2}
.pkv2{left:18%;top:150px;transform:rotate(-1deg);z-index:3}
.pk-its{display:grid;gap:18px;margin-top:22px}
.pk-it{display:grid;grid-template-columns:1fr .9fr;gap:24px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px}
.pk-n{font-size:12px;font-weight:800;letter-spacing:.12em;color:var(--p)}
.pk-it h3{font-size:20px;margin-top:6px;letter-spacing:-.02em}
.pk-it-tx>p{color:var(--sub);font-size:14.5px;margin-top:6px;line-height:1.6}
.pk-it ul{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:6px}
.pk-it li{position:relative;padding-left:22px;font-size:14.5px}
.pk-it li:before{content:'✓';position:absolute;left:0;color:var(--p);font-weight:800}
.pk-it-ft{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px;padding-top:12px;border-top:1px dashed var(--line);font-size:13.5px;color:var(--sub)}
.pk-it-ft a{color:var(--p);font-weight:700}
.pk-it-im{margin:0;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#F7F8FA}
.pk-it-im img{display:block;width:100%;height:220px;object-fit:cover;object-position:top}
.pk-it-im.fit img{object-fit:contain}
.pk-it-im figcaption{font-size:12px;color:var(--sub);padding:8px 10px;border-top:1px solid var(--line);background:#fff}
.pk-bill{margin-top:18px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 22px}
.pk-bill>div{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:15px}
.pk-bill .sum{color:var(--sub)}
.pk-bill .tot{border-bottom:0;font-size:17px;font-weight:800}.pk-bill .tot b{color:var(--p);font-size:24px}
.pk-bill p{font-size:13.5px;color:var(--sub);margin-top:6px}
.pk-nx{margin-top:4px}
@media(max-width:860px){.pk-vis{height:300px;max-width:460px}.pkv img{height:170px}}
@media(max-width:640px){.pk-it{grid-template-columns:1fr;padding:18px;gap:14px}.pk-it-im{order:-1}.pk-it-im img{height:180px}.pk-vis{height:250px}.pkv{width:70%}.pkv img{height:140px}.pkv2{top:110px}}
.pk-tg{margin-top:14px;font-weight:800;font-size:17px;color:var(--ink)}
.pk-page .kc-hero .lead{margin-top:6px}
@media(max-width:640px){.pk-vis{display:none}.pk-tg{font-size:15.5px}}
.ev-pts{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-wrap:wrap;gap:6px}
.ev-pts li{font-size:12.5px;font-weight:700;color:#1E5A45;background:#EAF3EE;border-radius:999px;padding:5px 10px}
.ev-pts li:before{content:'✓ '}
/* 홈 후기 카드: 긴 후기는 7줄까지만, 카드 높이 맞추기 */
.rv-home .rc{display:flex;flex-direction:column}
.rv-home .rc p{display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}
.rv-home .rc .who{margin-top:auto;padding-top:14px}
.rv-home .rv-spec{font-size:13px}
/* 모바일 메뉴 묶음 제목: 색 있는 작은 꼬리표 */
@media(max-width:960px){
  .mnav .grp{display:inline-flex;align-items:center;gap:6px;margin:18px 0 4px;padding:5px 11px;border-radius:999px;font-size:12.5px;font-weight:800;letter-spacing:.02em;color:var(--p);background:#F1ECFF}
  .mnav .grp:nth-of-type(2){color:#1E7A5A;background:#E6F4EE}
}

/* ── KN 스토리 ── */
.ab-slogan{margin-top:18px;font-size:20px;font-weight:800}
.center-sh{justify-content:center;text-align:center}.center-sh p{max-width:640px;margin-left:auto;margin-right:auto}
.ab-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px}
.ab-3>div{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px 24px}
.ab-3 .n{position:absolute;right:20px;top:18px;font-size:13px;font-weight:800;color:#C9C3DD}
.ab-3 i{font-style:normal;font-size:30px;display:block}
.ab-3 b{display:block;font-size:19px;margin-top:12px;letter-spacing:-.02em}
.ab-3 p{margin-top:8px;font-size:15px;color:#4A4760;line-height:1.7}.ab-3 p b{display:inline;font-size:inherit;margin:0;color:var(--ink)}
.ab-3 small{display:inline-block;margin-top:14px;font-size:12.5px;font-weight:700;color:#1E7A5A;background:#E6F4EE;border-radius:999px;padding:5px 10px}
.ab-tl{list-style:none;padding:0;margin:24px 0 0;position:relative}
.ab-tl:before{content:'';position:absolute;left:84px;top:8px;bottom:8px;width:2px;background:var(--line)}
.ab-tl li{display:grid;grid-template-columns:84px 1fr;gap:26px;padding:12px 0;position:relative}
.ab-tl li:after{content:'';position:absolute;left:79px;top:20px;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid #B9B2D4}
.ab-tl li.on:after{background:var(--p);border-color:var(--p);box-shadow:0 0 0 5px #EEE9FF}
.ab-tl span{font-weight:800;color:var(--p);font-size:15px;padding-top:2px}
.ab-tl b{font-size:17px}.ab-tl p{margin-top:4px;color:var(--sub);font-size:14.5px;line-height:1.65}
.ab-nums{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px}
.ab-nums div{background:#F7F5FF;border-radius:16px;padding:18px;text-align:center}
.ab-nums b{display:block;font-size:26px;color:var(--p);letter-spacing:-.02em}.ab-nums span{font-size:13.5px;color:var(--sub)}
@media(max-width:860px){.ab-3{grid-template-columns:1fr}.ab-nums{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.ab-tl:before{left:64px}.ab-tl li{grid-template-columns:64px 1fr;gap:20px}.ab-tl li:after{left:59px}.ab-tl span{font-size:13.5px}.ab-tl b{font-size:15.5px}.ab-slogan{font-size:17px}}

/* ── 휴대폰: 첫 화면 배너에도 이미지 (위 이미지 · 아래 글) ── */
@media(max-width:960px){
  .hs-s{grid-template-columns:1fr;grid-template-rows:auto 1fr;align-content:start;gap:16px;height:440px;padding:20px 24px 24px}
  .hs-im{display:flex;order:-1;height:170px;align-items:flex-start;justify-content:center;overflow:hidden;border-radius:14px}
  .hs-im.shot{background:rgba(255,255,255,.12)}
  .hs-im.shot img{max-height:none;height:170px;width:100%;object-fit:cover;object-position:top left;border-radius:14px;box-shadow:0 10px 24px rgba(0,0,0,.25)}
  .hs-im.book img{height:200px;transform:rotate(-3deg) translateY(14px)}
  .hs-nav{bottom:22px;right:20px}
}
@media(max-width:560px){
  .hs-s{height:390px;padding:14px 16px 18px;gap:12px}
  .hs-im{height:142px}
  .hs-im.shot img{height:142px}
  .hs-im.book img{height:170px}
  .hs-tag{font-size:12px;padding:5px 10px}
  .hs-tx h2{font-size:22px;margin-top:9px;line-height:1.3}
  .hs-tx p{font-size:13.5px;margin-top:7px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .hs-cta{margin-top:12px;height:40px;font-size:14px;padding:0 16px}
  .hs-nav{bottom:18px;right:16px}
}

/* ── 휴대폰: 팝업 작게 ── */
@media(max-width:560px){
  .ev-card{width:min(330px,100%);border-radius:18px}
  .ev-art{height:112px;padding-top:16px}
  .ev-art img{width:104px}
  .ev-body{padding:14px 16px 14px}
  .ev-badge{font-size:11px;padding:3px 8px}
  .ev-body h3{font-size:17.5px;margin-top:8px;line-height:1.35}
  .ev-sub{font-size:12.5px;margin-top:6px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .ev-pts{margin-top:8px;gap:4px}.ev-pts li{font-size:11px;padding:3px 8px}.ev-pts li:nth-child(3){display:none}
  .ev-meta{margin-top:10px;padding-top:10px}.ev-pr b{font-size:18px}.ev-pr s{font-size:12px}.ev-dd{font-size:11.5px}
  .ev-go{margin-top:10px;padding:11px;font-size:15px;border-radius:10px}
  .ev-foot button{padding:11px;font-size:13px}
  .pkpop{max-height:62vh;padding:16px 14px calc(10px + env(safe-area-inset-bottom));gap:10px}
  .pp-h h3{font-size:16px;margin-top:6px}
  .pp-it{padding:9px 11px}.pp-it small{display:none}.pp-it b{font-size:14px}.pp-pr s{font-size:11px}.pp-pr b{font-size:14px}
  .pkpop .btn{height:44px;font-size:15px}
}
@media(max-width:560px){.pp-list{gap:6px}.pp-it{padding:8px 11px}.pp-it .pk-dot{height:22px}.pp-pr s{display:inline;margin-right:4px}.pp-pr{display:flex;align-items:baseline}.pkpop .btn{height:40px}.pp-today{padding:2px}}

/* ── 첫 화면 배너 그림 카드 ── */
.hs-im.art{width:100%;height:100%;align-items:center;justify-content:center;background:none}
.ha{position:relative;width:100%;max-width:440px;color:#16141F;font-size:14px}
.ha small{color:#6B6880;font-size:12px}
.ha .bar{display:block;height:7px;border-radius:9px;background:#ECE9F5;overflow:hidden;margin-top:8px}
.ha .bar i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,#7C5CFF,#A78BFA)}
.ha mark{background:#FFF1B8;color:inherit;padding:0 2px;border-radius:3px}
/* 마이페이지 */
.ha-mp{height:262px}
.ha-mp .c{position:absolute;background:#fff;border-radius:16px;box-shadow:0 16px 36px rgba(0,0,0,.22);padding:14px 16px}
.ha-mp .c b{display:block;font-size:15px}
.ha-mp .c1{left:0;top:6px;display:flex;gap:12px;align-items:center;transform:rotate(-3deg)}
.ha-mp .c1 i{font-style:normal;font-size:26px;width:46px;height:46px;border-radius:12px;background:#F3EFFF;display:flex;align-items:center;justify-content:center}
.ha-mp .c2{right:0;top:74px;width:60%;transform:rotate(2deg);z-index:2}
.ha-mp .c3{left:4%;bottom:0;width:64%;background:#F3F5FF;border:1px solid #E1E6FF}
.ha-mp .c3 p{margin-top:4px;font-size:14px;font-weight:600}
/* 0→1 */
.ha-dr{background:#fff;border-radius:18px;padding:16px;box-shadow:0 16px 36px rgba(0,0,0,.22)}
.ha-dr .dtop{font-size:13px;color:#6B6880;display:flex;align-items:center;gap:6px}.ha-dr .dtop b{font-size:24px;color:#7C5CFF}.ha-dr .dtop .bar{flex:1;margin:0 0 0 8px}
.ha-dr .steps{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:12px}
.ha-dr .steps div{border:1.5px solid #ECE9F5;border-radius:12px;padding:10px 4px;text-align:center}
.ha-dr .steps em{font-style:normal;font-size:22px;display:block}
.ha-dr .steps b{display:block;font-size:11.5px;margin-top:4px}.ha-dr .steps small{font-size:10.5px}
.ha-dr .steps .on{background:#E9F8EF;border-color:#9ED9B5}.ha-dr .steps .on small{color:#1E7A5A;font-weight:700}
.ha-dr .steps .now{border-color:#E07A35;background:#FFF6EE}
/* 부트캠프 */
.ha-bc .days{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.ha-bc .days span{background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.28);border-radius:12px;padding:9px 4px;text-align:center;font-weight:800;font-size:12.5px;position:relative}
.ha-bc .days .on{background:#fff;color:#4B33C9}
.ha-bc .days .on i{font-style:normal;position:absolute;right:-5px;top:-6px;width:18px;height:18px;border-radius:50%;background:#22C55E;color:#fff;font-size:11px;line-height:18px}
.ha-bc .days .now{border:2px dashed #fff}
.ha-bc .days .cert{background:#FDE68A;color:#6B4A00;border-color:#FDE68A;font-size:12px;line-height:1.3}
.ha-bc .doc{margin-top:12px;background:#fff;border-radius:16px;padding:14px 16px;box-shadow:0 16px 36px rgba(0,0,0,.22);transform:rotate(-1.5deg)}
.ha-bc .doc b{display:block;font-size:15px;margin-top:2px}.ha-bc .doc p{margin-top:6px;font-size:13.5px}
/* 면접 */
.ha-iv{padding-bottom:26px}
.ha-iv .rep{background:#fff;border-radius:16px;padding:14px 16px;box-shadow:0 16px 36px rgba(0,0,0,.22)}
.ha-iv .h{display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px solid #1E5A45;padding-bottom:8px}
.ha-iv .h b{font-size:15px;color:#1E5A45}
.ha-iv dl{margin-top:8px}.ha-iv dt{font-size:11.5px;font-weight:800;color:#2C8A68;margin-top:6px}.ha-iv dd{margin:2px 0 0;font-size:13.5px;line-height:1.5}
.ha-iv .t{position:absolute;bottom:0;background:#fff;border-radius:999px;padding:7px 13px;font-size:12.5px;font-weight:800;box-shadow:0 10px 24px rgba(0,0,0,.2)}
.ha-iv .t1{left:-6px;transform:rotate(-3deg)}.ha-iv .t2{right:-6px;transform:rotate(2deg)}
@media(max-width:960px){
  .hs-im.art{height:auto;overflow:visible;border-radius:0}
  .ha{max-width:420px;margin:0 auto}
}
@media(max-width:560px){
  .hs-im.art{height:150px;align-items:center}
  .ha{font-size:12.5px;transform:scale(.86);transform-origin:center}
  .ha-mp{height:236px;transform:scale(.64);margin:-42px auto}
  .ha-dr{padding:12px}.ha-dr .steps{gap:5px;margin-top:8px}.ha-dr .steps div{padding:7px 2px}.ha-dr .steps em{font-size:18px}.ha-dr .steps b{font-size:10.5px}.ha-dr .steps small{font-size:9.5px}
  .ha-bc{padding-top:8px}.ha-bc .days{gap:5px}.ha-bc .days span{padding:6px 2px;font-size:11px}
  .ha-bc .doc{margin-top:8px;padding:10px 12px}.ha-bc .doc b{font-size:13.5px}.ha-bc .doc p{font-size:12px;margin-top:4px}
  .ha-iv{padding-bottom:22px}.ha-iv .rep{padding:10px 12px}.ha-iv dd{font-size:12px}.ha-iv dt{font-size:10.5px;margin-top:4px}.ha-iv .t{font-size:11px;padding:5px 10px}
}
/* 관리자 회원 목록: 짧게 보고, 자세히는 창으로 */
.ulink{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#C9C3DD}
.uv{display:grid;gap:2px;margin-top:14px}
.uv-r{display:grid;grid-template-columns:96px 1fr;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}
.uv-r>span{color:var(--sub);font-weight:700;font-size:13px}
.uv-c{display:inline-block;font-style:normal;font-size:12.5px;background:#F3F1FA;border-radius:999px;padding:3px 9px;margin:0 4px 4px 0}
/* 무료 자료 신청 응답: 질문 위 · 답 아래 */
.rq-a .kv{display:block;text-align:left}
.rq-a .kv>span{display:block;font-size:12.5px;line-height:1.5}
.rq-a .kv>b{display:block;margin-top:6px;text-align:left;font-size:14.5px}
.rq-a .kv>b .uv-c{font-weight:700;background:#F1ECFF;color:#4B33C9}

/* 0→1 가이드 안 사진 (채용공고 예시 등) */
.drmd img{display:block;max-width:100%;width:560px;height:auto;margin:12px 0;border:1px solid var(--line);border-radius:12px}
.as-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:9999;background:#16141F;color:#fff;font-size:14px;font-weight:600;padding:11px 18px;border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,.25);animation:ev-in .25s ease}
.login-opt{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:10px 2px 2px;font-size:14px}
.login-opt .ck{font-size:14px;color:var(--sub)}

/* 0→1 완주: 전문가 첨삭이 필요하다면? */
.drn{margin-top:14px;padding:16px;border:1px solid #E4DCFB;border-radius:16px;background:#FAF8FF;text-align:left}
.drn-h{display:block;font-size:17px;color:#2B1F59;margin-bottom:4px}
.drn-s{margin:0 0 12px;font-size:14px;line-height:1.6;color:#555}
.drn-c{display:inline-block;margin-top:6px;padding:4px 10px;border-radius:999px;background:#FFF1D6;color:#8A5A00;font-size:13px}
.drn-c b{color:#C2410C}
.drn-l{display:grid;gap:8px}
.drn-l a{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #ECE7FA;border-radius:12px;background:#fff;color:inherit;text-decoration:none;transition:border-color .15s,transform .15s}
.drn-l a:hover{border-color:#7C4DFF;transform:translateY(-1px)}
.drn-l i{font-style:normal;font-size:20px;width:28px;text-align:center;flex:none}
.drn-l span{flex:1;min-width:0;display:flex;flex-direction:column}
.drn-l b{font-size:14px}
.drn-l small{font-size:12.5px;color:#777}
.drn-l em{font-style:normal;color:#7C4DFF;font-weight:700}
@media (max-width:560px){.drn{padding:13px}.drn-h{font-size:16px}.drn-l a{padding:9px 10px}}
.rq-x{color:#B42318;font-weight:700;min-width:32px}
.rq-x:hover{background:#FEE4E2}

/* 부트캠프 재제출 요청 */
.cd.redo{border-color:#E8590C;background:#FFF4E6}.cd.redo b,.cd.redo span{color:#C2410C;font-weight:800}
.cell.redo{background:#FFF4E6;color:#C2410C;border:1px dashed #F59F00}
.redo-bar{margin:0 0 14px;padding:14px 16px;border-radius:14px;background:#FFF4E6;border:1px solid #FFD8A8}
.redo-bar b{display:block;color:#C2410C;font-size:15.5px}.redo-bar p{margin:6px 0;white-space:pre-line;font-weight:600}.redo-bar small{color:#8A5A00}
.redo-box{border-color:#FFD8A8}
.bcf-note{margin:0 0 12px;padding:12px 14px;border-radius:12px;background:#FFF8E6;border:1px solid #FFE08A;font-size:14px;line-height:1.6}
.bcf-steps{margin:0 0 4px;padding-left:20px;font-size:14px;line-height:1.7}.bcf-steps a{color:var(--p);font-weight:700}
.cbox.bcf{padding:0;border:0;background:none;box-shadow:none}.cbox.bcf .drn{margin-top:0}
/* 휴대폰: 머리글에 로그인·회원가입 (메뉴 버튼 옆) */
@media(max-width:860px){
  .gnb .hr{gap:6px}
  .gnb .hr .btn.au{display:inline-flex;height:34px;padding:0 11px;font-size:13.5px;border-radius:10px;white-space:nowrap}
  .gnb .hr .btn.t.au{background:var(--soft);color:var(--ink);font-weight:700}
}
@media(max-width:360px){.gnb .hr .btn.au{padding:0 8px;font-size:12.5px}}
/* 이메일 오타 안내 · 이메일 확인 */
.em-fix{margin:6px 2px 4px;font-size:13.5px;color:#8A5A00;background:#FFF8E6;border:1px solid #FFE08A;border-radius:10px;padding:8px 10px}
.em-fix b{color:#5A3B00}.em-fix button{margin-left:6px;font-weight:700;color:var(--p);text-decoration:underline;background:none;border:0;padding:0;cursor:pointer}
.ev-box{margin-top:10px;padding:9px 11px;border-radius:10px;background:#FFF8E6;border:1px solid #FFE08A;font-size:12.5px;line-height:1.5;color:#7A5200}
.ev-box button{display:block;margin-top:4px;font-weight:700;color:var(--p);text-decoration:underline;background:none;border:0;padding:0;cursor:pointer;font-size:12.5px}
.ev-ok{color:#14995A;font-size:12px;font-weight:700}

/* 휴대폰 상세페이지 숨 쉴 간격 (0→1·부트캠프·첨삭·면접·진단·패키지 공통) */
@media(max-width:640px){
  .kc-main .kc-sec{padding:60px 0 44px}
  .kc-main .kc-sec:first-child{padding-top:40px}
  .kc-lb{font-size:13.5px;letter-spacing:.02em}
  .kc-h{font-size:25px;line-height:1.45;margin-top:12px}
  .kc-sub{margin-top:14px;font-size:15.5px;line-height:1.8}
  .kc-sec > .kc-h + *:not(.kc-sub), .kc-sec > .kc-sub + *{margin-top:28px}
  .kc-main p{line-height:1.8}
  .kc-main li{line-height:1.7}
  .kc-main li + li{margin-top:6px}
  .kc-qs,.kc-plans,.kc-rvs,.kc-get ul,.kc-flow{gap:16px}
  .kc-q,.kc-plan{padding:22px 20px}
  .kc-q + .kc-q{margin-top:0}
  .kc-main .box,.kc-main [class*="-card"]{line-height:1.7}
}
@media(max-width:640px){.kc-worry{gap:14px}.kc-worry > *{padding-top:20px;padding-bottom:20px}}
html.li .gnb .hr .btn.au,html.li [data-auth-m] .btn{visibility:hidden}
/* 휴대폰 메뉴: 화면 전체 덮기 + 맨 위 로고·닫기 */
@media(max-width:860px){
  .mnav.on{top:0!important;inset:0;z-index:60;padding-top:0}
  .mnav-top{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;height:66px;margin:0 -16px 4px;padding:0 16px;background:#fff;border-bottom:1px solid var(--line)}
  .mnav-top .logo{font-size:19px;border:0;padding:0}
  .mnav .mnav-top a{display:flex;border-bottom:0;padding:0}
  .mnav-x{width:40px;height:40px;border-radius:10px;font-size:22px;background:none;border:0;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink)}
}
body.menu-on .bc-bar,body.menu-on .fab,body.menu-on .kc-cta{display:none!important}
