@charset "UTF-8";

/* merge-build.js 산출물 — 납품 시 css/sections/*.css 전량이 이 아래로 합쳐진다. 손으로 쓰지 않는다(CLAUDE.md 원칙 14). */
/* merge-build:acon01 */
/* acon01 — 키비주얼(뉴욕+버거 배경, 좌측 헤드카피 + 우측 엠블럼) · 배치 정본 = 10/8 고객 .ai(홈페이지 앰블럼위치) */
.acon01 {
  height: calc(var(--px)*1024); /* HEIGHT: .ai 헤더 아래 사진 영역 1024 — 배경 사진만 있어 콘텐츠로 못 만듦 */
}

.acon01_iner {
  padding: calc(var(--px)*242) 0 0 calc(var(--px)*172.5);
}

.acon01__title {
  display: grid;
  justify-items: start;
  align-items: start;
}

.acon01__copy--ko {
  margin-left: calc(var(--px)*38);
}

.acon01__copy--en {
  margin-top: calc(var(--px)*30.5);
}

.acon01__script {
  margin-top: calc(var(--px)*63.5);
  margin-left: calc(var(--px)*22.5);
}

.acon01__emblem {
  top: calc(var(--px)*138);
  right: calc(var(--px)*182.25);
}

/* 유저 댓글 지시 — 한글/영문 한 자리에서 깜박이며 교대(상시 루프라 CSS keyframes · GSAP 정지와 무관) */
.acon01__copy {
  grid-area: 1 / 1;
  animation: acon01-blink 6s step-end infinite;
}

.acon01__copy--en {
  animation-delay: -3s;
}

