@charset "utf-8";

/* CSS 변수 추가 - 퍼플 컬러 팔레트 */
:root {
  --primary: #7c3aed; /* 기존 주황색 대체 */
  --primary-dark: #6d28d9; /* 진한 퍼플 */
  --primary-light: #f3e8ff; /* 연한 퍼플 배경 */
  --primary-lighter: #faf5ff; /* 더 연한 퍼플 */
  --primary-medium: #8b5cf6; /* 중간 퍼플 */
  --primary-pale: #ddd6fe; /* 페일 퍼플 */
  --white: #ffffff;
  --black: #000000;
  --black-rgb: 0, 0, 0;
  --bg-color: #fafafa;
  --border-color: #e5e5e5;
  --text-color1: #333333;
  --text-color2: #666666;
  --text-color3: #999999;
  --line-color1: #e5e5e5;
  --fw-medium: 500;
  --fw-bold: 700;
  --fs-p2: 14px;
}

/* book-N1 - 헤더 섹션 (변경 사항 없음 - 주황색 없음) */
.book-N1 {
  position: sticky;
  top: 0;
  width: 100%;
  background: var(--white);
  z-index: 99;
}

.book-N1.top-menu-active {
  padding-top: 6.7rem;
}

.book-N1 .header-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 8.6rem;
  box-sizing: border-box;
}

.book-N1 .header-top {
  width: 100%;
  border-bottom: 1px solid #e5e5e5;
  position: absolute;
  top: 0;
  left: 0;
}

.book-N1 .user-menu {
  width: 100%;
  max-width: 1440px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0 8rem;
  margin: 0 auto;
}

.book-N1 .user-menu li {
  position: relative;
}

.book-N1 .user-menu li:not(:first-child)::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 0.1rem;
  height: 1.2rem;
  background: #e5e5e5;
}

.book-N1 .user-menu li a {
  padding: 2rem 1.2rem;
  font-weight: 400;
  text-align: center;
  white-space: nowrap;
}

.book-N1 .user-menu li:last-child a {
  padding: 2rem 0 2rem 1.2rem;
}

.book-N1 .header-left {
  display: flex;
  align-items: center;
  gap: 3rem;
}

.book-N1 .header-title {
  margin-bottom: 0;
}

.book-N1 .header-title a {
  height: 2.8rem;
}

.book-N1 .header-title img {
  height: 100%;
  object-fit: contain;
  vertical-align: top;
}

.book-N1 .header-gnblist {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}

.book-N1 .header-gnbitem {
  position: relative;
}

.book-N1 .header-gnblink {
  height: 100%;
  padding: 2.8rem 3rem;
  font-weight: 500;
  text-align: center;
  white-space: nowrap;
}

.book-N1 .header-gnblink span {
  position: relative;
}

.book-N1 .header-gnblink span::after {
  content: "";
  height: 0.2rem;
  width: 100%;
  transition: 0.3s;
  transform: scaleX(0);
}

.book-N1 .header-sublist {
  min-height: 0;
  position: absolute;
  top: 100%;
  transition: opacity 0.3s;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
}

.book-N1 .header-gnbitem:hover .header-sublist {
  min-height: auto;
  opacity: 1;
  overflow: hidden;
  pointer-events: auto;
}

.book-N1 .header-gnbitem:hover .header-gnblink span::after {
  content: "";
  display: inline-block;
  position: absolute;
  left: 0;
  top: 100%;
  background-color: var(--black);
  transform: scaleX(1);
}

.book-N1 .header-subitem {
  width: 14rem;
  background: var(--white);
  overflow: hidden;
}

.book-N1 .header-sublink {
  width: 100%;
  padding: 1rem 2rem;
  font-weight: 500;
  transition: color 0.2s, background 0.2s;
  will-change: color, background;
}

.book-N1 .header-sublink:hover {
  background: var(--black);
  color: var(--white);
}

.book-N1 .header-right {
  display: flex;
  align-items: center;
}

.book-N1 .header-right .header-gnb {
  margin-right: 1.8rem;
}

.book-N1 .header-utils>ul {
  display: flex;
  align-items: center;
}

.book-N1 .header-utils>ul>li {
  margin-left: 1.2rem;
}

.book-N1 .header-utils>ul>li>img {
  width: auto;
  height: 100%;
  object-fit: cover;
  vertical-align: top;
}

.book-N1 .header-right button {
  max-width: 3.2rem;
  background: none;
  border: none;
}

.book-N1 .header-right button img {
  width: auto;
  max-height: 100%;
  object-fit: cover;
  vertical-align: top;
}

.book-N1 .header-utils .member a {
  width: 3.2rem;
  height: 3.2rem;
  font-size: 0;
  display: block;
}

.book-N1 .header-utils .member img {
  max-width: 100%;
  max-height: 100%;
  object-fit: cover;
  vertical-align: top;
}

.book-N1 .header-utils .btn-allmenu {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}

