@charset "UTF-8";

section {
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  flex-direction: column;
}

section {
  font-family: "Pretendard Variable";
  font-weight: 300;
  font-size: calc(var(--px) * 18);
  letter-spacing: -0.04vw;
}

section img {
  width: 100%;
}

/* (2026-10-20) .map_marker* 는 css/store.css 가 정본 — 미사용 map.js 시절 잔해(raw px·적갈색 꼬리 ::after)가 매장 말풍선에 겹쳐 적용돼 제거 */

/* 퍼블시작 */

/* ===== 모바일 지도 터치 잠금 오버레이 (md/map_zoom_control.md §3) ===== */
.map-touch-lock-parent {
  position: relative;
}

.map-touch-lock {
  position: absolute;
  z-index: 30;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 0;
  color: #fff;
  background: rgba(0, 0, 0, 0.58);
  border: 0;
  box-sizing: border-box;
  text-align: center;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  touch-action: pan-y;
}

.map-touch-lock-text {
  display: block;
  padding: 0 calc(var(--px) * 20);
  font-size: calc(var(--px) * 16);
  font-weight: 700;
  line-height: 1.3;
  word-break: keep-all;
}

.is-map-touch-unlocked .map-touch-lock {
  opacity: 0;
  pointer-events: none;
}

/* ===== 공통 컴포넌트 (c_title·c_menucard·c_btn_pn·c_btn_more) — 메인·서브 공용 ===== */
.c_title {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
}

.c_title_ico {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 135);
  aspect-ratio: 135 / 44;
}

.c_title_sub {
  margin-top: 0.7vw;
  font-family: var(--font-free);
  font-weight: 500;
  font-size: calc(var(--px) * 18);
  line-height: 0.9vw;
  letter-spacing: 0;
  color: #000000;
}

.c_title_tt {
  margin-top: 0.7vw;
  font-family: var(--font-poppins);
  font-weight: 800;
  font-size: calc(var(--px) * 90);
  line-height: 3.4vw;
  letter-spacing: 0;
  color: #000000;
}

.c_menucard {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  padding: calc(var(--px) * 12) calc(var(--px) * 10) calc(var(--px) * 31);
  border: 1px solid var(--color-point);
  background-color: #ffffff;
  box-sizing: border-box;
  transition: background-color 0.3s ease;
}

.c_menucard_img {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 306);
  aspect-ratio: 306 / 265;
}

.c_menucard_img img {
  height: 100%;
  object-fit: cover;
}

.c_menucard_name {
  margin-top: 1.4vw;
  font-family: var(--font-nexon);
  font-weight: 700; /* 시안 NEXON Medium 웹폰트 없음 — 잉크 실측: 400=시안의 63%, 700=111% → 700 */
  font-size: calc(var(--px) * 20);
  line-height: 1.1vw;
  letter-spacing: 0;
  color: #000000;
  transition: color 0.3s ease;
}

/* 활성(hover) 상태 — 진갈 배경 + 흰 메뉴명 (공통 · ccon02 에서 추가, 메인 acon03 동일 적용)
   hover 가능한 기기(마우스)에서만 — 터치 기기는 탭한 카드에 :hover 가 붙은 채 남아 팝업을 닫아도 갈색으로 남았다 */
@media (hover: hover) {
  .c_menucard:hover {
    background-color: var(--color-point);
  }

  .c_menucard:hover .c_menucard_name {
    color: #ffffff;
  }
}

.c_btn_pn {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  width: calc(var(--px) * 143);
  height: calc(var(--px) * 40);
}

.c_btn_pn_ico {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 30);
  height: 100%;
  background-color: #170a08;
  font-family: "Suit";
  font-weight: 600;
  font-size: calc(var(--px) * 18);
  line-height: 0.9vw;
  letter-spacing: 0;
  color: #ffffff;
}

.c_btn_pn_txt {
  width: calc(var(--px) * 113);
  height: 100%;
  background-color: var(--color-point);
  font-family: var(--font-free);
  font-weight: 500;
  font-size: calc(var(--px) * 18);
  line-height: 0.9vw;
  letter-spacing: 0;
  color: #ffffff;
  box-sizing: border-box;
}

.c_btn_pn_txt_prev {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding-right: calc(var(--px) * 29);
}

.c_btn_pn_txt_next {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding-left: calc(var(--px) * 30);
}