@keyframes acon01-blink {
  0% { opacity: 1; }
  50% { opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .acon01__copy { animation: none; }
  .acon01__copy--en { opacity: 0; }
}

/* IMG:AUTO acon01 */
/* 섹션 HTML 파생 (tools/img-size-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.acon01__copy.acon01__copy--ko {
    width: calc(var(--px)*602.5);
    aspect-ratio: 1205 / 195;
}

.acon01__copy.acon01__copy--en {
    width: calc(var(--px)*686.5);
    aspect-ratio: 1373 / 123;
}

.acon01__script {
    width: calc(var(--px)*614);
    aspect-ratio: 1228 / 460;
}

.acon01__emblem {
    width: calc(var(--px)*254.75);
    aspect-ratio: 1019 / 1022;
}
/* /IMG:AUTO acon01 END */

@media (max-width:599px) {
  .acon01 { height: auto; min-height: 170vw; background-color: #356e93; } /* 배경 사진 상단 하늘색 실측 — 사진을 텍스트 아래로 내린 빈 면을 잇는다 */
  .acon01__bg-img { top: auto; bottom: -0.5833vw; height: auto; aspect-ratio: 1000 / 1461; /* intro_01(1002행) 을 구 acon01_01(823행)·120vw 와 같은 배율로 — bottom 은 하단 4px 투명행 가림 */ object-position: 73% 50%; mask-image: linear-gradient(to bottom, transparent, #000 15%); }
  .acon01_iner { padding: 10.6667vw 0 0; }
  .acon01__visual { align-items: center; }
  .acon01__copy.acon01__copy--ko { width: 60vw; margin-left: 0; }
  .acon01__copy.acon01__copy--en { width: 80vw; margin-top: 0; align-self: end; }
  .acon01__title { justify-items: center; }
  .acon01__emblem { top: 50.1333vw; right: 2.1333vw; width: 21.3333vw; } /* 카피 영역 아래, 버거 상자 우상단 — PC 배치 관계 유지 */
  .acon01__script { margin-top: 4.2667vw; margin-left: 0; width: 56vw; }
}

/* /merge-build:acon01 */
/* merge-build:acon02 */
/* acon02 — 모바일: intro 2열 grid → 1열, 별 장식 숨김 후보 */
.acon02 {
  background-color: #f6f5f1;
}

.acon02__ribbon {
  padding-top: calc(var(--px)*7);
  padding-bottom: calc(var(--px)*6);
  background-color: #163587;
  border-bottom: calc(var(--px)*9) solid #db1e1e;
}

.acon02__card {
  width: calc(var(--px)*1430);
  margin-top: calc(var(--px)*54);
  background-color: #fff;
}

/* 유저 댓글 지시 — 스크롤 시 사진 배경 고정. clip-path 가 fixed 자식을 이 상자로 자름(overflow 로는 못 자름) */
.acon02__photo {
  clip-path: inset(0);
}

.acon02__photo-img {
  position: fixed;
  top: 0;
  left: 50%;
  width: calc(var(--px)*1439); /* 클립 전 원본 폭(acon02_photo.raw 1439x910) — 상자 1430 보다 좌우 4px 넓음 */
  height: 100vh; /* HEIGHT: 고정 배경은 뷰포트 높이를 덮어야 스크롤 중 빈 면이 안 생김 — 콘텐츠 높이 개념 없음 */
  transform: translateX(-50%);
}

.acon02__intro {
  display: grid;
  grid-template-columns: calc(var(--px)*698) auto;
  align-items: start;
  padding: calc(var(--px)*61) 0 calc(var(--px)*130) calc(var(--px)*127);
}

.acon02__title {
  gap: calc(var(--px)*5);
  text-transform: uppercase;
}

.acon02__desc {
  gap: calc(var(--px)*32);
}

.acon02__text {
  gap: calc(var(--px)*9);
}

.acon02__star--left {
  left: calc(var(--px)*68);
  bottom: calc(var(--px)*471);
}

.acon02__star--right {
  right: calc(var(--px)*66);
  bottom: calc(var(--px)*470);
}

/* IMG:AUTO acon02 */
/* 섹션 HTML 파생 (tools/img-size-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.acon02__ribbon-img {
    width: calc(var(--px)*586);
    aspect-ratio: 586 / 15;
}

.acon02__photo {
    width: calc(var(--px)*1430);
    aspect-ratio: 1430 / 524;
}

.acon02__star.acon02__star--left,
.acon02__star.acon02__star--right {
    width: calc(var(--px)*103);
    aspect-ratio: 103 / 27;
}
/* /IMG:AUTO acon02 END */

/* FONT:AUTO acon02 */
/* spec.json 파생 (tools/spec-font-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: line-height · letter-spacing 는 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.acon02__title {
    font-family: var(--font-ackbar);
    font-size: var(--titleXL);
    font-weight: 400;
    letter-spacing: -0.03em;
    line-height: 1;
}

.acon02__title-quality {
    color: #163587;
}

.acon02__title-burger {
    color: #db1e1e;
}

.acon02__desc {
    font-family: var(--font-noto);
    color: #090909;
}

.acon02__lead {
    font-size: var(--headM);
    font-weight: 700;
    letter-spacing: -0.05em;
    line-height: 1.04;
}

.acon02__text {
    font-size: var(--subheadM);
    font-weight: 400;
    letter-spacing: -0.05em;
}

.acon02__text-first {
    line-height: 1.16;
}

.acon02__text-rest {
    line-height: 1.38;
}
/* /FONT:AUTO acon02 END */

/* INK:AUTO acon02 */
.acon02__title-burger { margin-top: calc(var(--px) * -6.5); margin-bottom: calc(var(--px) * -7.5); } /* base 0,0 */
.acon02__text-rest { margin-top: calc(var(--px) * -5.49); margin-bottom: calc(var(--px) * -3.46); } /* base 0,0 */
.acon02__title-quality { margin-top: calc(var(--px) * -7.5); margin-bottom: calc(var(--px) * -0.5); } /* base 0,0 */
.acon02__text-first { margin-top: calc(var(--px) * -3.18); margin-bottom: calc(var(--px) * -1.18); } /* base 0,0 */
.acon02__lead { margin-top: calc(var(--px) * -2.56); margin-bottom: calc(var(--px) * 0.45); } /* base 0,0 */
/* /INK:AUTO acon02 END */

@media (max-width:599px) {
  .acon02__ribbon {
    padding-top: 1.0667vw;
    padding-bottom: 1.0667vw;
    border-bottom: 1.6vw solid #db1e1e;
  }

  .acon02__ribbon-img {
    width: 85.3333vw;
  }

  .acon02__card {
    width: 91.4667vw;
    margin-top: 8.5333vw;
  }

  .acon02__photo {
    width: 91.4667vw;
    clip-path: none;
  }

  .acon02__photo-img {
    position: static;
    width: 100%;
    height: 100%;
    transform: none;
    object-position: 50% 26.7%; /* 원본 910행 중 시안 클립 위치(위에서 103행) — 103 / (910 − 524) */
  }

  .acon02__intro {
    grid-template-columns: 1fr;
    row-gap: 6.4vw;
    padding: 10.6667vw 4.2667vw 12.8vw;
  }

  .acon02__title {
    align-items: center;
    gap: 0.5333vw;
  }

  .acon02__desc {
    gap: 5.3333vw;
  }

  .acon02__text {
    align-items: center;
    gap: 1.6vw;
  }
}


/* /merge-build:acon02 */
/* merge-build:acon03 */
/* acon03 — 공용 조각(sub01·sub04) · 카드 간격은 slide.js spaceBetween. 모바일: 슬라이드 1장 노출 후보, 화살표 유지 */
.acon03 {
  background-color: #fff;
}

.acon03_iner {
  padding-top: calc(var(--px)*148);
  padding-bottom: calc(var(--px)*163);
}

.acon03__title {
  text-transform: uppercase;
}

.acon03__slider {
  width: calc(var(--px)*1432);
  margin-top: calc(var(--px)*64);
}

.acon03__card-body {
  padding-top: calc(var(--px)*60);
  padding-bottom: calc(var(--px)*51.45);
  gap: calc(var(--px)*12);
}

.acon03__card-desc {
  margin-top: calc(var(--px)*14);
}

.acon03__nav {
  gap: calc(var(--px)*15);
  margin-top: calc(var(--px)*77);
}

.acon03__nav-btn {
  width: calc(var(--px)*84);
  padding-block: calc(var(--px)*13.5);
  border-radius: 50vw;
  background-color: #090909;
  transition: background-color .25s ease-out;
}

.acon03__nav-btn--prev .acon03__nav-glyph {
  transform: scaleX(-1);
}

@media (hover:hover) {
  .acon03__nav-btn:hover {
    background-color: var(--secondary);
  }
}

.acon03__nav-btn:focus-visible {
  background-color: var(--secondary);
}

/* FONT:AUTO acon03 */
/* spec.json 파생 (tools/spec-font-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: line-height · letter-spacing 는 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.acon03 {
    text-align: center;
}

.acon03__title {
    font-family: var(--font-ackbar);
    font-size: var(--titleL);
    font-weight: 400;
    letter-spacing: -0.03em;
    line-height: 1.2;  /* OVR */
    color: #090909;
}

.acon03__card-status {
    font-family: var(--font-poppins);
    font-size: var(--titleXS);
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 1;
    color: #ffffff;
}

.acon03__card-desc {
    font-family: var(--font-noto);
    font-size: var(--bodyS);
    font-weight: 400;
    letter-spacing: -0.05em;
    line-height: 1.37;
    color: #c87d7d;
}

.acon03__card-name {
    font-family: var(--font-noto);
    font-size: var(--headL);
    font-weight: 700;
    letter-spacing: -0.05em;
    line-height: 1;
    color: #ffffff;
}

.acon03__nav {
    font-family: var(--font-suite);
    font-size: var(--subheadL);
    font-weight: 500;
    letter-spacing: -0.03em;
    line-height: 1;  /* OVR */
    color: #ffffff;
}
/* /FONT:AUTO acon03 END */

/* INK:AUTO acon03 */
.acon03__title { margin-top: calc(var(--px) * -11.5); margin-bottom: calc(var(--px) * -11.5); } /* base 0,0 */
.acon03__card-status { margin-top: calc(var(--px) * -6.5); margin-bottom: calc(var(--px) * -2.5); } /* base 0,0 */
.acon03__card-desc { margin-top: calc(var(--px) * 9.23); margin-bottom: calc(var(--px) * -1.77); } /* base 13,0 */
.acon03__card-name { margin-top: calc(var(--px) * -3); margin-bottom: calc(var(--px) * 1); } /* base 0,0 */
/* /INK:AUTO acon03 END */

@media (max-width:599px) {
  .acon03_iner {
    padding-top: 17.0667vw;
    padding-bottom: 17.0667vw;
  }

  .acon03__slider {
    width: 100%;
    margin-top: 10.6667vw;
  }

  .acon03__card-body {
    padding-top: 8.5333vw;
    padding-bottom: 8.5333vw;
    gap: 2.1333vw;
  }

  .acon03__nav {
    gap: 2.1333vw;
    margin-top: 12.8vw;
  }

  .acon03__nav-btn {
    width: 12.8vw;
    padding-block: 2.1333vw;
  }

  .acon03__title { margin-top: -0.23em; margin-bottom: -0.23em; } /* INK -11.5/50 */
  .acon03__card-status { margin-top: -0.1857em; margin-bottom: -0.0714em; } /* INK /35 */
  .acon03__card-desc { margin-top: calc(2.1333vw - 0.2513em); margin-bottom: -0.118em; } /* base 8px + INK -3.77/15 */
  .acon03__card-name { margin-top: -0.0938em; margin-bottom: 0.0313em; } /* INK /32 */
}

/* /merge-build:acon03 */
/* merge-build:acon05 */
/* acon05 — PC: 좌측 탭 + 우측 카드 3×2(최대 6개) 좌우 swiper · 모바일: 탭 가로 · 카드 가로 swiper 스트립 */

.acon05 {
  overflow: clip;
}

.acon05_iner {
  padding: calc(var(--px)*180) 0 calc(var(--px)*140) calc(var(--px)*151);
}

.acon05__aside {
  flex: none;
  width: calc(var(--px)*544);
  margin-top: calc(var(--px)*58);
}

.acon05__tabs {
  gap: calc(var(--px)*18);
  margin-left: calc(var(--px)*-3);
}

.acon05__tab {
  padding: 0;
  letter-spacing: inherit; /* button UA 가 letter-spacing:normal 로 끊어 부모 상속이 안 됨 */
  text-transform: uppercase; /* button UA 의 text-transform:none 때문에 부모 상속이 안 됨 */
  transition: color .25s ease-out;
}

.acon05__tab.is-active,
.acon05__tab:hover {
  color: #163587;
}

.acon05__more {
  width: calc(var(--px)*176);
  margin-top: calc(var(--px)*91);
  padding-block: calc(var(--px)*13);
  background-color: #090909;
  border-radius: 50vw;
  transition: background-color .25s ease-out;
}

@media (hover:hover) {
  .acon05__more:hover {
    background-color: var(--secondary); /* acon03 화살표 버튼과 같은 호버 */
  }
}

.acon05__more:focus-visible {
  background-color: var(--secondary);
}

.acon05__nav {
  gap: calc(var(--px)*8); /* 버튼 84×2 + 8 = Menu 버튼 폭 176 */
  margin-top: calc(var(--px)*15);

  &.is-locked {
    visibility: hidden; /* 6개 이하 = 넘길 페이지 없음 · 자리는 유지 */
  }
}

.acon05__nav-btn {
  width: calc(var(--px)*84);
  padding-block: calc(var(--px)*13.5);
  border-radius: 50vw;
  background-color: #090909;
  font-family: var(--font-suite);
  font-size: var(--subheadL);
  font-weight: 500;
  line-height: 1;
  color: #ffffff;
  transition: background-color .25s ease-out, opacity .25s ease-out;
}

.acon05__nav-btn--prev .acon05__nav-glyph {
  transform: scaleX(-1);
}

@media (hover:hover) {
  .acon05__nav-btn:not(.swiper-button-disabled):hover {
    background-color: var(--secondary);
  }
}

.acon05__nav-btn:focus-visible {
  background-color: var(--secondary);
}

.acon05__panels {
  flex: none;
  width: calc(var(--px)*974);
}

.acon05__panel.swiper,
.acon05__panel {
  padding-top: calc(var(--px)*35); /* 시안 hover 원 상단(y180) → 카드 상단(y215) · .swiper{padding:0} 을 이기려 복합 셀렉터 */

  &:not(.is-active) {
    display: none;
  }
}

/* swiper init 전 폴백 = 시안 3열 그리드 */
.acon05__list:not(.swiper-wrapper) {
  display: grid;
  grid-template-columns: repeat(3, calc(var(--px)*308));
  grid-auto-rows: calc(var(--px)*274); /* 시안 행 피치 354(구분선 y424→778) − gap 80 */
  gap: calc(var(--px)*80) calc(var(--px)*25);
}

.acon05__list.swiper-wrapper {
  height: calc(var(--px)*683); /* swiper grid 는 행간도 spaceBetween(25)이라 슬라이드 높이 329 로 행 피치 354 를 맞춤 = 329×2+25 */
  margin-bottom: calc(var(--px)*-55); /* 2행 슬라이드 하단 빈칸(329−274) 회수 — 섹션 높이 시안 유지 */
}

.acon05__card--blank {
  visibility: hidden; /* slide.js 가 PC 마지막 페이지를 6칸으로 채우는 자리 */
}

.acon05__card-circle {
  top: calc(var(--px)*-35);
  left: 0;
  right: 0;
  padding-top: 100%;
  border-radius: 50%;
  background-color: #fff;
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s ease-out;
}

.acon05__card:hover .acon05__card-circle {
  opacity: 1;
}

.acon05__card-media {
  width: fit-content;
  margin-inline: auto;
}

.acon05__card-badge {
  top: 0;
  right: calc(var(--px)*-19);
}

.acon05__card-no {
  top: calc(var(--px)*-15);
  left: calc(var(--px)*27);
}

.acon05__card-info {
  display: flex;
  flex-direction: column;
  gap: calc(var(--px)*2);
  margin-top: calc(var(--px)*15);
  padding-top: calc(var(--px)*16);
  border-top: 1px solid #0c0c0c;
}

/* IMG:AUTO acon05 */
/* 섹션 HTML 파생 (tools/img-size-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.acon05__card-thumb {
    width: calc(var(--px)*239);
    aspect-ratio: 239 / 194;
}

.acon05__card-badge {
    width: calc(var(--px)*85);
    aspect-ratio: 85 / 39;
}
/* /IMG:AUTO acon05 END */

/* FONT:AUTO acon05 */
/* spec.json 파생 (tools/spec-font-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: line-height · letter-spacing 는 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.acon05__aside {
    color: #ffffff;
}

.acon05__tabs {
    font-family: var(--font-ackbar);
    font-size: var(--displayL);
    font-weight: 400;
    letter-spacing: -0.03em;
    line-height: 1;
}

.acon05__more {
    font-family: var(--font-poppins);
    font-size: var(--bodyM);
    font-weight: 500;
    letter-spacing: -0.03em;
    line-height: 1.5;  /* OVR psd:13.3 */
    text-align: center;
}

.acon05__card-no {
    font-family: var(--font-poppins);
    font-size: var(--bodyXS);
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 2.44;
    color: #090909;
}

.acon05__card-info {
    text-align: center;
}

.acon05__card-en {
    font-family: var(--font-poppins);
    font-size: var(--bodyXS);
    font-weight: 600;
    letter-spacing: -0.03em;
    line-height: 1.49;
    color: #090909;
}

.acon05__card-ko {
    font-family: var(--font-noto);
    font-size: var(--bodyS);
    font-weight: 400;
    letter-spacing: -0.05em;
    line-height: 1.67;
    color: #0c0c0c;
}
/* /FONT:AUTO acon05 END */

/* INK:AUTO acon05 */
.acon05__tab.acon05__tab--side { margin-top: calc(var(--px) * -11); margin-bottom: calc(var(--px) * -11); } /* base 0,0 */
.acon05__tab.acon05__tab--drinks { margin-top: calc(var(--px) * -11); margin-bottom: calc(var(--px) * -11); } /* base 0,0 */
.acon05__tab.acon05__tab--beers { margin-top: calc(var(--px) * -11); margin-bottom: calc(var(--px) * -11); } /* base 0,0 */
.acon05__tab.acon05__tab--burger { margin-top: calc(var(--px) * -10); margin-bottom: calc(var(--px) * -11); } /* base 0,0 */
.acon05__card-en { margin-top: calc(var(--px) * -6.43); margin-bottom: calc(var(--px) * -4.43); } /* base 0,0 */
.acon05__card-ko { margin-top: calc(var(--px) * -6.02); margin-bottom: calc(var(--px) * -4.02); } /* base 0,0 */
/* /INK:AUTO acon05 END */

@media (max-width:599px) {
  .acon05_iner {
    flex-direction: column;
    align-items: center;
    padding: 17.0667vw 4.2667vw;
  }

  .acon05__aside {
    display: contents;
  }

  .acon05__tabs {
    order: 1;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.6vw;
    margin-left: 0;
    font-size: var(--titleXS); /* displayL 은 4탭이 한 줄에 안 들어감(375 실측 2줄) — titleXS 는 gap 1.6vw 로 한 줄 */
  }

  .acon05__tab.acon05__tab--side,
  .acon05__tab.acon05__tab--drinks,
  .acon05__tab.acon05__tab--beers { margin-top: -0.1392em; margin-bottom: -0.1392em; }
  .acon05__tab.acon05__tab--burger { margin-top: -0.1266em; margin-bottom: -0.1392em; }

  .acon05__panels {
    order: 2;
    align-self: stretch;
    width: auto;
    margin-top: 4.2667vw;
    margin-inline: -4.2667vw;
    min-height: 0;
  }

  .acon05__panel.swiper,
  .acon05__panel {
    padding-top: 5.3333vw; /* 카드 top 음수로 나가는 hover 원이 swiper 박스에 안 잘리게 */
  }

  .acon05__list:not(.swiper-wrapper) {
    display: flex;
  }

  .acon05__list.swiper-wrapper {
    height: auto;
    margin-bottom: 0;
  }

  .acon05__card {
    flex: 0 0 40vw;
  }

  .acon05__card-circle {
    top: -5.3333vw;
  }

  .acon05__card-thumb {
    width: 31.04vw;
  }

  .acon05__card-badge {
    width: 11.04vw;
    right: -3.04vw;
  }

  .acon05__card-no {
    top: -2.4vw;
    left: 4.32vw;
  }

  .acon05__card-info {
    gap: 0.5333vw;
    margin-top: 2.1333vw;
    padding-top: 2.1333vw;
  }

  .acon05__card-en { margin-top: -0.4593em; margin-bottom: -0.3164em; }
  .acon05__card-ko { margin-top: -0.4013em; margin-bottom: -0.268em; }

  .acon05__more {
    order: 3;
    width: 28.16vw;
    margin-top: 14.9333vw;
    padding-block: 2.1333vw;
  }
}

/* /merge-build:acon05 */
/* merge-build:acon07 */
/* acon07 — 빨랫줄 포스터 + 브랜드 소개·Contact Us */
.acon07 {
  background-color: #317397;
}

.acon07__rope {
  top: calc(var(--px)*114);
  left: 0;
}

/* 좌우 열 1fr 균등 → 포스터가 캔버스 중앙에 자동 착지, info 는 우측 열 */
.acon07_iner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  padding-top: calc(var(--px)*57);
  padding-bottom: calc(var(--px)*93);
}

.acon07__poster {
  grid-column: 2;
  filter: drop-shadow(0 calc(var(--px)*10) calc(var(--px)*18) rgba(0, 0, 0, 0.06));
}

.acon07__info {
  align-self: end;
  gap: calc(var(--px)*49);
  padding-left: calc(var(--px)*89);
  margin-bottom: calc(var(--px)*50);
}

.acon07__cta {
  width: calc(var(--px)*196);
  padding-block: calc(var(--px)*13);
  border-radius: calc(var(--px)*25);
  background-color: #090909;
  transition: background-color .25s ease-out;
}

@media (hover:hover) {
  .acon07__cta:hover {
    background-color: var(--secondary);
  }
}

.acon07__cta:focus-visible {
  background-color: var(--secondary);
}

/* IMG:AUTO acon07 */
/* 섹션 HTML 파생 (tools/img-size-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.acon07__rope {
    width: calc(var(--px)*1905);
    aspect-ratio: 1905 / 79;
}

.acon07__poster {
    width: calc(var(--px)*552);
    aspect-ratio: 552 / 795;
}
/* /IMG:AUTO acon07 END */

/* FONT:AUTO acon07 */
/* spec.json 파생 (tools/spec-font-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: line-height · letter-spacing 는 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.acon07 {
    color: #ffffff;
}

.acon07__desc {
    font-family: var(--font-noto);
    font-size: var(--bodyL);
    font-weight: 400;
    letter-spacing: -0.09em; /* OVR */
    line-height: 1.44; /* OVR */
}