.book-N1 .header-utils .btn-allmenu:hover .ico-hamburger:nth-child(2) {
  width: 2.4rem;
}

.book-N1 .header-utils .btn-allmenu .ico-hamburger,
.book-N1 .btn-momenu .ico-hamburger {
  width: 2.4rem;
  height: 0.2rem;
  background: var(--black);
  border-radius: 1rem;
  transition: width 0.3s, transform 0.3s, opacity 0.3s;
  will-change: width, transform, opacity;
}

.book-N1 .header-utils .btn-allmenu .ico-hamburger:nth-child(even),
.book-N1 .btn-momenu .ico-hamburger:nth-child(2) {
  width: 1.4rem;
}

.book-N1 .btn-momenu {
  display: none;
}

.book-N1 .btn-moclose {
  display: none;
}

.book-N1 .header-fullmenu {
  position: fixed;
  z-index: 99999;
  padding: 0 2.4rem;
  background: var(--black);
  transition: 0.3s;
  opacity: 0;
  visibility: hidden;
  overflow: hidden;
}

.book-N1 .header-fullmenu.fullmenu-right {
  width: 0;
  height: 100%;
  top: 0;
  right: 0;
}

.book-N1 .header-fullmenu.fullmenu-left {
  width: 0;
  height: 100%;
  top: 0;
  left: 0;
}

.book-N1 .header-fullmenu.fullmenu-top {
  top: 0;
  left: 0;
  width: 100%;
  height: 0;
}

.book-N1 .header-fullmenu.fullmenu-bottom {
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0;
}

.book-N1 .header-fullmenu.fullmenu-active {
  width: 100%;
  height: 100vh;
  opacity: 1;
  visibility: visible;
}

.book-N1 .fullmenu-wrapper {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  max-width: 128rem;
  margin: 0 auto;
}

.book-N1 .fullmenu-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10rem;
}

.book-N1 .fullmenu-title {
  margin-bottom: 0;
}

.book-N1 .fullmenu-title a {
  width: 13.6rem;
  height: 4.3rem;
}

.book-N1 .fullmenu-title img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.book-N1 .fullmenu-member {
  display: flex;
  position: absolute;
  top: 0;
  right: 0;
}

.book-N1 .fullmenu-member li {
  position: relative;
}

.book-N1 .fullmenu-member li a {
  padding: 1.2rem;
  font-weight: 500;
  color: var(--white);
}

.book-N1 .fullmenu-member li::marker {
  content: "";
}

.book-N1 .fullmenu-member li+li::after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 0.1rem;
  height: 1.4rem;
  background: rgba(255, 255, 255, 0.2);
}

.book-N1 .fullmenu-gnblist {
  display: flex;
  justify-content: center;
}

.book-N1 .fullmenu-gnbitem {
  width: 20%;
}

.book-N1 .fullmenu-gnbitem+.fullmenu-gnbitem {
  margin-left: 4rem;
}

.book-N1 .fullmenu-gnblink {
  position: relative;
  width: 100%;
  padding-bottom: 4rem;
  font-weight: 500;
  color: var(--white);
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.book-N1 .fullmenu-gnblink::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  width: 0;
  height: 0.1rem;
  background: var(--white);
  transition: 0.2s;
}

.book-N1 .fullmenu-gnblink.on::after {
  width: 18rem;
}

.book-N1 .fullmenu-sublist {
  padding-top: 4rem;
}

.book-N1 .fullmenu-subitem+.fullmenu-subitem {
  padding-top: 0.8rem;
}

.book-N1 .fullmenu-sublink {
  font-weight: 400;
  color: #a2a2a2;
  position: relative;
  padding-bottom: 5px;
  transition: 0.3s;
}

.book-N1 .fullmenu-sublink::before {
  content: "";
  width: 0;
  height: 1px;
  background-color: var(--white);
  position: absolute;
  top: 100%;
  right: 0;
  transition: width 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.book-N1 .fullmenu-sublink:hover {
  color: var(--white);
}

.book-N1 .fullmenu-sublink:hover::before {
  width: 100%;
  right: auto;
  left: 0;
}

.book-N1 .fullmenu-close {
  position: fixed;
  right: 8rem;
  top: 2.4rem;
  width: 3.2rem;
  height: 3.2rem;
  padding: 0.5rem;
  background: transparent;
  border: none;
}

.book-N1 .fullmenu-close img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 1280px) {
  .book-N1 .header-gnblink {
    padding: 2.8rem 2.5rem;
  }
}

