/* 유니크영어 · 엠베스트유곡 홈페이지 공통 스타일 (모든 페이지가 이 파일 하나를 씀) */
:root{
  --bg:#F6F3FB; --surface:#FFFFFF; --ink:#2C2440; --ink-soft:#5E5573;
  --primary:#5B4B8A; --primary-soft:#E9E4F5;
  --coral:#D9684E; --coral-soft:#FBE6E0;
  --mint:#4E8C6C; --mint-soft:#E3F1EA;
  --line:#E4DFF0;
  --unique:#7C3AED; --unique-soft:#EFE7FE; --unique-ink:#5B21B6;
  --mbest:#F97316; --mbest-soft:#FFEDD8; --mbest-ink:#B4480A;
  --display:'Gowun Dodum', sans-serif;
  --body:-apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Pretendard", "Noto Sans KR", sans-serif;
  --top:58px;
}
*{box-sizing:border-box;}
html{scroll-padding-top:calc(var(--top) + 12px);}
body{margin:0; background:var(--bg); color:var(--ink); font-family:var(--body); line-height:1.6; font-size:15px; -webkit-text-size-adjust:100%;}
a{color:inherit; text-decoration:none;}
:focus-visible{outline:3px solid var(--coral); outline-offset:2px;}
.sr{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0);}