.acon07__cta {
    font-family: var(--font-poppins);
    font-size: var(--bodyM);
    font-weight: 500;
    letter-spacing: -0.03em;
    line-height: 1.5; /* OVR */
    text-align: center;
}
/* /FONT:AUTO acon07 END */

/* INK:AUTO acon07 */
.acon07__desc { margin-top: calc(var(--px) * -5.96); margin-bottom: calc(var(--px) * -2.89); } /* base 0,0 */
/* /INK:AUTO acon07 END */

@media (max-width:599px) {
  .acon07__rope { width: 248.4783vw; left: -74.2391vw; top: 15.9681vw; }
  .acon07_iner { grid-template-columns: 1fr; justify-items: center; row-gap: 10.6667vw; padding-top: 8.5333vw; padding-bottom: 14.9333vw; }
  .acon07__poster { grid-column: auto; width: 72vw; filter: drop-shadow(0 1.6vw 3.2vw rgba(0, 0, 0, 0.06)); }
  .acon07__info { align-self: auto; align-items: center; gap: 8.5333vw; padding-inline: 5.3333vw; margin-bottom: 0; }
  .acon07__desc { letter-spacing: -0.05em; margin-top: -1.0667vw; margin-bottom: -0.5333vw; }
  .acon07__cta { width: 38.6773vw; padding-block: 2.1333vw; border-radius: 50vw; }
}

/* /merge-build:acon07 */
/* merge-build:acon08 */
/* acon08 — 모바일: showcase 를 column 으로 접어 head 먼저, 포스터 4장은 2×2 grid 후보 */
.acon08 {
  background-color: #5f0007;
}

.acon08_iner {
  padding-top: calc(var(--px)*86);
  padding-bottom: calc(var(--px)*145);
}

.acon08__showcase {
  padding: 0 calc(var(--px)*55) 0 calc(var(--px)*54);
}

/* 좌우 열 폭 균등 → head 가 컨테이너 중앙에 자동 착지 */
.acon08__posters {
  flex: 1 1 0;
  gap: calc(var(--px)*16);
  margin-top: calc(var(--px)*146);
}

.acon08__posters--right {
  gap: calc(var(--px)*17);
}