@media (max-width: 992px) {
  .book-N1 {
    padding-top: 0;
    padding-bottom: 0;
  }

  .book-N1 .header-gnb {
    width: 100%;
    height: 0;
    position: absolute;
    top: 100%;
    background-color: var(--white);
    overflow: hidden;
    padding: 0 1.6rem;
    transition: height 0.3s;
    z-index: 9;
  }

  .book-N1.block-active .header-gnb {
    height: calc(100vh - 6rem);
    padding-bottom: 19rem;
    overflow-y: auto;
  }

  .book-N1 .header-container {
    min-height: 6rem;
  }

  .book-N1 .header-top {
    border: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s 0.1s, visibilty 0.3s 0.1s;
    will-change: opacity, visibility;
    z-index: 10;
  }

  .book-N1.block-active .header-top {
    top: 100%;
    opacity: 1;
    visibility: visible;
  }

  .book-N1 .user-menu {
    padding: 0 2.2rem;
    justify-content: flex-start;
  }

  .book-N1 .user-menu li a,
  .book-N1 .user-menu li:last-child a {
    padding: 2.4rem 1.2rem;
  }

  .book-N1 .user-menu li:first-child a {
    padding-left: 0;
  }

  .book-N1 .header-title a {
    width: 12rem;
    height: 2.6rem;
  }

  .book-N1 .header-center {
    width: 100%;
    height: 0;
    position: absolute;
    top: 100%;
    left: 0;
    transform: none;
  }

  .book-N1 .header-gnblist {
    display: block;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s 0.1s;
  }

  .book-N1 .header-gnblink {
    display: flex;
    align-items: flex-end;
    width: 100%;
    padding: 1.8rem 0;
    text-align: left;
    transition: border 0.3s;
    will-change: border;
    border-bottom: 1px solid #e5e5e5;
  }

  .book-N1.top-menu-active .header-gnbitem:first-child .header-gnblink {
    padding-top: 6.8rem;
  }

  .book-N1 .header-gnbitem:hover .header-gnblink span {
    border: none;
  }

  .book-N1 .header-gnbitem:hover .header-gnblink span::after {
    content: none;
  }

  .book-N1 .header-sublist {
    display: none;
    position: relative;
    opacity: 1;
    padding: 1.8rem 0 2rem 0;
  }

  .book-N1 .header-gnbitem.item-active .header-gnblink {
    border-bottom: 1px solid var(--black);
  }

  .book-N1 .header-subitem {
    width: 100%;
  }

  .book-N1 .header-subitem+.header-subitem {
    padding-top: 0.8rem;
  }

  .book-N1 .header-sublink {
    padding: 0;
    color: var(--text-color3);
  }

  .book-N1 .header-sublink:active {
    color: var(--black);
  }

  .book-N1 .header-sublink:hover {
    background: var(--white);
    color: var(--black);
  }

  .book-N1 .header-right button,
  .book-N1 .header-utils .member a {
    width: 2.8rem;
    height: 2.8rem;
  }

  .book-N1 .header-utils>ul>li {
    margin-left: 0.6rem;
  }

  .book-N1 .header-utils>ul>li .btnset {
    gap: 0;
    font-size: 0;
  }

  .book-N1 .header-utils .allmenu {
    display: none;
  }

  .book-N1 .btn-momenu {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.6rem;
    margin-left: 1rem;
  }

  .book-N1 .btn-momenu .ico-hamburger {
    width: 2rem;
  }

  .book-N1 .btn-momenu .ico-hamburger:nth-child(2) {
    width: 1.2rem;
  }

  .book-N1.block-active .header-center {
    pointer-events: auto;
  }

  .book-N1.block-active .header-title {
    height: 6rem;
    display: flex;
    align-items: center;
  }

  .book-N1.block-active .header-gnblist {
    opacity: 1;
    visibility: visible;
  }

  .book-N1 .header-gnbitem:has(.header-sublist) .header-gnblink::after {
    content: "";
    display: flex;
    width: 1.6rem;
    height: 1.6rem;
    background-image: url(../icons/ico_downarrow_black.svg);
    background-repeat: no-repeat;
    background-position: center right;
    background-size: cover;
    transition: transform 0.3s;
    will-change: transform;
  }

  .book-N1.block-active .header-gnblink {
    align-items: center;
    justify-content: space-between;
  }

  .book-N1.block-active .header-gnbitem.item-active .header-gnblink::after {
    content: "";
    transform: rotate(180deg);
  }

  .book-N1.block-active .header-member {
    display: flex;
  }

  .book-N1.block-active .btn-momenu .ico-hamburger:nth-child(1) {
    transform: translateY(0.8rem) rotate(45deg);
  }

  .book-N1.block-active .btn-momenu .ico-hamburger:nth-child(3) {
    transform: translateY(-0.8rem) rotate(-45deg);
  }

  .book-N1.block-active .btn-momenu .ico-hamburger:nth-child(2) {
    opacity: 0;
    visibility: hidden;
  }

  .book-N1 .header-fullmenu {
    display: none;
  }
}

/* book-N3 - 히어로 섹션 (변경 사항 없음 - 주황색 없음) */
html {
  overflow-x: hidden;
}

.book-N3 {
  position: relative;
  padding-top: 14rem;
  padding-bottom: 9rem;
  background: var(--bg-color);
}

.book-N3 .contents-container {
  height: 250vh;
}

.book-N3 .contents-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  height: 100%;
}

