/* 국어·논술 세계 · "창가 책상 위 원고지 한 장" (📚 보드 06_국어논술 §4)
 * 공책 종이 #F6F5EE · 칠판 먹초록 #1F3A30(글자·폰 하단 바·푸터) · 파란 색연필 #3F6FBF(상담 버튼 · 제목 밑줄 · 교정 부호만)
 * 원고지 연초록 #DCE6D5(한 달 흐름 면) · 원고지 칸 선 #9DB8A2(칸 테두리만 · 글자 ✕)
 * 제목 = 고운바탕 700 · 원고지 칸 글자 = 고운바탕 400 · 본문 Pretendard 400/600 · 그림자 0 · 그라데이션 0(첨삭 종이 줄은 단색 줄무늬) */
:root{--head:"Gowun Batang","Nanum Myeongjo",serif}
.h-l,.sec-title,.cta-end h2,.director blockquote p,.diff-cols h3,.weeks h3,.course-grid h3,.paper-t,.paper-body,.t-comment p,.bt,.kw b,.wk,.c,.ms-note{font-family:var(--head)}
.h-l,.sec-title,.cta-end h2,.director blockquote p,.diff-cols h3,.weeks h3,.course-grid h3,.paper-t,.kw b,.wk{font-weight:700}
.sec-title,.cta-end h2{letter-spacing:-.02em}