.acon08__head {
  gap: calc(var(--px)*25);
  margin-right: calc(var(--px)*4);
}

.acon08__copy {
  gap: calc(var(--px)*30);
  margin-top: calc(var(--px)*99);
  padding-right: calc(var(--px)*6);
}

.acon08__desc {
  padding-left: calc(var(--px)*14);
}

.acon08__slogan {
  text-transform: uppercase;
}

/* IMG:AUTO acon08 */
/* 섹션 HTML 파생 (tools/img-size-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.acon08__poster {
    width: calc(var(--px)*304);
    aspect-ratio: 304 / 434;
}

.acon08__emblem {
    width: calc(var(--px)*262);
    aspect-ratio: 262 / 262;
}
/* /IMG:AUTO acon08 END */

/* FONT:AUTO acon08 */
/* spec.json 파생 (tools/spec-font-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: line-height · letter-spacing 는 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.acon08 {
    text-align: center;
    color: #ffffff;
}

.acon08__title {
    font-family: var(--font-ackbar);
    font-size: var(--displayM);
    font-weight: 400;
    letter-spacing: -0.03em;
    line-height: 0.96; /* OVR */
}

.acon08__slogan {
    font-family: var(--font-poppins);
    font-size: var(--titleXS);
    font-weight: 900;
    letter-spacing: -0.0217em; /* OVR */
    line-height: 1;
}

.acon08__slogan-point {
    color: var(--tertiary);
}

.acon08__desc {
    font-family: var(--font-noto);
    font-size: var(--headS);
    font-weight: 500;
    letter-spacing: -0.05em;
    line-height: 1.33;
}

.acon08__desc-point {
    font-weight: 700;
}
/* /FONT:AUTO acon08 END */

/* INK:AUTO acon08 */
.acon08__slogan-point { margin-top: calc(var(--px) * -6.5); margin-bottom: calc(var(--px) * -13.5); } /* base 0,0 */
.acon08__title { margin-top: calc(var(--px) * -8.5); margin-bottom: calc(var(--px) * -8.5); } /* base 0,0 */
.acon08__desc-point { margin-top: calc(var(--px) * -5.46); margin-bottom: calc(var(--px) * -5.54); } /* base 0,0 */
.acon08__slogan { margin-top: calc(var(--px) * -6.5); margin-bottom: calc(var(--px) * 2.5); } /* base 0,0 */
.acon08__desc { margin-top: calc(var(--px) * -4.46); margin-bottom: calc(var(--px) * -3.43); } /* base 0,0 */
/* /INK:AUTO acon08 END */

@media (max-width:599px) {
  .acon08_iner {
    padding-top: 12.8vw;
    padding-bottom: 17.0667vw;
  }

  .acon08__showcase {
    flex-direction: column;
    align-items: stretch;
    gap: 3.2vw;
    padding: 0 4.2667vw;
  }

  .acon08__posters {
    flex: none;
    justify-content: center;
    gap: 3.2vw;
    margin-top: 0;
  }

  .acon08__posters--right {
    gap: 3.2vw;
  }

  .acon08__head {
    order: -1;
    gap: 4.2667vw;
    margin-right: 0;
    margin-bottom: 5.3333vw;
  }

  .acon08__poster {
    width: 44.1333vw;
  }

  .acon08__emblem {
    width: 40vw;
  }

  .acon08__title {
    font-size: 13.3333vw; /* M2 목업 결정: --displayM 22.67vw 면 HANDMADE 가 375 폭 초과 */
    margin-top: -0.1133em;
    margin-bottom: -0.1133em;
  }

  .acon08__copy {
    gap: 5.3333vw;
    margin-top: 14.9333vw;
    padding: 0 4.2667vw;
  }

  .acon08__slogan {
    margin-top: -0.1857em;
    margin-bottom: 0.0714em;
  }

  .acon08__slogan-point {
    margin-top: -0.1857em;
    margin-bottom: -0.3857em;
  }

  .acon08__desc {
    padding-left: 0;
    margin-top: -0.1858em;
    margin-bottom: -0.1429em;
  }

  .acon08__desc-point {
    margin-top: -0.2275em;
    margin-bottom: -0.2308em;
  }
}

/* /merge-build:acon08 */
/* merge-build:acon09 */
.acon09 {
  background-color: #f6f5f1;
}

.acon09__deco {
  top: calc(var(--px)*48);
  right: calc(var(--px)*76);
}

.acon09_iner {
  gap: calc(var(--px)*181);
  padding: calc(var(--px)*197) 0 calc(var(--px)*72) calc(var(--px)*328);
}

.acon09__frame {
  flex-shrink: 0;
  border: 4px solid #fff;
}

.acon09__content {
  width: calc(var(--px)*680);
  margin-top: calc(var(--px)*72);
}

.acon09__subtitle {
  margin-top: calc(var(--px)*21);
}

.acon09__points {
  margin-top: calc(var(--px)*51);
  border-top: 1px solid #0c0c0c;
  border-bottom: 1px solid #0c0c0c;
}

.acon09__point {
  gap: calc(var(--px)*28);
  padding: calc(var(--px)*22) 0 calc(var(--px)*24);

  &::before {
    content: "";
    flex-shrink: 0;
    width: calc(var(--px)*40);
    margin-top: calc(var(--px)*9);
    border-top: calc(var(--px)*5) solid #db1e1e;
  }

  & + & {
    border-top: 1px solid rgb(12 12 12 / 0.12);
  }
}

.acon09__point-desc {
  margin-top: calc(var(--px)*15);
}

/* 디센더(y·g) 잉크가 5px 더 내려가 설명과의 잉크 간격이 13 이다 */
.acon09__point-name--descender {
  margin-bottom: calc(var(--px)*-5);
}

/* IMG:AUTO acon09 */
/* 섹션 HTML 파생 (tools/img-size-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.acon09__deco {
    width: calc(var(--px)*551);
    aspect-ratio: 551 / 334;
}

.acon09__photo {
    width: calc(var(--px)*436);
    aspect-ratio: 436 / 567;
}
/* /IMG:AUTO acon09 END */

/* FONT:AUTO acon09 */
/* spec.json 파생 (tools/spec-font-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: line-height · letter-spacing 는 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.acon09 {
    color: #0c0c0c;
}

.acon09__title {
    font-family: var(--font-ackbar);
    font-size: var(--titleM);
    font-weight: 400;
    letter-spacing: -0.03em;
    line-height: 1.2;  /* OVR psd:1.07 */
}

.acon09__title-point {
    color: #790909;
}

.acon09__subtitle {
    font-family: var(--font-noto);
    font-size: var(--headL);
    font-weight: 700;
    letter-spacing: -0.05em;
    line-height: 1;
}

.acon09__points {
    font-family: var(--font-noto);
}

.acon09__point-name.acon09__point-name--descender,
.acon09__point-name {
    font-size: var(--headS);
    font-weight: 700;
    letter-spacing: -0.05em;
    line-height: 1.54;
}

.acon09__point-desc {
    font-size: var(--bodyXL);
    font-weight: 400;
    letter-spacing: -0.05em;
    line-height: 1.53;
}
/* /FONT:AUTO acon09 END */

/* INK:AUTO acon09 */
.acon09__title { margin-top: calc(var(--px) * -10.5); margin-bottom: calc(var(--px) * -10.5); } /* base 0,0 */
.acon09__point-name { margin-top: calc(var(--px) * -8.98); margin-bottom: calc(var(--px) * -6.97); } /* base 0,0 */
.acon09__title-point { margin-top: calc(var(--px) * -10.5); margin-bottom: calc(var(--px) * -4.5); } /* base 0,0 */
.acon09__point-desc { margin-top: calc(var(--px) * 7.97); margin-bottom: calc(var(--px) * -4.03); } /* base 15,0 */
.acon09__point-name.acon09__point-name--descender { margin-top: calc(var(--px) * -8.98); margin-bottom: calc(var(--px) * -6.97); } /* base 0,-5 */
.acon09__subtitle { margin-top: calc(var(--px) * 18); margin-bottom: calc(var(--px) * 1); } /* base 21,0 */
/* /INK:AUTO acon09 END */

@media (max-width:599px) {
  .acon09__deco {
    top: 2.1333vw;
    right: -10.6667vw; /* 사진(72vw) 오른쪽 여백으로 워터마크가 비쳐 보이게 off-canvas */
    width: 48vw;
  }

  .acon09_iner {
    flex-direction: column;
    align-items: center;
    gap: 10.6667vw;
    padding: 17.0667vw 5.3333vw 10.6667vw;
  }

  .acon09__photo {
    width: 72vw;
  }

  .acon09__content {
    width: 100%;
    margin-top: 0;
  }

  .acon09__points {
    margin-top: 8.5333vw;
  }

  .acon09__point {
    gap: 4.2667vw;
    padding: 3.2vw 0 4.2667vw;

    &::before {
      width: 6.4vw;
      margin-top: 1.0667vw;
      border-top-width: 3px;
    }
  }

  .acon09__title { margin-top: -0.2333em; margin-bottom: -0.2333em; }
  .acon09__title-point { margin-top: -0.2333em; margin-bottom: -0.1em; }
  .acon09__subtitle { margin-top: 0.5625em; margin-bottom: 0.0313em; }
  .acon09__point-name,
  .acon09__point-name.acon09__point-name--descender { margin-top: -0.3742em; margin-bottom: -0.2904em; }
  .acon09__point-desc { margin-top: 0.4195em; margin-bottom: -0.2121em; }
}