.book-N3 .wrap {
  overflow: hidden;
  position: relative;
  z-index: 1;
  width: 100vw;
  height: 100vh;
  mix-blend-mode: lighten;
  background: var(--bg-color);
}

.book-N3 .title-area {
  margin-bottom: 4rem;
  width: 100%;
  text-align: center;
  font-weight: var(--fw-medium);
}

.book-N3 .loop-area {
  overflow: hidden;
  width: 100vw;
}

.book-N3 .loop-inner {
  display: flex;
  padding-left: 8rem;
}

.book-N3 .text-wrap {
  display: flex;
}

.book-N3 .text-wrap span {
  transform: translateY(0.1em);
  padding-right: 2rem;
  font-size: 50rem;
  line-height: 1;
  font-family: "MODERNIZ", sans-serif;
  font-weight: var(--fw-bold);
  white-space: nowrap;
}

.book-N3 .bg {
  position: sticky;
  top: 0;
  background: url(https://cdn.imweb.me/upload/S202504108a8e61c83d135/b3a117cd4bfd7.png) no-repeat center/cover;
  width: 100vw;
  height: 100vh;
  margin-top: -100vh;
}

.book-N3 .bg-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 0 4rem;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.book-N3 .bg-inner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(var(--black-rgb), 0.26);
}

.book-N3 .title-wrap {
  position: relative;
  text-align: center;
  pointer-events: auto;
}

.book-N3 .title-wrap img {
  width: 18rem;
  object-fit: contain;
}

.book-N3 .title-wrap strong {
  display: block;
  margin: 1.6rem 0 0.8rem;
  color: var(--white);
  font-weight: var(--fw-medium);
}

.book-N3 .title-wrap p {
  color: var(--white);
}

.book-N3 .title-wrap .btnset {
  margin-top: 4rem;
}

@import url(https://fonts.cdnfonts.com/css/moderniz){}

@media (max-width: 992px) {
  .book-N3 {
    overflow: hidden;
    padding-top: 0;
    padding-bottom: 0;
  }

  .book-N3 .contents-container {
    height: calc(100% + 6.4rem);
  }

  .book-N3 .wrap {
    position: absolute;
    top: 0;
    height: 100%;
  }

  .book-N3 .title-area {
    margin-bottom: 0;
  }

  .book-N3 .loop-area {
    margin-left: 1.6rem;
    width: calc(100% + 1.6rem);
  }

  .book-N3 .loop-inner {
    padding-left: 1.6rem;
  }

  .book-N3 .text-wrap span {
    font-size: 15.4rem;
  }

  .book-N3 .bg {
    position: static;
    margin: 0;
    width: calc(100% + 3.2rem);
    height: 100%;
  }

  .book-N3 .bg-inner {
    opacity: 0;
    padding: 8rem 1.6rem 5.2rem;
  }

  .book-N3 .title-wrap img {
    width: 8.3rem;
  }

  .book-N3 .title-wrap strong {
    margin: 0.8rem 0 1.2rem;
  }

  .book-N3 .title-wrap .btnset {
    margin-top: 2rem;
  }
}

/* book-N4 - 스크롤 카드 섹션 (변경 사항 없음 - 주황색 없음) */
.book-N4 {
  position: relative;
  padding-top: 16rem;
  padding-bottom: 8rem;
  background: var(--bg-color);
}

.book-N4 .group-scroll {
  width: 100%;
  height: 500vh;
}

.book-N4 .wrap-sticky {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: sticky;
  top: calc(50% - 30rem);
}

.book-N4 .title-area {
  margin-bottom: 6rem;
  text-align: center;
}

.book-N4 .list-area {
  position: relative;
  transform-style: preserve-3d;
  perspective: 1000px;
}

.book-N4 .item {
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
  height: 60rem;
  border-radius: 0.8rem;
}

.book-N4 .item:nth-child(n + 2) {
  position: absolute;
  top: 0;
}

.book-N4 .item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(var(--black-rgb), 0.05);
}

.book-N4 .item picture {
  overflow: hidden;
  display: block;
  width: 100%;
  height: 100%;
}

.book-N4 .item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.book-N4 .desc {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 4.8rem;
  width: 100%;
}

.book-N4 .desc strong {
  overflow: hidden;
  display: -webkit-box;
  margin: 3.2rem 0 2rem;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  text-overflow: ellipsis;
  font-weight: var(--fw-bold);
}

.book-N4 .desc p {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;
  text-overflow: ellipsis;
}

.book-N4 .desc.white span,
.book-N4 .desc.white strong,
.book-N4 .desc.white p {
  color: var(--white);
}