.c_btn_more {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: calc(var(--px) * 13);
  width: calc(var(--px) * 194);
  padding-bottom: calc(var(--px) * 15);
  border-bottom: 1px solid var(--color-point);
}

.c_btn_more_txt {
  font-family: var(--font-poppins);
  font-weight: 700;
  font-size: calc(var(--px) * 23);
  line-height: 1.2vw;
  letter-spacing: 0;
  color: var(--color-point);
}

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

/* 호버·키보드 포커스 — 화살표 좌→우 왕복 (common-m05, 키프레임 arrowNudge = css/common.css)
   마우스 기기만 (터치는 탭 후 :hover 가 남음) · 모션 줄이기 설정이면 정지 */
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .c_btn_more:hover .c_btn_more_ico {
    animation: arrowNudge 0.9s ease-in-out infinite;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .c_btn_more:focus-visible .c_btn_more_ico {
    animation: arrowNudge 0.9s ease-in-out infinite;
  }
}

/* c_marquee_word — 초대형 영문 워드 (수정자: _stripe 사선 줄무늬 질감 / c_marquee_drop 하강 모션 훅) */
.c_marquee_word {
  font-family: var(--font-poppins);
  font-weight: 800;
  letter-spacing: 0;
}

.c_marquee_word_stripe {
  background: repeating-linear-gradient(135deg, #fff8e7 0, #fff8e7 calc(var(--px) * 6), #f0e9d6 calc(var(--px) * 6), #f0e9d6 calc(var(--px) * 7));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ===== mainacon01 큰틀 (main + acon01) ===== */
/* 고정 헤더(--hd-h) 아래에서 시작 — 큰틀 bbox 높이(1983) 계약을 지키려고 padding 아닌 margin */
.mainacon01 {
  margin-top: var(--hd-h);
}

/* .main z-index 1 = 쌓임 계약 필수값: acon01_box(아래) < .main < acon01_word(z2) */
.main {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  z-index: 1;
}

/* ===== main 메인비주얼 (main_banner 게시판 + fade 슬라이드) ===== */
.main_swiper {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
}

.main_slide {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  padding-top: 5.1vw;
  padding-bottom: 24vw;
}

.main_logo {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 135);
  aspect-ratio: 135 / 44;
}

.main_brand {
  margin-top: 0.7vw;
  font-family: var(--font-poppins);
  font-size: calc(var(--px) * 14);
  font-weight: 800;
  line-height: 0.7vw;
  letter-spacing: 0.4379vw; /* 시안 잉크 폭 173.5 (렌더 0.4vw = 167) */
  text-indent: 0.4379vw; /* 끝 글자 뒤 자간만큼 왼쪽 쏠림 보정 — sub_main_eng 와 같은 방식 */
  color: var(--color-point);
}

.main_title {
  margin-top: 2.3vw;
  font-family: var(--font-nexon);
  font-size: calc(var(--px) * 76);
  font-weight: 400;
  line-height: 4.2vw;
  letter-spacing: -0.2vw;
  color: #000;
}

.main_title_lt {
  -webkit-text-stroke: 0.025em currentColor; /* PSD NEXON Medium 웹폰트 없음 → 400 + 획 보강 (잉크 실측 시안 대비 101%) */
}

.main_title_pt {
  font-weight: 700;
  color: var(--color-point);
}

.main_sub {
  margin-top: 0.8vw;
  font-family: var(--font-free);
  font-size: calc(var(--px) * 22);
  font-weight: 400;
  line-height: 1.6vw;
  color: #000;
}

/* 좌우 띠 — PSD vivid light #4c190f ≡ color-burn #98321e (블렌드색 < 50% 구간 수식 동일) */
.main_band {
  top: 0;
  bottom: 0;
  background-color: #98321e;
  mix-blend-mode: color-burn;
  z-index: 2; /* swiper-bundle.css .swiper{z-index:1} 위 (plan 메모) */
}

.main_band_l {
  left: 0;
  width: 6.0367%;
}

.main_band_r {
  right: 0;
  width: 5.9843%;
}

.main_pagi {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 100%;
  z-index: 2; /* swiper-bundle.css .swiper{z-index:1} 위 (plan 메모) */
  /* bottom 직접 지정은 안 먹는다 — swiper-bundle 의 .swiper-pagination-bullets.swiper-pagination-horizontal{bottom:var(--swiper-pagination-bottom,8px)} 가 특이도로 이김.
     그래서 변수로 준다. 5.7vw 가 죽어 있어 실제로는 8px(y 957 = 퀵바 845~ 아래·마퀴 글자 897~ 밑)에 있었음 → 6.7vw (유저 지시 2026-10-28, 9.7vw 에서 조정) */
  --swiper-pagination-bottom: 6.7vw;
  --swiper-pagination-bullet-horizontal-gap: 1px;
}

.main_pagi .swiper-pagination-bullet {
  width: calc(var(--px) * 15);
  height: calc(var(--px) * 15);
  border-radius: 50vw;
  background: #3b3939;
  opacity: 1;
}

.main_pagi .swiper-pagination-bullet-active {
  width: calc(var(--px) * 40);
  background: var(--color-point);
}

/* ===== acon01 브랜드 인트로 ===== */
.acon01 {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  background-color: #fbf4e2;
}

.acon01_panel {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 88.0840%;
  padding-top: 8.1vw;
  padding-bottom: 2.7vw;
  background-color: #fff;
}

.acon01_glow {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 1254);
  aspect-ratio: 1254 / 778;
  top: 0;
}

