/* ==========================================================================
   pages-product-intro.css — 더감로 제품 (product-intro) 전용 스타일
   ========================================================================== */

/* ---------- 1. 페이지 히어로 (b1-2 커버 + 섹션 탭) ---------- */
.pi-hero {
  position: relative;
  overflow: hidden;
  color: #fff;
}
.pi-hero__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pi-hero__dim {
  position: absolute;
  inset: 0;
  background: linear-gradient(45deg, rgba(20, 30, 48, 0.6) 0%, rgba(36, 59, 85, 0.6) 100%);
}
.pi-hero__body {
  position: relative;
  z-index: 1;
  /* 원본 인라인 min-height:275px 이지만 렌더링 기준(패리랙스 여백 포함)에 맞춤 */
  min-height: 415px;
  padding-top: var(--space-70);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.pi-hero__kicker {
  font-size: clamp(1.039rem, 1.039rem + ((1vw - 0.2rem) * 0.561), 1.6rem);
  font-weight: 700;
  letter-spacing: 7px;
  line-height: 1.2;
}
.pi-hero__sub {
  margin-top: 0.35em;
  font-size: var(--fs-medium);
  opacity: 0.5;
}
.pi-hero__bar {
  display: block;
  width: 48px;
  height: 1px;
  margin-top: var(--space-20);
  background-color: #fff;
}
.pi-hero__tabs-area {
  position: relative;
  z-index: 1;
  background-color: #0000004f;
  color: #fff;
}
.pi-hero__tabs {
  display: flex;
  align-items: stretch;
}
.pi-hero__tab {
  flex: 1;
  display: block;
  text-align: center;
  padding: var(--space-20) var(--space-10);
  border-top: 6px solid transparent;
  transition: color 0.3s ease, background-color 0.3s ease;
  white-space: nowrap;
}
.pi-hero__tab:hover { color: var(--color-primary); }
.pi-hero__tab.is-active {
  background-color: var(--color-base);
  border-top-color: var(--color-primary);
  color: var(--color-contrast);
}

/* ---------- 2. 인트로 헤드라인 ---------- */
.pi-intro { padding-block: var(--space-70); }
.pi-quote {
  color: var(--color-primary);
  font-size: var(--fs-xxx-huge);
  line-height: 1;
}
.pi-quote svg {
  display: block;
  width: 0.5em;
  height: auto;
  transform: rotate(180deg);
  fill: currentColor;
}
.pi-intro__heading {
  margin-top: var(--space-20);
  font-size: var(--fs-m-huge);
  line-height: 1.2;
}
.pi-intro__desc {
  margin-top: var(--space-20);
  color: var(--color-step-13);
  font-size: var(--fs-large);
}

/* ---------- 3. 제품 탭 & 그리드 ---------- */
.pi-products {
  padding-top: 0;
  padding-bottom: var(--space-70);
}
.pi-tabs {
  display: flex;
  flex-wrap: nowrap;
  align-items: baseline;
  gap: var(--space-20);
  padding-bottom: var(--space-50);
  font-size: var(--fs-xxx-large);
  font-weight: 700;
  line-height: 1.2;
}
.pi-tabs__btn {
  color: var(--color-step-6);
  transition: color 0.3s ease;
}
.pi-tabs__btn:hover { color: var(--color-primary); }
.pi-tabs__btn.is-active { color: var(--color-step-20); }
.pi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-50);
}
.pi-card {
  display: flex;
  flex-direction: column;
}
.pi-card__media {
  position: relative;
  aspect-ratio: 1;
  overflow: hidden;
}
.pi-card__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pi-card__title {
  padding-top: var(--space-10);
  font-size: var(--fs-x-large);
  font-weight: 400;
  line-height: 1.4;
}
.pi-card__desc {
  margin-top: var(--space-10);
  color: var(--color-step-13);
  font-size: var(--fs-small);
  line-height: 1.7;
}
/* 대표 카드(2x2) */
.pi-card--feature {
  grid-column: span 2;
  grid-row: span 2;
}
.pi-card__cover {
  position: relative;
  flex: 1 1 auto;
  min-height: 320px;
  overflow: hidden;
}
.pi-card__cover img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ---------- 4. 차별성 CTA 배너 ---------- */
.pi-cta {
  position: relative;
  background-size: cover;
  background-position: center;
  padding-block: var(--space-70);
  color: #fff;
}
.pi-cta__dim {
  position: absolute;
  inset: 0;
  background: linear-gradient(45deg, rgba(20, 30, 48, 0.5) 0%, rgba(36, 59, 85, 0.5) 100%);
}
.pi-cta__inner {
  position: relative;
  z-index: 1;
}
.pi-cta .pi-quote svg { width: 0.5em; }
.pi-cta__label {
  margin-top: var(--space-20);
  margin-left: 3px;
  font-size: var(--fs-large);
  font-weight: 700;
  line-height: 1.2;
}
.pi-cta__desc {
  margin-top: var(--space-20);
  opacity: 0.5;
  line-height: 1.7;
}
.pi-cta__title {
  margin-top: var(--space-20);
  font-size: var(--fs-xxxx-large);
  font-weight: 700;
  line-height: 1.2;
}
.pi-cta__title + .pi-cta__title { margin-top: 0.2em; }

/* ---------- 5. 하단 여백 ---------- */
.pi-footer-space { height: 142px; }

/* ---------- 반응형 ---------- */
@media (max-width: 1280px) {
  .pi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
  .pi-hero__tabs { flex-wrap: wrap; }
  .pi-hero__tab { flex: 1 1 50%; }
}
@media (max-width: 780px) {
  .pi-grid { grid-template-columns: 1fr; }
  .pi-card--feature { grid-column: span 1; grid-row: span 1; }
  .pi-card__cover { min-height: 240px; }
  .pi-tabs { flex-wrap: wrap; }
  .pi-hero__tab { flex: 1 1 100%; }
  .pi-cta__title { font-size: var(--fs-xxx-large); }
}