@media (max-width: 992px) {
  .book-N4 {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .book-N4 .title-area {
    margin-bottom: 3rem;
  }

  .book-N4 .wrap-sticky {
    top: calc(50% - 21rem);
  }

  .book-N4 .item {
    height: 42rem;
  }

  .book-N4 .desc {
    padding: 2.4rem 2rem;
  }

  .book-N4 .desc strong {
    margin: 2.8rem 0 1.2rem;
  }
}

/* book-N5 - 갤러리 섹션 (변경 사항 없음 - 주황색 없음) */
.book-N5 {
  overflow: hidden;
  position: relative;
  padding-top: 8rem;
  background: var(--bg-color);
}

.book-N5 .contents-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

.book-N5 .title-area {
  margin-bottom: 1.6rem;
  text-align: center;
}

.book-N5 .tabset {
  margin-bottom: 6rem;
}

.book-N5 .tabset.tabset-text .tabset-link.active,
.book-N5 .tabset.tabset-text .tabset-link:hover {
  color: var(--text-color1);
}

.book-N5 .tabset.tabset-text .tabset-link.active {
  font-weight: var(--fw-bold);
}

.book-N5 .tabset.tabset-text .tabset-item+.tabset-item .tabset-link::before {
  content: none;
}

.book-N5 .thumb-area {
  overflow: hidden;
  display: none;
  position: relative;
  width: 100vw;
}

.book-N5 .thumb-area.active {
  display: block;
}

.book-N5 .thumb-area::before,
.book-N5 .thumb-area::after {
  content: "";
  position: absolute;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 23rem;
  pointer-events: none;
}

.book-N5 .thumb-area::before {
  top: 0;
  transform: translateY(-2rem);
  background: url(../images/book_N5_17.png) no-repeat center/cover;
}

.book-N5 .thumb-area::after {
  bottom: 0;
  background: url(../images/book_N5_18.png) no-repeat center/cover;
}

.book-N5 .thumb-list {
  display: flex;
  width: max-content;
}

.book-N5 .thumb-list.row {
  animation: book-N5-Loop 30s infinite linear;
}

.book-N5 .thumb-list.row-reverse {
  animation: book-N5-LoopReverse 30s infinite linear;
}

.book-N5 .thumb-list+.thumb-list {
  margin-top: 2rem;
}

.book-N5 .thumb {
  overflow: hidden;
  flex-shrink: 0;
  width: 28rem;
  height: 36rem;
  border-radius: 0.8rem;
}

.book-N5 .thumb+.thumb {
  margin-left: 2rem;
}

.book-N5 .thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@keyframes book-N5-Loop {
  0% {
    transform: translate3d(0, 0, 0);
  }

  100% {
    transform: translate3d(-50%, 0, 0);
  }
}

@keyframes book-N5-LoopReverse {
  0% {
    transform: translate3d(-50%, 0, 0);
  }

  100% {
    transform: translate3d(0, 0, 0);
  }
}

@media (max-width: 992px) {
  .book-N5 {
    padding-top: 4rem;
  }

  .book-N5 .title-area {
    margin-bottom: 0.4rem;
  }

  .book-N5 .tabset {
    margin-bottom: 3rem;
  }

  .book-N5 .tabset.tabset-text .tabset-item {
    flex: 1;
    width: auto;
  }

  .book-N5 .thumb-area::before,
  .book-N5 .thumb-area::after {
    height: 13.9rem;
  }

  .book-N5 .thumb-area::before {
    transform: none;
    background: url(../images/book_N5_19.png) no-repeat center/cover;
  }

  .book-N5 .thumb-area::after {
    transform: translateY(1rem);
    background: url(../images/book_N5_20.png) no-repeat center/cover;
  }

  .book-N5 .thumb {
    width: 10.6rem;
    height: 13.6rem;
    border-radius: 0.2rem;
  }

  .book-N5 .thumb+.thumb {
    margin-left: 0.8rem;
  }
}

/* book-N6 - 리뷰 섹션 (주황색 → 퍼플 변경) */
.book-N6 {
  overflow: hidden;
  position: relative;
  padding-top: 16rem;
  padding-bottom: 16rem;
  background: #f3e8ff; /* 변경: #fff4eb → #f3e8ff */
}

.book-N6 .contents-inner {
  width: 100%;
}

.book-N6 .title-area {
  margin-bottom: 6rem;
  text-align: center;
}

.book-N6 .swiper-slide {
  padding: 2.4rem;
  width: 100%;
  border-radius: 0.8rem;
  background: var(--white);
}

.book-N6 .desc {
  min-height: 14rem;
}

.book-N6 .desc p {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  text-overflow: ellipsis;
}

.book-N6 .info {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  margin-top: 4rem;
}

.book-N6 .info>img {
  width: 5.2rem;
  height: 5.2rem;
  border-radius: 50%;
  object-fit: cover;
}

.book-N6 .info .wrap {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.book-N6 .info i {
  color: #7c3aed; /* 변경: var(--primary) → #7c3aed */
  font-style: normal;
  font-size: 1.2rem;
}

.book-N6 .btn-wrap {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 1.2rem;
  margin-top: 2rem;
}

.book-N6 .btn-wrap button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  background: var(--white);
  border: 1px solid var(--border-color);
  border-radius: 50%;
  color: var(--black);
  font-size: 1.6rem;
  transition: color 0.3s, border-color 0.3s, background 0.3s;
}

.book-N6 .btn-wrap button:hover {
  color: var(--white);
  border-color: #7c3aed; /* 변경: var(--primary) → #7c3aed */
  background: #7c3aed; /* 변경: var(--primary) → #7c3aed */
}

@media (max-width: 992px) {
  .book-N6 {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }

  .book-N6 .title-area {
    margin-bottom: 3rem;
  }

  .book-N6 .swiper-slide {
    padding: 2rem;
    width: 100%;
    max-width: 30rem;
  }

  .book-N6 .desc {
    min-height: 13rem;
  }

  .book-N6 .info {
    margin-top: 2.4rem;
  }
}

/* book-N7 - 서비스 섹션 (주황색 → 퍼플 변경) */
.book-N7 {
  overflow: hidden;
  position: relative;
  padding-top: 16rem;
  padding-bottom: 16rem;
  background: var(--bg-color);
}

.book-N7 .contents-inner {
  width: 100%;
}

.book-N7 .title-area {
  margin-bottom: 6rem;
  text-align: center;
}

.book-N7 .list-area {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}

.book-N7 .list-area li {
  display: flex;
  align-items: center;
  gap: 4rem;
  padding: 4.8rem;
  background-color: #f7f7f7;
  border-radius: 0.8rem;
}

.book-N7 .thumb {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 10.8rem;
  height: 10.8rem;
  background: #7c3aed; /* 변경: var(--primary) → #7c3aed */
  border-radius: 0.8rem;
}

.book-N7 .thumb img {
  width: 8rem;
  height: 8rem;
  object-fit: cover;
}

.book-N7 .desc strong {
  font-weight: var(--fw-bold);
}

.book-N7 .desc p {
  margin-top: 1.6rem;
  color: var(--text-color2);
}

@media (max-width: 992px) {
  .book-N7 {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }

  .book-N7 .title-area {
    margin-bottom: 3rem;
  }

  .book-N7 .list-area {
    grid-template-columns: 1fr;
    gap: 1.2rem;
  }

  .book-N7 .list-area li {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.6rem;
    padding: 2.4rem 2rem;
  }

  .book-N7 .thumb {
    width: 6rem;
    height: 6rem;
  }

  .book-N7 .thumb img {
    width: 4.4rem;
    height: 4.4rem;
  }

  .book-N7 .desc p {
    margin-top: 0.8rem;
  }
}

/* book-N8 - 가격 섹션 (주황색 → 퍼플 변경) */
.book-N8 {
  overflow: hidden;
  position: relative;
  padding-top: 16rem;
  padding-bottom: 16rem;
  background: #f3e8ff; /* 변경: #fff4eb → #f3e8ff */
}

.book-N8 .contents-inner {
  width: 100%;
}

.book-N8 .title-area {
  margin-bottom: 6rem;
  text-align: center;
}

.book-N8 .list-area {
  display: flex;
  gap: 2rem;
}

.book-N8 .item {
  flex: 1;
  padding: 4.8rem;
  border-radius: 0.8rem;
  background: var(--white);
}

.book-N8 .badge-wrap {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

.book-N8 .desc {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  margin: 1rem 0 6rem;
}

.book-N8 .item.year .desc {
  margin-bottom: 0;
}

.book-N8 .item.year .price-sale {
  color: var(--text-color3);
  font-weight: var(--fw-bold);
  text-decoration: line-through;
}

.book-N8 .price {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.4rem;
}

.book-N8 .item.year .price {
  margin-bottom: 1.6rem;
}

.book-N8 .desc strong {
  font-weight: var(--fw-bold);
}

.book-N8 .desc span,
.book-N8 .price span {
  font-weight: var(--fw-medium);
}

.book-N8 .desc p {
  font-weight: var(--fw-bold);
}

/* 오른쪽(혼자 조용히) 카드만 버튼 여백 변경 */
.book-N8 .item.year .btnset {
  margin-top: 60px;
}

@media (max-width: 992px) {
  .book-N8 {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }

  .book-N8 .title-area {
    margin-bottom: 3rem;
  }

  .book-N8 .list-area {
    flex-direction: column;
    gap: 1.2rem;
  }

  .book-N8 .item {
    width: 100%;
    padding: 2.4rem 2rem;
  }

  .book-N8 .desc {
    margin: 1.2rem 0 4rem;
  }

  .book-N8 .item.year .price {
    margin-bottom: 1.2rem;
  }

  .book-N8 .item.year .btnset {
    margin-top: 40px;
  }
}

/* book-N9 - FAQ 섹션 (주황색 → 퍼플 변경) */
.book-N9 {
  overflow: hidden;
  position: relative;
  padding-top: 12rem;
  padding-bottom: 12rem;
  background: var(--bg-color);
}

.book-N9 .contents-inner {
  width: 100%;
}

.book-N9 .title-area {
  margin-bottom: 6rem;
  text-align: center;
}

.book-N9 .accordset.accent-header .accordset-item.active .accordset-button {
  background: #faf5ff; /* 변경: #fff7f0 → #faf5ff */
}

.book-N9 .accordset .accordset-q {
  color: #7c3aed; /* 변경: var(--primary) → #7c3aed */
}

.book-N9 .accordset .accordset-q,
.book-N9 .accordset .accordset-a {
  line-height: inherit;
}

.book-N9 .accordset-header p {
  display: flex;
  align-items: center;
  align-self: stretch;
}

.book-N9 .accordset .accordset-body,
.book-N9 .accordset.accordset-plus .accordset-item.active .accordset-body {
  background: #f8f8fa;
}

.book-N9 .accordset .accordset-content {
  padding: 2.4rem;
}

@media (max-width: 992px) {
  .book-N9 {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }

  .book-N9 .title-area {
    margin-bottom: 1.8rem;
  }

  .book-N9 .accordset .accordset-content {
    padding: 1.6rem;
  }
}

/* book-N10 - CTA 섹션 (주황색 → 퍼플 변경) */
.book-N10 {
  overflow: hidden;
  position: relative;
  padding-top: 14rem;
  padding-bottom: 14rem;
  background: url(../images/book_N10_01.png) no-repeat center/cover;
}

.book-N10 .contents-inner {
  width: 100%;
}

.book-N10 .title-area {
  text-align: center;
  margin-bottom: 8rem;
}

.book-N10 .title-area h2 {
  color: var(--white);
}

.book-N10 .qr-area {
  margin-bottom: 7rem;
  text-align: center;
}

.book-N10 .qr-code {
  display: block;
  margin: 0 auto 1.5rem;
  width: 18rem;
  height: 18rem;
  object-fit: cover;
}

.book-N10 .qr-area span {
  position: relative;
  padding: 0.7rem 1.2rem;
  min-height: 2.8rem;
  background: #6d28d9; /* 변경: #d04d0d → #6d28d9 */
  border-radius: 0.4rem;
  color: var(--white);
}

.book-N10 .qr-area span::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0px 7px 12px 7px;
  border-color: transparent transparent #6d28d9 transparent; /* 변경: #d04d0d → #6d28d9 */
}

.book-N10 .btn-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.2rem;
}

