/* Product line-up pages - PDF concept 04 */
.blind {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.product-lineup-page { background: #fff; }

.product-lineup-hero {
  position: relative;
  height: 100vh;
  height: 100svh;
  min-height: 64rem;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  color: #fff;
  background: #15191c;
}
/* Ken Burns: only the image layer scales, copy/gradient stay fixed (matches home hero). */
.product-lineup-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  background: var(--lineup-hero) center / cover no-repeat;
  transform-origin: center;
  animation: kenburns-lineup 8s ease-out both;
}
@keyframes kenburns-lineup { from { transform: scale(1.08); } to { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) {
  .product-lineup-hero::before { animation: none; transform: none; }
}
.product-lineup-hero::after {
  content: '';
  position: absolute;
  inset: auto 0 0;
  height: 42%;
  background: linear-gradient(90deg, rgba(5, 17, 25, .94), rgba(5, 17, 25, .72) 60%, rgba(5, 17, 25, .34));
}
.product-lineup-hero__copy {
  position: relative;
  z-index: 1;
  width: 100%;
  padding-bottom: clamp(4rem, 6vw, 8rem);
}
.product-lineup-hero h1 {
  max-width: 100rem;
  font-family: var(--font-en);
  font-size: clamp(3.2rem, 3.2vw, 5.8rem);
  line-height: 1.1;
  font-weight: 400;
  color: var(--color-gold);
  letter-spacing: -.025em;
}
.product-lineup-hero h1 strong { font-weight: 800; }
.product-lineup-hero p {
  margin-top: 2.2rem;
  font-size: clamp(1.35rem, 1.15vw, 1.7rem);
  line-height: 1.8;
  font-weight: 300;
  color: rgba(255, 255, 255, .78);
}
.product-lineup-hero__line {
  display: block;
  width: max-content;
  max-width: 100%;
  white-space: nowrap;
}

.lineup-catalog { padding: 6.8rem 0 13rem; }
.lineup-catalog__title {
  font-family: var(--font-en);
  font-size: clamp(2.8rem, 2.6vw, 4.2rem);
  line-height: 1.2;
  font-weight: 400;
  color: var(--color-gold);
}
.lineup-catalog__title strong { font-weight: 800; }
.lineup-picker { margin-top: 7rem; }
.lineup-picker__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 3rem;
}
.lineup-picker__intro {
  padding-left: 2rem;
  border-left: 2px solid #d9c5a8; /* 세로선 공통 톤 (sub-lede·gold-divider와 동일) */
}
.lineup-picker__intro h2 { font-size: 2rem; line-height: 1.3; font-weight: 700; }
.lineup-picker__intro p { margin-top: .8rem; font-size: 1.35rem; color: #7a7d80; }
.lineup-search {
  position: relative;
  width: min(38rem, 100%);
  flex: 0 0 auto;
}
.lineup-search input {
  width: 100%;
  height: 4.6rem;
  padding: 0 5rem 0 1.5rem;
  border: 1px solid #b9bdc0;
  color: #222;
  font: 1.35rem var(--font-kr);
  outline: none;
}
.lineup-search input:focus { border-color: var(--color-gold); box-shadow: 0 0 0 2px rgba(198, 154, 99, .18); }
.lineup-search input::placeholder { color: #a6a9ac; }
.lineup-search button {
  position: absolute;
  top: 0;
  right: 0;
  width: 4.6rem;
  height: 4.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #5f6468;
}
.lineup-search button svg { width: 1.8rem; height: 1.8rem; }
.lineup-categories {
  display: flex;
  margin-top: 4rem;
  border-bottom: 1px solid #6e7275;
  overflow-x: auto;
  scrollbar-width: thin;
}
.lineup-categories button {
  flex: 1 0 12rem;
  min-height: 5.6rem;
  padding: 1rem 1.3rem;
  font-size: 1.2rem;
  line-height: 1.35;
  color: #696d70;
  white-space: pre-line;
  border-bottom: 2px solid transparent;
}
.lineup-categories button:hover { color: #191b1d; }
.lineup-categories button.is-active {
  color: #191b1d;
  font-weight: 700;
  background: #f3e7d8;
  border-bottom-color: var(--color-gold);
}
.lineup-results { margin-top: 7rem; }
.lineup-results__head { display: flex; align-items: baseline; gap: 2.5rem; }
.lineup-results__head h2 { font-size: 1.6rem; font-weight: 500; color: #696d70; }
.lineup-results__count { font-size: 1.45rem; color: #7f8386; }
.lineup-results__count strong { margin-left: .5rem; color: var(--color-gold); font-weight: 700; }
.lineup-group { margin-top: 2.8rem; }
.lineup-group[hidden], .lineup-series[hidden] { display: none; }
.lineup-group__title {
  padding: .9rem 2rem;
  background: #f7f2eb;
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.35;
  font-weight: 700;
  color: #292b2d;
}
.lineup-series { padding: 3.8rem 1rem 4.5rem; }
.lineup-series h3 {
  padding-bottom: 1rem;
  border-bottom: 1px solid #999da0;
  font-family: var(--font-en);
  font-size: 1.8rem;
  line-height: 1.3;
  font-weight: 500;
  color: var(--color-gold);
}
.lineup-models {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 2.2rem 3rem;
  margin-top: 1.8rem;
}
.lineup-models a {
  width: max-content;
  max-width: 100%;
  font: 700 1.25rem/1.35 var(--font-en);
  color: #55595d;
  overflow-wrap: anywhere;
  transition: color .2s;
}
.lineup-models a:hover, .lineup-models a:focus-visible { color: var(--color-gold); }
.lineup-empty {
  margin-top: 4rem;
  padding: 6rem 2rem;
  border: 1px solid #e0e1e2;
  text-align: center;
  color: #777b7e;
}

@media (max-width: 1024px) {
  .product-lineup-hero { min-height: 56rem; }
  .product-lineup-hero::after {
    height: 45%;
    background: linear-gradient(0deg,
      rgba(5, 17, 25, .95) 0%,
      rgba(5, 17, 25, .8) 42%,
      rgba(5, 17, 25, .32) 72%,
      rgba(5, 17, 25, 0) 100%);
  }
  /* PDF-fixed desktop lines can exceed the tablet content width. */
  .product-lineup-hero__line {
    display: inline;
    width: auto;
    max-width: none;
    white-space: normal;
  }
  .lineup-categories {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-rows: minmax(5.6rem, auto);
    overflow-x: visible;
  }
  .lineup-categories button {
    width: 100%;
    min-width: 0;
    height: 100%;
  }
  .lineup-models { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .product-lineup-hero { min-height: 56rem; }
  .product-lineup-hero::before { background-position: 58% center; }
  .product-lineup-hero::after {
    height: 45%;
    background: linear-gradient(0deg,
      rgba(5, 17, 25, .97) 0%,
      rgba(5, 17, 25, .86) 42%,
      rgba(5, 17, 25, .42) 72%,
      rgba(5, 17, 25, 0) 100%);
  }
  .lineup-catalog { padding-top: 4.5rem; }
  .lineup-picker { margin-top: 4.5rem; }
  .lineup-picker__head { align-items: stretch; flex-direction: column; }
  .lineup-search { width: 100%; }
  .lineup-categories {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 3rem;
  }
  .lineup-categories button { padding: 1rem .8rem; }
  .lineup-results { margin-top: 5rem; }
  .lineup-models { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
