/* 맛나감자탕 사이트 — 맛나 색(머리줄 먹색 #1A1A1A · 대표 주황 #FF9A2E · 강조 #A85800 — 오너 2026-10-26 A안) + 참고 홈페이지 틀(TICKET_31 · 오너 2026-10-22)
   틀만 맞춤: 알약 이름표·질문형 절·배경 교대·둥근 카드·전면 사진 첫 화면·단색 꼬리말. 참고 사이트의 색·문구는 쓰지 않음. */
:root {
  --main: #FF9A2E;       /* 대표 주황(오너 2026-10-26 A안 — 옛 #DF9345) — 면·선·장식·버튼 바탕 */
  --main-hover: #FFAE57; /* 채운 버튼 hover — #1A1A1A 글씨 9.48:1 */
  --main-tint: #FFEFDB;  /* 테두리 버튼·지역 버튼 hover 바탕 */
  --btn-ink: #1A1A1A;    /* 주황 바탕 위 글씨(오너 결정) — #FF9A2E 위 8.22:1 */
  --kicker: #A85800;     /* 강조 글자(흰 바탕 위 주황 글씨) — A안 #FF9A2E 같은 색조로 진하게: 흰 바탕 5.17:1 · 옅은 바탕 4.75:1 */
  --ink: #1F1A17;
  --muted: #5B534D;      /* 흰 바탕 7.4:1 */
  --soft: #F7F5F2;       /* 번갈아 쓰는 아주 옅은 바탕 */
  --white: #FFFFFF;
  --line: #EFEAE4;
  --naver: #03A94D;      /* 네이버 녹색 — TICKET_58 D안부터 버튼의 작은 N 표시(장식)에만 */
  --naver-bg: #F5EDE3;   /* 네이버 플레이스 버튼 바탕(옅은 크림) */
  --naver-ink: #1F1A17;  /* 네이버 플레이스 버튼 글씨 — #F5EDE3 위 14.86:1 */
  --naver-line: #E6DCCF; /* 네이버 플레이스 버튼 테두리 */
  --head-bg: #1A1A1A;    /* 머리줄 바탕(오너 확정 3안 2026-10-22) */
  --head-ink: #FFFFFF;   /* 머리줄 메뉴 글씨 — 먹색 #1A1A1A 위 17.4:1 · 주황 밑줄·띠 #FF9A2E 는 먹색 #1A1A1A 위 8.22:1 */
  --tbd: #FFF3BF;
  --font: "Pretendard", "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;
}
/* TICKET_71(오너 2026-10-29 "글씨체에서 '?' 가 너무 이상해"): 명조 제목의 물음표만 고딕 — unicode-range 로 '?'(U+003F) 한 글자만 기기 고딕 글꼴. 기기에 없으면 명조로 떨어짐(글자 깨짐 없음). 명조 글꼴 목록 맨 앞에 "UfQ"(sub.css --uf-serif · home.css --pm-serif) */
@font-face { font-family: "UfQ"; font-weight: 100 799; unicode-range: U+003F; src: local("AppleSDGothicNeo-Bold"), local("Apple SD Gothic Neo Bold"), local("MalgunGothicBold"), local("Malgun Gothic Bold"), local("NotoSansCJKkr-Bold"), local("Noto Sans CJK KR Bold"), local("NotoSansKR-Bold"), local("Noto Sans KR Bold"); }
@font-face { font-family: "UfQ"; font-weight: 800 900; unicode-range: U+003F; src: local("AppleSDGothicNeo-ExtraBold"), local("Apple SD Gothic Neo ExtraBold"), local("MalgunGothicBold"), local("Malgun Gothic Bold"), local("NotoSansCJKkr-Black"), local("Noto Sans CJK KR Black"), local("NotoSansKR-Black"), local("Noto Sans KR Black"); }
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: var(--font); color: var(--ink); background: var(--white); line-height: 1.7; word-break: keep-all; overflow-wrap: anywhere; font-size: 17px; overflow-x: hidden; }
a { color: var(--ink); text-decoration-color: var(--main); text-decoration-thickness: 2px; text-underline-offset: 3px; }  /* 링크 = 검정 글씨 + 주황 밑줄 */
a:hover { text-decoration-thickness: 4px; }
a:focus-visible, button:focus-visible { outline: 3px solid var(--btn-ink); outline-offset: 2px; box-shadow: 0 0 0 7px var(--main); border-radius: 6px; }
img { max-width: 100%; display: block; }
.wrap { max-width: 1120px; margin: 0 auto; padding: 0 20px; }
.tbd { background: var(--tbd); color: #6B4E00; border: 1px dashed #C9A227; border-radius: 6px; padding: 1px 6px; font-weight: 600; font-size: .92em; }

/* 머리줄 */
.site-header { background: var(--head-bg); border-bottom: 4px solid var(--main); position: sticky; top: 0; z-index: 10; }  /* 머리줄 3안: 먹색 + 아래 주황 띠 4px */
.nav-wrap { display: flex; align-items: center; min-height: 68px; gap: 16px; }
.brand { display: flex; align-items: center; }
.brand .logo { height: 44px; width: auto; }
.nav-toggle { display: none; margin-left: auto; background: none; border: 2px solid rgba(255, 255, 255, .45); color: var(--head-ink); font: inherit; font-weight: 700; border-radius: 10px; padding: 6px 14px; cursor: pointer; }
.site-nav { margin-left: auto; }
.site-nav ul { list-style: none; display: flex; gap: 22px; flex-wrap: wrap; }
.site-nav a { color: var(--head-ink); text-decoration: none; font-weight: 700; font-size: 15px; padding: 6px 0; border-bottom: 2px solid transparent; }
.site-nav a:hover, .site-nav a[aria-current="page"] { border-color: var(--main); }
.site-header a:focus-visible, .nav-toggle:focus-visible { outline-color: var(--head-ink); }  /* 먹색 바탕에서 보이게 흰 테두리 + 주황 그림자 */
.crumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; font-size: 13px; color: var(--muted); padding-top: 18px; }
.crumbs li + li::before { content: "›"; margin-right: 6px; }
.crumbs a { color: var(--muted); }