.book-N10 .btn-wrap a {
  width: 20rem;
  height: 6.8rem;
}

.book-N10 .btn-wrap a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* book-N2 - 푸터 섹션 (변경 사항 없음 - 주황색 없음) */
.book-N2 {
  overflow: hidden;
  position: relative;
  padding-top: 5rem;
  padding-bottom: 2rem;
  background: var(--white);
}

.book-N2 .footer-top {
  margin-bottom: 4rem;
}

.book-N2 .footer-logo {
  text-align: center;
}

.book-N2 .footer-logo img {
  height: 4.9rem;
  object-fit: contain;
}

.book-N2 .footer-snslist {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 2.4rem;
}

.book-N2 .footer-snsitem+.footer-snsitem {
  margin-left: 0.8rem;
}

.book-N2 .footer-snslink {
  width: 3.6rem;
  height: 3.6rem;
  padding: 0.6rem;
}

.book-N2 .footer-snslink img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.book-N2 .footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 2rem;
  border-top: 1px solid var(--border-color);
}

.book-N2 .footer-menulist {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--fs-p2);
}

.book-N2 .footer-menulink a {
  padding: 0 1.2rem;
  color: var(--text-color1);
}

.book-N2 .footer-menulink {
  position: relative;
}

.book-N2 .footer-menulink+.footer-menulink::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 1px;
  height: 1.4rem;
  background: rgba(var(--black-rgb), 0.1);
}

