.whatis-main { padding: 0; margin: 0; }

/* 🎥 비디오 히어로 — 페이지 스코프 + svh */
.whatis-main .video-hero{
  position: relative;
  width: 100%;
  min-height: 100svh;      /* 100vh → 100svh (모바일 주소창 안전) */
  overflow: hidden;
}
.whatis-main .video-hero > video{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  z-index: 0;
}
.whatis-main .video-hero .overlay{
  position: relative;
  z-index: 1;
  color: #fff;
  text-align: center;
  padding-top: min(30svh, 30vh);
  text-shadow: 0 2px 6px rgba(0,0,0,0.4);
}

/* 🧭 인트로(배경 오버레이) */
.whatis-intro{
  background-image: url('../../img/bg/whatis-intro-bg.webp');
  background-size: cover;
  background-position: center;
  color: #fff;
  position: relative;
  margin-top: 75px;
  text-align: center;
  overflow: hidden;
  padding: 4rem 1rem;
}
.whatis-intro::before{
  content: '';
  position: absolute;
  inset: 0;
  background-color: rgba(30, 60, 80, 0.5);
  z-index: -1;
  transition: background-color 0.3s ease;
}
.whatis-intro:hover::before{ background-color: rgba(30, 60, 80, 0.7); }
.whatis-intro h2{
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
  color: #fff;
}

/* ⌨️ 타자 문구 — JS 전용(가로쓰기 + 줄바꿈 허용) */
.typewriter-box p,
.typewriter{
  font-size: 1.125rem;
  font-weight: 600;
  font-family: 'Noto Sans KR', sans-serif;
  white-space: normal;    /* 줄바꿈 허용 */
  overflow: visible;      /* 잘림 방지 */
  max-width: 800px;
  margin: 1rem auto;
  line-height: 1.8;
  color: #fff;            /* 인트로는 밝은 글자 */
}

/* 📄 섹션 */
.whatis-section{
  max-width: 900px;
  margin: 0 auto;
  padding: var(--section-padding) 1.25rem;
  text-align: center;
  font-size: var(--fs-base);
  color: var(--color-text);
  line-height: 1.8;
}
.whatis-section h2{
  font-size: var(--fs-h2);
  color: var(--color-primary);
  margin-top: var(--gap-lg);
  margin-bottom: var(--gap-sm);
}

/* 📈 이점 / 절감 — 그리드 통일 */
.whatis-benefit-section{
  max-width: 900px;
  margin: 0 auto;
  padding: var(--section-padding) 1.25rem;
  text-align: center;
}
.whatis-benefit-section h2{
  font-size: var(--fs-h2);
  color: var(--color-primary);
  margin-bottom: var(--gap-md);
}
.benefit-table{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.whatis-benefit-section .benefit-table{
  display: grid;              /* 기존 flex/grid 무엇이든 덮어쓰기 */
  grid-template-columns: 1fr; /* 1열 고정 */
  gap: 16px;                  /* 카드 사이 간격 */
}
.whatis-benefit-section .benefit-item{ width: 100%; }

@media (max-width:1024px){ .benefit-table{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width:640px) { .benefit-table{ grid-template-columns: 1fr; } }

.benefit-item{
  background: #f8f8f8;
  padding: 16px;
  border-left: 4px solid #4caf50;
  border-radius: var(--border-radius-sm);
  text-align: left;
}
.benefit-item strong{
  font-size: var(--fs-base);
  color: #333;
  display: block;
  margin-bottom: .5rem;
}
.benefit-item p{
  font-size: var(--fs-sm);
  color: var(--color-text);
  margin: 6px 0 0;
  line-height: 1.6;
}

/* ===== Responsive ===== */
@media (max-width: 768px){
  .whatis-main .video-hero{ min-height: 60svh; }
  .whatis-main .video-hero .overlay{ padding-top: 10svh; font-size: 1rem; }

  .whatis-intro{ padding: 32px 16px; margin-top: 40px; }
  .whatis-intro h2{ font-size: 1.35rem; margin-bottom: 1rem; }

  .whatis-main .typewriter-box p,
  .whatis-main .typewriter{
    font-size: 1rem;
    max-width: 100%;
  }

  .whatis-section,
  .whatis-benefit-section{
    padding: 40px 16px;
  }
  .whatis-section h2,
  .whatis-benefit-section h2{
    font-size: 1.3rem;
    margin-bottom: 1rem;
  }

  /* 올바른 분리 규칙: 강제 줄바꿈 <br> 숨김 */
  .whatis-section p br{ display: none; }
}