/* 버튼 — 상담은 파란 색연필 한 가지 */
.btn-main,.top-nav .btn{background:var(--accent);color:#fff}
.top-nav .btn{color:#fff}
.brand .logo-ul{stroke:var(--accent)}

/* 섹션 라벨 앞 원고지 한 칸 */
.sec-label{display:flex;align-items:center}
.sec-label::before{content:"";flex:none;width:11px;height:11px;border:1px solid var(--cell);background:var(--surface);margin-right:8px}

/* ── 첫 화면 ───────────────────────────── */
.hero{position:relative;padding:40px 0 16px}
.eyebrow{display:block;font-size:14px;font-weight:600;color:var(--ink-2);letter-spacing:0;margin-bottom:16px}
.h-l{display:block;font-size:36px;line-height:1.34;letter-spacing:-.02em}
.key{position:relative;display:inline-block}
.pencil{position:absolute;left:-3px;bottom:-5px;width:calc(100% + 8px);height:12px;overflow:visible}
.pencil path{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;vector-effect:non-scaling-stroke}
.pencil .p2{stroke-width:1.5;opacity:.4}
.hero-sub{margin-top:20px;font-size:16px;line-height:1.7;color:var(--ink-2)}

/* 원고지 — 한 줄 10칸 · 칸 선 1px(행 배경 + 1px 틈) · 줄 사이 띠 */
.sheet{position:relative;margin:36px 0 0}
/* 아래에 한 장 더 — 종이 묶음 (그림자 대신 어긋난 테두리) */
.ms::before{content:"";position:absolute;left:6px;right:-7px;top:7px;bottom:-7px;z-index:-1;border:1px solid var(--line);border-radius:4px;background:var(--surface)}
@media (min-width:1024px){ .ms::before{left:10px;right:-11px;top:11px;bottom:-11px} }
.ms{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:16px 12px 18px;display:grid;grid-row-gap:9px;row-gap:9px}
.ms-row{position:relative;display:grid;grid-template-columns:repeat(10,minmax(0,1fr));grid-gap:1px;gap:1px;background:var(--cell);border:1px solid var(--cell)}
.c{position:relative;background:var(--surface);height:0;padding-bottom:100%}
.ch{position:absolute;left:0;top:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:20px;line-height:1;color:var(--ink)}
.mk{position:absolute;left:var(--at);top:-12px;width:14px;height:12px;margin-left:-7px;overflow:visible;z-index:1}
.mk path{fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ms-note{display:flex;justify-content:flex-end;margin-top:18px;font-size:15px;line-height:1.4;color:var(--ink-2)}
.ms-note-in{display:inline-flex;align-items:center}
.ms-note-in::before{content:"";width:18px;height:1px;background:var(--cell);margin-right:8px}
.hero-act{margin-top:36px;display:flex;align-items:center;flex-wrap:wrap}
.hero-act .btn{margin-right:20px}

/* 재생 전 모습은 html.fx 에서만 · .go 가 붙으면 한 번 재생하고 멈춤 (transform · opacity 만) */
.fx .hero .h-in{opacity:0;transform:translate3d(0,10px,0)}
.fx .hero.go .h-in{opacity:1;transform:none;transition:opacity 560ms var(--ease-out) var(--d),transform 560ms var(--ease-out) var(--d)}
.fx .hero .ch{opacity:0;transform:translate3d(0,4px,0) scale(.84)}
.fx .hero.go .ch{opacity:1;transform:none;transition:opacity 220ms ease-out var(--d),transform 320ms var(--ease-out) var(--d)}
.fx .hero .pencil{transform:scaleX(0);transform-origin:0 50%}
.fx .hero.go .pencil{transform:scaleX(1);transition:transform 520ms cubic-bezier(.55,.1,.3,1) var(--d)}
.fx .hero .mk{opacity:0;transform:translate3d(0,-5px,0) scale(.6)}
.fx .hero.go .mk{opacity:1;transform:none;transition:opacity 200ms ease-out var(--mk),transform 380ms var(--ease-out) var(--mk)}
.fx .hero .ms-note-in{opacity:0;transform:translate3d(-8px,0,0)}
.fx .hero.go .ms-note-in{opacity:1;transform:none;transition:opacity 420ms var(--ease-out) var(--d),transform 420ms var(--ease-out) var(--d)}

@media (min-width:1024px){
  .hero{padding:48px 0 32px}
  .hero-in{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);grid-template-rows:auto auto;grid-column-gap:64px;column-gap:64px;min-height:560px;min-height:max(560px,calc(var(--vh,1vh)*100 - 168px));align-content:center}
  .hero-copy{grid-column:1;grid-row:1;align-self:end}
  .hero-act{grid-column:1;grid-row:2;align-self:start;margin-top:40px}
  .sheet{grid-column:2;grid-row:1 / span 2;align-self:center;margin:0}
  .eyebrow{font-size:15px;margin-bottom:22px}
  .h-l{font-size:44px;line-height:1.3;white-space:nowrap}
  .pencil{bottom:-6px;height:14px}
  .pencil path{stroke-width:3.5}
  .hero-sub{font-size:18px;margin-top:28px}
  .ms{padding:28px 26px 30px;grid-row-gap:14px;row-gap:14px}
  .ch{font-size:30px}
  .mk{width:18px;height:15px;margin-left:-9px;top:-15px}
  .ms-note{font-size:17px;margin-top:24px}
}
@media (min-width:1280px){ .h-l{font-size:52px} .hero-in{grid-column-gap:80px;column-gap:80px} }

/* ── 다른 점: 낱말을 원고지 칸에 · 폰 세 줄 / PC 신문 단 세 개 ── */
.diff-cols li{padding:28px 0 32px;border-top:1px solid var(--line)}
.diff-cols li:last-child{border-bottom:1px solid var(--line)}
.kw{display:inline-grid;grid-auto-flow:column;grid-auto-columns:42px;grid-gap:1px;gap:1px;background:var(--cell);border:1px solid var(--cell);margin-bottom:18px}
.kw b{background:var(--surface);height:42px;display:flex;align-items:center;justify-content:center;font-size:21px;line-height:1}
.diff-cols h3{font-size:21px;line-height:1.45;letter-spacing:-.02em}
.diff-cols p{margin-top:8px;color:var(--ink-2);font-size:15px;line-height:1.65}
@media (min-width:1024px){
  .diff-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .diff-cols li{padding:48px 40px 56px;border:0;border-left:1px solid var(--line)}
  .diff-cols li:first-child{padding-left:0;border-left:0}
  .diff-cols li:last-child{padding-right:0;border-bottom:0}
  .kw{grid-auto-columns:54px;margin-bottom:28px}
  .kw b{height:54px;font-size:27px}
  .diff-cols h3{font-size:24px}
  .diff-cols p{font-size:16px;margin-top:12px}
}

/* ── 한 달 흐름: 원고지 연초록 면 · 주차 = 흰 칸 ── */
.band{margin-top:var(--sec);padding:96px 0;background:var(--mood)}
.band .sec-label,.band .sec-lead{color:var(--ink)}
.weeks li{display:grid;grid-template-columns:56px minmax(0,1fr);grid-column-gap:18px;column-gap:18px;align-items:start;padding:22px 0;border-top:1px solid rgba(31,58,48,.14)}
.weeks li:first-child{border-top:0;padding-top:4px}
.wk{width:56px;height:56px;background:var(--surface);border:1px solid var(--cell);display:flex;align-items:center;justify-content:center;font-size:17px;line-height:1}
.weeks h3{font-size:20px;line-height:1.4;padding-top:2px}
.weeks p{margin-top:6px;font-size:15px;line-height:1.65;color:var(--ink)}
@media (min-width:1024px){
  .band{padding:144px 0}
  .weeks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-column-gap:32px;column-gap:32px;margin-top:8px}
  .weeks li{display:block;position:relative;padding:0;border:0}
  .weeks li:first-child{padding-top:0}
  .weeks li::after{content:"";position:absolute;left:84px;right:-20px;top:36px;border-top:1px dashed var(--cell)}
  .weeks li:last-child::after{display:none}
  .wk{width:72px;height:72px;font-size:21px;margin-bottom:28px}
  .weeks h3{font-size:22px;padding:0}
  .weeks p{font-size:16px;margin-top:10px}
}

/* ── 과정: 흰 종이 네 장 · PC 2×2 ── */
.course-grid{display:grid;grid-row-gap:12px;row-gap:12px}
.course-grid li{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:24px 20px 22px}
.cg-top{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:600;color:var(--ink-2)}
.cg-top .bk{color:var(--ink)}
.course-grid h3{font-size:22px;line-height:1.4;margin-top:10px;letter-spacing:-.02em}
.course-grid p{margin-top:8px;font-size:15px;line-height:1.65;color:var(--ink-2)}
.course-grid .meta{display:block;margin-top:18px;padding-top:14px;border-top:1px dashed var(--cell);font-size:14px;font-weight:600}
@media (min-width:1024px){
  .course-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:24px;gap:24px}
  .course-grid li{padding:32px 32px 28px}
  .cg-top{font-size:14px}
  .course-grid h3{font-size:26px;margin-top:14px}
  .course-grid p{font-size:16px}
}