.book-N2 .footer-txt {
  display: flex;
  justify-content: center;
}

.book-N2 .footer-txt+.footer-txt {
  margin-top: 0.3rem;
}

.book-N2 .footer-txt p,
.book-N2 .footer-txt span {
  margin-bottom: 0;
  color: var(--text-color1);
}

.book-N2 .footer-txt p+p {
  margin-left: 0.8rem;
}

.book-N2 .footer-txt p span+span {
  margin-left: 0.8rem;
}

.book-N2 .footer-modal {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  transition: opacity 0.3s, visibility 0.3s;
  will-change: opacity;
  overflow-y: auto;
  background: rgba(var(--black-rgb), 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2.4rem;
  opacity: 0;
  visibility: hidden;
}

.book-N2 .footer-modal.block-active {
  opacity: 1;
  visibility: visible;
}

.book-N2 .modal-area {
  width: 100%;
  max-width: 92rem;
  background: var(--white);
  border-radius: 0.6rem;
}

.book-N2 .info-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 2.4rem;
  border-bottom: 1px solid var(--line-color1);
}

.book-N2 .modal-close {
  cursor: pointer;
}

.book-N2 .info-area {
  overflow-y: auto;
}

.book-N2 .modal-email .info-area {
  max-height: 17rem;
}