.acon01_fork {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 413);
  aspect-ratio: 413 / 321;
  left: 39.7%;
  top: 15.5vw;
}

.acon01_mv {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 69.5471%;
  height: calc(var(--px) * 233);
}

.acon01_box {
  background-color: var(--color-point);
}

.acon01_word {
  z-index: 2;
  font-size: calc(var(--px) * 140);
  line-height: 7.3vw;
}

.acon01_title {
  margin-top: 14.3vw;
  font-family: var(--font-nexon);
  font-weight: 700;
  font-size: calc(var(--px) * 50);
  line-height: 4.2vw;
  letter-spacing: -0.16vw;
  color: #000;
}

.acon01_title_lt {
  font-weight: 400;
  -webkit-text-stroke: 0.025em currentColor; /* PSD NEXON Medium 웹폰트 없음 → 400 + 획 보강 (잉크 실측 시안 대비 103%) */
}

.acon01_title_pt {
  color: var(--color-point);
}

.acon01_desc {
  margin-top: 1.7vw;
  font-family: var(--font-free);
  font-weight: 400;
  font-size: calc(var(--px) * 22);
  line-height: 1.8vw;
  letter-spacing: -0.01vw;
  color: #000;
}

.acon01_desc_strong {
  font-weight: 800;
}

.acon01_more {
  margin-top: 4.1vw;
}

/* ===== acon02 시그니처 메뉴 롤링 + TASTY/UNIQUE/TRUSTED ===== */
.acon02 {
  background-color: #faf4e1;
  padding-bottom: 6.2vw;
}

.acon02_inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 88.189%;
  background-color: #fff;
  padding-top: calc(var(--px) * 32);
}

.acon02_line {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: calc(var(--px) * 6);
  background-color: var(--color-point);
}

.acon02_row {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  margin-top: calc(var(--px) * 7);
}

.acon02_left {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 50%;
  padding-top: 3.8vw;
  overflow: hidden;
}

.acon02_pagi {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 100%;
  --swiper-pagination-bullet-horizontal-gap: calc(var(--px) * 3);
}

.acon02_pagi .swiper-pagination-bullet {
  width: calc(var(--px) * 12);
  height: calc(var(--px) * 12);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.33);
  opacity: 1;
}

.acon02_pagi .swiper-pagination-bullet-active {
  width: calc(var(--px) * 38);
  border-radius: 50vw;
  background: #e6cba3;
}

.acon02_swiper {
  width: 100%;
}

.acon02_slide_in {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
}

.acon02_slide_txt {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  margin-left: 16.9%;
  margin-top: 5.9vw;
}

.acon02_slide_tt {
  font-family: var(--font-free);
  font-size: calc(var(--px) * 55);
  font-weight: 800;
  line-height: 2.9vw;
  letter-spacing: 0;
  color: #ede0be;
}

.acon02_slide_desc {
  margin-top: 1.2vw;
  font-family: var(--font-free);
  font-size: calc(var(--px) * 20);
  font-weight: 400;
  line-height: 1.5vw;
  letter-spacing: 0;
  color: #fff;
}

.acon02_slide_img {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}