/* ── 첨삭은 이렇게: 줄 공책 한 장 + 번호 풀이 ── */
.paper{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:24px 20px 28px}
.paper-t{font-size:17px;line-height:1.5;padding-bottom:14px;border-bottom:1px solid var(--cell)}
.paper-body{font-size:17px;line-height:2.5;color:var(--ink);padding-top:4px;
  background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(2.5em - 1px),var(--line) calc(2.5em - 1px),var(--line) 2.5em)}
.paper-body del{text-decoration:line-through;text-decoration-color:var(--accent);text-decoration-thickness:1.5px;color:var(--ink-2)}
.fx-swap{position:relative}
.fx-swap ins{position:absolute;left:50%;top:-1.02em;transform:translateX(-50%);white-space:nowrap;text-decoration:none;font-size:.84em;font-weight:700;line-height:1;color:var(--accent)}
.fx-join .gap{position:relative}
.nw{white-space:nowrap}
.mk-join,.pencil,.mk{max-width:none}
.mk-join{position:absolute;left:-13px;top:-.42em;width:calc(100% + 26px);height:.42em;overflow:visible}
.mk-join path{fill:none;stroke:var(--accent);stroke-width:1.6;stroke-linecap:round;vector-effect:non-scaling-stroke}
.fx-good{text-decoration:underline wavy var(--accent);text-decoration-thickness:1px;text-underline-offset:7px}
.no{display:inline-flex;align-items:center;justify-content:center;flex:none;width:18px;height:18px;border:1px solid var(--ink);border-radius:50%;font-family:var(--font);font-size:11px;font-weight:600;line-height:1;font-style:normal}
sup.no{vertical-align:.7em;margin-left:3px;width:16px;height:16px;font-size:10px}
.review-side{margin-top:24px}
.notes li{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:start;padding:14px 0;border-top:1px solid var(--line);font-size:15px;line-height:1.6}
.notes li:last-child{border-bottom:1px solid var(--line)}
.notes .no{margin-top:3px}
.t-comment{margin-top:28px;padding:4px 0 4px 18px;border-left:2px solid var(--cell)}
.t-comment p{font-size:17px;line-height:1.75}
.t-comment span{display:block;margin-top:10px;font-size:14px;color:var(--ink-2)}
@media (min-width:1024px){
  .review-in{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-column-gap:56px;column-gap:56px;align-items:start}
  .paper{padding:40px 48px 48px 80px}
  .paper::before{content:"";position:absolute;left:52px;top:0;bottom:0;border-left:1px solid var(--cell)}
  .paper-t{font-size:19px}
  .paper-body{font-size:20px}
  .review-side{margin-top:8px}
  .notes li{font-size:16px;padding:18px 0}
  .t-comment p{font-size:19px}
}

