@charset "utf-8";
/* =================================================================
   법률형_1 (법무법인 · 변호사사무소) — 애드플랜 테마
   모든 선택자는 .bk- 로 시작한다. 게시판 스킨과 겹치지 않는다.
   --bk-blue 는 공용 크롬(헤더 · LNB · 맨위로)이 쓰는 강조색이라
   이름을 바꾸지 않고 남색으로 값만 맞췄다.
   ================================================================= */

:root{
  --bk-navy:#123a7a;
  --bk-navy-d:#0b2a5c;
  --bk-gold:#e2661f;
  --bk-blue:#123a7a;
  --bk-blue-d:#0b2a5c;
  --bk-ink:#15181c;
  --bk-body:#5f666f;
  --bk-line:#e1e5ea;
  --bk-bg:#f4f6f8;
  --bk-dark:#152f52;
  --bk-wrap:1240px;
  --bk-gutter:24px;
}

.bk-wrap{ max-width:var(--bk-wrap); margin:0 auto; padding:0 var(--bk-gutter); }

/* #앵커 로 건너뛸 때 고정 헤더에 제목이 가리지 않게 */
html{ scroll-padding-top:calc(var(--bk-fixedh,110px) + 18px); }

body{
  font-family:'Noto Sans KR','맑은 고딕',Malgun Gothic,sans-serif;
  color:var(--bk-body); background:#fff; letter-spacing:-.01em;
  padding-top:var(--bk-fixedh,110px);
}
.bk-skip{ position:absolute; left:-9999px; }
.bk-skip:focus{ left:10px; top:10px; z-index:999; background:#fff; padding:10px 16px; }

img{ max-width:100%; }
.bk-empty{ padding:40px 0; text-align:center; color:#999; font-size:14px; }
.bk-empty a{ color:var(--bk-blue); text-decoration:underline; }

.bk-ico{ width:38px; height:41px; flex:none; color:var(--bk-blue); }

/* --------------------------------------------------------------- 고정 상단 */
.bk-fixed{ position:fixed; top:0; left:0; right:0; z-index:100; background:#fff; }

.bk-demo{
  background:#111827; color:rgba(255,255,255,.72); text-align:center;
  padding:9px var(--bk-gutter); display:flex; justify-content:center; gap:8px 26px; flex-wrap:wrap;
  font-size:11.5px;
}
.bk-demo b{ color:#fff; }
.bk-demo a{ color:#fff; border-bottom:1px solid rgba(255,255,255,.5); padding-bottom:2px; }

/* 유틸리티 바 */
.bk-util{ background:#f7f8fa; border-bottom:1px solid var(--bk-line); font-size:12px; }
.bk-util__in{
  max-width:var(--bk-wrap); margin:0 auto; padding:0 var(--bk-gutter); height:34px;
  display:flex; align-items:center; justify-content:space-between;
}
.bk-util__tel{ color:var(--bk-ink); font-weight:700; letter-spacing:0; }
.bk-util__tel i{ color:var(--bk-blue); font-style:normal; }
.bk-util__nav{ display:flex; align-items:center; }
.bk-util__nav li{ position:relative; padding:0 12px; }
.bk-util__nav li + li::before{
  content:''; position:absolute; left:0; top:50%; width:1px; height:9px;
  margin-top:-4px; background:var(--bk-line);
}
.bk-util__nav a{ color:#8a8f98; }
.bk-util__nav a:hover{ color:var(--bk-ink); }

/* 헤더 */
.bk-header{ background:#fff; border-bottom:1px solid var(--bk-line); }
.bk-header__in{
  max-width:var(--bk-wrap); margin:0 auto; padding:0 var(--bk-gutter); height:76px;
  display:flex; align-items:center; gap:24px;
}
.bk-logo{ display:flex; align-items:baseline; gap:9px; flex:none; }
.bk-logo strong{ font-size:23px; font-weight:800; letter-spacing:-.02em; color:var(--bk-ink); }
.bk-logo strong em{ font-style:normal; color:var(--bk-blue); }
.bk-logo small{ font-size:11px; color:#9aa0a8; letter-spacing:-.02em; }

.bk-gnb{ margin-left:auto; }
.bk-gnb__ul{ display:flex; }
.bk-gnb__li{ position:relative; }
.bk-gnb__li > a{
  display:block; padding:0 18px; line-height:75px; font-size:15.5px; font-weight:600;
  color:var(--bk-ink); border-bottom:3px solid transparent;
  white-space:nowrap;            /* 메뉴명이 길어도 세로로 쪼개지지 않게 */
}
@media (max-width:1320px){ .bk-gnb__li > a{ padding:0 13px; font-size:14.5px; } }
@media (max-width:1150px){ .bk-gnb__li > a{ padding:0 10px; font-size:13.5px; } }
.bk-gnb__li:hover > a,
.bk-gnb__li.is-on > a{ color:var(--bk-blue); border-bottom-color:var(--bk-blue); }
.bk-gnb__sub{
  position:absolute; left:50%; top:100%; transform:translateX(-50%);
  min-width:160px; background:#fff; border:1px solid var(--bk-line); border-top:0;
  padding:8px 0; opacity:0; visibility:hidden; transition:opacity .16s ease;
  box-shadow:0 12px 24px rgba(0,0,0,.07);
}
.bk-gnb__li:hover .bk-gnb__sub,
.bk-gnb__li:focus-within .bk-gnb__sub{ opacity:1; visibility:visible; }
.bk-gnb__sub a{ display:block; padding:9px 20px; font-size:14px; color:#555; text-align:center; }
.bk-gnb__sub a:hover{ background:var(--bk-bg); color:var(--bk-blue); }
.bk-gnb__empty{ font-size:13px; color:#999; }
.bk-gnb__empty a{ color:var(--bk-blue); text-decoration:underline; }

.bk-burger{
  display:none; margin-left:auto; width:40px; height:40px; background:none; border:0;
  flex-direction:column; justify-content:center; gap:5px; cursor:pointer;
}
.bk-burger span{ display:block; height:2px; background:var(--bk-ink); }

/* 모바일 드로어 */
.bk-drawer{ position:fixed; inset:0; z-index:200; }
.bk-drawer__bg{ position:absolute; inset:0; background:rgba(0,0,0,.45); }
.bk-drawer__panel{
  position:absolute; right:0; top:0; bottom:0; width:min(320px,86vw);
  background:#fff; padding:64px 26px 30px; overflow-y:auto;
}
.bk-drawer__close{ position:absolute; right:18px; top:18px; background:none; border:0; font-size:19px; cursor:pointer; }
.bk-drawer__panel > ul > li > a{
  display:block; padding:14px 0; font-size:16px; font-weight:700; color:var(--bk-ink);
  border-bottom:1px solid var(--bk-line);
}
.bk-drawer__panel ul ul{ padding:8px 0 12px 12px; }
.bk-drawer__panel ul ul a{ display:block; padding:7px 0; font-size:14px; color:var(--bk-body); }


/* --------------------------------------------------------------- 섹션 공통 */
.bk-sec{ padding:96px 0; }
.bk-en{
  font-size:13px; font-weight:700; letter-spacing:.16em; color:var(--bk-gold);
  text-transform:uppercase;
}
/* 섹션 제목 · 리드문. 그누보드 default.css 가 h2 를 1em 으로 눌러 두므로 여기서 다시 세운다. */
.bk-h2{
  margin:10px 0 0; font-size:clamp(25px,2.5vw,34px); font-weight:800;
  line-height:1.35; letter-spacing:-.03em; color:var(--bk-ink);
}
.bk-lead{
  margin:14px 0 0; max-width:760px; font-size:16px; line-height:1.85;
  color:var(--bk-body); word-break:keep-all;
}
.bk-head{ text-align:center; margin-bottom:52px; }
.bk-head h2{
  margin-top:12px; font-size:clamp(26px,3.2vw,38px); font-weight:800;
  letter-spacing:-.03em; color:var(--bk-ink);
}
.bk-head__d{ margin-top:16px; font-size:15px; line-height:1.85; color:var(--bk-body); }
.bk-head--light h2{ color:#fff; }
.bk-head--light .bk-head__d{ color:rgba(255,255,255,.72); }

.bk-more{ margin-top:44px; text-align:center; }
.bk-more a{
  display:inline-block; padding:14px 38px; font-size:14px; font-weight:700;
  color:var(--bk-ink); border:1px solid var(--bk-ink); transition:background .18s ease, color .18s ease;
}
.bk-more a:hover{ background:var(--bk-ink); color:#fff; }

/* 헤더 상담 버튼 */
.bk-hcta{
  flex:none; margin-left:26px; padding:11px 22px; font-size:14px; font-weight:700;
  color:#fff; background:var(--bk-navy); transition:background .18s ease;
}
.bk-hcta:hover{ background:var(--bk-gold); }

/* --------------------------------------------------------------- 히어로 */
.bk-hero{ position:relative; min-height:640px; overflow:hidden; color:#fff; }
.bk-hero__track{ position:absolute; inset:0; display:flex; will-change:transform; }
.bk-hero__slide{ flex:0 0 100%; height:100%; }
.bk-hero__slide img{ width:100%; height:100%; object-fit:cover; display:block; }
.bk-hero__dim{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(8,18,34,.62) 0%, rgba(8,18,34,.5) 45%, rgba(8,18,34,.78) 100%);
}
.bk-hero__in{
  position:relative; z-index:3; max-width:var(--bk-wrap); margin:0 auto;
  padding:150px var(--bk-gutter) 120px; text-align:center;
}
.bk-hero__top{ font-size:clamp(14px,1.5vw,17px); letter-spacing:.04em; color:rgba(255,255,255,.82); }
.bk-hero__h{
  margin-top:18px; font-size:clamp(30px,4.6vw,56px); font-weight:800;
  line-height:1.25; letter-spacing:-.035em; text-shadow:0 2px 20px rgba(0,0,0,.35);
}
.bk-hero__d{
  margin-top:22px; font-size:clamp(14px,1.5vw,16.5px); line-height:1.9;
  color:rgba(255,255,255,.8);
}

/* 통합검색 */
.bk-search{
  display:flex; align-items:center; gap:10px; max-width:620px; margin:46px auto 0;
  background:rgba(255,255,255,.96); padding:8px 8px 8px 24px;
  box-shadow:0 18px 44px rgba(4,12,26,.34);
}
.bk-search__lb{ position:absolute; left:-9999px; }
.bk-search input[type=search]{
  flex:1; min-width:0; height:46px; border:0; background:none; outline:none;
  font-size:15px; color:var(--bk-ink);
}
.bk-search input[type=search]::placeholder{ color:#9aa0a8; }
.bk-search button{
  flex:none; width:52px; height:46px; border:0; cursor:pointer;
  background:var(--bk-navy); color:#fff;
}
.bk-search button:hover{ background:var(--bk-gold); }
.bk-search button svg{ width:20px; height:20px; }

/* --------------------------------------------------------------- 상담 정보 띠 */
.bk-band{
  position:relative; z-index:5; max-width:var(--bk-wrap);
  margin:-58px auto 0; padding:0 var(--bk-gutter);
}
.bk-band__in{
  display:grid; grid-template-columns:auto 1fr auto auto; align-items:center; gap:34px;
  background:#fff; border:1px solid var(--bk-line); box-shadow:0 14px 38px rgba(12,24,44,.1);
  padding:26px 30px;
}
.bk-band__tel{ display:flex; align-items:center; gap:11px; color:var(--bk-ink); }
.bk-band__tel svg{ width:22px; height:22px; color:var(--bk-gold); flex:none; }
.bk-band__tel span{ font-size:25px; font-weight:800; letter-spacing:-.02em; }
.bk-band__hours{ display:flex; flex-direction:column; gap:4px; padding-left:34px; border-left:1px solid var(--bk-line); }
.bk-band__hours strong{ font-size:14.5px; font-weight:700; color:var(--bk-ink); }
.bk-band__hours small{ font-size:12.5px; color:#8a8f98; }
.bk-band__now{ display:flex; align-items:center; gap:8px; font-size:13.5px; color:#8a8f98; }
.bk-band__now i{ width:8px; height:8px; border-radius:50%; background:#c3c8ce; flex:none; }
.bk-band__now.is-open{ color:#1f7a4d; font-weight:700; }
.bk-band__now.is-open i{ background:#23a05f; box-shadow:0 0 0 4px rgba(35,160,95,.16); }
.bk-band__cta{
  flex:none; padding:15px 30px; font-size:14.5px; font-weight:700; color:#fff;
  background:var(--bk-navy); transition:background .18s ease;
}
.bk-band__cta:hover{ background:var(--bk-gold); }

/* --------------------------------------------------------------- 업무분야 */
.bk-fields{ position:relative; background:var(--bk-navy); overflow:hidden; }
.bk-fields__deco{ position:absolute; inset:0; pointer-events:none; }
.bk-fields__ring{
  position:absolute; left:-130px; top:70px; width:420px; height:420px;
  border:1px solid rgba(255,255,255,.09); border-radius:50%;
}
.bk-fields__slant{
  position:absolute; right:-160px; bottom:-120px; width:560px; height:560px;
  background:rgba(255,255,255,.03); transform:rotate(24deg);
}
.bk-fields .bk-wrap{ position:relative; z-index:2; }
.bk-fields__grid{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px;
}
/* 계단식 — 열마다 조금씩 내려 앉는다 (레퍼런스의 엇갈린 배치를 그리드로 구현) */
.bk-fields__item:nth-child(4n+2){ transform:translateY(26px); }
.bk-fields__item:nth-child(4n+3){ transform:translateY(52px); }
.bk-fields__item:nth-child(4n+4){ transform:translateY(78px); }
.bk-fields__item a{
  display:flex; flex-direction:column; gap:20px; height:100%;
  padding:30px 26px 26px; min-height:186px;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1);
  color:#fff; transition:background .2s ease, border-color .2s ease, transform .2s ease;
}
.bk-fields__item a:hover{ background:var(--bk-gold); border-color:var(--bk-gold); transform:translateY(-5px); }
.bk-fields__item .bk-ico{ width:36px; height:39px; color:rgba(255,255,255,.78); }
.bk-fields__item a:hover .bk-ico{ color:#fff; }
.bk-fields__item strong{
  font-size:19px; font-weight:700; line-height:1.35; letter-spacing:-.02em; margin-top:auto;
}
.bk-fields__go{ display:block; }
.bk-fields__go svg{ width:22px; height:22px; color:rgba(255,255,255,.5); }
.bk-fields__item a:hover .bk-fields__go svg{ color:#fff; }
/* 마지막 줄이 아래로 삐져나가지 않도록 섹션 하단에 여유를 준다 */
.bk-fields{ padding-bottom:174px; }

/* --------------------------------------------------------------- 업무사례 */
.bk-tabs{
  display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-bottom:38px;
}
.bk-tabs button{
  padding:9px 18px; font-size:13.5px; font-weight:600; color:#6b7280;
  background:#fff; border:1px solid var(--bk-line); cursor:pointer;
  transition:background .16s ease, color .16s ease, border-color .16s ease;
}
.bk-tabs button:hover{ border-color:var(--bk-navy); color:var(--bk-navy); }
.bk-tabs button.is-on{ background:var(--bk-navy); border-color:var(--bk-navy); color:#fff; }

.bk-cases__grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.bk-cases__item a{
  display:flex; flex-direction:column; height:100%; padding:26px 24px 22px;
  background:#fff; border:1px solid var(--bk-line);
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.bk-cases__item a:hover{
  border-color:var(--bk-navy); box-shadow:0 16px 34px rgba(12,24,44,.1); transform:translateY(-4px);
}
.bk-cases__tags{ display:flex; flex-wrap:wrap; gap:6px; }
.bk-cases__result{
  padding:5px 11px; font-size:12px; font-weight:800; color:#fff; background:var(--bk-gold);
}
.bk-cases__tags span{
  padding:5px 11px; font-size:12px; font-weight:600; color:var(--bk-navy);
  background:#eef2f8;
}
.bk-cases__item h3{
  margin-top:16px; font-size:16.5px; font-weight:700; line-height:1.5;
  letter-spacing:-.02em; color:var(--bk-ink);
}
.bk-cases__item p{
  margin-top:12px; font-size:13.5px; line-height:1.8; color:var(--bk-body);
}
.bk-cases__item time{
  margin-top:auto; padding-top:18px; font-size:12.5px; color:#9aa0a8;
}
.bk-cases__none{ padding:50px 0; text-align:center; font-size:14px; color:#8a8f98; }

/* --------------------------------------------------------------- 구성원 */
.bk-members{ background:var(--bk-bg); }
.bk-members__grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.bk-members__item a{ display:block; height:100%; background:#fff; border:1px solid var(--bk-line); }
.bk-members__item a:hover{ border-color:var(--bk-navy); }
.bk-members__pic{
  position:relative; aspect-ratio:4/5; max-width:100%; overflow:hidden;
  background:var(--bk-navy); display:flex; align-items:center; justify-content:center;
}
.bk-members__pic img{ width:100%; height:100%; object-fit:cover; display:block; }
.bk-members__ini{
  font-size:44px; font-weight:800; letter-spacing:-.04em; color:rgba(255,255,255,.32);
}
.bk-members__txt{ padding:22px 22px 24px; }
.bk-members__role{ font-size:12.5px; font-weight:700; color:var(--bk-gold); }
.bk-members__txt h3{
  margin-top:7px; font-size:19px; font-weight:800; letter-spacing:-.02em; color:var(--bk-ink);
}
.bk-members__field{ margin-top:11px; font-size:13.5px; font-weight:600; color:var(--bk-navy); }
.bk-members__career{ margin-top:8px; font-size:13px; line-height:1.75; color:var(--bk-body); }

/* --------------------------------------------------------------- 소식 · 칼럼 */
.bk-insight__cols{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:44px; }
.bk-insight__col h3{
  display:flex; align-items:baseline; justify-content:space-between;
  padding-bottom:16px; border-bottom:2px solid var(--bk-ink);
  font-size:19px; font-weight:800; color:var(--bk-ink);
}
.bk-insight__col h3 a{ font-size:13px; font-weight:600; color:#8a8f98; }
.bk-insight__col h3 a:hover{ color:var(--bk-navy); }
.bk-insight__col li{ border-bottom:1px solid var(--bk-line); }
.bk-insight__col li a{
  display:flex; align-items:center; justify-content:space-between; gap:20px; padding:17px 2px;
}
.bk-insight__col li a span{
  font-size:14.5px; color:var(--bk-ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.bk-insight__col li a:hover span{ color:var(--bk-navy); text-decoration:underline; }
.bk-insight__col li a time{ flex:none; font-size:12.5px; color:#9aa0a8; }

/* --------------------------------------------------------------- 상담 신청 */
.bk-counsel{ background:var(--bk-navy); color:#fff; }
.bk-counsel__in{ display:grid; grid-template-columns:330px 1fr; gap:60px; align-items:start; }
.bk-counsel__side h2{
  margin-top:12px; font-size:clamp(26px,3vw,34px); font-weight:800; letter-spacing:-.03em; color:#fff;
}
.bk-counsel__side p{ margin-top:18px; font-size:14.5px; line-height:1.9; color:rgba(255,255,255,.74); }
.bk-counsel__tel{
  display:block; margin-top:30px; font-size:29px; font-weight:800;
  letter-spacing:-.02em; color:#fff;
}
.bk-counsel__tel:hover{ color:var(--bk-gold); }
.bk-counsel__hours{ display:block; margin-top:6px; font-size:13px; color:rgba(255,255,255,.6); }

.bk-form{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 20px;
  background:#fff; padding:34px 32px 32px;
}
.bk-form__done{
  grid-column:1 / -1; padding:15px 18px; background:#eaf6ef; color:#1f7a4d;
  font-size:14px; font-weight:700;
}
.bk-form__row{ display:flex; flex-direction:column; gap:8px; }
.bk-form__row.is-wide{ grid-column:1 / -1; }
.bk-form__row label,
.bk-form__lb{ font-size:13.5px; font-weight:700; color:var(--bk-ink); }
.bk-form__row label b,
.bk-form__lb b{ color:#c0392b; }
.bk-form__row input[type=text],
.bk-form__row input[type=tel],
.bk-form__row select,
.bk-form__row textarea{
  width:100%; padding:12px 14px; font-size:14.5px; color:var(--bk-ink);
  border:1px solid var(--bk-line); background:#fff; font-family:inherit;
}
.bk-form__row textarea{ resize:vertical; line-height:1.75; }
.bk-form__row input:focus,
.bk-form__row select:focus,
.bk-form__row textarea:focus{ outline:2px solid var(--bk-navy); outline-offset:-2px; }
.bk-form__captcha{ gap:10px; }
.bk-form__agree{ grid-column:1 / -1; font-size:13px; color:var(--bk-body); }
.bk-form__agree label{ font-weight:600; color:var(--bk-ink); }
.bk-form__agree > a{ margin-left:8px; color:var(--bk-navy); text-decoration:underline; }
.bk-form__agree p{ margin-top:8px; font-size:12px; line-height:1.7; color:#8a8f98; }
.bk-form__err{
  grid-column:1 / -1; padding:12px 16px; background:#fdecea; color:#c0392b;
  font-size:13.5px; font-weight:600;
}
.bk-form__submit{
  grid-column:1 / -1; height:56px; border:0; cursor:pointer;
  background:var(--bk-navy); color:#fff; font-size:16px; font-weight:800; font-family:inherit;
  transition:background .18s ease;
}
.bk-form__submit:hover{ background:var(--bk-gold); }
.bk-form__submit:disabled{ background:#9aa0a8; cursor:default; }

/* --------------------------------------------------------------- 오시는 길 */
.bk-map__in{ display:grid; grid-template-columns:1fr 1.1fr; gap:56px; align-items:center; }
.bk-map__txt h2{
  margin-top:12px; font-size:clamp(26px,3vw,34px); font-weight:800;
  letter-spacing:-.03em; color:var(--bk-ink);
}
.bk-map__txt dl{ margin-top:30px; display:grid; grid-template-columns:96px 1fr; gap:14px 16px; }
.bk-map__txt dt{ font-size:13.5px; font-weight:700; color:var(--bk-navy); }
.bk-map__txt dd{ font-size:14.5px; line-height:1.8; color:var(--bk-body); }
.bk-map__txt dd a{ color:var(--bk-ink); font-weight:700; }
.bk-map__go{
  display:inline-block; margin-top:30px; padding:13px 28px; font-size:14px; font-weight:700;
  color:#fff; background:var(--bk-navy);
}
.bk-map__go:hover{ background:var(--bk-gold); }
.bk-map__pic img{ width:100%; max-width:100%; display:block; }


/* --------------------------------------------------------------- 서브페이지 */
.bk-sbanner{ position:relative; height:220px; overflow:hidden; }
.bk-sbanner > img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.bk-sbanner::after{ content:''; position:absolute; inset:0; background:rgba(14,26,44,.5); }
.bk-sbanner__in{
  position:relative; z-index:2; height:100%; display:flex; flex-direction:column;
  align-items:center; justify-content:center; color:#fff; text-align:center;
}
.bk-sbanner__top{ font-size:16px; color:rgba(255,255,255,.85); }
.bk-sbanner__h{ font-size:31px; font-weight:800; color:#fff; margin-top:6px; }

.bk-crumb{ background:var(--bk-bg); border-bottom:1px solid var(--bk-line); }
.bk-crumb__in{
  max-width:var(--bk-wrap); margin:0 auto; padding:0 var(--bk-gutter); height:46px;
  display:flex; align-items:center; justify-content:flex-end; gap:10px; font-size:12.5px; color:#8a8f98;
}
.bk-crumb__in span::before{ content:'›'; margin-right:10px; color:#c3c8ce; }
.bk-crumb__in a{ color:var(--bk-blue); }

.bk-sub{ padding:56px 0 96px; }
.bk-sub__in{
  max-width:var(--bk-wrap); margin:0 auto; padding:0 var(--bk-gutter);
  display:grid; grid-template-columns:210px 1fr; gap:52px; align-items:start;
}
.bk-sub__in.is-full{ grid-template-columns:1fr; gap:0; }
.bk-lnb h2{
  font-size:19px; font-weight:800; color:var(--bk-ink);
  padding-bottom:16px; border-bottom:2px solid var(--bk-ink);
}
.bk-lnb li a{
  display:block; padding:13px 16px; font-size:14px; color:#777;
  border-bottom:1px solid var(--bk-line);
}
.bk-lnb li a:hover{ color:var(--bk-blue); }
.bk-lnb li.is-on a{ background:#eef5fd; color:var(--bk-blue); font-weight:700; }
.bk-sub__h{ font-size:26px; font-weight:800; color:var(--bk-ink); margin-bottom:26px; }
.bk-sub__body #bo_list, .bk-sub__body #bo_v, .bk-sub__body #bo_w, .bk-sub__body #bo_vc{
  --adb-maxw:100%; --adb-gutter:0;
}

/* --------------------------------------------------------------- 푸터 */
.bk-footer{ background:#2b2b2b; color:#9a9a9a; padding:46px 0 40px; text-align:center; }
.bk-footer__in{ max-width:var(--bk-wrap); margin:0 auto; padding:0 var(--bk-gutter); }
.bk-logo--foot{ justify-content:center; }
.bk-logo--foot strong{ color:#fff; }
.bk-logo--foot strong em{ color:#5eb0ff; }
.bk-logo--foot small{ color:#8a8a8a; }
.bk-footer__nav{
  display:flex; justify-content:center; flex-wrap:wrap; margin-top:26px;
  padding-top:22px; border-top:1px solid rgba(255,255,255,.13); font-size:13px;
}
.bk-footer__nav li{ position:relative; padding:0 14px; }
.bk-footer__nav li + li::before{
  content:''; position:absolute; left:0; top:50%; width:1px; height:10px; margin-top:-5px;
  background:rgba(255,255,255,.2);
}
.bk-footer__nav a{ color:#b5b5b5; }
.bk-footer__nav a:hover{ color:#fff; }
.bk-footer__nav a.is-strong{ color:#fff; font-weight:700; }
.bk-footer__info{ margin-top:20px; font-size:12.5px; line-height:1.9; color:#8a8a8a; }
.bk-footer__info a{ color:#b5b5b5; }
.bk-footer__ad{ margin-top:14px; font-size:12.5px; color:#8a8a8a; }
.bk-footer__copy{ margin-top:16px; font-size:12px; color:#6e6e6e; }

/* ------------------------------------------------- 오른쪽 퀵바 (오늘 본 책 · 문의) */
.bk-rail{
  position:fixed; right:18px; top:50%; transform:translateY(-50%); z-index:90;
  width:96px; display:flex; flex-direction:column; gap:8px;
}
.bk-rail__seenbox{
  background:#fff; border:1px solid var(--bk-line); border-radius:8px; padding:10px 8px 8px;
  box-shadow:0 4px 18px rgba(18,58,122,.08);
}
.bk-rail__h{ margin:0 0 8px; font-size:11.5px; font-weight:700; color:var(--bk-body); text-align:center; line-height:1.4; }
.bk-rail__h b{ color:var(--bk-navy); }
.bk-rail__list{ list-style:none; margin:0; padding:0; max-height:270px; overflow-y:auto; }
.bk-rail__list::-webkit-scrollbar{ width:4px; }
.bk-rail__list::-webkit-scrollbar-thumb{ background:#d5dce6; border-radius:2px; }
.bk-rail__seen{ position:relative; margin:0 0 6px; }
.bk-rail__seen a{ display:block; border:1px solid var(--bk-line); border-radius:4px; overflow:hidden; background:#f6f8fb; }
.bk-rail__seen a:hover{ border-color:var(--bk-navy); }
.bk-rail__seen img{ display:block; width:100%; height:96px; object-fit:cover; }
.bk-rail__mini{
  display:flex; align-items:center; justify-content:center; height:96px; padding:6px;
  background:hsl(var(--h) 38% 32%); color:#fff; font-size:10.5px; line-height:1.35;
  font-weight:700; text-align:center; word-break:keep-all;
}
.bk-rail__x{
  position:absolute; top:3px; right:3px; width:17px; height:17px; padding:0;
  border:0; border-radius:50%; background:rgba(0,0,0,.5); color:#fff;
  font-size:12px; line-height:1; cursor:pointer; opacity:0; transition:opacity .15s ease;
}
.bk-rail__seen:hover .bk-rail__x, .bk-rail__x:focus{ opacity:1; }
.bk-rail__none{ padding:14px 4px; font-size:11px; color:#9aa3b0; text-align:center; line-height:1.5; }
.bk-rail__clear[hidden]{ display:none; }
.bk-rail__clear{
  display:block; width:100%; margin-top:2px; padding:5px 0; border:0; border-top:1px solid var(--bk-line);
  background:none; color:var(--bk-body); font-size:11px; cursor:pointer;
}
.bk-rail__clear:hover{ color:var(--bk-navy); }

.bk-rail__btn{
  position:relative; display:flex; flex-direction:column; align-items:center; gap:3px;
  padding:10px 4px; border:1px solid var(--bk-line); border-radius:8px;
  background:#fff; color:var(--bk-ink); font-size:11.5px; font-weight:700;
  line-height:1.3; text-align:center; cursor:pointer; transition:background .15s ease, border-color .15s ease;
}
.bk-rail__btn:hover{ background:#f2f6fc; border-color:var(--bk-navy); color:var(--bk-navy); }
.bk-rail__ico{ display:block; color:var(--bk-navy); }
.bk-rail__btn--kko{ background:#fee500; border-color:#f2d900; color:#3c1e1e; }
.bk-rail__btn--kko:hover{ background:#ffe94d; border-color:#e6cf00; color:#3c1e1e; }
.bk-rail__btn--kko .bk-rail__ico{ color:#3c1e1e; }
.bk-rail__btn--tel{ font-size:11px; letter-spacing:-.2px; }
.bk-rail__n{
  position:absolute; top:-6px; right:-6px; min-width:19px; height:19px; padding:0 5px;
  border-radius:10px; background:var(--bk-gold); color:#fff;
  font-size:11px; font-weight:800; line-height:19px;
}
.bk-rail__tip{
  margin:-2px 0 0; padding:9px 10px; border-radius:6px;
  background:var(--bk-dark); color:#fff; font-size:11px; line-height:1.6;
}
.bk-rail__tip code{ font-size:10.5px; color:#ffd479; word-break:break-all; }

.bk-rail__top{
  height:36px; border:1px solid var(--bk-line); border-radius:8px;
  background:var(--bk-dark); color:#fff; font-size:12px; cursor:pointer;
  opacity:0; visibility:hidden; transition:opacity .2s ease;
}
.bk-rail__top.is-on{ opacity:.9; visibility:visible; }
.bk-rail__top:hover{ opacity:1; background:var(--bk-blue); }

/* 좁은 화면 — 오늘 본 책은 접고 아이콘만 세로로 남긴다 */
@media (max-width:1400px){
  .bk-rail__seenbox{ display:none; }
  .bk-rail{ width:64px; right:12px; top:auto; bottom:18px; transform:none; }
  .bk-rail__t{ display:none; }
  .bk-rail__btn{ padding:11px 0; border-radius:50%; width:48px; height:48px; justify-content:center; }
  .bk-rail__tip{ position:absolute; right:56px; bottom:60px; width:210px; }
  .bk-rail__top{ width:48px; }
}
@media (max-width:640px){
  .bk-rail{ right:10px; bottom:12px; width:46px; gap:6px; }
  .bk-rail__btn{ width:44px; height:44px; }
  .bk-rail__top{ width:44px; height:32px; }
  .bk-rail__btn--tel{ display:none; }   /* 모바일은 헤더 전화 버튼이 있다 */
}


/* --------------------------------------------------------------- 반응형 */
@media (max-width:1180px){
  .bk-gnb__li > a{ padding:0 15px; font-size:15px; }
  .bk-hcta{ margin-left:16px; padding:10px 16px; font-size:13px; }
  .bk-band__in{ grid-template-columns:auto 1fr auto; gap:24px; }
  .bk-band__cta{ grid-column:1 / -1; text-align:center; }
  .bk-cases__grid,
  .bk-members__grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  /* 열 수가 바뀌면 계단 오프셋을 다시 계산한다 */
  .bk-fields__grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .bk-fields__item:nth-child(4n+2),
  .bk-fields__item:nth-child(4n+3),
  .bk-fields__item:nth-child(4n+4){ transform:none; }
  .bk-fields__item:nth-child(3n+2){ transform:translateY(26px); }
  .bk-fields__item:nth-child(3n+3){ transform:translateY(52px); }
  .bk-fields{ padding-bottom:148px; }
}
@media (max-width:1024px){
  .bk-counsel__in{ grid-template-columns:1fr; gap:36px; }
}
@media (max-width:900px){
  .bk-gnb{ display:none; }
  .bk-burger{ display:flex; }
  .bk-header__in{ height:64px; }
  .bk-hcta{ display:none; }
  .bk-sec{ padding:72px 0; }
  .bk-hero{ min-height:560px; }
  .bk-hero__in{ padding:110px var(--bk-gutter) 96px; }
  .bk-band{ margin-top:-42px; }
  .bk-band__in{ grid-template-columns:1fr; gap:18px; padding:24px 24px 26px; text-align:center; }
  .bk-band__tel{ justify-content:center; }
  .bk-band__hours{ padding-left:0; border-left:0; align-items:center; }
  .bk-band__now{ justify-content:center; }
  .bk-cases__grid,
  .bk-members__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .bk-fields__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .bk-fields__item:nth-child(3n+2),
  .bk-fields__item:nth-child(3n+3){ transform:none; }
  .bk-fields__item:nth-child(2n){ transform:translateY(24px); }
  .bk-fields{ padding-bottom:110px; }
  .bk-insight__cols{ grid-template-columns:1fr; gap:38px; }
  .bk-map__in{ grid-template-columns:1fr; gap:32px; }
  .bk-sub__in{ grid-template-columns:1fr; gap:30px; }
  .bk-lnb ul{ display:flex; flex-wrap:wrap; }
  .bk-lnb li a{ border-bottom:0; padding:10px 14px; }
}
@media (max-width:640px){
  :root{ --bk-gutter:18px; }
  .bk-util__tel{ display:none; }
  .bk-util__in{ justify-content:flex-end; }
  .bk-sec{ padding:58px 0; }
  .bk-head{ margin-bottom:36px; }
  .bk-hero{ min-height:500px; }
  .bk-hero__in{ padding:92px var(--bk-gutter) 84px; }
  .bk-search{ padding:6px 6px 6px 16px; margin-top:34px; }
  .bk-search input[type=search]{ height:42px; font-size:14px; }
  .bk-search button{ width:46px; height:42px; }
  .bk-band__tel span{ font-size:22px; }
  .bk-fields__grid{ grid-template-columns:1fr; gap:12px; }
  .bk-fields__item:nth-child(2n){ transform:none; }
  .bk-fields__item a{ min-height:0; padding:22px 22px; flex-direction:row; align-items:center; gap:16px; }
  .bk-fields__item strong{ margin-top:0; font-size:17px; }
  .bk-fields__go{ margin-left:auto; }
  .bk-fields{ padding-bottom:58px; }
  .bk-cases__grid{ grid-template-columns:1fr; }
  .bk-members__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .bk-members__txt{ padding:18px 16px 20px; }
  .bk-members__txt h3{ font-size:17px; }
  .bk-form{ grid-template-columns:1fr; padding:26px 20px 24px; }
  .bk-counsel__tel{ font-size:25px; }
  .bk-map__txt dl{ grid-template-columns:80px 1fr; }
  .bk-sbanner{ height:170px; }
  .bk-sbanner__h{ font-size:24px; }
  .bk-more a{ padding:13px 28px; }
}

/* ============================================================
   상단 2단 — 좌측 안내 · 우측 슬라이더
   ============================================================ */
.bk-intro{ padding:22px 0 0; background:var(--bk-bg); }
.bk-intro__in{ display:grid; grid-template-columns:236px 1fr; gap:18px; align-items:stretch; }

.bk-side{ display:flex; flex-direction:column; gap:12px; }
.bk-side__brand{ padding:20px 18px; border-radius:10px; color:#fff;
  background:linear-gradient(160deg,var(--bk-navy) 0%,var(--bk-navy-d) 100%); }
.bk-side__bten{ margin:0 0 10px; font-size:11px; font-weight:700; letter-spacing:.1em; color:#9fc0ef; }
.bk-side__brand strong{ display:block; font-size:19px; font-weight:800; line-height:1.45; letter-spacing:-.02em; }
.bk-side__brand span{ display:block; margin-top:8px; font-size:13px; color:#c3d8f5; }

.bk-side__trial{ padding:16px; border:2px solid var(--bk-gold); border-radius:10px; background:#fff; }
.bk-side__tt{ margin:0; font-size:15px; font-weight:700; color:var(--bk-ink); }
.bk-side__tt b{ color:var(--bk-gold); font-weight:800; }
.bk-side__td{ margin:8px 0 12px; font-size:12.5px; line-height:1.65; color:var(--bk-body); word-break:keep-all; }
.bk-side__tbtn{ display:inline-flex; align-items:center; gap:4px; padding:7px 13px; border-radius:6px;
  background:var(--bk-gold); color:#fff; font-size:12.5px; font-weight:700; text-decoration:none; }
.bk-side__tbtn:hover{ filter:brightness(.94); }

.bk-side__cs{ padding:16px; border:1px solid var(--bk-line); border-radius:10px; background:#fff; text-align:center; }
.bk-side__cs p{ margin:0 0 8px; font-size:13px; font-weight:700; color:var(--bk-ink); }
.bk-side__tel{ display:block; font-size:23px; font-weight:800; letter-spacing:-.02em;
  color:var(--bk-navy); text-decoration:none; }
.bk-side__hours{ display:block; margin-top:6px; font-size:12px; color:var(--bk-body); }
.bk-side__hours.is-open::before{ content:"\25CF  "; color:#12a150; font-size:9px; vertical-align:2px; }

.bk-side__links{ display:grid; gap:8px; margin:0; padding:0; list-style:none; }
.bk-side__links a{ display:block; padding:13px 14px; border:1px solid var(--bk-line); border-radius:8px;
  background:#fff; color:var(--bk-ink); font-size:14px; font-weight:700; text-align:center; text-decoration:none; }
.bk-side__links a:hover{ border-color:var(--bk-navy); color:var(--bk-navy); }

.bk-intro .bk-hero{ position:relative; border-radius:10px; overflow:hidden; background:var(--bk-navy-d); min-height:330px; height:100%; }
.bk-intro .bk-hero__track{ display:flex; height:100%; }
.bk-intro .bk-hero__slide{ flex:0 0 100%; }
.bk-intro .bk-hero__slide img{ width:100%; height:100%; min-height:330px; object-fit:cover; display:block; opacity:.5; }
.bk-hero__ph{ display:block; width:100%; height:100%; min-height:330px; background:linear-gradient(135deg,#123a7a,#0b2a5c); }
.bk-hero__copy{ position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center;
  padding:0 40px; color:#fff; }
.bk-hero__top{ margin:0 0 10px; font-size:13px; font-weight:700; color:#9fc0ef; }
.bk-hero__copy h1{ margin:0; font-size:29px; font-weight:800; line-height:1.45; letter-spacing:-.025em; }
.bk-hero__desc{ margin:12px 0 18px; font-size:14.5px; line-height:1.7; color:#d5e3f7; word-break:keep-all; }
.bk-hero__cta{ align-self:flex-start; padding:11px 22px; border-radius:6px; background:#fff;
  color:var(--bk-navy); font-size:14px; font-weight:800; text-decoration:none; }
.bk-hero__cta:hover{ background:#eaf1fb; }


/* ============================================================
   신간 안내 — 표지 그리드
   ============================================================ */
.bk-books{ display:grid; grid-template-columns:repeat(4,1fr); gap:30px 24px; margin:34px 0 0; padding:0; list-style:none; }
.bk-book a{ display:block; text-decoration:none; color:inherit; }
.bk-book__cover{ position:relative; display:flex; flex-direction:column; justify-content:center;
  aspect-ratio:3/4; padding:26px 20px; border-radius:3px; overflow:hidden;
  background:linear-gradient(160deg, hsl(var(--h) 52% 46%) 0%, hsl(var(--h) 58% 32%) 100%);
  box-shadow:0 10px 26px rgba(16,32,58,.2), inset -8px 0 14px -10px rgba(0,0,0,.5);
  transition:transform .28s ease, box-shadow .28s ease; }
.bk-book a:hover .bk-book__cover{ transform:translateY(-5px); box-shadow:0 16px 34px rgba(16,32,58,.28); }
.bk-book__cover img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.bk-book__band{ position:absolute; left:0; top:0; bottom:0; width:13px; background:rgba(0,0,0,.22); }
.bk-book__ctit{ font-size:19px; font-weight:800; line-height:1.4; color:#fff; letter-spacing:-.02em;
  word-break:keep-all; text-shadow:0 1px 2px rgba(0,0,0,.25); }
.bk-book__cyear{ margin-top:10px; font-size:12px; font-weight:700; color:rgba(255,255,255,.82); }
.bk-book__t{ display:block; margin:14px 0 0; font-size:14.5px; font-weight:700; line-height:1.5;
  color:var(--bk-ink); word-break:keep-all; }
.bk-book__t em{ font-style:normal; font-weight:600; color:var(--bk-body); }
.bk-book__m{ display:block; margin-top:5px; font-size:12.5px; color:var(--bk-body); }
.bk-book__p{ display:block; margin-top:4px; font-size:13.5px; font-weight:800; color:var(--bk-navy); }

/* ============================================================
   분야별 도서
   ============================================================ */
.bk-cates{ display:grid; grid-template-columns:repeat(6,1fr); gap:12px; margin:34px 0 0; padding:0; list-style:none; }
.bk-cates a{ display:flex; flex-direction:column; align-items:center; gap:10px; padding:22px 10px;
  border:1px solid var(--bk-line); border-radius:10px; background:#fff;
  color:var(--bk-ink); text-decoration:none; transition:all .16s ease; }
.bk-cates a:hover{ border-color:var(--bk-navy); background:#f6f9fe; transform:translateY(-2px); }
.bk-cates__ico{ width:34px; height:34px; color:var(--bk-navy); }
.bk-cates__ico svg{ width:100%; height:100%; }
.bk-cates b{ font-size:13.5px; font-weight:700; line-height:1.45; text-align:center; word-break:keep-all; }

/* ============================================================
   정기구독 · 회원제
   ============================================================ */
.bk-plans{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:34px 0 0; padding:0; list-style:none; }
.bk-plans__i{ position:relative; padding:28px 24px; border:1px solid var(--bk-line); border-radius:12px; background:#fff; }
.bk-plans__i.is-best{ border-color:var(--bk-navy); box-shadow:0 10px 30px rgba(18,58,122,.1); }
.bk-plans__badge{ position:absolute; top:-11px; left:24px; padding:4px 12px; border-radius:999px;
  background:var(--bk-gold); color:#fff; font-size:11.5px; font-weight:800; }
.bk-plans__i strong{ display:block; font-size:18px; font-weight:800; color:var(--bk-ink); }
.bk-plans__term{ margin:4px 0 0; font-size:12.5px; color:var(--bk-body); }
.bk-plans__price{ margin:14px 0 0; font-size:24px; font-weight:800; color:var(--bk-navy); letter-spacing:-.02em; }
.bk-plans__desc{ margin:10px 0 0; font-size:13.5px; line-height:1.65; color:var(--bk-body); word-break:keep-all; }
.bk-plans__items{ margin:16px 0 0; padding:16px 0 0; border-top:1px solid var(--bk-line); list-style:none; }
.bk-plans__items li{ position:relative; padding:0 0 0 18px; margin-bottom:7px; font-size:13px; color:var(--bk-ink); }
.bk-plans__items li::before{ content:"\2713"; position:absolute; left:0; color:var(--bk-navy); font-weight:800; }
.bk-plans__btn{ display:block; margin-top:20px; padding:12px; border-radius:7px; background:var(--bk-navy);
  color:#fff; font-size:14px; font-weight:700; text-align:center; text-decoration:none; }
.bk-plans__btn:hover{ background:var(--bk-navy-d); }

/* ============================================================
   공지 · 자료실 목록
   ============================================================ */
.bk-insight__in{ display:grid; grid-template-columns:repeat(2,1fr); gap:40px; }
.bk-insight__h{ display:flex; align-items:center; justify-content:space-between;
  padding:0 0 12px; border-bottom:2px solid var(--bk-ink); }
.bk-insight__h h2{ margin:0; font-size:19px; font-weight:800; color:var(--bk-ink); }
.bk-insight__h a{ font-size:13px; color:var(--bk-body); text-decoration:none; }
.bk-insight__h a:hover{ color:var(--bk-navy); }
.bk-list{ margin:0; padding:0; list-style:none; }
.bk-list li{ border-bottom:1px solid var(--bk-line); }
.bk-list a{ display:flex; align-items:center; gap:14px; padding:14px 2px; text-decoration:none; }
.bk-list span{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  font-size:14.5px; color:var(--bk-ink); }
.bk-list a:hover span{ color:var(--bk-navy); text-decoration:underline; }
.bk-list em{ flex:0 0 auto; font-style:normal; font-size:12.5px; color:var(--bk-body); }
.bk-list__none{ padding:40px 0; text-align:center; font-size:14px; color:var(--bk-body); }

/* ============================================================
   반응형
   ============================================================ */
@media (max-width:1180px){
  .bk-intro__in{ grid-template-columns:212px 1fr; }
  .bk-books{ grid-template-columns:repeat(3,1fr); }
  .bk-cates{ grid-template-columns:repeat(4,1fr); }
}
@media (max-width:900px){
  .bk-intro__in{ grid-template-columns:1fr; }
  .bk-side{ display:grid; grid-template-columns:repeat(2,1fr); }
  .bk-side__brand{ grid-column:1 / -1; }
  .bk-side__links{ grid-column:1 / -1; grid-template-columns:repeat(2,1fr); }
  .bk-hero__copy{ padding:0 26px; }
  .bk-hero__copy h1{ font-size:23px; }
  .bk-plans{ grid-template-columns:1fr; }
  .bk-insight__in{ grid-template-columns:1fr; gap:34px; }
}
@media (max-width:620px){
  .bk-lead{ font-size:14.5px; line-height:1.75; }
  .bk-side{ grid-template-columns:1fr; }
  .bk-books{ grid-template-columns:repeat(2,1fr); gap:22px 16px; }
  .bk-cates{ grid-template-columns:repeat(3,1fr); }
  .bk-book__ctit{ font-size:16px; }
  .bk-intro .bk-hero__slide img,
  .bk-hero__ph{ height:280px; }
  .bk-hero__copy h1{ font-size:20px; }
}

/* ============================================================
   주문서 — 사업자 정보 · 세금계산서 발행 전제
   ============================================================ */
.bk-ord{ margin:34px 0 0; }
.bk-ord__done{ margin:0 0 18px; padding:14px 18px; border:1px solid #b9e0c4; border-radius:8px;
  background:#f2fbf5; color:#1c7a3d; font-size:14px; font-weight:700; }

.bk-ord__tb{ width:100%; border-collapse:collapse; border-top:2px solid var(--bk-ink); }
.bk-ord__tb th, .bk-ord__tb td{ padding:12px 14px; border-bottom:1px solid var(--bk-line);
  font-size:14px; text-align:left; vertical-align:middle; }
.bk-ord__tb th{ width:150px; background:#f6f8fb; color:var(--bk-ink); font-weight:700; }
.bk-ord__tb th b{ color:var(--bk-gold); }
.bk-ord__tb input[type=text],
.bk-ord__tb input[type=tel],
.bk-ord__tb input[type=email]{ width:100%; max-width:380px; height:40px; padding:0 12px;
  border:1px solid var(--bk-line); border-radius:5px; background:#fff;
  font-size:14px; color:var(--bk-ink); }
.bk-ord__tb td:has(> input[maxlength="120"]) input,
.bk-ord__tb td[colspan="3"] input[type=text]{ max-width:100%; }
.bk-ord__tb textarea{ width:100%; min-height:110px; padding:12px 14px; box-sizing:border-box;
  border:1px solid var(--bk-line); border-radius:5px; background:#fff;
  font-size:14px; line-height:1.7; color:var(--bk-ink); resize:vertical; }
.bk-ord__tb input:focus, .bk-ord__tb textarea:focus{ border-color:var(--bk-navy); outline:0;
  box-shadow:0 0 0 3px rgba(18,58,122,.08); }
.bk-ord__hint{ margin-left:10px; font-size:12.5px; color:var(--bk-body); }

.bk-ord__guide{ margin:22px 0 0; padding:18px 22px; border:1px solid var(--bk-line);
  border-radius:8px; background:#f9fbfd; list-style:none; }
.bk-ord__guide li{ position:relative; padding-left:14px; margin-bottom:7px;
  font-size:13.5px; line-height:1.7; color:var(--bk-body); word-break:keep-all; }
.bk-ord__guide li::before{ content:"\00B7"; position:absolute; left:2px; font-weight:800; }
.bk-ord__guide li:last-child{ margin-bottom:0; }
.bk-ord__bank{ margin-top:12px !important; padding:10px 12px 10px 24px !important;
  border-radius:6px; background:#fff; border:1px dashed var(--bk-gold);
  color:var(--bk-ink) !important; font-weight:700; }

.bk-ord__priv{ margin:16px 0 0; font-size:12.5px; line-height:1.7; color:var(--bk-body); }
.bk-ord__agree{ display:inline-flex; align-items:center; gap:8px; margin:12px 0 0;
  font-size:14px; color:var(--bk-ink); cursor:pointer; }
.bk-ord__agree input{ width:17px; height:17px; }

.bk-ord__err{ margin:14px 0 0; padding:11px 14px; border:1px solid #f3c2bd; border-radius:6px;
  background:#fdf3f2; color:#b3261e; font-size:13.5px; }

.bk-ord__btns{ display:flex; justify-content:center; gap:10px; margin:26px 0 0; }
.bk-ord__submit{ height:52px; padding:0 54px; border:0; border-radius:6px;
  background:var(--bk-navy); color:#fff; font-size:17px; font-weight:800; letter-spacing:.06em; cursor:pointer; }
.bk-ord__submit:hover{ background:var(--bk-navy-d); }
.bk-ord__submit:disabled{ background:#9aa6b6; cursor:default; }
.bk-ord__reset{ height:52px; padding:0 30px; border:1px solid var(--bk-line); border-radius:6px;
  background:#fff; color:var(--bk-ink); font-size:16px; font-weight:700; cursor:pointer; }
.bk-ord__reset:hover{ background:#f5f7fa; }

@media (max-width:820px){
  .bk-ord__tb, .bk-ord__tb tbody, .bk-ord__tb tr, .bk-ord__tb th, .bk-ord__tb td{ display:block; width:auto; }
  .bk-ord__tb tr{ border-bottom:1px solid var(--bk-line); padding:4px 0; }
  .bk-ord__tb th{ width:auto; border:0; background:none; padding:10px 2px 4px; font-size:13.5px; }
  .bk-ord__tb td{ border:0; padding:0 2px 10px; }
  .bk-ord__tb input[type=text], .bk-ord__tb input[type=tel], .bk-ord__tb input[type=email]{ max-width:100%; }
  .bk-ord__hint{ display:block; margin:6px 0 0; }
  .bk-ord__btns{ flex-direction:column-reverse; }
  .bk-ord__submit, .bk-ord__reset{ width:100%; padding:0; }
}

/* 주문 안내 띠 (메인) */
.bk-ordcta__in{ display:flex; align-items:center; justify-content:space-between; gap:30px;
  padding:34px 36px; border-radius:12px; background:linear-gradient(160deg,var(--bk-navy) 0%,var(--bk-navy-d) 100%); color:#fff; }
.bk-ordcta__in .bk-en{ color:#9fc0ef; }
.bk-ordcta__in .bk-h2{ color:#fff; }
.bk-ordcta__in .bk-lead{ color:#d5e3f7; margin-top:10px; }
.bk-ordcta__act{ flex:0 0 auto; text-align:center; }
.bk-ordcta__btn{ display:inline-block; padding:15px 34px; border-radius:7px; background:#fff;
  color:var(--bk-navy); font-size:16px; font-weight:800; text-decoration:none; }
.bk-ordcta__btn:hover{ background:#eaf1fb; }
.bk-ordcta__tel{ display:block; margin-top:14px; color:#fff; font-size:22px; font-weight:800;
  letter-spacing:-.02em; text-decoration:none; }
.bk-ordcta__hours{ display:block; margin-top:4px; font-size:12.5px; color:#c3d8f5; }

/* 주문서 페이지 상단 */
.bk-crumb{ padding:26px 0 0; font-size:13px; color:var(--bk-body); }
.bk-crumb a{ color:var(--bk-body); text-decoration:none; }
.bk-crumb a:hover{ color:var(--bk-navy); }
.bk-crumb span{ margin:0 6px; color:var(--bk-line); }

@media (max-width:820px){
  .bk-ordcta__in{ flex-direction:column; align-items:stretch; text-align:center; padding:26px 20px; }
  .bk-ordcta__btn{ display:block; }
}

/* 주소 검색 */
.bk-ord__addr{ display:grid; gap:8px; max-width:520px; }
.bk-ord__addr1{ display:flex; gap:8px; }
.bk-ord__addr1 input{ flex:0 0 140px; }
.bk-ord__zipbtn{ flex:0 0 auto; height:40px; padding:0 18px; border:1px solid var(--bk-navy);
  border-radius:5px; background:#fff; color:var(--bk-navy); font-size:13.5px; font-weight:700; cursor:pointer; }
.bk-ord__zipbtn:hover{ background:var(--bk-navy); color:#fff; }
.bk-ord__zipwrap{ margin-top:10px; width:100%; max-width:520px; height:420px;
  border:1px solid var(--bk-line); border-radius:6px; overflow:hidden; }
@media (max-width:820px){
  .bk-ord__addr, .bk-ord__zipwrap{ max-width:100%; }
  .bk-ord__addr1 input{ flex:1 1 auto; }
}

/* 주문 도서 — 주문서 맨 위에 두어 무엇을 사는지 먼저 확인시킨다 */
.bk-ord__books > th, .bk-ord__books > td{ border-bottom:2px solid var(--bk-navy); }
.bk-ord__books > th{ background:var(--bk-navy); color:#fff; }
.bk-ord__books > th b{ color:#ffd479; }
.bk-ord__books > td{ background:#fbfcfe; }
@media (max-width:820px){
  .bk-ord__books > th{ background:none; color:var(--bk-ink); }
  .bk-ord__books > th b{ color:var(--bk-gold); }
  .bk-ord__books > th, .bk-ord__books > td{ border-bottom:0; }
  .bk-ord__books{ border-bottom:2px solid var(--bk-navy); margin:0 0 10px; }
}

/* 주문 도서 선택 표 */
.bk-pick{ width:100%; border-collapse:collapse; margin:0 0 10px; }
.bk-pick thead th{ padding:9px 10px; border-bottom:1px solid var(--bk-line);
  background:#f6f8fb; font-size:12.5px; font-weight:700; color:var(--bk-body); text-align:left; }
.bk-pick thead th:nth-child(2){ width:90px; }
.bk-pick thead th:nth-child(3){ width:120px; text-align:right; }
.bk-pick thead th:nth-child(4){ width:44px; }
.bk-pick td{ padding:8px 10px; border-bottom:1px solid var(--bk-line); vertical-align:middle; }
.bk-pick__sel{ width:100%; height:38px; padding:0 10px; border:1px solid var(--bk-line);
  border-radius:5px; background:#fff; font-size:13.5px; color:var(--bk-ink); }
.bk-pick__qty{ width:100%; height:38px; padding:0 8px; border:1px solid var(--bk-line);
  border-radius:5px; text-align:center; font-size:14px; }
.bk-pick__amt{ text-align:right; font-size:13.5px; color:var(--bk-ink); white-space:nowrap; }
.bk-pick__del{ width:30px; height:30px; border:1px solid var(--bk-line); border-radius:5px;
  background:#fff; color:var(--bk-body); font-size:16px; line-height:1; cursor:pointer; }
.bk-pick__del:hover{ background:#fdf3f2; border-color:#f3c2bd; color:#b3261e; }
.bk-pick tfoot th{ padding:12px 10px; font-size:14px; font-weight:700; color:var(--bk-ink); text-align:right; }
.bk-pick__sum{ padding:12px 10px; text-align:right; font-size:18px; font-weight:800;
  color:var(--bk-navy); white-space:nowrap; }
.bk-pick__add{ height:38px; padding:0 16px; border:1px dashed var(--bk-navy); border-radius:5px;
  background:#fff; color:var(--bk-navy); font-size:13.5px; font-weight:700; cursor:pointer; }
.bk-pick__add:hover{ background:#f2f6fc; }
.bk-pick__note{ margin:10px 0 0; font-size:12.5px; color:var(--bk-body); }

@media (max-width:820px){
  .bk-pick thead{ display:none; }
  .bk-pick tr{ display:grid; grid-template-columns:1fr 78px 30px; gap:6px; align-items:center;
    padding:8px 0; border-bottom:1px solid var(--bk-line); }
  .bk-pick td{ border:0; padding:0; }
  .bk-pick__amt{ grid-column:1 / 3; text-align:left; font-size:12.5px; color:var(--bk-body); }
  .bk-pick tfoot tr{ grid-template-columns:1fr auto; }
  .bk-pick tfoot th{ padding:10px 0; }
  .bk-pick__sum{ padding:10px 0; }
}

/* 도서 분류 탭 */
.bk-bt{ display:flex; flex-wrap:wrap; gap:8px; margin:26px 0 0; }
.bk-bt button{ display:inline-flex; align-items:center; gap:6px; height:38px; padding:0 16px;
  border:1px solid var(--bk-line); border-radius:999px; background:#fff;
  color:var(--bk-body); font-size:13.5px; font-weight:600; cursor:pointer; transition:all .15s ease; }
.bk-bt button:hover{ border-color:#9aa8bb; color:var(--bk-ink); }
.bk-bt button em{ font-style:normal; font-size:12px; color:var(--bk-dim,#9aa0a8); }
.bk-bt button.is-on{ background:var(--bk-navy); border-color:var(--bk-navy); color:#fff; }
.bk-bt button.is-on em{ color:rgba(255,255,255,.7); }

.bk-book__off{ position:absolute; top:8px; right:8px; padding:3px 8px; border-radius:4px;
  background:#d33b2f; color:#fff; font-size:11.5px; font-weight:800; }
.bk-book__p s{ margin-right:6px; color:#9aa0a8; font-size:12.5px; font-weight:500; }
.bk-book__p b{ color:var(--bk-navy); font-weight:800; }

.bk-books__none{ grid-column:1/-1; padding:60px 0; text-align:center;
  font-size:14.5px; color:var(--bk-body); }
.bk-books__none.is-hide{ display:none; }

.bk-books__more{ margin:34px 0 0; text-align:center; }
.bk-books__more a{ display:inline-block; padding:13px 30px; border:1px solid var(--bk-line);
  border-radius:999px; background:#fff; color:var(--bk-ink);
  font-size:14px; font-weight:700; text-decoration:none; }
.bk-books__more a:hover{ border-color:var(--bk-navy); color:var(--bk-navy); }

/* 분야 카드에 권수 표시 */
.bk-cates a em{ font-style:normal; font-size:11.5px; color:#9aa0a8; }

/* 헤더 장바구니 배지 */
.bk-hcta__n[hidden]{ display:none; }
.bk-hcta__n{ display:inline-flex; align-items:center; justify-content:center;
  min-width:20px; height:20px; margin-left:6px; padding:0 6px; border-radius:999px;
  background:var(--bk-gold); color:#fff; font-size:11.5px; font-weight:800; line-height:1; }

/* 주문서 — 장바구니 관련 */
.bk-pick__acts{ display:flex; gap:8px; }
.bk-pick__clear{ height:38px; padding:0 14px; border:1px solid var(--bk-line); border-radius:5px;
  background:#fff; color:var(--bk-body); font-size:13px; cursor:pointer; }
.bk-pick__clear:hover{ background:#fdf3f2; border-color:#f3c2bd; color:#b3261e; }
.bk-pick__cart{ margin:10px 0 0; padding:9px 12px; border-radius:6px; background:#f2f6fc;
  color:var(--bk-navy); font-size:12.5px; font-weight:600; }
.bk-pick__cart.is-hide{ display:none; }

/* ============================================================
   장바구니 모달 (cart.js 가 만든다 — 모든 페이지에서 쓴다)
   ============================================================ */
body.bkc-lock{ overflow:hidden; }
.bkc{ position:fixed; inset:0; z-index:12000; display:none; }
.bkc.is-on{ display:block; }
.bkc__bg{ position:absolute; inset:0; background:rgba(10,18,32,.55); }
.bkc__box{ position:relative; width:min(560px, calc(100vw - 28px)); margin:0 auto; top:50%;
  transform:translateY(-50%); background:#fff; border-radius:14px; overflow:hidden;
  box-shadow:0 26px 60px rgba(8,18,36,.32); }

.bkc__head{ display:flex; align-items:center; justify-content:space-between;
  padding:16px 20px; border-bottom:1px solid #e1e5ea; }
.bkc__head strong{ font-size:17px; font-weight:800; color:#15181c; }
.bkc__x{ width:32px; height:32px; border:0; border-radius:8px; background:#f2f5f9;
  color:#5f666f; font-size:20px; line-height:1; cursor:pointer; }
.bkc__x:hover{ background:#e6ebf2; color:#15181c; }

.bkc__body{ max-height:52vh; overflow-y:auto; padding:6px 20px; }
.bkc__none{ padding:56px 0; text-align:center; font-size:14.5px; color:#98a0aa; }

.bkc__list{ margin:0; padding:0; list-style:none; }
.bkc__i{ display:grid; grid-template-columns:1fr auto auto 30px; align-items:center; gap:12px;
  padding:14px 0; border-bottom:1px solid #eef1f5; }
.bkc__i:last-child{ border-bottom:0; }
.bkc__t{ font-size:14.5px; font-weight:700; color:#15181c; line-height:1.45; word-break:keep-all; }

.bkc__q{ display:inline-flex; align-items:center; border:1px solid #e1e5ea; border-radius:6px; overflow:hidden; }
.bkc__q button{ width:30px; height:32px; border:0; background:#fff; color:#5f666f;
  font-size:15px; line-height:1; cursor:pointer; }
.bkc__q button:hover{ background:#f2f5f9; color:#123a7a; }
.bkc__q b{ min-width:34px; text-align:center; font-size:14px; font-weight:700; color:#15181c; }

.bkc__amt{ min-width:86px; text-align:right; font-size:14px; font-weight:700; color:#123a7a; white-space:nowrap; }
.bkc__del{ width:28px; height:28px; border:1px solid #e1e5ea; border-radius:6px; background:#fff;
  color:#98a0aa; font-size:15px; line-height:1; cursor:pointer; }
.bkc__del:hover{ background:#fdf3f2; border-color:#f3c2bd; color:#b3261e; }

.bkc__foot{ display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding:16px 20px; border-top:1px solid #e1e5ea; background:#fafbfc; }
.bkc__sum{ font-size:14px; color:#5f666f; }
.bkc__sum b{ margin-left:6px; font-size:19px; font-weight:800; color:#123a7a; }
.bkc__acts{ display:flex; gap:8px; }
.bkc__keep{ height:44px; padding:0 16px; border:1px solid #e1e5ea; border-radius:6px;
  background:#fff; color:#15181c; font-size:14px; font-weight:700; cursor:pointer; }
.bkc__keep:hover{ background:#f2f5f9; }
.bkc__go{ display:inline-flex; align-items:center; height:44px; padding:0 22px; border-radius:6px;
  background:#123a7a; color:#fff; font-size:15px; font-weight:800; text-decoration:none; }
.bkc__go:hover{ background:#0b2a5c; }
.bkc__go.is-off{ background:#b7c0cd; pointer-events:none; }

@media (max-width:560px){
  .bkc__i{ grid-template-columns:1fr auto; grid-template-areas:'t t' 'q a'; row-gap:8px; }
  .bkc__t{ grid-area:t; }
  .bkc__q{ grid-area:q; }
  .bkc__amt{ grid-area:a; }
  .bkc__del{ position:absolute; right:20px; }
  .bkc__i{ position:relative; padding-right:36px; }
  .bkc__foot{ flex-direction:column; align-items:stretch; }
  .bkc__acts{ display:grid; grid-template-columns:1fr 1fr; }
  .bkc__go{ justify-content:center; }
}

button.bk-hcta{ border:0; cursor:pointer; font-family:inherit; }