.acon02_slide_img_01 {
  width: calc(var(--px) * 698);
  aspect-ratio: 698 / 334;
  margin-left: 7.7%;
  margin-top: 3.2vw;
}

.acon02_slide_img_02 {
  width: calc(var(--px) * 719);
  aspect-ratio: 719 / 351;
  margin-left: 8.0%;
  margin-top: 2.3vw;
}

.acon02_slide_img_03 {
  width: calc(var(--px) * 782);
  aspect-ratio: 782 / 347;
  margin-left: 7.0%;
  margin-top: 2.5vw;
}

.acon02_right {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 840);
  aspect-ratio: 840 / 755;
}

.acon02_word {
  width: calc(var(--px) * 373);
  top: 11.6vw;
  z-index: 2;
}

/* ===== acon03 메뉴 ===== */
.acon03 {
  padding-top: 5.5vw;
  padding-bottom: 6.7vw;
  background-color: #faf4e1;
}

.acon03_slide_wrap {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  width: calc(var(--px) * 1389);
  margin-top: 2.1vw;
}

.acon03_slide_wrap > div {
  width: 100%;
}

.acon03_pn {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: calc(var(--px) * 20);
  margin-top: 2.2vw;
}

.acon03_more {
  margin-top: 4vw;
}

/* ===== acon04 ===== */
.acon04 {
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  padding-top: 8.5vw;
  padding-bottom: 7.4vw;
  letter-spacing: 0;
}

.acon04_left {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  margin-left: 12.2%;
  margin-top: 0.7vw;
}

.acon04_title {
  font-family: var(--font-poppins);
  font-weight: 800;
  font-size: calc(var(--px) * 70);
  line-height: 3.4vw;
  color: #000000;
}

.acon04_title_1 {
  color: var(--color-point);
}

.acon04_sub {
  margin-top: 0.9vw;
  font-family: var(--font-free);
  font-weight: 500;
  font-size: calc(var(--px) * 20);
  line-height: 1.7vw;
  color: #000000;
}

.acon04_more {
  justify-content: flex-start;
  column-gap: 1.7vw;
  width: calc(var(--px) * 189);
  padding-left: calc(var(--px) * 35);
  margin-top: 3.3vw;
}

.acon04_slider {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 52.5459%;
  flex-shrink: 0;
}

.acon04_slider > .swiper {
  width: 100%;
}

.acon04_slide {
  width: calc(var(--px) * 443);
}

.acon04_card {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
}

.acon04_photo {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 443);
  aspect-ratio: 443 / 293;
}

.acon04_cap {
  width: 100%;
  margin-top: 1.1vw;
  font-family: var(--font-free);
  font-weight: 600;
  font-size: calc(var(--px) * 22);
  line-height: 1.7vw;
  color: #000000;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.acon04_tbox {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  width: calc(var(--px) * 443);
  height: calc(var(--px) * 293);
  box-sizing: border-box;
  border: 1px solid #000000;
  padding-top: calc(var(--px) * 66);
  padding-right: calc(var(--px) * 48);
  padding-bottom: calc(var(--px) * 53);
  padding-left: calc(var(--px) * 58);
}

.acon04_ttl {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  font-family: var(--font-free);
  font-weight: 700;
  font-size: calc(var(--px) * 30);
  line-height: 1.8vw;
  color: #000000;
}

.acon04_tfoot {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
}

.acon04_date {
  font-family: var(--font-free);
  font-weight: 700;
  font-size: calc(var(--px) * 17);
  line-height: 1.1vw;
  color: #bfbfbf;
}

