/* Pretendard 서브셋 폰트 (subset-font.sh로 생성) */
@font-face {
  font-family: 'Pretendard Variable';
  font-weight: 45 920;
  font-style: normal;
  font-display: swap;
  src: url('pretendard-subset.woff2') format('woff2-variations');
}

*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  background: #fafafa;
  overflow-x: hidden;
  /* 일본어 글리프는 Pretendard에 없어 시스템 폰트로 대체 */
  font-family: 'Pretendard Variable', 'Hiragino Sans', 'Noto Sans JP', sans-serif;
  color: #000;
  letter-spacing: -1px;
}

#wrapper {
  width: 100%;
  overflow: hidden;
}

/* 피그마 캔버스: 1000 x 2168 (화산귀환 랜딩과 동일) */
#frame {
  width: 1000px;
  height: 2168px;
  position: relative;
  background: #fafafa;
  transform-origin: top left;
}

/* 타이틀·부제목: 언어별 길이가 달라 가운데 정렬 */
.title, .subtitle {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
  font-weight: 700;
  white-space: nowrap;
  line-height: 1.2;
}
.title { top: 50px; font-size: 68px; }
.subtitle { top: 140px; font-size: 45px; }

.body-text {
  position: absolute;
  left: 100px;
  top: 260px;
  width: 800px;
  font-weight: 500;
  font-size: 38px;
}
.body-text p { line-height: 61px; }
.body-text b { font-weight: 700; }

/* 텍스트 길이에 따라 가로 자동 조절되는 루프 버튼 */
#btn-box {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 640px;
  height: 68px;
  padding: 0 26px;
  background: #f50026;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}
#btn-text {
  font-weight: 600;
  font-size: 36px;
  color: #fff;
}

/* 미리보기 이미지 3장 (500x889 webp 기준) */
.preview {
  position: absolute;
  top: 760px;
  width: 440px;
  border-radius: 80px;
  overflow: hidden;
  box-shadow: 0 0 70px rgba(0, 0, 0, 0.3);
  display: block;
}
.preview img { width: 100%; height: auto; display: block; pointer-events: none; }
.preview-1 { left: -200px; }
.preview-2 { left: 280px; }
.preview-3 { left: 760px; }

/* 하단 배너 버튼 */
.banner {
  position: absolute;
  left: 124px;
  width: 753px;
  height: 130px;
  border-radius: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  text-decoration: none;
  font-weight: 700;
  font-size: 38px;
  color: #fff;
  white-space: nowrap;
}
.banner img { height: 45px; width: auto; display: block; }
.banner .arrow { font-size: 42px; line-height: 1; }
.banner-alarmy {
  top: 1628px;
  background: linear-gradient(to right,
    #fb5b21 0%, #f94226 10%, #f72428 20%, #f50d2a 30%,
    #f5052a 40%, #f6102b 50%, #f71840 60%, #f90053 70%,
    #fa2e44 80%, #fc5c23 90%, #fb5c21 100%);
}
/* GO HARD 버튼 색상은 에셋 확정 후 교체 */
.banner-gohard {
  top: 1822px;
  background: #111;
}
