:root{
  --bg:#0C0C0C; --panel:#121212;
  --line:rgba(255,255,255,.14); --ink:#ECECEC; --muted:#8C8C8C; --dim:#5E5E5E;
  --accent:#C9825A;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font-family:Pretendard,system-ui,sans-serif;line-height:1.75;word-break:keep-all;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.en{font-family:'Inter Tight',Pretendard,sans-serif}
.frame{max-width:1280px;margin:0 auto;border-left:1px solid var(--line);border-right:1px solid var(--line)}

.bar{display:grid;grid-template-columns:1fr 1fr 1fr;border-bottom:1px solid var(--line);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.bar > *{padding:18px 28px}
.bar > * + *{border-left:1px solid var(--line)}
.bar .c{text-align:center;color:var(--muted)}
.bar .r{text-align:right}
.bar a:hover{color:var(--accent)}

.cell{position:relative}
.x::after{content:"+";position:absolute;right:-6px;bottom:-11px;font-family:'Inter Tight';font-weight:300;font-size:16px;color:var(--muted);line-height:1;z-index:2}

/* 머리 패널 */
.head{display:grid;grid-template-columns:1.05fr 2fr;border-bottom:1px solid var(--line);min-height:520px}
.head .info{padding:40px 28px;border-right:1px solid var(--line);display:flex;flex-direction:column}
.no{font-family:'Inter Tight';font-size:12px;letter-spacing:.12em;color:var(--muted)}
h1{font-family:'Inter Tight';font-weight:800;font-size:clamp(52px,6vw,88px);letter-spacing:-.04em;line-height:.95;margin-top:18px}
.ko{font-size:17px;font-weight:600;margin-top:14px}
.ko small{display:block;font-weight:400;color:var(--muted);font-size:14px}
.dash{width:22px;height:2px;background:var(--ink);margin:22px 0 12px}
.meta{list-style:none;margin-top:auto;padding-top:36px;font-size:13.5px}
.meta li{display:grid;grid-template-columns:80px 1fr;gap:10px;padding:7px 0;border-top:1px solid var(--line)}
.meta li span:first-child{font-family:'Inter Tight';color:var(--muted);font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding-top:2px}

.visual{background:var(--panel);position:relative;display:flex;flex-direction:column;justify-content:center;padding:56px;overflow:hidden}
.visual .tag{position:absolute;top:22px;left:28px;font-family:'Inter Tight';font-size:12px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}
.visual .tag.r{left:auto;right:28px}
.headline{font-size:clamp(26px,3.2vw,42px);font-weight:700;letter-spacing:-.03em;line-height:1.35}
.headline em{font-style:normal;color:var(--accent)}
.headline small{display:block;font-size:14px;font-weight:400;color:var(--muted);letter-spacing:0;margin-top:14px}

/* 본문 행 */
.row{display:grid;grid-template-columns:1.05fr 2fr;border-bottom:1px solid var(--line)}
.row .label{padding:40px 28px;border-right:1px solid var(--line)}
.row .label .k{font-family:'Inter Tight';font-size:12px;letter-spacing:.12em;color:var(--accent)}
.row .label h2{font-family:'Inter Tight';font-weight:700;font-size:34px;letter-spacing:-.03em;line-height:1.1;margin-top:8px}
.row .label p{color:var(--muted);font-size:14px;margin-top:6px}
.row .body{padding:40px 28px 44px;max-width:780px}
.lede{font-size:clamp(20px,2.2vw,26px);font-weight:600;letter-spacing:-.02em;line-height:1.5;margin-bottom:16px}
.body p{font-size:15.5px;color:#C9C9C9}
.body p + p{margin-top:12px}
.body strong{color:var(--ink);font-weight:600}

.tasks{width:100%;border-collapse:collapse;margin-top:22px;font-size:14.5px}
.tasks td{padding:13px 0;border-top:1px solid var(--line);vertical-align:top}
.tasks td:first-child{width:180px;font-weight:600;padding-right:16px}
.tasks td:last-child{color:#BDBDBD}

.route{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;margin:22px 0 6px}
.stop{border:1px solid var(--line);padding:18px 14px;text-align:center;background:var(--bg)}
.stop small{display:block;font-family:'Inter Tight';font-size:11px;letter-spacing:.12em;color:var(--muted);margin-bottom:4px}
.stop b{font-size:15.5px;font-weight:600}
.stop.on{border-color:var(--accent)} .stop.on b{color:var(--accent)}
.arrow{font-family:'Inter Tight';color:var(--dim);padding:0 10px;font-size:18px}

.box{border:1px solid var(--line);padding:22px 24px;margin-top:22px}
.box .k{font-family:'Inter Tight';font-size:11px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase;margin-bottom:6px}
.box p{font-size:14.5px}
.box ul{list-style:none;margin-top:4px}
.box li{font-size:14.5px;color:#C9C9C9;padding:8px 0;border-top:1px solid var(--line)}
.box li:first-child{border-top:none}
.box li b{color:var(--ink);font-weight:600;margin-right:8px}

/* 배운 점 */
.learned{display:grid;grid-template-columns:1.05fr 2fr;border-bottom:1px solid var(--line);background:var(--panel)}
.learned .label{padding:40px 28px;border-right:1px solid var(--line)}
.learned .label h2{font-family:'Inter Tight';font-weight:700;font-size:34px;letter-spacing:-.03em;line-height:1.1}
.learned .body{padding:48px 28px}
.learned blockquote{font-size:clamp(22px,2.8vw,34px);font-weight:600;letter-spacing:-.02em;line-height:1.45}
.learned .after{color:var(--muted);font-size:15px;margin-top:14px}

/* 이전·다음 */
.pager{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}
.pager a{padding:32px 28px;transition:background .2s}
.pager a:hover{background:var(--panel)}
.pager a + a{border-left:1px solid var(--line);text-align:right}
.pager small{font-family:'Inter Tight';font-size:12px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}
.pager b{display:block;font-size:20px;font-weight:600;margin-top:4px}
.foot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px 28px;font-family:'Inter Tight';font-size:12px;letter-spacing:.08em;color:var(--dim);text-transform:uppercase}
.foot a:hover{color:var(--accent)}

@media (max-width:900px){
  .bar{grid-template-columns:1fr 1fr}
  .bar .c{display:none}
  .head,.row,.learned,.pager{grid-template-columns:1fr}
  .head{min-height:0}
  .head .info,.row .label,.learned .label{border-right:none;border-bottom:1px solid var(--line)}
  .pager a + a{border-left:none;border-top:1px solid var(--line);text-align:left}
  .x::after{display:none}
  .head .info,.row .label,.row .body,.learned .label,.learned .body,.pager a{padding:28px 18px}
  .visual{padding:64px 22px 40px}
  .route{grid-template-columns:1fr}
  .arrow{transform:rotate(90deg);text-align:center;padding:4px 0}
  .tasks td:first-child{width:120px}
  .bar > *{padding:14px 18px}
  .foot{padding:16px 18px}
}