/* /merge-build:acon09 */
/* merge-build:acon10 */
/* acon10 — 모바일: _iner row→column(리스트 위·포스터 아래) */
.acon10 {
  background-color: #fff;
}
.acon10_iner {
  gap: calc(var(--px)*178);
  padding: calc(var(--px)*58) 0 calc(var(--px)*58) calc(var(--px)*273);
}
.acon10__content {
  width: calc(var(--px)*678);
  gap: calc(var(--px)*51);
}
.acon10__head {
  gap: calc(var(--px)*22);
}
.acon10__features {
  border-top: 1px solid #0c0c0c;
  border-bottom: 1px solid #0c0c0c;
}
.acon10__feature {
  gap: calc(var(--px)*29);
  padding: calc(var(--px)*21) 0 calc(var(--px)*20);
  & + & {
    border-top: 1px solid rgb(12 12 12 / 12%);
  }
}
.acon10__feature-bar {
  flex-shrink: 0;
  width: calc(var(--px)*40);
  margin-top: calc(var(--px)*10);
  border-top: calc(var(--px)*5) solid #db1e1e;
}
.acon10__feature-text {
  gap: calc(var(--px)*17);
  padding-bottom: calc(var(--px)*4);
}

/* IMG:AUTO acon10 */
/* 섹션 HTML 파생 (tools/img-size-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.acon10__poster {
    width: calc(var(--px)*444);
    aspect-ratio: 444 / 575;
}
/* /IMG:AUTO acon10 END */

/* FONT:AUTO acon10 */
/* spec.json 파생 (tools/spec-font-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: line-height · letter-spacing 는 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.acon10 {
    color: #0c0c0c;
}

.acon10__title {
    font-family: var(--font-ackbar);
    font-size: var(--titleM);
    font-weight: 400;
    letter-spacing: -0.0336em; /* OVR */
    line-height: 1.2; /* OVR */
}

.acon10__title-accent {
    color: #790909;
}

.acon10__subtitle {
    font-family: var(--font-noto);
    font-size: var(--headL);
    font-weight: 700;
    letter-spacing: -0.05em;
    line-height: 1;
}

.acon10__features {
    font-family: var(--font-noto);
}

.acon10__feature-title {
    font-size: var(--headS);
    font-weight: 700;
    letter-spacing: -0.05em;
    line-height: 1.54;
}

.acon10__feature-desc {
    font-size: var(--bodyXL);
    font-weight: 400;
    letter-spacing: -0.056em; /* OVR */
    line-height: 1.53;
}
/* /FONT:AUTO acon10 END */

/* INK:AUTO acon10 */
.acon10__title { margin-top: calc(var(--px) * -10.5); margin-bottom: calc(var(--px) * -10.5); } /* base 0,0 */
.acon10__feature-title { margin-top: calc(var(--px) * -8.98); margin-bottom: calc(var(--px) * -6.97); } /* base 0,0 */
.acon10__title-accent { margin-top: calc(var(--px) * -10.5); margin-bottom: calc(var(--px) * -3.5); } /* base 0,0 */
.acon10__feature-desc { margin-top: calc(var(--px) * -7.03); margin-bottom: calc(var(--px) * -4.03); } /* base 0,0 */
.acon10__subtitle { margin-top: calc(var(--px) * -3); margin-bottom: calc(var(--px) * 1); } /* base 0,0 */
/* /INK:AUTO acon10 END */

@media (max-width:599px) {
  .acon10_iner {
    flex-direction: column;
    gap: 10.6667vw;
    padding: 12.8vw 5.3333vw 14.9333vw;
  }
  .acon10__content {
    align-self: stretch;
    width: auto;
    gap: 8.5333vw;
  }
  .acon10__head { gap: 3.2vw; }
  .acon10__feature {
    gap: 4.2667vw;
    padding: 3.2vw 0;
  }
  .acon10__feature-bar {
    width: 6.4vw;
    margin-top: 1.6vw;
    border-top: 3px solid #db1e1e;
  }
  .acon10__feature-text {
    gap: 2.1333vw;
    padding-bottom: 0.5333vw;
  }
  .acon10__poster { width: 72vw; }
  .acon10__title { margin-top: -0.2333em; margin-bottom: -0.2333em; }
  .acon10__title-accent { margin-top: -0.2333em; margin-bottom: -0.0778em; }
  .acon10__subtitle { margin-top: -0.0938em; margin-bottom: 0.0313em; }
  .acon10__feature-title { margin-top: -0.3742em; margin-bottom: -0.2904em; }
  .acon10__feature-desc { margin-top: -0.37em; margin-bottom: -0.2121em; }
}

/* /merge-build:acon10 */
/* merge-build:acon11 */
/* acon11 — 모바일: _intro row→column(타이틀 위·리스트 아래), gallery 는 마퀴 띠 유지 */
.acon11 {
  background-color: #f6f5f1;
}
.acon11_iner {
  gap: calc(var(--px)*86);
  padding: calc(var(--px)*137) 0 calc(var(--px)*143);
}
.acon11__intro {
  padding: 0 calc(var(--px)*272) 0 calc(var(--px)*273);
}
.acon11__head {
  gap: calc(var(--px)*33);
}
.acon11__features {
  width: calc(var(--px)*680);
  border-top: 1px solid #0c0c0c;
  border-bottom: 1px solid #0c0c0c;
}
.acon11__feature {
  gap: calc(var(--px)*29);
  padding: calc(var(--px)*22) 0 calc(var(--px)*20);
  & + & {
    border-top: 1px solid rgb(12 12 12 / 12%);
  }
}
.acon11__feature-bar {
  flex-shrink: 0;
  width: calc(var(--px)*40);
  margin-top: calc(var(--px)*10);
  border-top: calc(var(--px)*5) solid #db1e1e;
}
.acon11__feature-text {
  gap: calc(var(--px)*10);
  padding-bottom: calc(var(--px)*4);
}
.acon11__gallery {
  overflow: hidden;
}
.acon11__gallery-track {
  flex-shrink: 0;
  margin-left: calc(var(--px)*-111);
  animation-duration: 30s;
}
.acon11__card {
  flex-shrink: 0;
  margin-right: calc(var(--px)*33.75);
  border: 4px solid #fff;
}

/* IMG:AUTO acon11 */
/* 섹션 HTML 파생 (tools/img-size-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.acon11__card {
    width: calc(var(--px)*198);
    aspect-ratio: 198 / 258;
}
/* /IMG:AUTO acon11 END */

/* FONT:AUTO acon11 */
/* spec.json 파생 (tools/spec-font-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: line-height · letter-spacing 는 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.acon11 {
    color: #0c0c0c;
}

.acon11__title {
    font-family: var(--font-ackbar);
    font-size: var(--titleM);
    font-weight: 400;
    letter-spacing: -0.03em;
    line-height: 1.07;
}

.acon11__title-accent {
    color: #790909;
}

.acon11__subtitle {
    font-family: var(--font-noto);
    font-size: var(--headL);
    font-weight: 700;
    letter-spacing: -0.05em;
    line-height: 1;
}

.acon11__features {
    font-family: var(--font-noto);
}

.acon11__feature-title {
    font-size: var(--headS);
    font-weight: 700;
    letter-spacing: -0.05em;
    line-height: 1.54;
}

.acon11__feature-desc {
    font-size: var(--bodyXL);
    font-weight: 400;
    letter-spacing: -0.05em;
    line-height: 1.53;
}
/* /FONT:AUTO acon11 END */

/* INK:AUTO acon11 */
.acon11__title { margin-top: calc(var(--px) * -6.58); margin-bottom: calc(var(--px) * -7.56); } /* base 0,0 */
.acon11__title-accent { margin-top: calc(var(--px) * -6.58); margin-bottom: calc(var(--px) * -6.42); } /* base 0,0 */
.acon11__feature-desc { margin-top: calc(var(--px) * -7.03); margin-bottom: calc(var(--px) * -4.03); } /* base 0,0 */
.acon11__feature-title { margin-top: calc(var(--px) * -8.98); margin-bottom: calc(var(--px) * -1.97); } /* base 0,0 */
.acon11__subtitle { margin-top: calc(var(--px) * -3); margin-bottom: calc(var(--px) * 1); } /* base 0,0 */
/* /INK:AUTO acon11 END */