/* 페이지 머리(TICKET_31 — 참고 사이트 틀): 알약형 이름표 + 제목 + 한 줄 설명 */
.page-top { background: var(--soft); border-bottom: 1px solid var(--line); }
.page-head { padding: 36px 20px 40px; }
.page-head h1 { font-size: clamp(30px, 1.8vw + 22px, 44px); line-height: 1.25; font-weight: 900; letter-spacing: -.03em; text-wrap: balance; }
.lead { margin-top: 14px; font-size: 18px; color: var(--muted); max-width: 760px; }
.eyebrow { display: inline-block; background: var(--main); color: var(--btn-ink); font-weight: 800; font-size: 14px; line-height: 1.4; padding: 5px 14px; border-radius: 999px; margin-bottom: 14px; }
/* 첫 화면(홈): 전면 사진 + 어두운 그라데이션 위 흰 글씨 */
.hero-full { position: relative; overflow: hidden; background: var(--head-bg); min-height: clamp(480px, 40vw, 600px); display: flex; align-items: center; }
.hero-bg { position: absolute; inset: 0; }
.hero-bg img { width: 100%; height: 100%; object-fit: cover; object-position: 70% 50%; }
.hero-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(26, 26, 26, .94) 0%, rgba(26, 26, 26, .9) 42%, rgba(26, 26, 26, .62) 66%, rgba(26, 26, 26, .1) 100%); }
.hero-tx { position: relative; padding-top: 56px; padding-bottom: 56px; color: var(--white); width: 100%; }
.hero-tx h1 { font-size: clamp(40px, 3vw + 26px, 60px); line-height: 1.15; font-weight: 900; letter-spacing: -.035em; color: var(--white); }
.hero-tx .slogan-lockup { color: var(--white); margin-top: 10px; }
.hero-tx .slogan-lockup span + span { color: var(--main); }
.hero-tx .lead { color: #EDE7E1; max-width: 560px; }
.proof { list-style: none; margin-top: 22px; display: flex; flex-wrap: wrap; gap: 8px; max-width: 640px; }
.proof a { display: inline-flex; align-items: center; min-height: 40px; padding: 6px 14px; border-radius: 999px; background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .45); color: var(--white); font-weight: 700; font-size: 15px; text-decoration: none; }
.proof a::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--main); margin-right: 8px; flex: none; }
.proof a:hover { background: rgba(255, 255, 255, .22); }
.hero-tx .btn-sub { background: transparent; color: var(--white); border-color: rgba(255, 255, 255, .8); }
.hero-tx .btn-sub:hover { background: rgba(255, 255, 255, .12); }
.btns { margin-top: 26px; display: flex; flex-wrap: wrap; gap: 12px; }
.btn { display: inline-block; padding: 13px 24px; border-radius: 999px; font-weight: 800; text-decoration: none; }
.btn-main { background: var(--main); color: var(--btn-ink); }
.btn-main:hover { background: var(--main-hover); }
.btn-sub, .btn-line { border: 2px solid var(--main); color: var(--ink); background: var(--white); }
.btn-sub:hover, .btn-line:hover { background: var(--main-tint); }
.btn-green { background: var(--naver-bg); color: var(--naver-ink); border: 1px solid var(--naver-line); }  /* TICKET_58 D안 */
.btn-green:hover { border-color: var(--main); }
.btn:focus-visible { border-radius: 999px; }

