/* E 시안의 공통 스타일. 유지 요청을 받은 하단은 아래에서 기존 값을 고정한다. */
:root {
  --fc-paper:#f2f0eb; --fc-paper-dark:#e9dfd0; --fc-ink:#302e29;
  --fc-muted:#6b655e; --fc-line:#dedbd5; --fc-accent:#663b21;
  --fc-white:#fff; --fc-max:1060px; --fc-gutter:clamp(24px,5.3vw,80px);
}
html { scroll-padding-top:100px; }
body.fc-site { font-size:14px; line-height:1.9; }
.fc-site h1,.fc-site h2 { font-weight:400; letter-spacing:-.055em; line-height:1.45; }
.fc-header { --fc-logo-text-offset:calc(-13% - 1px); background:#fff; border-bottom:1px solid #efede8; }
.fc-nav-wrap { max-width:1400px; min-height:76px; gap:48px; }
.fc-brand img { width:174px; height:40px; object-fit:contain; }
/* 여우 심벌이 아닌 로고 글자의 중심을 메뉴 글자의 중심에 맞춘다. */
.fc-header .fc-brand img { transform:translateY(var(--fc-logo-text-offset)); }
.fc-nav { margin-inline-start:0; gap:25px; }
.fc-nav a { font-size:11px; }
.fc-book-link { margin-left:auto; align-items:center; min-height:42px; background:var(--fc-accent); border:1px solid var(--fc-accent); padding:10px 16px; color:var(--fc-white)!important; font-size:11px; gap:16px; }
/* 기존 상세 목차가 통합 헤더의 예약·메뉴 버튼을 가리지 않게 한다. */
.fc-legacy-body .dock { z-index:20; }
.fc-legacy-body .dock-r { top:92px; }
.fc-button { min-height:47px; border-color:var(--fc-accent); font-size:12px; }
.fc-button:hover,.fc-book-link:hover { background:#4f2d18; }
.fc-button-outline { background:transparent; color:var(--fc-ink)!important; border-color:#b5aaa0; }
.fc-button-outline:hover { background:#ebe5dc; }
.fc-site main { padding-bottom:0; }
.fc-site main>.fc-wrap:last-child { margin-bottom:76px; }
.fc-site a>span[aria-hidden="true"] { font-family:'Apple SD Gothic Neo',sans-serif; font-size:10px; line-height:1; }
.fc-site .e-home .text-link>span[aria-hidden="true"],
.fc-site .e-detail .ed-link>span[aria-hidden="true"] { font-size:10px; }
.fc-review .fc-review-meta { flex-direction:row; justify-content:flex-start; align-items:baseline; gap:10px; opacity:1; color:var(--fc-muted); }
.fc-review-meta .fc-review-by { min-width:0; font-size:inherit; overflow-wrap:anywhere; }
.fc-review-meta time { flex-shrink:0; }

/* 원래 화면의 갈색 외부 강의, 베이지 푸터, 문의 버튼을 그대로 유지. */
.fc-lecture-band,.fc-footer,.fc-chat {
  --fc-paper:#f6f1e9; --fc-paper-dark:#e9dfd0; --fc-ink:#29231e;
  --fc-muted:#6e6257; --fc-line:#d6caba; --fc-accent:#8d402a;
  --fc-white:#fffaf4; --fc-max:1280px; --fc-gutter:clamp(22px,4.8vw,80px);
  --fc-sans:FoxSans,'Apple SD Gothic Neo',sans-serif;
}
.fc-lecture-band { font-family:var(--fc-sans); font-size:15px; line-height:1.85; background:#5b3e2e; color:#f6f1e9; padding-block:75px; }
.fc-site .fc-lecture-band h2 { font-size:clamp(32px,4vw,53px); font-weight:300; letter-spacing:-.065em; line-height:1.36; }
.fc-lecture-band p:not(.fc-eyebrow) { margin-top:22px; font-size:13px; color:#e0d1c1; }
.fc-lecture-band .fc-button { min-height:49px; padding:13px 22px; gap:35px; font-size:12px; line-height:1.7; background:transparent; color:#fffaf4!important; border-color:rgba(255,250,244,.75); }
.fc-lecture-band .fc-button:hover { background:#fffaf4; color:#29231e!important; border-color:#fffaf4; }
.fc-footer-top { display:flex; }
.fc-footer-brand { display:inline-flex; flex-shrink:0; }
.fc-footer-brand img { width:174px; height:40px; object-fit:contain; }
.fc-footer-contact { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 16px; }
.fc-footer-contact a { white-space:nowrap; }

@media(max-width:1150px) {
  .fc-nav-wrap { gap:24px; }
  .fc-nav { gap:17px; }
  .fc-nav a { font-size:10px; }
}
@media(max-width:900px) {
  .fc-nav-wrap { min-height:76px; gap:20px; }
  .fc-menu-toggle { margin-left:auto; }
  .fc-book-link { margin-left:0; min-height:38px; font-size:11px; padding:8px 12px; }
  .fc-nav { margin:0; gap:8px 25px; padding-bottom:20px; }
  .fc-nav a { font-size:12px; }
}
@media(max-width:600px) {
  html { scroll-padding-top:86px; }
  .fc-nav-wrap { min-height:72px; gap:10px; }
  .fc-brand img { width:140px; height:33px; }
  .fc-book-link { font-size:10px; padding:8px 10px; gap:10px; }
  .fc-site main>.fc-wrap:last-child { margin-bottom:44px; }
  .fc-lecture-band { padding-block:48px; }
  .fc-site .fc-lecture-band h2 { font-size:37px; }
  .fc-lecture-band .fc-button { position:static; margin-top:28px; }
}
@media(max-width:360px) {
  .fc-nav-wrap { gap:8px; }
  .fc-brand img { width:116px; height:27px; }
  .fc-book-link { padding-inline:6px; gap:6px; }
}

/* 모바일 메뉴: 햄버거 버튼, 열린 메뉴 오른쪽 아래에 클래스 예약 */
.fc-burger { display:inline-flex; flex-direction:column; justify-content:space-between; width:24px; height:16px; }
.fc-burger i { display:block; height:2px; width:100%; background:var(--fc-ink); border-radius:1px; transition:transform .2s, opacity .2s; }
.fc-menu-toggle[aria-expanded="true"] .fc-burger i:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.fc-menu-toggle[aria-expanded="true"] .fc-burger i:nth-child(2) { opacity:0; }
.fc-menu-toggle[aria-expanded="true"] .fc-burger i:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
@media (max-width: 900px) {
  .fc-menu-toggle { padding:12px 2px; }
  .fc-header .fc-book-link { display:none; }
  .fc-header .fc-nav.is-open { flex-direction:column; align-items:flex-start; gap:0; padding:4px 0 18px; }
  .fc-header .fc-nav.is-open a { padding:11px 0; font-size:14px; }
  .fc-header .fc-nav.is-open a::after { bottom:6px; }
  .fc-header .fc-nav.is-open ~ .fc-book-link { display:flex; position:absolute; right:0; bottom:20px; margin:0; font-size:12px; padding:11px 16px; }
}

/* 플로팅 문의 패널: 안내 문구 없이 링크 세 개만 */
.fc-chat-panel .fc-chat-link:first-child { border-top:0; }

/* 모바일 메뉴를 열어도 로고와 닫기 버튼 위치가 움직이지 않도록 첫 줄 높이 고정 */
@media (max-width: 900px) {
  .fc-header .fc-nav-wrap { align-content:flex-start; }
  .fc-header .fc-brand, .fc-header .fc-menu-toggle { min-height:inherit; }
}