.book-N2 .modal-privacy .info-area {
  max-height: 70.3rem;
}

.book-N2 .info-group+.info-group {
  margin-top: 2.4rem;
}

.book-N2 .info-group strong {
  padding-bottom: 1.2rem;
  display: block;
}

.book-N2 .info-desc {
  max-height: 20.7rem;
  padding: 1.6rem;
  background: #f8f8fa;
  border-radius: 1.6rem;
  overflow-y: auto;
  scrollbar-width: none;
}

.book-N2 .info-desc p.fw-medium {
  font-weight: var(--fw-medium);
}

.book-N2 .info-desc .mtb {
  margin: 2.4rem 0;
}

.book-N2 .info-desc em {
  font-style: normal;
  font-weight: 600;
  margin: 2.4rem 0 1rem;
  position: relative;
  display: flex;
  align-items: center;
}

.book-N2 .info-list em::before {
  content: "";
  width: 0.4rem;
  height: 0.4rem;
  background: var(--black);
  border-radius: 50%;
  margin-right: 0.8rem;
}

.book-N2 .info-list p {
  padding-left: 1.2rem;
}

@media (max-width: 992px) {
  .book-N2 {
    padding-top: 4rem;
    padding-bottom: 1.6rem;
  }

  .book-N2 .footer-menulink:first-child a {
    padding-left: 0;
  }

  .book-N2 .footer-menulink a {
    padding: 0 0.8rem;
  }

  .book-N2 .footer-snslist {
    margin: 1.2rem 0 2.4rem;
  }

  .book-N2 .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.6rem;
    padding-top: 1.6rem;
    text-align: center;
  }

  .book-N2 .footer-txt {
    flex-direction: column;
  }

  .book-N2 .footer-txt p+p {
    margin-left: 0;
  }

  .book-N2 .footer-txt+.footer-txt {
    margin-top: 0.6rem;
  }
}

@media (max-width: 576px) {
  .book-N2 .footer-menulist {
    justify-content: flex-start;
    flex-wrap: wrap;
  }
}

/* CTA 독립 섹션 (변경 사항 없음 - 주황색 없음) */
.cta-section {
  position: relative;
  padding: 140px 0;
  background: url(../images/book_N10_01.png) no-repeat center/cover;
  text-align: center;
}

.cta-section .cta-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.cta-section .cta-title h2 {
  font-size: 42px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 60px;
}

.cta-section .cta-buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
  flex-wrap: nowrap;
}

.cta-section .cta-btn img {
  width: 350px;
  height: auto;
  display: block;
}

@media (max-width: 992px) {
  .cta-section {
    padding: 80px 0;
  }

  .cta-section .cta-title h2 {
    font-size: 28px;
    margin-bottom: 40px;
  }

  .cta-section .cta-buttons {
    flex-wrap: wrap;
    gap: 20px;
  }

  .cta-section .cta-btn img {
    width: 280px;
  }
}



@media (max-width: 992px) {
  /* 헤더 전화번호 버튼 텍스트 표시 */
  .book-N1 .header-utils>ul>li .btnset {
    font-size: 1.4rem !important;  /* 글자 다시 표시 */
    font-weight: 600;
    color: #fff; /* 필요 시 색상 조정 */
  }

  /* 버튼 패딩 및 정렬 조정 (선택사항) */
  .book-N1 .header-utils>ul>li.button .btnset {
    padding: 0.8rem 1.4rem;
    background-color: var(--primary);
    border-radius: 6px;
    text-align: center;
  }
}


/* ✅ 헤더 항상 상단 고정 */
.book-N1 {
  position: fixed !important;
  top: 0;
  left: 0;
  width: 100%;
  background: var(--white);
  z-index: 9999;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); /* 살짝 그림자 주면 자연스러움 */
}

/* ✅ 헤더 높이만큼 본문 상단 여백 확보 */
body {
  padding-top: 8.6rem; /* 실제 헤더 높이와 동일하게 조정 (PC 기준) */
}

@media (max-width: 992px) {
  body {
    padding-top: 6rem; /* 모바일 헤더 높이만큼 */
  }
}



/* ✅ 모바일 전용 줄바꿈 처리 */
.mobile-br {
  display: none; /* PC에서는 줄바꿈 숨김 */
}

@media (max-width: 768px) {
  .mobile-br {
    display: block; /* 모바일에서는 줄바꿈 표시 */
  }
}



/* ==============================
   book-N5 설명문 전용 여백 설정
   ============================== */

/* 🖥️ PC (992px 이상) */
#qpMEJjK11F .title-area p {
  margin-top: 12px;      /* 제목 아래 간격 */
  margin-bottom: 48px;   /* 이미지 위 간격 */
}

/* 📱 모바일 (992px 이하) */
@media (max-width: 992px) {
  #qpMEJjK11F .title-area p {
    margin-top: 8px;
    margin-bottom: 32px;
  }
}