@media (max-width:599px) {
  .acon11_iner {
    gap: 12.8vw;
    padding: 12.8vw 0 14.9333vw;
  }
  .acon11__intro {
    flex-direction: column;
    align-items: stretch;
    gap: 8.5333vw;
    padding: 0 5.3333vw;
  }
  .acon11__head { gap: 5.3333vw; }
  .acon11__features { width: auto; }
  .acon11__feature {
    gap: 4.2667vw;
    padding: 3.2vw 0;
  }
  .acon11__feature-bar {
    width: 6.4vw;
    margin-top: 1.6vw;
    border-top: 3px solid #db1e1e;
  }
  .acon11__feature-text {
    gap: 1.6vw;
    padding-bottom: 0.5333vw;
  }
  .acon11__gallery-track { margin-left: -15.7vw; }
  .acon11__card {
    width: 28vw;
    margin-right: 4.2667vw;
    border-width: 3px;
  }
  .acon11__title { margin-top: -0.1462em; margin-bottom: -0.168em; }
  .acon11__title-accent { margin-top: -0.1462em; margin-bottom: -0.1427em; }
  .acon11__subtitle { margin-top: -0.0938em; margin-bottom: 0.0313em; }
  .acon11__feature-title { margin-top: -0.3742em; margin-bottom: -0.0821em; }
  .acon11__feature-desc { margin-top: -0.37em; margin-bottom: -0.2121em; }
}

/* /merge-build:acon11 */
/* merge-build:acon12 */
/* acon12 — REVIEW 리뷰 마퀴 + 우측 손·폰(화면·배지 3초 교대) · 정본 = 구 라이브 sub01 acon06(css/sub01.css) · 기준 이미지 = 10/8 고객 요청서 p4 캡처 */
.acon12 {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: calc(var(--px)*12) 0 calc(var(--px)*80);
  background: #f6f5f1;
}

.acon12__head {
  align-self: stretch;
  padding-left: calc(var(--px)*374);
}

.acon12__title {
  margin-top: calc(var(--px)*157);
}

.acon12__subtitle {
  margin-top: calc(var(--px)*31);
  margin-left: calc(var(--px)*4);
  font-size: var(--subheadM);
  font-weight: 400;
  line-height: 1.2725;
  letter-spacing: -0.05em;
  color: #0c0c0c;
}

.acon12__subtitle-em {
  font-weight: 700;
}

.acon12__marquee {
  width: 100%;
  margin-top: calc(var(--px)*60);
}

.acon12__marquee .swiper-wrapper {
  transition-timing-function: linear;
  pointer-events: none;
}

.acon12__marquee .acon12__card {
  width: auto; /* swiper 의 .swiper-slide{width:100%} 가 뒤에 로드돼 단일 클래스로는 못 이김 */
}

.acon12__card-media {
  overflow: hidden;
  border-radius: calc(var(--px)*26);
}

.acon12__phone {
  bottom: 0;
  right: calc(var(--px)*33);
  z-index: 2; /* swiper 가 .acon12__marquee 에 z-index:1 스택 컨텍스트를 만듦 — 폰이 카드 위로 와야 함 */
}

.acon12__phone-hand {
  z-index: 1;
}

.acon12__phone-screen {
  top: calc(var(--px)*17);
  right: calc(var(--px)*258);
  bottom: calc(var(--px)*99);
  left: calc(var(--px)*260);
  background: #fff;
  border-radius: calc(var(--px)*26);
}

.acon12__phone-media {
  top: calc(var(--px)*92);
  left: calc(var(--px)*258);
  width: calc(var(--px)*308);
  aspect-ratio: 308 / 503;
  overflow: hidden;
  background: #fff;
  border-radius: calc(var(--px)*26);
}

.acon12__phone-shot {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 0.8s ease;

  &.is-active {
    opacity: 1;
  }
}

.acon12__phone-badge {
  top: calc(var(--px)*63);
  left: calc(var(--px)*276);
}

.acon12__phone-badge-item {
  opacity: 0;
  transition: opacity 0.8s ease;

  &.is-active {
    opacity: 1;
  }
}

.acon12__phone-badge-item--alt {
  position: absolute;
  top: 0;
  left: 0;
}

.acon12__phone-wak {
  top: calc(var(--px)*87);
  left: calc(var(--px)*501);
  z-index: 2; /* 같은 phone 안 hand(z1) 위 — 스티커가 폰 프레임을 덮음 */
}

/* IMG:AUTO acon12 */
/* 섹션 HTML 파생 (tools/img-size-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.acon12__divider {
    width: calc(var(--px)*1938);
    aspect-ratio: 1938 / 18;
}

.acon12__title {
    width: calc(var(--px)*194);
    aspect-ratio: 194 / 35;
}

.acon12__card-media,
.acon12__phone-shot {
    width: calc(var(--px)*308);
    aspect-ratio: 308 / 610;
}

.acon12__phone-hand {
    width: calc(var(--px)*828);
    aspect-ratio: 828 / 728;
}

.acon12__phone-badge-item,
.acon12__phone-badge-item.acon12__phone-badge-item--alt {
    width: calc(var(--px)*273);
    aspect-ratio: 273 / 48;
}

.acon12__phone-wak {
    width: calc(var(--px)*124);
    aspect-ratio: 124 / 63;
}
/* /IMG:AUTO acon12 END */

/* INK:AUTO acon12 */
.acon12__subtitle-em { margin-top: calc(var(--px) * -4.36); margin-bottom: calc(var(--px) * -5.64); } /* base 0,0 */
.acon12__subtitle { margin-top: calc(var(--px) * 26.64); margin-bottom: calc(var(--px) * -2.35); } /* base 31,0 */
/* /INK:AUTO acon12 END */

@media (max-width:599px) {
  .acon12 { padding: 9vw 0 0; }
  .acon12__divider { width: 100%; }
  .acon12__head { display: flex; flex-direction: column; align-items: center; padding-left: 0; }
  .acon12__title { margin-top: 15vw; width: 26vw; }
  .acon12__subtitle { margin-top: 4.2667vw; margin-left: 0; text-align: center; }
  .acon12__marquee { margin-top: 8vw; }
  .acon12__card-media { width: 42vw; border-radius: 3.2vw; }
  .acon12__phone { position: relative; right: auto; bottom: auto; width: 100vw; margin-top: -33vw; }
  .acon12__phone-hand { width: 100vw; }
  .acon12__phone-screen { top: 1.6vw; right: 31.1594vw; bottom: 8.5333vw; left: 31.401vw; border-radius: 2.1333vw; }
  .acon12__phone-media { top: 8vw; left: 31.1594vw; width: 37.1981vw; border-radius: 2.1333vw; }
  .acon12__phone-shot { width: 37.1981vw; }
  .acon12__phone-badge { top: 5.4783vw; left: 33.3333vw; }
  .acon12__phone-badge-item,
  .acon12__phone-badge-item.acon12__phone-badge-item--alt { width: 32.971vw; }
  .acon12__phone-wak { top: 7.5652vw; left: 60.5072vw; width: 14.9758vw; }
}

/* /merge-build:acon12 */
/* merge-build:acon13 */
/* acon13 — 뉴욕 타임스스퀘어 매장 전경 풀폭 띠(sub01 Contact 뒤) · 원본 = 프랜차이즈 PSD main/11.뉴욕 wak 매장(5700×3800) · 기준 = 10/8 요청서 p7 */
.acon13 {
  height: calc(var(--px)*950); /* HEIGHT: 요청서 p7 레퍼런스 2:1 띠 — 배경 사진만 있어 콘텐츠로 못 만듦 */
}

.acon13__bg-img {
  object-position: 50% 11.5625%; /* 1905×1270 중 37행부터 950 노출 — 레퍼런스의 Panasonic 간판 위치 기준(37/320) */
}

@media (max-width:599px) {
  .acon13 { height: auto; aspect-ratio: 1905 / 1270; } /* 모바일은 사진 원비율 그대로 — 띠로 자르면 매장이 너무 작아짐 */
  .acon13__bg-img { object-position: 50% 50%; }
}

/* /merge-build:acon13 */
/* merge-build:bcon02 */
.bcon02_iner {
  padding: calc(var(--px)*171) calc(var(--px)*238) calc(var(--px)*145) calc(var(--px)*236);
}

.bcon02__title {
  margin-top: calc(var(--px)*83);
}

.bcon02__desc {
  margin-top: calc(var(--px)*42);
}

.bcon02__closing {
  margin-top: calc(var(--px)*31);
}

.bcon02__en {
  margin-top: calc(var(--px)*90);
}

.bcon02__en-title {
  margin-bottom: calc(var(--px)*16);
}

.bcon02__media {
  flex-shrink: 0;
  width: calc(var(--px)*603);
  aspect-ratio: 603 / 780;
  overflow: hidden;
  background-color: #e0dcd5;
}

.bcon02__video {
  display: block;
}

/* FONT:AUTO bcon02 */
/* spec.json 파생 (tools/spec-font-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: line-height · letter-spacing 는 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.bcon02 {
    font-family: var(--font-noto);
}

.bcon02__title {
    font-size: var(--headM);
    font-weight: 700;
    letter-spacing: -0.05em;
    line-height: 1.32;
    color: #090909;
}

.bcon02__desc {
    font-size: var(--subheadM);
    font-weight: 400;
    letter-spacing: -0.05em;
    line-height: 1.38;
    color: #090909;
}

.bcon02__closing {
    font-size: var(--subheadM);
    font-weight: 700;
    letter-spacing: -0.05em;
    line-height: 1.38;  /* OVR psd:1 */
    color: #090909;
}

