.home-hero.index-page .page-header { position: relative; isolation: isolate; background: #ebf8ff url('../images/main/main_bg_clean.png') center bottom / cover no-repeat; height: auto; min-height: max(850px, 90vh); display: block; padding-top: 145px; overflow: hidden; }
.home-hero.index-page .page-header .container { padding-bottom: 390px; }
.home-hero .home-hero__content { position: relative; z-index: 2; }
.home-hero .gnb_btn a:focus-visible { outline: 2px solid #1a1a1a; outline-offset: 4px; }
.home-hero__art { position: absolute; right: 0; bottom: 0; width: 100%; height: 500px; overflow: hidden; mask-image: linear-gradient(to right, transparent, #000 48px, #000 calc(100% - 24px), transparent); }
.home-hero__entrance { margin: 235px -100px 0 clamp(40px, 5vw, 96px); animation: homeBooksEnter 900ms ease-out both; transform-origin: center; }
.home-hero__books { display: flex; flex-direction: column; gap: 18px; transform: rotate(-10deg); transform-origin: center top; }
.home-hero__track { display: flex; width: max-content; animation: homeBooksSlide 55s linear infinite paused; transform-origin: center; }
.home-hero__track:nth-child(2) { animation-direction: reverse; animation-duration: 65s; }
.home-hero__book-set { display: flex; align-items: flex-start; gap: 18px; padding-right: 18px; }
.home-hero__cover { position: relative; display: block; width: clamp(120px, 10vw, 180px); flex: 0 0 auto; border-radius: 12px; overflow: hidden; box-shadow: 0 4px 8px rgba(109, 76, 65, .10); }
.home-hero__cover::after { content: ''; position: absolute; inset: 0; background: rgba(255, 255, 255, .26); pointer-events: none; }
.home-hero__book { display: block; width: 100%; height: auto; }
.home-hero.index-page .brand_new .logo img { width: clamp(320px, 27vw, 400px); max-width: 100%; height: auto; }
.home-hero.index-page .brand_new .gnb_btn { display: grid; grid-template-columns: repeat(4, 130px); gap: 12px; }
.home-hero.index-page .brand_new .gnb_btn a { margin: 0; min-width: 0; }
.home-hero.index-page .brand_new .gnb_btn a img { width: 100%; height: 106px; object-fit: contain; margin: 0; }
.home-hero__menu-link { display: block; transform-origin: center; transition: transform 180ms ease-out; touch-action: manipulation; }
.home-hero__menu-link:focus-visible { transform: translateY(-3px); }
@media (hover: hover) and (pointer: fine) {
  .home-hero__menu-link:hover { transform: translateY(-3px); }
}
.home-hero__menu-link:active { transform: translateY(-1px); }
@media (hover: hover) and (pointer: fine) { .home-hero__art:hover .home-hero__track { animation-play-state: running; } }
@keyframes homeBooksSlide { to { transform: translateX(-50%); } }
@keyframes homeBooksEnter { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 991px) {
  .home-hero.index-page .page-header { min-height: 0; padding-top: 115px; background-size: auto 100%; }
  .home-hero.index-page .page-header .container { width: 100%; padding: 0 20px; }
  .home-hero .brand_new { text-align: center; }
  .home-hero.index-page .brand_new .description { font-size: 20px; line-height: 1.5; min-height: 60px; margin: 0; }
  .home-hero.index-page .brand_new .logo img { width: clamp(240px, 72vw, 300px); max-width: 100%; height: auto; }
  .home-hero.index-page .brand_new .gnb_btn { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; max-width: 280px; margin: 0 auto; }
  .home-hero.index-page .brand_new .gnb_btn a { margin: 0; min-width: 0; }
  .home-hero.index-page .brand_new .gnb_btn a img { width: 100%; height: 100px; object-fit: contain; margin: 0; }
  .home-hero__art { position: relative; width: 100%; height: 300px; margin-top: 30px; }
  .home-hero__entrance { margin: 65px -40px 0 -15px; }
  .home-hero__cover { width: 110px; }
  .home-hero__books { gap: 12px; }
  .home-hero__book-set { gap: 12px; padding-right: 12px; }
}
/* Preserve breathing room while fitting shorter laptop and phone viewports. */
@media (min-width: 992px) and (max-height: 800px) {
  .home-hero.index-page .page-header { min-height: max(680px, 90vh); padding-top: 110px; }
  .home-hero.index-page .page-header .container { padding-bottom: 260px; }
  .home-hero.index-page .brand_new .logo img { margin: 16px 0 20px; }
  .home-hero.index-page .brand_new .gnb_btn a img { height: 96px; }
  .home-hero__entrance { margin-top: 315px; }
}
@media (max-width: 991px) and (max-height: 740px) {
  .home-hero.index-page .page-header { padding-top: 100px; }
  .home-hero.index-page .brand_new .description { min-height: 54px; }
  .home-hero.index-page .brand_new .logo img { margin: 12px 0 20px; }
  .home-hero.index-page .brand_new .gnb_btn { gap: 12px; }
  .home-hero.index-page .brand_new .gnb_btn a img { height: 90px; }
  .home-hero__art { margin-top: 20px; height: 260px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-hero__entrance, .home-hero__track { animation: none; }
  .home-hero .home-hero__menu-link { transition: none; transform: none; }
}