.acon04_plus {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 54);
  height: calc(var(--px) * 54);
  margin-top: 0.8vw;
  border-radius: 50%;
  background:
    linear-gradient(#fff, #fff) center / calc(var(--px) * 4) calc(var(--px) * 26) no-repeat,
    linear-gradient(#fff, #fff) center / calc(var(--px) * 26) calc(var(--px) * 4) no-repeat,
    var(--color-point);
}

.acon04_pn {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  column-gap: calc(var(--px) * 20);
  margin-top: 4.3vw;
}

/* ===== acon05 ===== */
.acon05 {
  padding-top: 0.1vw;
  padding-bottom: 0; /* 유저 지시: 박스 아래 2px 흰 틈 제거 → acon06 에 바로 붙음 */
  letter-spacing: 0;
}

.acon05_frame {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 90.7087%;
}

.acon05_bar {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: calc(var(--px) * 38);
  background-color: #000000;
}

.acon05_bar_txt {
  font-family: var(--font-poppins);
  font-weight: 600;
  font-size: calc(var(--px) * 15);
  line-height: 0.8vw;
  letter-spacing: 1.1vw;
  text-indent: 1.1vw;
  color: var(--color-cream);
}

.acon05_body {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  padding-top: 5.1vw;
  padding-bottom: 4.7vw;
  background: #31140e url('/images/acon05_02.png') no-repeat 0 0 / 100% 100%;
}

.acon05_sub {
  font-family: var(--font-free);
  font-weight: 500;
  font-size: calc(var(--px) * 18);
  line-height: 0.9vw;
  color: #ffffff;
}

.acon05_title {
  margin-top: 0.1vw;
  font-family: var(--font-poppins);
  font-weight: 800;
  font-size: calc(var(--px) * 90);
  line-height: 4.7vw;
  color: var(--color-cream);
}

.acon05_form {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  margin-top: 1.9vw;
}

.acon05_input {
  box-sizing: border-box;
  width: 37.2685%;
  height: calc(var(--px) * 81);
  padding: 0 0 0 calc(var(--px) * 46);
  font-family: var(--font-free);
  font-weight: 500;
  font-size: calc(var(--px) * 20);
  color: #000000;
  background-color: #ffffff;
}

.acon05_input::placeholder {
  color: #9d9d9d;
  opacity: 1;
}

.acon05_btn {
  column-gap: calc(var(--px) * 22);
  width: calc(var(--px) * 229);
  margin-top: 2.8vw;
  padding-bottom: calc(var(--px) * 13);
  border-bottom-color: #ffffff;
}

.acon05_btn_txt {
  color: #ffffff;
}

/* ===== acon06 창업 안내 (사진 창 고정 배경 + 파스타 누끼 마퀴 + 흰 패널) ===== */
.acon06 {
  font-family: var(--font-free);
  letter-spacing: 0;
  background-color: #faf4e1;
  background-image: url('/images/acon06_07.jpg'); /* 종이질감: #faf4e1 위 图层 0 color burn 0.09 합성 (시안 MAD 5.5·결 세기 맞춤, 단색 7.7) */
}

.acon06_photo {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 90.7087%;
  height: calc(var(--px) * 225);
  background-image: url('/images/acon06_06.jpg');
  background-attachment: fixed;
}

.acon06_band {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  left: 0;
  top: 20.3vw;
  bottom: 5.2vw;
  background-color: rgba(237, 224, 190, 0.33);
  border-top: 1px solid #c2aa98;
  border-bottom: 1px solid #c2aa98;
}

.acon06_flow {
  flex-shrink: 0;
  width: 108.5%;
  margin-top: 3.8vw;
  margin-left: -8.5%;
}

.acon06_flow_img {
  margin-right: calc(var(--px) * 60);
}

.acon06_flow_img01 {
  width: calc(var(--px) * 410);
  aspect-ratio: 410 / 415;
}

.acon06_flow_img02 {
  width: calc(var(--px) * 423);
  aspect-ratio: 423 / 419;
}

.acon06_flow_img03 {
  width: calc(var(--px) * 415);
  aspect-ratio: 415 / 419;
}

.acon06_flow_img04 {
  width: calc(var(--px) * 417);
  aspect-ratio: 417 / 420;
}

.acon06_flow_img05 {
  width: calc(var(--px) * 423);
  aspect-ratio: 423 / 418;
}

.acon06_panel {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 45.7218%;
  padding-bottom: calc(var(--px) * 142);
  background-color: #ffffff;
}

.acon06_box {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 55.4535%;
  padding-top: calc(var(--px) * 151);
  padding-bottom: calc(var(--px) * 12);
  background-color: #000000;
}

.acon06_brand {
  font-family: var(--font-poppins);
  font-weight: 800;
  font-size: calc(var(--px) * 50);
  line-height: 3.6vw;
  color: #ffffff;
}

.acon06_title {
  margin-top: 5.3vw;
  font-family: var(--font-nexon);
  font-size: calc(var(--px) * 65);
  line-height: 3.6vw;
  letter-spacing: -0.2vw;
  color: #000000;
}

.acon06_title_1 {
  font-weight: 400;
  -webkit-text-stroke: 0.02em currentColor; /* PSD NEXON Lv2 Gothic Medium 웹폰트 없음 → 400 + 획 보강 (잉크 실측 시안 대비 101%) */
}

.acon06_title_b {
  font-weight: 700;
}

.acon06_title_point {
  color: var(--color-point);
}

.acon06_desc {
  margin-top: 1.8vw;
  font-weight: 400;
  font-size: calc(var(--px) * 22);
  line-height: 1.7vw;
  color: #000000;
}

.acon06_more {
  column-gap: 1vw;
  width: calc(var(--px) * 184);
  margin-top: 3.9vw;
  padding-bottom: calc(var(--px) * 14);
}

.acon06_more_txt {
  font-family: var(--font-free);
  font-weight: 800;
  font-size: calc(var(--px) * 22);
  letter-spacing: -0.04vw;
}

@media (max-width: 599px) {
  .map-touch-lock-text {
    font-size: 4.3vw;
    padding: 0 4vw;
  }

  /* ===== 공통 컴포넌트 (메인·서브 공용) — 섹션별 덮어쓰기는 각 섹션 블록에서 ===== */
  .c_title_ico {
    width: 26vw;
  }

  .c_title_sub {
    margin-top: 2.1vw;
    font-size: 3.3vw;
    line-height: 4.5vw;
  }

  .c_title_tt {
    margin-top: 1.6vw;
    font-size: 10.7vw;
    line-height: 11.2vw;
  }

  .c_menucard {
    padding: 2.4vw 2.1vw 4.8vw;
  }

  .c_menucard_img {
    width: 100%;
  }

  .c_menucard_name {
    margin-top: 3.2vw;
    font-size: 3.8vw;
    line-height: 5vw;
    text-align: center;
  }

  .c_btn_pn {
    width: 30vw;
    height: 9.6vw;
  }

  .c_btn_pn_ico {
    width: 6.5vw;
    font-size: 3.5vw;
    line-height: 3.5vw;
  }

  .c_btn_pn_txt {
    width: 23.5vw;
    font-size: 3.5vw;
    line-height: 3.5vw;
  }

  .c_btn_pn_txt_prev {
    padding-right: 5.3vw;
  }

  .c_btn_pn_txt_next {
    padding-left: 5.3vw;
  }

  .c_btn_more {
    column-gap: 2.4vw;
    width: 40vw;
    padding-bottom: 2.7vw;
  }

  .c_btn_more_txt {
    font-size: 4.3vw;
    line-height: 5vw;
  }

  .c_btn_more_ico {
    width: 6.9vw;
  }

  /* ===== [모바일 담당 A] 메인 / — main · acon01 · acon02~acon06 ===== */

  /* --- main 히어로 (fade 슬라이드) — 좌우 띠(6%) 안쪽에 텍스트, 사진은 하단 음식이 보이게 --- */
  .main_slide {
    padding-top: 10.7vw;
    padding-bottom: 64vw;
  }

  .main_bg img {
    object-position: 56% 100%;
  }

  .main_logo {
    width: 26vw;
  }

  .main_brand {
    margin-top: 2.1vw;
    font-size: 3.3vw;
    line-height: 4.3vw;
    letter-spacing: 1vw;
    text-indent: 1vw;
  }

  .main_title {
    margin-top: 4.3vw;
    font-size: 6.9vw;
    line-height: 9.6vw;
    letter-spacing: -0.3vw;
  }

  .main_sub {
    max-width: 76%;
    margin-top: 2.7vw;
    font-size: 3.6vw;
    line-height: 5.6vw;
    word-break: keep-all;
  }

  .main_pagi {
    --swiper-pagination-bottom: 5.3vw;
    --swiper-pagination-bullet-horizontal-gap: 0.8vw;
  }

  .main_pagi .swiper-pagination-bullet {
    width: 2.7vw;
    height: 2.7vw;
  }

  .main_pagi .swiper-pagination-bullet-active {
    width: 7.5vw;
  }

  /* --- acon01 브랜드 인트로 — 하강 박스(mv) 크기를 vw 로, 포크는 박스 하단에 걸치고 가운데 --- */
  .acon01_panel {
    padding-top: 10.2vw;
    padding-bottom: 10.7vw;
  }

  .acon01_glow {
    width: 100%;
  }

  .acon01_fork {
    width: 40%;
    left: auto;
    top: 19.5vw;
  }

  .acon01_mv {
    width: 92%;
    height: 15.5vw;
  }

  .acon01_word {
    font-size: 9.3vw;
    line-height: 9.3vw;
  }

  .acon01_title {
    margin-top: 24vw;
    font-size: 6.4vw;
    line-height: 8.7vw;
    letter-spacing: -0.2vw;
  }

  .acon01_desc {
    max-width: 92%;
    margin-top: 4.3vw;
    font-size: 3.6vw;
    line-height: 5.6vw;
    word-break: keep-all;
  }

  .acon01_desc_02 {
    margin-top: 3.2vw;
  }

  .acon01_more {
    margin-top: 9.6vw;
  }

  /* --- acon02 시그니처 롤링 — 좌(슬라이드)/우(사진) 세로 스택, 워드블록은 둘 사이 경계에 걸침 --- */
  .acon02 {
    padding-bottom: 10.7vw;
  }

  .acon02_inner {
    padding-top: 2.1vw;
  }

  .acon02_line {
    height: 1.6vw;
  }

  .acon02_row {
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    margin-top: 1.1vw;
  }

  .acon02_left {
    width: 100%;
    padding-top: 8vw;
  }

  .acon02_pagi {
    --swiper-pagination-bullet-horizontal-gap: 0.8vw;
  }

  .acon02_pagi .swiper-pagination-bullet {
    width: 2.4vw;
    height: 2.4vw;
  }

  .acon02_pagi .swiper-pagination-bullet-active {
    width: 7.5vw;
  }

  /* 슬라이드 높이를 가장 긴 슬라이드에 맞춤(stretch) → 음식 사진이 매 장 우드 패널 바닥에 붙음 */
  .acon02_swiper .swiper-slide {
    height: auto;
  }

  .acon02_slide_in {
    justify-content: space-between;
    align-items: center;
    height: 100%;
  }

  .acon02_slide_txt {
    align-items: center;
    max-width: 86%;
    margin-left: 0;
    margin-top: 6.4vw;
    text-align: center;
  }

  .acon02_slide_tt {
    font-size: 6.4vw;
    line-height: 8.7vw;
  }

  .acon02_slide_desc {
    margin-top: 2.7vw;
    font-size: 3.6vw;
    line-height: 5.6vw;
    word-break: keep-all;
  }

  .acon02_slide_img_01 {
    width: 83.0952%;
    margin-left: 0;
    margin-top: 6.4vw;
  }

  .acon02_slide_img_02 {
    width: 85.5952%;
    margin-left: 0;
    margin-top: 6.4vw;
  }

  .acon02_slide_img_03 {
    width: 93.0952%;
    margin-left: 0;
    margin-top: 6.4vw;
  }

  .acon02_right {
    order: 3;
    width: 100%;
  }

  .acon02_word {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    transform: none;
    order: 2;
    width: 52vw;
    margin-top: 8vw;
    margin-bottom: 8vw;
  }

  /* --- acon03 메뉴 — 2장씩 (slide.js breakpoints) --- */
  .acon03 {
    padding-top: 0; /* 유저 지시(2026-10-23): 위 acon02 하단 여백(10.7vw)과 겹쳐 90px → acon02 여백만 남김 */
    padding-bottom: 13.3vw;
  }

  .acon03_slide_wrap {
    width: 89.3%;
    margin-top: 8vw;
  }

  .acon03_pn {
    column-gap: 2.7vw;
    margin-top: 6.4vw;
  }

  .acon03_more {
    margin-top: 9.6vw;
  }

  /* --- acon04 공지 — 좌측 묶음을 풀어 제목 → 소개 → 카드 슬라이드 → 이전/다음 → NOTICE 순서 세로 스택 --- */
  .acon04 {
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    padding-top: 13.3vw;
    padding-bottom: 13.3vw;
  }

  .acon04_left {
    display: contents;
  }

  .acon04_title {
    order: 1;
    font-size: 9.6vw;
    line-height: 10.7vw;
    text-align: center;
  }

  .acon04_sub {
    order: 2;
    max-width: 82%;
    margin-top: 2.7vw;
    font-size: 3.6vw;
    line-height: 5.6vw;
    text-align: center;
    word-break: keep-all;
  }

  .acon04_slider {
    order: 3;
    align-items: center;
    width: 100%; /* 유저 지시(2026-10-22): 화면 꽉 채우고 슬라이드는 가운데 (js/slide.js centeredSlides <600) */
    margin-top: 8vw;
  }

  .acon04_more {
    order: 4;
    justify-content: center;
    column-gap: 2.4vw;
    width: 40vw;
    padding-left: 0;
    margin-top: 9.6vw;
  }

  .acon04_slide {
    width: 72vw;
  }

  .acon04_photo {
    width: 100%;
  }

  .acon04_cap {
    margin-top: 2.7vw;
    font-size: 3.8vw;
    line-height: 5.6vw;
  }

  .acon04_tbox {
    width: 100%;
    height: 47.6vw;
    padding-top: 9.6vw;
    padding-right: 7.5vw;
    padding-bottom: 7.5vw;
    padding-left: 8vw;
  }

  .acon04_ttl {
    font-size: 4.3vw;
    line-height: 6vw;
  }

  .acon04_date {
    font-size: 3.3vw;
    line-height: 4.3vw;
  }

  .acon04_plus {
    width: 8.5vw;
    height: 8.5vw;
    margin-top: 0;
    background-size: 0.6vw 4.1vw, 4.1vw 0.6vw;
  }

  .acon04_pn {
    justify-content: center;
    column-gap: 2.7vw;
    margin-top: 6.4vw;
  }

  /* --- acon05 매장 검색 --- */
  .acon05_frame {
    width: 89.3%;
  }

  .acon05_bar {
    height: 8.5vw;
  }

  .acon05_bar_txt {
    font-size: 3.3vw;
    line-height: 4.3vw;
  }

  .acon05_body {
    padding-top: 10.7vw;
    padding-bottom: 10.7vw;
    background-size: auto 100%;
    background-position: center;
  }

  .acon05_sub {
    font-size: 3.6vw;
    line-height: 5.6vw;
  }

  .acon05_title {
    margin-top: 1.1vw;
    font-size: 10.7vw;
    line-height: 11.2vw;
  }

  .acon05_form {
    margin-top: 6.4vw;
  }

  .acon05_input {
    width: 86%;
    height: 12.8vw;
    padding: 0 0 0 4.3vw;
    font-size: 4.5vw;
  }

  .acon05_btn {
    column-gap: 2.7vw;
    width: 44vw;
    margin-top: 7.5vw;
    padding-bottom: 2.7vw;
  }

  /* --- acon06 창업 안내 — 사진 띠 → 흰 패널 → 파스타 마퀴 띠 세로 스택 (고정 배경은 iOS 미지원 → scroll) --- */
  .acon06 {
    padding-bottom: 10.7vw;
  }

  .acon06_photo {
    width: 89.3%;
    height: 40vw;
    background-attachment: scroll;
  }

  .acon06_panel {
    order: 1;
    width: 89.3%;
    padding-bottom: 13.3vw;
  }

  .acon06_box {
    width: 64%;
    padding-top: 9.6vw;
    padding-bottom: 2.7vw;
  }

  .acon06_brand {
    font-size: 7.5vw;
    line-height: 9.6vw;
  }

  .acon06_title {
    margin-top: 9.6vw;
    font-size: 6.4vw;
    line-height: 8.7vw;
  }

  .acon06_desc {
    max-width: 86%;
    margin-top: 4.3vw;
    font-size: 3.6vw;
    line-height: 5.6vw;
    word-break: keep-all;
  }

  .acon06_more {
    column-gap: 2.4vw;
    width: 40vw;
    margin-top: 9.6vw;
    padding-bottom: 2.7vw;
  }

  .acon06_more_txt {
    font-size: 4.3vw;
  }

  .acon06_band {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    transform: none;
    order: 2;
    margin-top: 10.7vw;
  }

  .acon06_flow {
    width: 100%;
    margin-top: 0;
    margin-left: 0;
    padding: 4.3vw 0;
  }

  .acon06_flow_img {
    margin-right: 4.3vw;
  }

  .acon06_flow_img01 {
    width: 32vw;
  }

  .acon06_flow_img02 {
    width: 33vw;
  }

  .acon06_flow_img03 {
    width: 32.4vw;
  }

  .acon06_flow_img04 {
    width: 32.6vw;
  }

  .acon06_flow_img05 {
    width: 33vw;
  }
}