.bcon02__closing-brand {
    color: #db1e1e;
}

.bcon02__en {
    font-size: var(--bodyM);
    letter-spacing: -0.01em;
    color: #7d7d7d;
}

.bcon02__en-title {
    font-weight: 700;
    letter-spacing: -0.003em;  /* OVR */
    line-height: 1.69;
}

.bcon02__en-desc {
    font-weight: 300;
    letter-spacing: 0.006em;  /* OVR */
    line-height: 1.63;
}
/* /FONT:AUTO bcon02 END */

/* INK:AUTO bcon02 */
.bcon02__en-title { margin-top: calc(var(--px) * -7.52); margin-bottom: calc(var(--px) * 15.49); } /* base 0,18 */
.bcon02__closing-brand { margin-top: calc(var(--px) * -5.49); margin-bottom: calc(var(--px) * -4.51); } /* base 0,0 */
.bcon02__title { margin-top: calc(var(--px) * 76.52); margin-bottom: calc(var(--px) * -3.47); } /* base 83,0 */
.bcon02__en-desc { margin-top: calc(var(--px) * -7.04); margin-bottom: calc(var(--px) * -2.03); } /* base 0,0 */
.bcon02__desc { margin-top: calc(var(--px) * 36.51); margin-bottom: calc(var(--px) * -3.42); } /* base 42,0 */
.bcon02__closing { margin-top: calc(var(--px) * 25.51); margin-bottom: calc(var(--px) * -0.48); } /* base 31,0 */
/* /INK:AUTO bcon02 END */

@media (max-width:599px) {
  .bcon02_iner { flex-direction: column; align-items: center; padding: 17.0667vw 5.3333vw; }
  .bcon02__text, .bcon02__en { align-items: center; }
  .bcon02__title { margin-top: 0; margin-bottom: 0; }
  .bcon02__desc { margin-top: 6.4vw; margin-bottom: 0; }
  .bcon02__closing { margin-top: 5.3333vw; margin-bottom: 0; }
  .bcon02__en { margin-top: 14.9333vw; }
  .bcon02__en-title { margin-top: 0; margin-bottom: 3.2vw; }
  .bcon02__en-desc { margin-top: 0; margin-bottom: 0; }
  .bcon02__media { width: 80vw; margin-top: 10.6667vw; }
}

/* /merge-build:bcon02 */
/* merge-build:bcon05 */
/* bcon05 — 좌 인트로 패널 + 우 매장 이미지 2단 (모바일: flex-direction:column 으로 인트로 위·매장 아래) */
.bcon05 {
    padding-bottom: calc(var(--px)*4);
    background: #fff;
}

.bcon05__intro {
    flex: 1 1 0;
}

.bcon05__intro-body {
    padding: calc(var(--px)*213) 0 0 calc(var(--px)*154);
}

.bcon05__title {
    text-transform: uppercase;
}

.bcon05__desc {
    margin-top: calc(var(--px)*45);
}

.bcon05__store {
    flex-shrink: 0;
}

/* IMG:AUTO bcon05 */
/* 섹션 HTML 파생 (tools/img-size-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.bcon05__store {
    width: calc(var(--px)*1254);
    aspect-ratio: 1254 / 843;
}
/* /IMG:AUTO bcon05 END */

/* FONT:AUTO bcon05 */
/* spec.json 파생 (tools/spec-font-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: line-height · letter-spacing 는 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.bcon05 {
    color: #ffffff;
}

.bcon05__title {
    font-family: var(--font-ackbar);
    font-size: var(--titleL);
    font-weight: 400;
    letter-spacing: -0.0341em;  /* OVR */
    line-height: 1.2;  /* OVR */
}

.bcon05__desc {
    font-family: var(--font-noto);
    font-size: var(--subheadS);
    font-weight: 700;
    letter-spacing: -0.05em;
    line-height: 1.82;
}

.bcon05__desc-brand {
    font-size: var(--headM);
    letter-spacing: -0.05em;
    line-height: 1.4;
}
/* /FONT:AUTO bcon05 END */

/* INK:AUTO bcon05 */
.bcon05__desc { margin-top: calc(var(--px) * 35.3); margin-bottom: calc(var(--px) * -13.68); } /* base 45,0 */
.bcon05__title { margin-top: calc(var(--px) * -11.5); margin-bottom: calc(var(--px) * -11.5); } /* base 0,0 */
.bcon05__desc-brand { margin-top: calc(var(--px) * -9.6); margin-bottom: calc(var(--px) * -7.4); } /* base 0,0 */
/* /INK:AUTO bcon05 END */

@media (max-width:599px) {
    .bcon05 { padding-bottom: 0.5333vw; }
    .bcon05_iner { flex-direction: column; }
    .bcon05__intro { flex: none; }
    .bcon05__intro-body { padding: 12.8vw 5.3333vw; align-items: center; }
    .bcon05__title { margin-top: -1.7173vw; margin-bottom: -1.7173vw; }
    .bcon05__desc { margin-top: 4.5893vw; margin-bottom: -2.5536vw; }
    .bcon05__store { width: 100vw; }
}

/* /merge-build:bcon05 */
/* merge-build:store-map */
/* store-map — 공용 조각(sub01·sub04): 매장 검색 + 리스트 + 카카오맵 + 상세팝업 */
.smap {
    background: #ffffff;
    padding-top: 8.083990vw;
    padding-bottom: 4.619423vw;
}

.smap,
.smap * {
    box-sizing: border-box;
}

.smap img {
    display: block;
    width: 100%;
}