/* ── 상단 공통 내비 ── */
.topbar{position:sticky; top:0; z-index:30; background:rgba(255,255,255,.96); backdrop-filter:blur(8px); border-bottom:1px solid var(--line);}
.topbar .in{display:flex; align-items:center; gap:18px; height:var(--top); padding:0 22px; max-width:1440px; margin:0 auto;}
.logo{font-family:var(--display); font-size:17px; font-weight:700; white-space:nowrap; display:flex; align-items:center; gap:6px;}
.logo .u{color:var(--unique);} .logo .m{color:var(--mbest-ink);} .logo .dot{color:var(--ink-soft); font-size:13px;}
.topnav{display:flex; gap:2px; flex:1; overflow-x:auto; scrollbar-width:none;}
.topnav::-webkit-scrollbar{display:none;}
.topnav a{padding:8px 12px; border-radius:10px; font-size:14px; font-weight:600; color:var(--ink-soft); white-space:nowrap;}
.topnav a:hover{background:var(--bg); color:var(--ink);}
.topnav a.on{color:var(--primary); background:var(--primary-soft);}
.btn-login{margin-left:auto; background:var(--ink); color:#fff; font-weight:700; font-size:14px; padding:9px 18px; border-radius:100px; white-space:nowrap;}
.btn-login:hover{background:var(--primary);}
@media (max-width:860px){
  .topbar .in{flex-wrap:wrap; height:auto; padding:10px 14px 0; gap:8px 12px;}
  .topnav{order:3; flex-basis:100%; margin:0 -14px; padding:0 10px 8px;}
  .topnav a{font-size:13.5px; padding:7px 11px;}
  .btn-login{padding:7px 15px; font-size:13.5px;}
  :root{--top:96px;}
}

/* ── 3단 블로그 레이아웃 (기존 구조 유지) ── */
.shell{display:grid; grid-template-columns:236px minmax(0,1fr) 268px; max-width:1440px; margin:0 auto;}
.shell.wide{grid-template-columns:236px minmax(0,1fr);}
@media (max-width:1000px){ .shell, .shell.wide{grid-template-columns:1fr;} }

aside.sidenav{background:var(--surface); border-right:1px solid var(--line); padding:22px 16px; position:sticky; top:var(--top); height:calc(100vh - var(--top)); overflow:auto;}
.sidenav .brand{font-family:var(--display); font-size:17px; color:var(--primary); padding:6px 10px 18px;}
.sidenav .brand span{display:block; font-size:12px; color:var(--ink-soft); font-family:var(--body); margin-top:2px;}
.sidenav nav a{display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:10px; font-size:14px; color:var(--ink-soft); margin-bottom:2px; font-weight:600;}
.sidenav nav a svg{width:17px; height:17px; stroke:currentColor; fill:none; stroke-width:1.6; flex-shrink:0;}
.sidenav nav a:hover{background:var(--bg);}
.sidenav nav a.on{background:var(--primary-soft); color:var(--primary);}
.sidenav .divider{height:1px; background:var(--line); margin:14px 6px;}
.sidenav .callout{background:var(--primary); color:#fff; border-radius:14px; padding:16px; margin-top:16px; font-size:13px;}
.sidenav .callout .num{font-family:var(--display); font-size:16px; display:block; margin:8px 0 10px;}
.sidenav .callout a{display:block; background:rgba(255,255,255,.2); text-align:center; padding:8px; border-radius:8px; font-weight:700;}
/* 모바일: 왼쪽 메뉴 → 가로로 넘기는 칩 한 줄 */
@media (max-width:1000px){
  aside.sidenav{position:static; height:auto; border-right:none; border-bottom:1px solid var(--line); padding:10px 0;}
  .sidenav .brand, .sidenav .callout, .sidenav .divider{display:none;}
  .sidenav nav{display:flex; gap:6px; overflow-x:auto; padding:0 14px; scrollbar-width:none;}
  .sidenav nav::-webkit-scrollbar{display:none;}
  .sidenav nav a{flex-shrink:0; margin:0; padding:7px 12px; border:1px solid var(--line); border-radius:100px; font-size:13.5px;}
  .sidenav nav a svg{width:15px; height:15px;}
}

main{padding:34px 32px 60px; min-width:0;}
@media (max-width:600px){ main{padding:24px 16px 48px;} }

aside.rail{padding:32px 24px; border-left:1px solid var(--line);}
@media (max-width:1000px){ aside.rail{border-left:none; border-top:1px solid var(--line); padding:28px 16px;} }
aside.rail h4{font-family:var(--display); font-size:15px; margin:0 0 12px;}
.rail-card{background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:16px; margin-bottom:18px;}
.rail-card ul{list-style:none; padding:0; margin:0;}
.rail-card li{margin-bottom:10px;} .rail-card li:last-child{margin:0;}
.rail-card li a{font-size:13.5px; font-weight:600; color:var(--primary); display:flex; justify-content:space-between; gap:8px;}
.rail-card li a .n{color:var(--ink-soft); font-weight:400; font-size:12px; white-space:nowrap;}
.rail-contact{background:var(--mint-soft); border:1px solid var(--line); border-radius:14px; padding:16px;}
.rail-contact p{font-size:13px; margin:0 0 8px; color:var(--ink);}
.rail-contact p b{display:block;}
a.call{display:block; text-align:center; background:var(--coral); color:#fff; font-weight:700; font-size:14px; padding:11px; border-radius:100px; margin-top:10px;}

/* ── 공통 머리말 ── */
.breadcrumb{font-size:13px; color:var(--ink-soft); margin:0 0 18px;}
.breadcrumb a{color:var(--primary); font-weight:600;}
header.cat-head{margin-bottom:30px;}
.tag{display:inline-block; background:var(--primary-soft); color:var(--primary); font-size:12.5px; font-weight:700; padding:4px 12px; border-radius:100px; margin-bottom:12px;}
.tag.u{background:var(--unique-soft); color:var(--unique-ink);} .tag.m{background:var(--mbest-soft); color:var(--mbest-ink);}
header.cat-head .row{display:flex; align-items:baseline; gap:20px; flex-wrap:wrap;}
header.cat-head h1{font-family:var(--display); font-size:clamp(24px,4vw,32px); margin:0; line-height:1.35;}
header.cat-head p{color:var(--ink-soft); font-size:15px; margin:0; max-width:560px; flex:1; min-width:240px;}
h2.section-title{font-family:var(--display); font-size:21px; margin:44px 0 6px;}
h2.section-title:first-child{margin-top:0;}
p.section-sub{color:var(--ink-soft); font-size:14px; margin:0 0 22px;}
h3.section-label{font-family:var(--display); font-size:16px; margin:0 0 16px; color:var(--ink-soft); font-weight:400;}

/* ── 홈 히어로 ── */
header.hero{padding:6px 0 26px;}
header.hero .eyebrow{display:inline-block; background:var(--primary-soft); color:var(--primary); font-size:12.5px; font-weight:700; padding:5px 12px; border-radius:100px; margin-bottom:14px;}
header.hero h1{font-family:var(--display); font-size:clamp(25px,3.8vw,36px); line-height:1.4; margin:0 0 12px;}
header.hero h1 em{font-style:normal; color:var(--unique);} header.hero h1 i{font-style:normal; color:var(--mbest-ink);}
header.hero p.lede{color:var(--ink-soft); font-size:15px; max-width:560px; margin:0;}

/* 세 구역 안내 (공개 · 학습시스템 · 로그인) */
.zones{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:0 0 8px;}
@media (max-width:760px){ .zones{grid-template-columns:1fr;} }
a.zone{display:block; background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:18px 18px 16px; position:relative;}
a.zone:hover{box-shadow:0 12px 26px -18px rgba(91,75,138,.5);}
a.zone .k{font-size:12px; font-weight:800; letter-spacing:.04em; color:var(--primary);}
a.zone h3{font-family:var(--display); font-size:18px; margin:4px 0 6px;}
a.zone p{margin:0; font-size:13.5px; color:var(--ink-soft);}
a.zone .go{display:inline-block; margin-top:10px; font-size:13px; font-weight:700; color:var(--primary);}
a.zone.dark{background:var(--ink); border-color:var(--ink);} a.zone.dark .k{color:#C9B8FF;} a.zone.dark h3{color:#fff;} a.zone.dark p{color:#D8D2E6;} a.zone.dark .go{color:#fff;}

/* 두 학원 카드 */
.academies{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
@media (max-width:760px){ .academies{grid-template-columns:1fr;} }
a.acad{display:block; background:var(--surface); border:1px solid var(--line); border-top:5px solid var(--c); border-radius:16px; padding:20px;}
a.acad:hover{box-shadow:0 12px 26px -18px rgba(44,36,64,.45);}
a.acad .nm{font-family:var(--display); font-size:20px; color:var(--ci);}
a.acad .ld{font-weight:700; font-size:14.5px; margin:4px 0 8px;}
a.acad p{font-size:13.5px; color:var(--ink-soft); margin:0 0 12px;}
.chips{display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:0; list-style:none;}
.chips li{font-size:12.5px; font-weight:600; padding:3px 10px; border-radius:100px; background:var(--cs, var(--primary-soft)); color:var(--ci, var(--primary));}
.u-vars{--c:var(--unique); --ci:var(--unique-ink); --cs:var(--unique-soft);}
.m-vars{--c:var(--mbest); --ci:var(--mbest-ink); --cs:var(--mbest-soft);}

.stat-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:26px 0 0;}
@media (max-width:700px){ .stat-grid{grid-template-columns:repeat(2,1fr);} }
.stat-card{background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:16px; text-align:center;}
.stat-card .n{font-family:var(--display); font-size:21px; color:var(--primary); display:block;}
.stat-card .l{font-size:12.5px; color:var(--ink-soft); margin-top:4px; display:block;}

/* 학습 여정 지도 (기존) */
.path{position:relative;}
.path::before{content:""; position:absolute; left:21px; top:6px; bottom:6px; width:2px; background-image:linear-gradient(var(--primary) 60%, transparent 0%); background-size:2px 12px; background-repeat:repeat-y; opacity:.35;}
.stop{display:grid; grid-template-columns:44px minmax(0,1fr); gap:14px; padding:0 0 16px; position:relative;}
.stop:last-child{padding-bottom:0;}
.stop .marker{width:44px; height:44px; border-radius:50%; background:var(--surface); border:2px solid var(--primary); display:flex; align-items:center; justify-content:center; z-index:1;}
.stop .marker svg{width:20px; height:20px; stroke:var(--primary); fill:none; stroke-width:1.6;}
.stop.alt .marker{border-color:var(--coral);} .stop.alt .marker svg{stroke:var(--coral);}
a.card{display:block; background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:15px 18px;}
a.card:hover{box-shadow:0 10px 22px -16px rgba(91,75,138,.4);}
a.card .top-row{display:flex; align-items:baseline; justify-content:space-between; gap:10px; flex-wrap:wrap;}
a.card h3{font-family:var(--display); font-size:17px; margin:0;}
a.card .count{font-size:12px; color:var(--primary); background:var(--primary-soft); padding:3px 9px; border-radius:100px; white-space:nowrap;}
.stop.alt a.card .count{color:var(--coral); background:var(--coral-soft);}
a.card p{margin:6px 0 0; font-size:13.5px; color:var(--ink-soft);}

/* ── 글 카드 ── */
a.hero-post{display:grid; grid-template-columns:1fr 1.1fr; background:var(--surface); border:1px solid var(--line); border-radius:18px; overflow:hidden; margin-bottom:34px;}
@media (max-width:640px){ a.hero-post{grid-template-columns:1fr;} }
a.hero-post .thumb{background:linear-gradient(135deg,var(--primary),#8E7CC3); min-height:170px; display:flex; align-items:center; justify-content:center;}
a.hero-post .thumb{position:relative;}
a.hero-post .thumb img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block;}
a.hero-post .thumb svg{width:52px; height:52px; stroke:#fff; fill:none; stroke-width:1.3;}
a.hero-post .body{padding:24px;}
a.hero-post .meta{font-size:12.5px; color:var(--coral); font-weight:700; margin-bottom:8px;}
a.hero-post h2{font-family:var(--display); font-size:20px; margin:0 0 10px; line-height:1.45;}
a.hero-post p{color:var(--ink-soft); font-size:14px; margin:0 0 16px;}
.btn{display:inline-block; background:var(--primary); color:#fff; font-size:13.5px; font-weight:700; padding:9px 18px; border-radius:100px;}

.post-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px;}
@media (max-width:640px){ .post-grid{grid-template-columns:1fr;} }
.post-card{display:flex; gap:14px; background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:14px; transition:box-shadow .15s ease, transform .15s ease; min-width:0;}
a.post-card:hover{transform:translateY(-2px); box-shadow:0 10px 22px -16px rgba(91,75,138,.45);}
.post-card .thumb{width:56px; height:56px; border-radius:10px; flex-shrink:0; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,var(--primary),#8E7CC3); overflow:hidden;}
.post-card .thumb.c1{background:linear-gradient(135deg,var(--coral),#F0A48F);}
.post-card .thumb.c2{background:linear-gradient(135deg,var(--mint),#8FC3A7);}
.post-card .thumb.c3{background:linear-gradient(135deg,var(--primary),#8E7CC3);}
.post-card .thumb{position:relative;}
.post-card .thumb img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.post-card .thumb svg{width:24px; height:24px; stroke:#fff; fill:none; stroke-width:1.6;}
.post-card .tx{min-width:0; flex:1;}
.post-card h4{font-family:var(--display); font-size:15px; margin:0 0 3px; line-height:1.45;}
.post-card .date{font-size:12px; color:var(--ink-soft);}
.post-card p{font-size:13px; color:var(--ink-soft); margin:2px 0 0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
.post-card .badge{align-self:flex-start; font-size:11.5px; font-weight:700; color:var(--ink-soft); background:var(--bg); border:1px solid var(--line); padding:2px 8px; border-radius:100px; white-space:nowrap;}
.post-card.soon{opacity:.75;}
.post-card.soon .thumb{background:#CFC8DE;}
.empty{background:var(--surface); border:1px dashed var(--line); border-radius:14px; padding:22px; text-align:center; color:var(--ink-soft); font-size:14px;}
.more{margin-top:18px; text-align:center;}
.more a{font-weight:700; color:var(--primary); font-size:14px;}

/* 시리즈 카드 */
.series-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px;}
@media (max-width:640px){ .series-grid{grid-template-columns:1fr;} }
a.series-card{display:block; background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:18px;}
a.series-card:hover{box-shadow:0 10px 22px -16px rgba(91,75,138,.45);}
a.series-card .top-row{display:flex; align-items:center; gap:12px; margin-bottom:8px;}
a.series-card .icon{width:40px; height:40px; border-radius:12px; display:flex; align-items:center; justify-content:center; flex-shrink:0; background:var(--primary-soft);}
a.series-card .icon svg{width:20px; height:20px; stroke:var(--primary); fill:none; stroke-width:1.6;}
a.series-card:nth-child(3n+2) .icon{background:var(--coral-soft);} a.series-card:nth-child(3n+2) .icon svg{stroke:var(--coral);}
a.series-card:nth-child(3n) .icon{background:var(--mint-soft);} a.series-card:nth-child(3n) .icon svg{stroke:var(--mint);}
a.series-card h3{font-family:var(--display); font-size:17px; margin:0; flex:1;}
a.series-card .count{font-size:12px; font-weight:700; color:var(--primary); background:var(--primary-soft); padding:3px 9px; border-radius:100px; white-space:nowrap;}
a.series-card p{margin:0; font-size:13.5px; color:var(--ink-soft);}

/* ── 학습시스템 흐름 ── */
.flow{display:grid; gap:12px;}
.step{display:grid; grid-template-columns:120px minmax(0,1fr) minmax(0,1fr); gap:12px; align-items:stretch;}
.step .k{background:var(--ink); color:#fff; border-radius:14px; padding:14px; display:flex; flex-direction:column; justify-content:center;}
.step .k b{font-size:15px; letter-spacing:.06em;}
.step .k span{font-family:var(--display); font-size:16px;}
.step .k small{font-size:12px; color:#D8D2E6; margin-top:2px;}
.lane{background:var(--surface); border:1px solid var(--line); border-left:4px solid var(--c); border-radius:14px; padding:12px 14px;}
.lane .who{font-size:12px; font-weight:800; color:var(--ci); margin-bottom:4px;}
.tool{padding:6px 0; border-top:1px dashed var(--line);}
.tool:first-of-type{border-top:none;}
.tool b{font-size:14.5px; display:block;}
.tool b a{color:var(--ci); text-decoration:underline; text-underline-offset:3px;}
.tool span{font-size:13px; color:var(--ink-soft);}
.flow-head{display:grid; grid-template-columns:120px 1fr 1fr; gap:12px; font-size:13px; font-weight:800; margin-bottom:-2px;}
.flow-head .u{color:var(--unique-ink);} .flow-head .m{color:var(--mbest-ink);}
@media (max-width:760px){
  .flow-head{display:none;}
  .step{grid-template-columns:1fr; gap:8px; background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:10px;}
  .step .k{flex-direction:row; align-items:baseline; gap:8px; padding:10px 14px;}
  .lane{border-top:1px solid var(--line);}
}
.note{background:var(--primary-soft); border-radius:14px; padding:16px 18px; font-size:14px; color:var(--ink); margin-top:22px;}
.note b{color:var(--primary);}

/* ── 로그인 ── */
.login-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
@media (max-width:760px){ .login-grid{grid-template-columns:1fr;} }
.login-box{background:var(--surface); border:1px solid var(--line); border-top:5px solid var(--c); border-radius:16px; padding:18px;}
.login-box h3{font-family:var(--display); font-size:19px; margin:0 0 12px; color:var(--ci);}
a.role{display:flex; align-items:center; gap:12px; padding:13px 14px; border:1px solid var(--line); border-radius:12px; margin-top:8px;}
a.role:hover{border-color:var(--c); background:var(--cs);}
a.role b{font-size:16px; min-width:52px; color:var(--ci);}
a.role span{font-size:13px; color:var(--ink-soft); flex:1;}
a.role i{font-style:normal; font-weight:700; color:var(--ci);}

/* ── 상담 · 푸터 ── */
.consult{background:var(--ink); color:#fff; border-radius:20px; padding:26px 24px; margin-top:44px; display:flex; gap:18px; align-items:center; flex-wrap:wrap;}
.consult h2{font-family:var(--display); font-size:21px; margin:0 0 4px;}
.consult p{margin:0; color:#D8D2E6; font-size:14px;}
.consult .acts{margin-left:auto; display:flex; gap:8px; flex-wrap:wrap;}
.consult a{background:#fff; color:var(--ink); font-weight:700; padding:11px 18px; border-radius:100px; font-size:14px;}
.consult a.alt{background:var(--coral); color:#fff;}
footer.site{border-top:1px solid var(--line); background:var(--surface); padding:26px 22px 34px; font-size:13px; color:var(--ink-soft);}
footer.site .in{max-width:1440px; margin:0 auto; display:flex; gap:24px; flex-wrap:wrap; justify-content:space-between;}
footer.site b{color:var(--ink);}
footer.site a{color:var(--primary); font-weight:600;}
@media (min-width:1001px){ .shell{background:linear-gradient(to right, var(--surface) 236px, var(--line) 236px, var(--line) 237px, transparent 237px);} aside.sidenav{border-right:none; background:transparent;} }
@media (min-width:761px){ .flow .lane .who{display:none;} }

/* ═════════ 첫 페이지 (landing) ═════════ */
.landing{padding:0; max-width:none;}
.l-sec{max-width:1160px; margin:0 auto; padding:56px 22px 0;}
.l-head{display:flex; align-items:baseline; gap:14px; flex-wrap:wrap; margin-bottom:20px;}
.l-head .num{font-size:13px; font-weight:800; color:var(--coral); letter-spacing:.02em;}
.l-head h2{font-family:var(--display); font-size:clamp(22px,3vw,28px); margin:0; flex:1; min-width:200px;}
.more-link{font-size:14px; font-weight:700; color:var(--primary);}

.l-hero{background:
  radial-gradient(600px 320px at 88% 10%, rgba(232,131,107,.16), transparent 70%),
  radial-gradient(700px 420px at 8% 90%, rgba(124,58,237,.12), transparent 70%),
  linear-gradient(180deg,#F1ECFA 0%, var(--bg) 100%);
  border-bottom:1px solid var(--line);}
.l-hero-in{max-width:1160px; margin:0 auto; padding:64px 22px 56px; display:grid; grid-template-columns:1.15fr 1fr; gap:40px; align-items:center;}
@media (max-width:900px){ .l-hero-in{grid-template-columns:1fr; padding:40px 18px 36px; gap:28px;} }
.l-copy .eyebrow{display:inline-block; background:#fff; border:1px solid var(--line); color:var(--primary); font-size:12.5px; font-weight:700; padding:6px 13px; border-radius:100px; margin-bottom:20px;}
.l-copy h1{font-family:var(--display); font-size:clamp(32px,5.2vw,52px); line-height:1.28; margin:0 0 18px; letter-spacing:-.01em;}
.l-copy h1 em{font-style:normal; background:linear-gradient(90deg,var(--unique),var(--coral)); -webkit-background-clip:text; background-clip:text; color:transparent;}
.l-copy .lede{font-size:16px; color:var(--ink-soft); max-width:520px; margin:0 0 26px;}
.l-cta{display:flex; gap:10px; flex-wrap:wrap;}
.btn-main{background:var(--primary); color:#fff; font-weight:700; padding:14px 24px; border-radius:100px; font-size:15px; box-shadow:0 10px 24px -12px rgba(91,75,138,.8);}
.btn-main:hover{background:var(--unique-ink);}
.btn-sub{background:#fff; color:var(--ink); border:1px solid var(--line); font-weight:700; padding:14px 22px; border-radius:100px; font-size:15px;}
.btn-sub:hover{border-color:var(--primary); color:var(--primary);}

.l-acads{display:grid; gap:14px;}
a.l-acad{display:grid; gap:4px; background:#fff; border:1px solid var(--line); border-radius:20px; padding:22px 24px; position:relative; overflow:hidden; box-shadow:0 18px 40px -30px rgba(44,36,64,.5); transition:transform .15s ease;}
a.l-acad:hover{transform:translateY(-3px);}
a.l-acad::before{content:""; position:absolute; left:0; top:0; bottom:0; width:6px; background:var(--c);}
a.l-acad.u{--c:var(--unique); --ci:var(--unique-ink);} a.l-acad.m{--c:var(--mbest); --ci:var(--mbest-ink);}
a.l-acad .k{font-size:11.5px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--ci);}
a.l-acad b{font-family:var(--display); font-size:24px; color:var(--ink);}
a.l-acad .ld{font-weight:700; font-size:14.5px;}
a.l-acad .tags{font-size:13px; color:var(--ink-soft);}
a.l-acad .go{position:absolute; right:22px; top:22px; font-size:13px; font-weight:700; color:var(--ci);}

.l-quick{max-width:1160px; margin:-26px auto 0; padding:0 22px; display:grid; grid-template-columns:repeat(4,1fr); gap:10px; position:relative; z-index:2;}
@media (max-width:900px){ .l-quick{grid-template-columns:1fr 1fr; margin-top:18px;} }
@media (max-width:480px){ .l-quick{grid-template-columns:1fr;} }
.l-quick .q{background:#fff; border:1px solid var(--line); border-radius:16px; padding:12px 14px; display:flex; align-items:center; gap:8px; box-shadow:0 12px 26px -22px rgba(44,36,64,.6); min-height:58px;}
.l-quick .q span{font-weight:800; font-size:14px; flex:1;}
.l-quick .q.u span{color:var(--unique-ink);} .l-quick .q.m span{color:var(--mbest-ink);}
.l-quick .q a{font-size:13px; font-weight:700; padding:7px 12px; border-radius:100px; background:var(--bg); border:1px solid var(--line);}
.l-quick .q.u a:hover{background:var(--unique-soft); color:var(--unique-ink);} .l-quick .q.m a:hover{background:var(--mbest-soft); color:var(--mbest-ink);}
.l-quick a.q i{font-style:normal; font-size:13px; font-weight:700; color:var(--primary);}
.l-quick a.q:hover{border-color:var(--primary);}

.l-pillars{display:grid; grid-template-columns:repeat(3,1fr); gap:14px;}
@media (max-width:860px){ .l-pillars{grid-template-columns:1fr;} }
a.pillar{background:#fff; border:1px solid var(--line); border-radius:20px; padding:24px; display:flex; flex-direction:column; gap:8px;}
a.pillar:hover{box-shadow:0 16px 32px -24px rgba(91,75,138,.6);}
a.pillar .k{font-family:var(--display); font-size:30px; color:var(--primary-soft); -webkit-text-stroke:1px var(--primary); line-height:1;}
a.pillar h3{font-family:var(--display); font-size:20px; margin:4px 0 0;}
a.pillar p{margin:0; font-size:14.5px; color:var(--ink-soft); flex:1;}
a.pillar .go{font-size:13.5px; font-weight:700; color:var(--primary);}

.l-steps{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(5,1fr); gap:0; background:#fff; border:1px solid var(--line); border-radius:20px; overflow:hidden;}
@media (max-width:860px){ .l-steps{grid-template-columns:1fr;} }
.l-steps li{padding:20px 18px; border-right:1px solid var(--line); position:relative; display:grid; gap:2px;}
.l-steps li:last-child{border-right:none;}
@media (max-width:860px){ .l-steps li{border-right:none; border-bottom:1px solid var(--line); grid-template-columns:86px 70px 1fr; align-items:baseline;} .l-steps li:last-child{border-bottom:none;} }
.l-steps b{font-size:13px; letter-spacing:.1em; color:var(--coral);}
.l-steps .ko{font-family:var(--display); font-size:19px;}
.l-steps .t{font-size:13px; color:var(--ink-soft);}

.l-mag{display:grid; grid-template-columns:1.1fr 1fr; gap:14px;}
@media (max-width:860px){ .l-mag{grid-template-columns:1fr;} }
a.mag-lead{background:linear-gradient(150deg,var(--primary) 0%,#7E6AB8 100%); color:#fff; border-radius:22px; padding:28px; display:flex; flex-direction:column; gap:10px; min-height:260px;}
a.mag-lead .cat{font-size:12.5px; font-weight:700; opacity:.85;}
a.mag-lead h3{font-family:var(--display); font-size:clamp(20px,2.6vw,26px); line-height:1.4; margin:0;}
a.mag-lead p{margin:0; font-size:14px; opacity:.9; flex:1;}
a.mag-lead .go{font-weight:700; font-size:14px;}
.mag-side{display:grid; gap:10px;}
a.mag-item{background:#fff; border:1px solid var(--line); border-radius:16px; padding:14px 18px; display:grid; gap:3px;}
a.mag-item:hover{border-color:var(--primary);}
a.mag-item .cat{font-size:12px; font-weight:700; color:var(--coral);}
a.mag-item b{font-family:var(--display); font-size:15.5px; line-height:1.45;}
a.mag-item .d{font-size:12px; color:var(--ink-soft);}

.l-growth{display:grid; grid-template-columns:repeat(3,1fr); gap:14px;}
@media (max-width:860px){ .l-growth{grid-template-columns:1fr;} }
.l-growth a{background:var(--mint-soft); border:1px solid #CFE3D8; border-radius:18px; padding:20px; display:grid; gap:6px;}
.l-growth a:hover{border-color:var(--mint);}
.l-growth .d{font-size:12px; font-weight:700; color:var(--mint);}
.l-growth b{font-family:var(--display); font-size:16.5px; line-height:1.45;}

.l-cats{display:grid; grid-template-columns:repeat(3,1fr); gap:12px;}
@media (max-width:760px){ .l-cats{grid-template-columns:1fr 1fr;} }
.l-cats a{background:#fff; border:1px solid var(--line); border-radius:16px; padding:18px; display:grid; grid-template-columns:36px 1fr; column-gap:12px; align-items:center;}
.l-cats a:hover{border-color:var(--primary); background:var(--primary-soft);}
.l-cats svg{grid-row:span 2; width:36px; height:36px; padding:8px; border-radius:10px; background:var(--primary-soft); stroke:var(--primary); fill:none; stroke-width:1.6;}
.l-cats b{font-family:var(--display); font-size:16px;}
.l-cats span{font-size:12.5px; color:var(--ink-soft);}

.l-campus{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
@media (max-width:640px){ .l-campus{grid-template-columns:1fr;} }
.l-campus a{background:#fff; border:1px solid var(--line); border-radius:18px; padding:20px 22px; display:grid; gap:4px;}
.l-campus a:hover{border-color:var(--coral);}
.l-campus b{font-family:var(--display); font-size:17px;}
.l-campus span{font-size:14px; color:var(--ink-soft);}
.l-campus i{font-style:normal; font-weight:700; font-size:13px; color:var(--coral);}
.landing .consult{margin:0 0 56px;}

/* ── 메뉴 영한 병기 ── */
.nav-en{display:block; font-size:10.5px; font-weight:500; opacity:.72; letter-spacing:.01em; line-height:1.15; font-style:italic;}
.topnav a{text-align:center; line-height:1.25;}
.btn-login small{font-size:11px; font-weight:500; opacity:.8; font-style:italic; margin-left:2px;}
.sidenav nav a span{display:flex; flex-direction:column;}
@media (max-width:1000px){ .sidenav nav a span{flex-direction:row; align-items:baseline; gap:5px;} .sidenav .nav-en{display:inline;} }
.l-copy h1 .h1-en{display:block; font-size:.5em; line-height:1.35; color:var(--ink-soft); margin-top:14px; font-style:italic;}
[data-lang="en"] .l-copy h1 .h1-en{font-size:.82em; color:var(--ink); font-style:normal; margin:0;}
.l-quick small{display:block; font-size:11px; font-weight:500; opacity:.75; font-style:italic;}
.l-quick .q a small{display:inline; margin-left:3px;}
.l-quick{grid-template-columns:1.3fr 1.3fr 1fr 1fr;}
@media (max-width:900px){ .l-quick{grid-template-columns:1fr 1fr;} }
@media (max-width:480px){ .l-quick{grid-template-columns:1fr;} }
.l-quick .q span{white-space:nowrap;}
