@media screen and (max-width:599px) {
  :root {
  }


section img {
  width: 100%;
}






/* hero */
.hero {
  min-height: 145vw;
  overflow: hidden;
}

.hero__bgimg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.hero__glow {
  top: auto;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100vw; /* HEIGHT: 빈 그라디언트 장식 div — 자식이 없어 콘텐츠 높이가 0 */
}

.hero__marquee {
  bottom: 0;
}

.hero__marquee-track {
  margin-left: 0;
}

.hero__marquee-item {
  font-size: var(--displayM);
}

.hero__plate {
  left: 6vw;
  bottom: -10vw;
  width: 88vw;
}

.hero__smoke {
  top: 42vw;
  right: auto;
  left: 13.125vw;
  width: 73.75vw;
}

.hero__pick {
  top: 72vw;
  right: -10vw;
  width: 53vw;
}

.hero_iner {
  padding-bottom: 0;
}

.hero__lead {
  margin-top: 21.3333vw;
}

.hero__title {
  margin-top: 3.04vw;
  font-size: var(--displayM);
}

/* ===== con01 ===== */
.con01_iner {
  padding-bottom: 16vw;
}

.con01__lead {
  margin-top: 16vw;
}

.con01__title {
  margin-top: 3.52vw;
}

.con01__cards {
  flex-direction: column;
  align-items: center;
  margin-top: 10.08vw;
  gap: 3.2vw;
}

.con01__card {
  width: 88vw;
  padding: 5.92vw 6.4vw 7.2vw;
  border-radius: 4.8vw;
}

.con01__card--featured {
  box-shadow: inset 0 0 8.8vw rgba(255, 225, 205, 0.83);
}

.con01__card-pill {
  padding: 0.16vw 2.24vw;
}

.con01__card-title {
  margin-top: 4.32vw;
}

.con01__card-desc {
  margin-top: 4.32vw;
}

.con01__card-cta {
  width: 100%;
  margin-top: 4.64vw;
  padding-block: 2.4vw;
}

/* opacity 를 되찾는다 — hover 를 지원한다고 보고하는 터치기기가 PC 의 `@media (hover:hover)` 숨김에 걸려 배지가 사라졌다 */
.con01__click {
  top: -4vw;
  bottom: auto;
  left: -4vw;
  width: 16.96vw;
  height: 16.96vw; /* HEIGHT: 정원 배지 — 지름은 콘텐츠가 만들 수 없다 */
  box-shadow: 0 0 0 1.28vw #fff, 0 0 0 1.6vw #ef7323;
  opacity: 0.4;
  transition: opacity 0.45s;
}

.con01__click.is-blink {
  opacity: 1;
}

/* PC 가 숨긴 둘째 배지를 되살린다 — 모바일은 두 개가 번갈아 켜진다 */
.con01__card:last-child .con01__click {
  display: flex;
}

/* ===== con02 ===== */
.con02 {
  padding-top: 12vw;
  padding-bottom: 4.72vw;
}

.con02__arch {
  top: -52vw;
  left: -5vw;
  width: 110vw;
  height: 63.5vw; /* HEIGHT: 타원 데코 — 높이가 형태 자체다(콘텐츠 없음) */
}

.con02__head {
  padding-top: 12.4vw;
}

.con02__bowl {
  top: -24vw; /* PC 와 같은 30% 상단 크롭 — 섹션 overflow:hidden 이 자른다 */
  left: 19vw;
  width: 62vw;
}

.con02__lead {
  width: 78vw;
}

.con02__card {
  width: 92vw;
  margin-top: 10.4vw;
  padding: 8vw 0;
  border-radius: 8vw;
}

.con02__title {
  margin-top: 4.56vw;
  font-size: var(--displayS); /* 한 줄 유지 — displayM 42px 은 한 줄 358.9px 로 카드 가용 343px 초과 */
}

.con02__desc {
  margin-top: 3.92vw;
}

.con02__tabs {
  margin-top: 7.68vw;
  gap: 1.92vw;
}

.con02__tab {
  width: 39.84vw;
  padding-block: 2.88vw;
}

.con02__panel {
  margin-top: 4.5952vw;
}

.con02__figures {
  flex-direction: column;
  align-items: center;
  gap: 14vw; /* 경계에 걸치는 말풍선이 stat·AFTER 배지를 안 덮는 최소 간격 */
}

.con02__figure-media {
  width: 76vw;
}

.con02__stage {
  top: 6.08vw;
  gap: 1.92vw;
  padding: 2.08vw 3.52vw;
  border-radius: 4.08vw;
}

.con02__stage--before {
  left: 7.84vw;
}

.con02__stage--after {
  right: 7.84vw;
}

.con02__stage-divider {
  height: 3.04vw; /* HEIGHT: 구분선 — 높이가 형태 자체다 */
}

.con02__stat {
  left: 8.32vw;
  bottom: 7.52vw;
  padding: 3.04vw 7.2vw 3.36vw 4vw;
  border-radius: 3.2vw;
}

.con02__stat-value {
  margin-top: 1.44vw;
}

.con02__result {
  right: 7.84vw;
  bottom: 3.02vw;
  padding: 3.04vw 3.84vw 3.36vw 4.64vw;
  border-radius: 3.2vw;
}

.con02__result-value {
  margin-top: 1.44vw;
}

.con02__result-profit {
  margin-top: 1.44vw;
  font-size: 5.4vw;
}

.con02__bubble {
  top: 71.7vw;
  left: 12vw;
  width: 52vw; /* 텍스트 가용폭은 padding 으로 44vw 고정 — 좁히면 탭2 라인이 2줄로 깨진다 */
  padding: 5vw 4vw 4vw; /* 좌우 = 라인이 타원 곡선 밖으로 나가지 않는 여백 */
  gap: 0.8vw;
  box-shadow: 0 0 0 1px #ffffff, 0 0 0 2px #ef7323;
}

.con02__review {
  width: 84vw;
  margin-top: 9.44vw;
  padding: 5.76vw 5vw 3.2vw;
  border-radius: 4.8vw;
}

.con02__review-sign {
  margin-top: 0.8vw;
}

/* ===== con03 ===== */
.con03_iner {
  padding-bottom: 16vw;
}

.con03__panel {
  width: 92vw;
  margin-top: 3.68vw;
  padding-inline: 5vw;
  border-radius: 8vw;
}

.con03__eyebrow {
  margin-top: 12vw;
  text-decoration-thickness: 0.48vw;
  text-underline-offset: 0.48vw;
}

.con03__title {
  margin-top: 3.84vw;
}

.con03__desc {
  margin-top: 4.32vw;
}

.con03__tabs {
  margin-top: 8.16vw;
}

.con03__tab {
  width: 39.2vw;
  padding-block: 2.72vw;
}

/* wrap + shots order:-1 로 첫 줄 사진, 둘째 줄 화살표 2개 중앙 */
.con03__slider {
  flex-wrap: wrap;
  margin-top: 4.64vw;
  gap: 4.64vw;
}

.con03__shots {
  order: -1;
  flex-direction: column;
  align-items: center;
  width: 100%;
  gap: 4.96vw;
}

.con03__shot {
  width: 78vw;
}

.con03__before-photo,
.con03__after-photo {
  width: 78vw;
}

/* 터치타겟 44px 확보 — PC 60 환산(9.6vw)보다 키운다 */
.con03__arrow {
  width: 11.7vw;
  padding: 3.4603vw 0;
}

.con03__arrow-mark {
  width: 6.5vw;
}

.con03__shot-label {
  top: 5.28vw;
  padding-block: 1.76vw;
  border-radius: 4vw;
}

.con03__shot--before .con03__shot-label {
  padding-inline: 4.8vw;
}

.con03__shot--after .con03__shot-label {
  padding-inline: 5.6vw;
}

.con03__quote {
  width: 78vw;
  margin-top: 9.12vw;
  margin-bottom: 6.4vw; /* 패널 하단 여백의 소유자 — 패널엔 padding-bottom 이 없다 */
  padding: 6.08vw 4vw 3.2vw;
  border-radius: 4.8vw;
}

.con03__quote-author {
  margin-top: 2.4vw;
}

/* ===== con05 ===== */
.con05_iner {
  padding-top: 16.64vw;
}

.con05__rules {
  bottom: 12.8vw;
  width: 3.36vw;
  background-image: repeating-linear-gradient(to right, #3b3329 0 1px, transparent 1px 1.6vw);
}

.con05__rules--left {
  left: 2.8871vw;
}

.con05__rules--right {
  right: 2.5722vw;
}

.con05__title {
  width: 51.04vw;
}

.con05__steps {
  flex-direction: column;
  align-items: center;
  width: 88vw;
  margin-top: 7.84vw;
  row-gap: 4.2667vw;
}

.con05__card {
  width: 100%;
  padding: 8.48vw 6.56vw 0;
  border-radius: 4.8vw;
}

.con05__step-num {
  top: -2.88vw;
  right: 4.16vw;
  width: 6.4vw;
  padding: 2.24vw 0;
  border-radius: 1.6vw;
}

.con05__card-desc {
  margin-top: 3.36vw;
}

.con05__card-ticks {
  align-self: center;
  width: 3.36vw;
  margin-top: 3.072vw;
}

.con05__band {
  margin-top: 16.96vw;
  padding: 4.64vw 0;
}

.con05__marquee-item {
  width: 438.72vw;
}

.con08_iner {
  padding-top: 20.48vw;
  padding-bottom: 20.96vw;
}

.con08__form {
  width: 88vw;
  margin-top: 8.96vw;
}

.con08__agree {
  gap: 3.04vw;
  padding: 4.2667vw 4.8vw;
}

.con08__agree-label {
  font-size: var(--bodyL); /* 한 줄 유지 — bodyXL 16px 은 270px 이라 가용 265px 을 넘는다 */
}

.con08__agree-check,
.con08__radio-input {
  width: 4.8vw;
  height: 4.8vw; /* HEIGHT: 폼 컨트롤 규격 — 체크박스/라디오 정사각 */
}

.con08__panel {
  margin-top: 2.72vw;
  padding: 9.6vw 5.3333vw 12vw;
}

.con08__fields {
  grid-template-columns: 1fr;
  width: 100%;
  row-gap: 4.2667vw;
}

/* 불릿·라벨 1행, 컨트롤 2행 — 시안의 "● 라벨" 가로 붙임 유지 */
.con08__field {
  display: grid;
  grid-template-columns: auto 1fr;
}

/* PC 는 flex 라 확장 필드 노출값도 뷰포트별로 다르다 */
.con08__fields.is-expanded .con08__field--ext {
  display: grid;
}

.con08__field::before {
  border-width: 0.8vw;
}

.con08__field-label {
  width: auto;
  padding-left: 1.92vw;
}

.con08__field-control {
  grid-column: 1 / -1;
  width: auto;
  height: 11.7333vw; /* HEIGHT: 터치 타깃 44px 하한 */
  margin-top: 2.1333vw;
}

.con08__input {
  padding-inline: 3.2vw;
  border-radius: 1.6vw;
}

.con08__field-control--type {
  gap: 3.2vw;
}

.con08__field-control--radio {
  gap: 6.4vw;
}

.con08__type-btn {
  flex: 1;
  width: auto;
  height: 100%; /* HEIGHT: 부모 슬롯 44px 채움 — align-items:center 라 stretch 안 됨 */
  border-radius: 1.6vw;
}

.con08__radio {
  width: auto;
  gap: 1.92vw;
}

.con08__field-control--file {
  flex-direction: column;
  align-items: flex-start;
  height: auto;
  gap: 4vw;
}

.con08__attach {
  width: 17.76vw;
  height: 11.7333vw; /* HEIGHT: 터치 타깃 44px 하한 */
  border-radius: 1.6vw;
}

.con08__file {
  gap: 1.6vw;
}

.con08__file-remove {
  width: 4.2667vw;
}

.con08__submit {
  width: 60vw;
  height: 11.7333vw; /* HEIGHT: 터치 타깃 44px 하한 */
  margin-top: 9.76vw;
  border-radius: 1.6vw;
}

/* ===== con04 ===== */
.con04_iner {
  padding-bottom: 9.6vw;
}

/* 가로 가운데 + 하단 페이드 — 접시가 헤드 텍스트에 겹쳐 사라진다(dev-pick 2026-09-03 13:24) */
.con04__deco {
  width: 80vw;
  left: 0;
  right: 0;
  top: -8vw;
  margin-inline: auto;
  -webkit-mask-image: linear-gradient(to bottom, #000 35%, transparent 72%);
  mask-image: linear-gradient(to bottom, #000 35%, transparent 72%);
}

/* eyebrow 가 페이드 종점(72%) 밖에 놓이는 값 — 더 줄이면 접시 잔상에 묻힌다 */
.con04__head {
  padding-top: 34vw;
}

.con04__title {
  margin-top: 3.52vw;
}

.con04__body {
  flex-direction: column;
  margin-top: 15.84vw;
  padding-left: 0;
  gap: 9.28vw;
}

.con04__photos {
  width: 90vw;
  margin-inline: auto;
}

.con04__photos .con04__photo {
  width: 90vw;
}

.con04__photo-media {
  width: 90vw;
  border-radius: 4.8vw;
}

.con04__panel {
  flex: 0 0 auto;
}

.con04__nav {
  order: 1; /* 버튼을 카드 슬라이더 아래로 — panel 이 flex-col 이라 순서만 뒤집으면 된다 */
  justify-content: center;
  padding-top: 7.04vw;
  gap: 4.48vw;
}

.con04__nav-btn {
  width: 14.72vw;
  padding-bottom: 1.12vw;
}

.con04__nav-chevron {
  width: 1.44vw;
  padding-block: 1.12vw;
}

/* centeredSlides 가 좌우 offset 을 계산한다 — padding-left 가 남으면 중앙이 어긋난다 */
.con04__cards {
  margin-top: 0; /* 위 간격은 body gap 이 소유 — nav 가 아래로 갔다 */
  padding-left: 0;
}

/* 간격은 Swiper spaceBetween 이 소유한다 — margin-right 로 주면 중심이 마진 절반만큼 밀린다 */
.con04__cards .con04__card {
  width: 84vw;
  margin-right: 0;
  padding: 1.44vw 1.28vw 1.28vw 1.44vw;
  border-radius: 4.8vw;
}

.con04__card:not(.swiper-slide-active) {
  margin-top: 0;
}

.con04__card-inner {
  /* 좌우 대칭 8vw — 가용폭 231.4→242.8 이라야 card05 가 원문 그대로 3줄에 들어간다(241.2 이상 필요) */
  padding: 8.32vw 8vw 7.52vw 8vw;
  border-radius: 4vw;
}

.con04__card-num {
  width: 8.64vw;
  padding-block: 0.8vw;
}

.con04__card-title {
  margin-top: 12.48vw;
}

.con04__card-desc {
  margin-top: 4.16vw;
}

/* ===== intro ===== */
.intro_iner {
  flex-direction: column;
  height: 100dvh;
}

.intro__panel-general,
.intro__panel-reboot {
  display: flex;
  flex: 0 0 50%;
  flex-direction: column;
  padding: 0;
}

.intro__panel-general {
  justify-content: flex-start;
  padding-top: 14vw;
}

.intro__panel-reboot {
  justify-content: flex-start;
  padding-top: 22vw;
}

.intro__photo-grill {
  top: auto;
  bottom: 0;
  left: 0;
  right: 0;
  margin-inline: auto;
  width: 70vw;
  -webkit-mask-image: linear-gradient(to top, #000 24%, transparent 35%);
  mask-image: linear-gradient(to top, #000 24%, transparent 35%);
}

.intro__smoke-general {
  top: auto;
  bottom: 0;
  left: 0;
  right: 0;
  margin-inline: auto;
  width: 60vw;
  -webkit-mask-image: linear-gradient(to top, #000 30%, transparent 55%);
  mask-image: linear-gradient(to top, #000 30%, transparent 55%);
}

.intro__photo-plate {
  top: auto;
  bottom: -21vw;
  left: 0;
  right: 0;
  margin-inline: auto;
  width: 78vw;
  -webkit-mask-image: linear-gradient(to top, #000 45%, transparent 82%);
  mask-image: linear-gradient(to top, #000 45%, transparent 82%);
}

.intro__photo-pick {
  top: auto;
  bottom: 0;
  right: -18vw;
  width: 70vw;
  -webkit-mask-image: linear-gradient(to top, #000 15%, transparent 50%);
  mask-image: linear-gradient(to top, #000 15%, transparent 50%);
}

.intro__smoke-reboot {
  top: auto;
  bottom: 0;
  left: 0;
  right: 0;
  margin-inline: auto;
  width: 60vw;
  -webkit-mask-image: linear-gradient(to top, #000 22%, transparent 44%);
  mask-image: linear-gradient(to top, #000 22%, transparent 44%);
}

.intro__title,
.intro__lead,
.intro__panel-reboot .intro__lead {
  word-spacing: normal;
}

.intro__rule {
  margin-top: 6.64vw;
  width: 19.04vw;
}

.intro__lead {
  margin-top: 7.024vw;
}

.intro__desc {
  margin-top: 5.096vw;
}

.intro__logo {
  top: calc(50% - 17vw);
  bottom: auto;
  left: calc(50% - 17vw);
  width: 34vw;
  padding: 6.1655vw 8.2007vw;
  box-shadow: 0 2.993vw 8.3803vw rgba(0, 0, 0, .26);
}

.intro__baseline {
  bottom: 1.28vw;
}

.intro__logo-mark {
  width: 100%;
}
}