.smap_title {
    margin-top: 0.000000vw;
    align-self: center;
    width: calc(var(--px) * 246);
    aspect-ratio: 246 / 37;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* ── 검색 (#31) ── */
.smap_search {
    display: flex;
    align-items: center;
    align-self: center;
    margin-top: 2.527034vw;
    width: calc(var(--px) * 640);
    height: calc(var(--px) * 62);
    padding-left: 1.679790vw;
    padding-right: 0.524934vw;
    border: 1px solid #0c0c0c;
    border-radius: calc(var(--px) * 31);
    background: #ffffff;
}

.smap_search_input {
    flex: 1 1 auto;
    min-width: 0;
    border: 0;
    background: transparent;
    font-family: var(--mf);
    font-weight: 400;
    font-size: var(--fs-17);
    letter-spacing: -0.05em;
    color: #0c0c0c;
    outline: none;
}

.smap_search_btn {
    flex: 0 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(var(--px) * 48);
    height: calc(var(--px) * 48);
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #db1e1e;
    color: #ffffff;
    cursor: pointer;
}

/* 돋보기 = 인라인 SVG. fill:currentcolor 라 버튼 color 로 색이 결정됨 */
.smap_search_icon {
    display: block;
    width: calc(var(--px) * 24);
    height: calc(var(--px) * 24);
}

/* ── 리스트 + 지도 (#31) ── */
.smap_map_wrap {
    display: flex;
    align-self: center;
    margin-top: 2.099738vw;
    width: 100%;
    height: calc(var(--px) * 720);
    border: 1px solid #e0dcd5;
}

.smap_list {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    width: calc(var(--px) * 520);
    height: 100.000000%;
    overflow-y: auto;
    border-right: 1px solid #e0dcd5;
    background: #ffffff;
}

.smap_list_empty,
.smap_list_noresult {
    margin: 0;
    padding: 2.624672vw 0;
    font-family: var(--mf);
    font-weight: 400;
    font-size: var(--fs-17);
    letter-spacing: -0.05em;
    color: #8c8c8c;
    text-align: center;
}

/* 검색 결과 0건일 때만 JS 가 노출 */
.smap_list_noresult {
    display: none;
}

.smap_item {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    padding: 1.679790vw 3.149606vw 1.679790vw 1.942257vw;
    border-bottom: 1px solid #e0dcd5;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.smap_item:hover,
.smap_item.is-active {
    background: #faf8f5;
}

.smap_item.is-active {
    border-left: 3px solid #db1e1e;
}

.smap_item_name_row {
    display: flex;
    align-items: center;
    width: 100.000000%;
}

.smap_item_name_icon {
    flex: 0 0 auto;
    width: calc(var(--px) * 33);
    aspect-ratio: 33 / 36;
    display: flex;
    justify-content: center;
    align-items: center;
}

.smap_item_name {
    margin: 0 0 0 1.102362vw;
    font-family: var(--mf);
    font-weight: 700;
    font-size: var(--fs-22);
    line-height: 1.136;
    letter-spacing: -0.05em;
    color: #0c0c0c;
    white-space: nowrap;
}

/* 상세팝업 열기 — 카드 우상단 + 버튼 */
.smap_plus_btn {
    position: absolute;
    top: 1.679790vw;
    right: 1.259843vw;
    width: calc(var(--px) * 34);
    height: calc(var(--px) * 34);
    padding: 0;
    border: 1px solid #e0dcd5;
    border-radius: 50%;
    background: #ffffff;
    cursor: pointer;
}

.smap_plus_btn::before,
.smap_plus_btn::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    background: #0c0c0c;
    transform: translate(-50%, -50%);
}

.smap_plus_btn::before {
    width: calc(var(--px) * 14);
    height: 2px;
}

.smap_plus_btn::after {
    width: 2px;
    height: calc(var(--px) * 14);
}

.smap_item:hover .smap_plus_btn {
    border-color: #db1e1e;
    background: #db1e1e;
}

.smap_item:hover .smap_plus_btn::before,
.smap_item:hover .smap_plus_btn::after {
    background: #ffffff;
}

.smap_map {
    flex: 1 1 auto;
    min-width: 0;
    height: 100.000000%;
}

.smap_map_inner {
    width: 100.000000%;
    height: 100.000000%;
}

/* 지도 위 매장명 말풍선 (JS 생성) */
/* ★ position:relative 필수 — 없으면 _tail 의 absolute 기준이 카카오 CustomOverlay
   래퍼가 되어 말풍선과 어긋날 여지가 생긴다. */
.smap_bubble {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0.524934vw 1.049869vw;
    border-radius: calc(var(--px) * 6);
    background: #0c0c0c;
    white-space: nowrap;
}

.smap_bubble_text {
    font-family: var(--mf);
    font-weight: 700;
    font-size: var(--fs-15);
    letter-spacing: -0.05em;
    color: #ffffff;
}

.smap_bubble_tail {
    position: absolute;
    bottom: calc(var(--px) * -6);
    left: 50%;
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid #0c0c0c;
    transform: translateX(-50%);
}

/* ── 매장 상세 팝업 (#32) ── */
.smap_popup {
    position: fixed;
    inset: 0;
    display: none;
    justify-content: center;
    align-items: center;
    background: rgba(12, 12, 12, 0.62);
    z-index: 999;
}

.smap_popup.is-open {
    display: flex;
}

.smap_popup_card {
    display: flex;
    width: calc(var(--px) * 880);
    padding: 2.099738vw;
    border-radius: calc(var(--px) * 12);
    background: #ffffff;
}

.smap_popup_close {
    position: absolute;
    top: 1.049869vw;
    right: 1.049869vw;
    width: calc(var(--px) * 34);
    height: calc(var(--px) * 34);
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.smap_popup_close::before,
.smap_popup_close::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: calc(var(--px) * 20);
    height: 2px;
    background: #0c0c0c;
}

.smap_popup_close::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.smap_popup_close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.smap_popup_photo {
    flex: 0 0 auto;
    width: calc(var(--px) * 400);
    aspect-ratio: 475 / 260;
    overflow: hidden;
    border-radius: calc(var(--px) * 8);
}

.smap_popup_photo img {
    width: 100.000000%;
    height: 100.000000%;
    object-fit: cover;
}

.smap_popup_info {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    margin-left: 2.099738vw;
}

.smap_popup_name {
    margin: 0;
    font-family: var(--mf);
    font-weight: 700;
    font-size: var(--fs-32);
    line-height: 1.2;
    letter-spacing: -0.05em;
    color: #0c0c0c;
    white-space: nowrap;
}

.smap_popup_divider {
    margin-top: 1.049869vw;
    width: 100.000000%;
    height: 1px;
    background: #e0dcd5;
}

.smap_popup_addr,
.smap_popup_time,
.smap_popup_tel {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0 0 0 0.629921vw;
    font-family: var(--mf);
    font-weight: 400;
    font-size: var(--fs-17);
    line-height: 1.687;
    letter-spacing: -0.05em;
    color: #0c0c0c;
}

.smap_popup_row_address {
    margin-top: 1.312336vw;
}

.smap_popup_naver {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 1.679790vw;
    width: calc(var(--px) * 128);
    aspect-ratio: 128 / 34;
}

.smap_info_row {
    display: flex;
    align-items: flex-start;
    margin-top: 0.577428vw;
    width: 100.000000%;
}

.smap_info_row_address {
    margin-top: 1.312336vw;
}

.smap_info_icon {
    flex: 0 0 auto;
    margin-top: 0.157480vw;
    width: calc(var(--px) * 16);
    aspect-ratio: 16 / 19;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* 주소/영업시간은 DB 가변 텍스트라 <br> 제어가 불가능하다.
   nowrap+ellipsis 로 두면 긴 주소(성수점 등)가 잘려 정보가 소실되므로 이 영역만 줄바꿈을 허용한다. */
.smap_info_text {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0 0 0 0.629921vw;
    font-family: var(--mf);
    font-weight: 400;
    font-size: var(--fs-15);
    line-height: 1.687;
    letter-spacing: -0.05em;
    color: #0c0c0c;
    white-space: normal;
    word-break: keep-all;
}

.smap_card_links {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 1.312336vw;
    width: 100.000000%;
}

.smap_card_map_img {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: 0.000000vw;
    width: calc(var(--px) * 128);
    aspect-ratio: 128 / 34;
}

@media (max-width: 599px) {

    .smap {
        padding-top: 15.000000vw;
        padding-bottom: 12.000000vw;
    }

    .smap_title {
        width: 42.000000%;
    }

    /* 모바일: 검색 → 지도 → 리스트 세로 스택 */
    .smap_search {
        margin-top: 7.000000vw;
        width: 88.000000%;
        height: 12.000000vw;
        padding-left: 4.500000vw;
        padding-right: 1.500000vw;
        border-radius: 6.000000vw;
    }

    .smap_search_input {
        font-size: 3.600000vw;
    }

    .smap_search_btn {
        width: 9.000000vw;
        height: 9.000000vw;
    }

    .smap_search_icon {
        width: 5.000000vw;
        height: 5.000000vw;
    }

    .smap_map_wrap {
        flex-direction: column-reverse;
        margin-top: 5.000000vw;
        width: 100.000000%;
        height: auto;
        border-left: 0;
        border-right: 0;
    }

    .smap_list {
        width: 100.000000%;
        height: 92.000000vw;
        border-right: 0;
    }

    .smap_map {
        width: 100.000000%;
        height: 78.000000vw;
    }

    .smap_item {
        padding: 4.500000vw 12.000000vw 4.500000vw 4.500000vw;
    }

    .smap_item_name_icon {
        width: 10.500000%;
    }

    .smap_item_name {
        margin-left: 2.500000vw;
        font-size: 4.400000vw;
        white-space: nowrap;
    }

    .smap_plus_btn {
        top: 4.500000vw;
        right: 4.000000vw;
        width: 8.000000vw;
        height: 8.000000vw;
    }

    .smap_plus_btn::before {
        width: 3.400000vw;
    }

    .smap_plus_btn::after {
        height: 3.400000vw;
    }

    /* 팝업: 사진 위 / 정보 아래 */
    /* border-radius 도 --px 무효화로 폐기되어 모바일에서 각진다 → vw 재지정
       (PC 12단위 → 3.2vw / PC 8단위 → 2.133vw, 375 기준 동일 크기) */
    .smap_popup_card {
        flex-direction: column;
        width: 88.000000%;
        padding: 5.000000vw;
        border-radius: 3.200000vw;
    }

    .smap_popup_photo {
        width: 100.000000%;
        border-radius: 2.133000vw;
    }

    .smap_popup_info {
        margin-top: 4.500000vw;
        margin-left: 0.000000vw;
    }

    .smap_popup_name {
        font-size: 5.000000vw;
    }

    .smap_popup_addr,
    .smap_popup_time,
    .smap_popup_tel {
        margin-left: 2.000000vw;
        font-size: 3.600000vw;
    }

    .smap_popup_naver {
        margin-top: 5.000000vw;
        width: 38.000000%;
    }

    .smap_popup_close {
        top: 3.000000vw;
        right: 3.000000vw;
        width: 8.000000vw;
        height: 8.000000vw;
    }

    .smap_popup_close::before,
    .smap_popup_close::after {
        width: 4.500000vw;
    }

    /* ★ 모바일은 --px:initial 이라 PC 의 calc(var(--px)*N) 선언이 통째로 폐기된다.
       border-radius 는 0 이 되고, _tail 의 bottom 은 auto 로 떨어져 꼬리가
       말풍선 세로 중앙에 박힌다. 둘 다 vw 로 재지정해야 한다. (PC 6단위 → 1.6vw) */
    .smap_bubble {
        padding: 1.200000vw 2.400000vw;
        border-radius: 1.600000vw;
    }

    .smap_bubble_tail {
        bottom: -1.600000vw;
    }

    .smap_bubble_text {
        font-size: 3.200000vw;
    }

    .smap_info_row {
        margin-top: 2.200000vw;
    }

    .smap_info_row_address {
        margin-top: 4.500000vw;
    }

    .smap_info_icon {
        width: 5.200000%;
    }

    .smap_info_text {
        margin-left: 2.000000vw;
    }

    .smap_card_links {
        margin-top: 5.000000vw;
    }

    .smap_card_map_img {
        margin-left: 0.000000vw;
        width: 38.000000%;
    }

}

/* /merge-build:store-map */