/* ── 이번 학기 읽는 책: 책 목록 줄 ── */
.shelf-g{padding:20px 0 16px;border-top:1px solid var(--line)}
.shelf-g:last-child{border-bottom:1px solid var(--line)}
.shelf-g h3{font-size:13px;font-weight:600;color:var(--ink-2);margin-bottom:6px}
.shelf-g li{display:flex;align-items:baseline;justify-content:space-between;padding:6px 0}
.bt{font-size:18px;line-height:1.5}
.ba{flex:none;margin-left:16px;font-size:14px;color:var(--ink-2)}
@media (min-width:1024px){
  .shelf{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-column-gap:32px;column-gap:32px}
  .shelf-g{padding:24px 0 8px;border-top:1px solid var(--ink)}
  .shelf-g:last-child{border-bottom:0}
  .shelf-g h3{font-size:14px;margin-bottom:12px}
  .shelf-g li{display:block;padding:10px 0}
  .bt{display:block;font-size:19px}
  .ba{display:block;margin:2px 0 0}
}

/* ── 원장 인사: 책 속 한 면 (어두운 면 ✕ · 종이 위 큰 글) ── */
.dir-in{border-top:1px solid var(--line);padding-top:48px}
.director blockquote{margin:0}
.director blockquote p{font-size:28px;line-height:1.45;letter-spacing:-.02em}
.dir-body{margin-top:32px;max-width:34em}
.dir-body p{color:var(--ink-2);font-size:16px;line-height:1.75}
.dir-body p+p{margin-top:12px}
.dir-body .sign{margin-top:28px;color:var(--ink);font-weight:600;font-size:15px;display:flex;align-items:center}
.dir-body .sign::before{content:"";width:24px;height:1px;background:var(--cell);margin-right:12px}
@media (min-width:1024px){
  .dir-in{padding-top:80px;text-align:center}
  .director .sec-label{justify-content:center}
  .director blockquote p{font-size:44px;line-height:1.38}
  .dir-body{margin:40px auto 0}
  .dir-body p{font-size:17px}
  .dir-body .sign{justify-content:center}
}

/* ── 공용 조각 옷 갈아입기: 폰 하단 바 · 푸터 = 칠판 먹초록 ── */
.bar{background:var(--ink);border-top:0}
.bar .b-sub{border:1px solid rgba(246,245,238,.26);color:var(--bg)}
.bar .b-main{background:var(--bg);color:var(--ink)}
@media (min-width:1024px){ .bar{border:0} }
.foot{background:var(--ink);color:rgba(246,245,238,.72);border-top:0}
.foot strong{color:var(--bg)}
.fees td.fee strong{font-size:19px}