/* 본문 블록 */
.block { padding: 56px 0; }
.block.alt { background: var(--soft); }
.block h2 { font-size: clamp(23px, 2.7vw, 31px); font-weight: 800; line-height: 1.35; letter-spacing: -.02em; text-wrap: balance; }
.answer { margin-top: 12px; font-size: 18px; font-weight: 600; max-width: 820px; }  /* 읽기 폭(TICKET_33) — 카드 그리드는 넓게 둠 */
.src { margin-top: 14px; font-size: 13px; color: var(--muted); }
.regions { list-style: none; display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.regions a { display: inline-block; padding: 10px 18px; border: 2px solid var(--main); border-radius: 999px; background: var(--white); color: var(--ink); text-decoration: none; font-weight: 700; }
.regions a:hover { background: var(--main-tint); }
.regions b { color: var(--ink); background: var(--main-tint); border-radius: 999px; padding: 0 7px; }
.grid { display: grid; gap: 20px; margin-top: 24px; }
.g3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.card { background: var(--white); border: 1px solid var(--line); border-radius: 16px; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 2px 10px rgba(0, 0, 0, .04); }
.card .ph { aspect-ratio: 16 / 9; display: flex; align-items: center; justify-content: center; background: repeating-linear-gradient(135deg, #E6E1DA 0 14px, #EEEAE4 14px 28px); }
.card .tx { padding: 16px 18px 20px; }
.card h3 { font-size: 19px; }
.card h3 a { color: var(--ink); text-decoration: none; }
.addr { margin-top: 6px; font-size: 15px; color: var(--muted); }
.acts { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 8px; }
.acts a { font-size: 14px; font-weight: 700; padding: 6px 12px; border-radius: 999px; text-decoration: none; border: 1px solid var(--line); color: var(--ink); }
.acts a:hover { border-color: var(--main); }
.acts .a-naver { background: var(--naver-bg); color: var(--naver-ink); border-color: var(--naver-line); }  /* TICKET_58 D안 */
.acts .a-naver:hover { border-color: var(--main); }
.acts .a-naver, .btn-green { display: inline-flex; align-items: center; }  /* N 표시와 글자 세로 가운데 */
.n-mark { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; border-radius: 3px; background: var(--naver); color: var(--white); font-size: 11px; font-weight: 900; line-height: 1; margin-right: 6px; flex: none; }  /* 네이버 N 표시(장식, aria-hidden) */
.tbl-wrap { margin-top: 20px; overflow-x: auto; border: 1px solid var(--line); border-radius: 14px; }
table { width: 100%; border-collapse: collapse; background: var(--white); font-size: 15px; }
th, td { text-align: left; padding: 12px 14px; border-bottom: 1px solid var(--line); vertical-align: top; }
thead th { background: var(--soft); }
.split { margin-top: 24px; display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
.facts { display: grid; grid-template-columns: 110px 1fr; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; background: var(--white); }
.facts dt { background: var(--soft); font-weight: 800; padding: 14px 16px; border-bottom: 1px solid var(--line); }
.facts dd { padding: 14px 16px; border-bottom: 1px solid var(--line); font-weight: 600; }
.ph-box { min-height: 240px; display: flex; align-items: center; justify-content: center; border-radius: 18px; background: repeating-linear-gradient(135deg, #E6E1DA 0 14px, #EEEAE4 14px 28px); }
.chk { margin-top: 6px; font-size: 13px; font-weight: 700; color: var(--muted); }
.hist-wrap { margin-top: 24px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 32px; }
.hist-year h3 { font-size: 22px; font-weight: 800; padding-bottom: 6px; border-bottom: 2px solid var(--main); }
.hist { list-style: none; margin-top: 8px; padding: 0; }
.hist li { padding: 7px 0; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 52px 1fr; gap: 6px; }
.hist b { color: var(--kicker); }
.plain { list-style: none; margin-top: 12px; padding: 0; }
.plain li { padding: 7px 0; border-bottom: 1px solid var(--line); }  /* 일반 목록(메뉴 이름·찾아오는 길) — 연혁 목록(.hist)과 따로 */
.greeting { margin: 24px 0 0; padding: 22px 26px; border-left: 4px solid var(--main); background: var(--white); border-radius: 0 14px 14px 0; }
.greeting p + p { margin-top: 12px; }
.faq { margin-top: 22px; display: grid; gap: 12px; max-width: 820px; }
.faq .q { background: var(--white); border: 1px solid var(--line); border-radius: 14px; padding: 18px 22px; box-shadow: 0 2px 10px rgba(0, 0, 0, .04); }
.faq h3 { font-size: 17px; font-weight: 800; }
.faq p { margin-top: 6px; color: var(--muted); }
.near ul { list-style: none; margin-top: 8px; }
.near .k { font-weight: 800; }

/* 꼬리말(TICKET_71 — 오너 2026-10-29 '전체 통일'): 모든 쪽 = 홈(home.css)과 같은 먹색 + 본사 감자탕 사진(photo/footer-home.jpg, 장식·CSS 배경·alt 없음).
   글자 칸(--foot-tx = 글자 시작 + 820px) 아래 덮개 .9 이상 → 사진 화소가 흰색이어도 크림·보조·날짜·주황 글씨 4.5:1(check.py 계산), 그 뒤로 사진이 드러남.
   휴대폰은 사진 위·글자 아래(덮개 .95). 사진 못 불러오면 먹색 단색. (옛 TICKET_43 재료 사진 꼬리말 — footer-ingredients.jpg — 은 정리) */
.site-footer { --foot-tx: calc(max(20px, 50% - 540px) + 820px); background: linear-gradient(90deg, rgba(14, 12, 10, .95) 0%, rgba(14, 12, 10, .9) var(--foot-tx), rgba(14, 12, 10, .55) calc(var(--foot-tx) + 18%), rgba(14, 12, 10, .2) 100%), url(../img/photo/footer-home.jpg) right 62% / cover no-repeat, #0E0C0A; border-top: 1px solid rgba(242, 234, 223, .14); color: #BFB2A2; padding: 96px 0 56px; font-size: 14px; }
.site-footer .wrap > * { max-width: 820px; }
@media (max-width: 760px) {
  .site-footer { background: linear-gradient(180deg, rgba(14, 12, 10, .15) 0, rgba(14, 12, 10, .65) 130px, rgba(14, 12, 10, .95) 210px), url(../img/photo/footer-home.jpg) center top / 100% auto no-repeat, #0E0C0A; padding-top: 220px; }
}
.foot-logo img { height: 44px; width: auto; }
/* 슬로건 묶음(오너 확정 2026-10-22, TICKET_23): 슬로건+서브 슬로건 한 덩어리(build.py LOCK_HTML) — 본문과 확실히 구분되는 전용 스타일.
   span 마다 nowrap → 휴대폰에서는 쉼표 뒤에서만 줄이 바뀐다. 앞 구절 = 먹색, 뒤 구절 = 주황 표제색 + 주황 붓 밑줄. */
.slogan-lockup { margin-top: 14px; font-weight: 900; font-size: clamp(22px, 3vw, 34px); line-height: 1.35; letter-spacing: -.01em; color: var(--ink); }
.slogan-lockup span { white-space: nowrap; }
.slogan-lockup span + span { color: var(--kicker); text-decoration: underline; text-decoration-color: var(--main); text-decoration-thickness: .14em; text-underline-offset: .16em; text-decoration-skip-ink: none; }  /* 주황 밑줄 · 글씨 --kicker × 흰 바탕 대비는 check.py 계산 */
.page-head .slogan-lockup { margin: 6px 0 4px; }
.site-footer .slogan-lockup { margin-top: 28px; font-size: clamp(28px, 3.6vw, 52px); color: #F2EADF; }  /* TICKET_71: 홈 바닥글과 같은 큰 슬로건 */
.site-footer .slogan-lockup span + span { color: var(--main); text-decoration-color: rgba(255, 154, 46, .55); text-decoration-thickness: 1px; text-underline-offset: .22em; }  /* --main × 덮개 위 대비는 check.py 계산 */
.site-footer a { color: #F2EADF; }
.site-footer .foot-links { margin-top: 32px; font-weight: 500; }
.foot-links { margin-top: 16px; display: flex; flex-wrap: wrap; gap: 8px 18px; list-style: none; font-weight: 700; }
.biz { margin-top: 18px; display: flex; flex-wrap: wrap; gap: 4px 14px; }
.updated { margin-top: 10px; color: #A89C8E; }

@media (max-width: 900px) {
  .split { grid-template-columns: 1fr; }
  .hist-wrap { grid-template-columns: 1fr; }
  .g3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .js .nav-toggle { display: inline-block; }
  .js .site-nav { display: none; position: absolute; left: 0; right: 0; top: calc(100% + 4px); background: var(--head-bg); border-bottom: 4px solid var(--main); }  /* 머리줄 높이 + 아래 띠 4px 바로 밑으로 펼침 */
  .js .site-nav.open { display: block; }
  .js .site-nav ul { flex-direction: column; gap: 0; padding: 6px 18px 14px; }
  .js .site-nav a { display: block; padding: 12px 0; border-bottom: 1px solid rgba(255, 255, 255, .14); }
  .js .site-nav a:hover, .js .site-nav a[aria-current="page"] { border-bottom-color: var(--main); }
  .nav-wrap { flex-wrap: wrap; }
  .g3 { grid-template-columns: 1fr; }
  .facts { grid-template-columns: max-content minmax(0, 1fr); }  /* TICKET_54: 이름 칸이 낱말 중간에서 끊기지 않게 가장 긴 이름 폭 */
  .facts dt, .facts dd { padding: 12px 12px; }
  .block { padding: 40px 0; }
  .page-head { padding: 28px 20px 36px; }
}
.menu-cards { list-style: none; padding: 0; margin: 12px 0 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }  /* 메뉴 사진 카드(TICKET_28) · TICKET_44: 분류 없이 한 격자(PC 4열·휴대폰 2열) */
.menu-cards .name { padding: 10px 14px 12px; font-weight: 800; }
.card .ph.photo { aspect-ratio: 3 / 2; background: var(--line); }   /* 실제 사진 — 원본 3:2 그대로(자르지 않음) */
.card .ph.photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 900px) { .menu-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 600px) { .menu-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } .menu-cards .name { padding: 8px 10px 10px; font-size: 15px; } }
.store-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 14px; }   /* 매장 카드(TICKET_30) — 사진 없는 글자 카드 */
.store-card { border-top: 4px solid var(--main); }
.store-card .tx { padding: 14px 16px 16px; }
.store-card h3 { font-size: 18px; }
.store-card h3 a { color: var(--ink); text-decoration: none; }
.store-card h3 a:hover { color: var(--kicker); }
.store-card .loc { margin-top: 4px; font-size: 14px; color: var(--muted); }
.store-group { margin-top: 28px; font-size: 20px; }
.store-group a { color: var(--ink); text-decoration: none; border-bottom: 2px solid var(--main); }
.near .regions { margin-top: 10px; }
@media (max-width: 900px) { .store-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 600px) { .store-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .store-card .tx { padding: 12px; } .store-card h3 { font-size: 16px; } .store-card .acts a { padding: 6px 10px; font-size: 13px; } }
.notice { margin-top: 12px; padding: 10px 14px; border-left: 4px solid var(--main); background: var(--white); border-radius: 0 10px 10px 0; }   /* 추가 휴무 안내(TICKET_29b) */
.notice b { margin-right: 6px; }

/* TICKET_31 — 참고 사이트 틀 공통 부품(색은 맛나 토큰) */
.wrap > .src:last-child { margin-top: 18px; }
.more { margin-top: 16px; font-weight: 800; }
.note { margin-top: 12px; color: var(--muted); }
.body { max-width: 820px; }
.body p + p { margin-top: 10px; }
.stats { margin-top: 26px; display: grid; gap: 14px; }
.stats.s3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.stat { background: var(--white); border: 1px solid var(--line); border-radius: 18px; padding: 20px; box-shadow: 0 2px 10px rgba(0, 0, 0, .04); }
.stat b { display: block; font-size: 26px; line-height: 1.3; color: var(--kicker); font-weight: 900; }
.stat span { display: block; margin-top: 6px; font-size: 14px; color: var(--muted); }
.g4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.card .ph img { width: 100%; height: 100%; object-fit: cover; display: block; }
.card.rs .ph, .card.mc .ph { aspect-ratio: 3 / 2; background: var(--line); }
.card.rs .tx .num { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: var(--main); color: var(--btn-ink); font-weight: 900; font-size: 14px; margin-bottom: 8px; }
.card .tx p { margin-top: 8px; font-size: 15px; line-height: 1.6; color: var(--muted); }
.card.mc h3 { font-size: 18px; }
.card .ph.none { background: var(--soft) url("../img/logo.png") center / 96px auto no-repeat; opacity: .9; }
.split { align-items: center; }
.photo { margin: 0; border-radius: 18px; overflow: hidden; }
.media-row { margin-top: 20px; display: grid; grid-template-columns: 2fr 1fr; gap: 24px; align-items: center; }   /* 액자형 사인물(TICKET_37) — 음식사진(3:2)과 세로 사인물 높이가 비슷해지는 비율 */
.media-row.one { grid-template-columns: minmax(0, 360px); }
.answer-split .answer { margin-top: 0; font-size: clamp(19px, 1.9vw, 22px); line-height: 1.6; }   /* 국물 절(TICKET_41b): 답 2문장을 사진 옆 왼쪽 칸에 — 세로 가운데(.split align-items: center) */
.pat-split { grid-template-columns: 1fr minmax(0, 320px); gap: 28px; }   /* 특허 표 + 알카리수 사인물(TICKET_41) */
@media (max-width: 760px) { .pat-split { grid-template-columns: 1fr; } .pat-split .photo.sign { max-width: 300px; justify-self: center; } }
.photo.sign { border-radius: 6px; box-shadow: 0 4px 18px rgba(0, 0, 0, .10); }
@media (max-width: 760px) { .media-row { grid-template-columns: 1fr; } .photo.sign { max-width: 300px; justify-self: center; } }
.photo img { width: 100%; height: auto; display: block; }
.block .facts { margin-top: 18px; max-width: 820px; }
@media (max-width: 1000px) { .g4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) {
  .hero-full { display: block; min-height: 0; }
  .hero-bg { position: static; }
  .hero-bg img { height: auto; aspect-ratio: 3 / 2; }
  .hero-bg::after { display: none; }
  .hero-tx { padding-top: 24px; padding-bottom: 36px; }
  .proof a { font-size: 14px; min-height: 38px; padding: 5px 12px; }
  .hero-tx .btn-main { flex: 1 1 100%; text-align: center; }
  .stats.s3 { grid-template-columns: 1fr; }
  .g4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .card.rs .tx, .card.mc .tx { padding: 12px 14px 14px; }
}
.award-wrap { margin-top: 22px; display: grid; grid-template-columns: 1fr minmax(0, 320px); gap: 28px; align-items: center; }   /* 수상 강조 블록 + 상장(TICKET_39) */
.award-hl { padding: 28px 30px; background: var(--white); border: 1px solid var(--line); border-left: 6px solid var(--main); border-radius: 16px; box-shadow: 0 2px 10px rgba(0, 0, 0, .04); }
.award-name { font-size: clamp(20px, 2.4vw, 28px); font-weight: 900; line-height: 1.35; }
.award-years { margin-top: 10px; font-size: clamp(30px, 4vw, 46px); font-weight: 900; color: var(--kicker); line-height: 1.1; }
.award-years span { margin-left: 8px; font-size: .45em; font-weight: 700; color: var(--muted); }
.photo.award-img { border-radius: 6px; box-shadow: 0 4px 18px rgba(0, 0, 0, .10); }
@media (max-width: 760px) { .award-wrap { grid-template-columns: 1fr; } .photo.award-img { max-width: 300px; justify-self: center; } }
.hist .hsrc { display: block; grid-column: 2; font-size: 12px; color: var(--muted); }   /* 연혁 줄마다 근거(TICKET_32) */
/* 점주 제공 놀이방·룸 사진(TICKET_49d — 설명 글 없이 사진만) */
.am-photos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
.am-photos .photo img { width: 100%; height: auto; display: block; border-radius: 6px; }
@media (max-width: 600px) { .am-photos { grid-template-columns: 1fr; } }
/* TICKET_52(오너): 홈 손님 평가 표 — 득표 비율 막대(가장 많은 표=100%, 장식). 기본은 최종 폭 — JS 가 있고 동작 줄이기 설정이 아니면 처음 보일 때 0에서 늘어남 */
.kw-tbl .kw-n { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; font-weight: 700; width: 1%; }
.kw-bar { display: block; height: 8px; margin-top: 8px; border-radius: 999px; background: var(--line); overflow: hidden; }
.kw-bar i { display: block; height: 100%; border-radius: inherit; background: var(--main); transform-origin: left center; transition: transform 1.3s cubic-bezier(.22, .61, .36, 1); }
.kw-pre .kw-bar i { transform: scaleX(0); }
@media (prefers-reduced-motion: reduce) { .kw-bar i { transition: none; } }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
/* TICKET_54(오너): 줄바꿈 최적화 — 본문 끝줄 외톨이 줄 줄이기(pretty), 제목·짧은 글 균형(balance), 쪼개지면 안 되는 구절(.nw: 빌드가 특허 번호·날짜·짧은 따옴표 구절·표 수만 감쌈), 표·이름 칸은 낱말 중간에서 안 끊음 */
p, li, dd, td { text-wrap: pretty; }
h3, .lead, .facts dt, .stat span, .menu-cards .name { text-wrap: balance; }
.nw { white-space: nowrap; }
th, .facts dt { overflow-wrap: normal; }
.facts dt, th[scope="row"] { white-space: nowrap; }
td { overflow-wrap: break-word; }
@media (max-width: 420px) { .site-footer .slogan-lockup { font-size: 23px; } }  /* 슬로건 구절은 줄 안 바뀜 — 360 폭에 맞춤(홈과 같음) */
@media (max-width: 420px) { table { font-size: 14px; } th, td { padding: 10px 8px; } thead th { font-size: 13px; } }
/* TICKET_54(오너): 메뉴명 가운데 정렬 — 메뉴 페이지 사진 카드·홈 대표 메뉴 카드 같은 모양 */
.menu-cards .name, .card.mc .tx { text-align: center; }
/* TICKET_67 매장 사진(매장 사진 목록에 있는 매장만): 첫 장(외관) 크게 + 나머지 나란히 · 휴대폰 1열 · 사진은 자르거나 늘리지 않음(원래 비율) */
.store-photos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 20px; align-items: start; }
.store-photos .sp-wide { grid-column: 1 / -1; }
.store-photos figure { margin: 0; }
.store-photos img { display: block; width: 100%; height: auto; border-radius: 12px; }
.store-photos figcaption { margin-top: 8px; font-size: 14px; color: var(--muted); }
@media (max-width: 760px) { .store-photos { grid-template-columns: 1fr; } }
/* 대전둔곡점 전용(오너 2026-11-06): 윗줄 [매장 입구 563x1000][단체룸 1000x750] — 칸 너비를 사진 가로세로비(0.563 : 1.333)에 맞춰 두 사진 높이를 같게(잘림 없음) · 아랫줄 홀 전경은 .sp-wide · 휴대폰은 1열 */
.store-photos.sp-dungok { grid-template-columns: minmax(0, 563fr) minmax(0, 1333fr); }
@media (max-width: 760px) { .store-photos.sp-dungok { grid-template-columns: 1fr; } }
/* TICKET_79: 매장 편의시설(점주 확인) — 글 옆 장식 그림(aria-hidden), 정보는 글에만 */
.am-list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 18px; }
.am-list li { display: inline-flex; align-items: center; gap: 6px; }
.am-ico { flex: none; color: var(--main); }
