@font-face{font-family:NSR;src:url(../fonts/nsr-r.woff2?v=3417c525) format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:NSR;src:url(../fonts/nsr-b.woff2?v=db2872b2) format('woff2');font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:NSR;src:url(../fonts/nsr-eb.woff2?v=7a1ad68d) format('woff2');font-weight:800;font-style:normal;font-display:swap;}
@font-face{font-family:NSRL;src:url(../fonts/nsr-r.woff2?v=3417c525) format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0020-007E, U+00A0-00FF, U+2010-2027, U+20A9, U+00AB, U+00BB;}
@font-face{font-family:NSRL;src:url(../fonts/nsr-b.woff2?v=db2872b2) format('woff2');font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0020-007E, U+00A0-00FF, U+2010-2027, U+20A9, U+00AB, U+00BB;}
@font-face{font-family:NSRL;src:url(../fonts/nsr-eb.woff2?v=7a1ad68d) format('woff2');font-weight:800;font-style:normal;font-display:swap;unicode-range:U+0020-007E, U+00A0-00FF, U+2010-2027, U+20A9, U+00AB, U+00BB;}
@font-face{font-family:MPR;src:url(../fonts/mpr-r.woff2?v=76cafa78) format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:MPR;src:url(../fonts/mpr-b.woff2?v=9305424e) format('woff2');font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:MPR;src:url(../fonts/mpr-eb.woff2?v=42cc1c8d) format('woff2');font-weight:800;font-style:normal;font-display:swap;}
@font-face{font-family:Seal;src:url(../fonts/seal.woff2?v=ffea777c) format('woff2');font-weight:800;font-display:swap;}
/* 다미초밥 v7 — 흰색 + 청록 메뉴 카드 · 둥근 고딕(DESIGN.md). @font-face 는 build.py 가 앞에 붙인다 */
:root{
  --paper:#fff;--ice:#f2f9f7;--mint:#e2f2ee;--teal:#0a6e67;--teal2:#0b7a72;--teald:#075a55;--deep:#073835;
  --ink:#16302e;--mute:#4a6461;--aqua:#8fd3c7;--lantern:#e39a5f;--line:rgba(10,110,103,.16);
  --r-card:28px;--r-ph:18px;--gut:40px;--hd:76px;--ease:cubic-bezier(.2,.7,.2,1);
  --sh:0 1px 2px rgba(7,56,53,.05),0 14px 34px -16px rgba(7,56,53,.22);
  --sh-h:0 2px 6px rgba(7,56,53,.07),0 26px 48px -18px rgba(7,56,53,.32);
  --f:NSR,"Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR",system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hd) + 16px);-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;font-family:var(--f);font-size:17px;line-height:1.7;color:var(--ink);background:var(--paper);word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased}
:lang(ja){font-family:NSRL,MPR,"Hiragino Maru Gothic ProN","Yu Gothic",sans-serif;word-break:normal;word-break:auto-phrase;overflow-wrap:anywhere;line-break:strict}
:lang(zh-Hans){font-family:NSRL,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",sans-serif;word-break:normal;line-break:strict}
[lang=ko],:lang(ko){font-family:var(--f)}
img{max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3,h4,p,figure,dl,dd,ol,ul{margin:0}
button{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--teal);outline-offset:3px;border-radius:6px}
.on-dark :focus-visible,.ft :focus-visible,.hr-card :focus-visible,.rm-big :focus-visible,.st-c :focus-visible,.modal :focus-visible{outline-color:var(--aqua)}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--teal);color:#fff;padding:10px 16px;border-radius:999px;font-weight:800;text-decoration:none}
.skip:focus{top:12px}
.wrap{max-width:calc(1200px + var(--gut) * 2);margin:0 auto;padding:0 var(--gut)}

/* 언어 — 미리 옮긴 글 바꿔 끼우기 */
.le,.lz,.lj{display:none}
html[data-l=en] .lk,html[data-l=zh] .lk,html[data-l=ja] .lk{display:none}
html[data-l=en] .le,html[data-l=zh] .lz,html[data-l=ja] .lj{display:inline}
/* 구글 번역(한국어 바탕일 때) — 짧은 이름은 풀어 쓴 한국어로, 위험 낱말은 영어 짝을 함께 */
.gs,.nm-gt{display:none}
html.translated-ltr .lk .gk,html.translated-rtl .lk .gk{display:none}
html.translated-ltr .lk .gs,html.translated-rtl .lk .gs,html.translated-ltr .nm-gt,html.translated-rtl .nm-gt{display:inline}
html.translated-ltr .nmx>.notranslate,html.translated-rtl .nmx>.notranslate{display:none}
.goog-te-banner-frame,body>.skiptranslate,#goog-gt-tt,.goog-te-balloon-frame{display:none!important}
body{top:0!important}
.goog-text-highlight{background:none!important;box-shadow:none!important}
font{background:transparent!important}

/* 단추 */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:999px;font-size:15px;font-weight:800;line-height:1.2;text-decoration:none;cursor:pointer;border:1.5px solid transparent;transition:background .2s,color .2s,border-color .2s;white-space:nowrap}
.btn svg{width:18px;height:18px;flex:none}
.btn-tel{background:var(--teal);color:#fff}
.btn-tel:hover{background:var(--teald)}
.btn-tel .num{font-weight:700;padding-left:10px;margin-left:2px;border-left:1px solid rgba(255,255,255,.4);letter-spacing:.01em}
.btn-line{background:#fff;color:var(--teal);border-color:rgba(10,110,103,.38)}
.btn-line:hover{border-color:var(--teal);background:var(--ice)}
.btn-lg{min-height:58px;font-size:17px;padding:0 28px}
.btn-on-dark{background:#fff;color:var(--teald)}
.btn-on-dark:hover{background:var(--mint)}
.btn-line-w{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
.btn-line-w:hover{background:rgba(255,255,255,.1);border-color:#fff}
.row{display:flex;flex-wrap:wrap;gap:10px}
.tl-x{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:16px;font-weight:800;color:var(--teal);text-decoration:none}
.tl-x svg{width:18px;height:18px;flex:none}
.tl-x span{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:5px;text-decoration-color:rgba(10,110,103,.35)}
.tl-x .num{text-decoration:none;font-weight:700;padding-left:10px;border-left:1px solid var(--line)}
.tl-x:hover span{text-decoration-color:currentColor}
.on-dark .tl-x,.hr-card .tl-x{color:#fff}
.on-dark .tl-x span,.hr-card .tl-x span{text-decoration-color:rgba(143,211,199,.6)}
.on-dark .tl-x .num,.hr-card .tl-x .num{border-left-color:rgba(255,255,255,.3)}

/* 머리말 */
.hd{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s}
.hd.is-scrolled{border-bottom-color:var(--line);box-shadow:0 10px 30px -24px rgba(7,56,53,.5)}
.hd-in{max-width:calc(1200px + var(--gut) * 2);margin:0 auto;padding:0 var(--gut);height:var(--hd);display:flex;align-items:center;gap:20px}
.wm{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);flex:none;border-radius:14px}
.seal{font-family:Seal,MPR,sans-serif;font-weight:800;display:inline-flex;align-items:center;justify-content:center;flex:none;background:var(--teal);color:#fff;border-radius:13px;width:44px;height:44px;font-size:15px;line-height:1;writing-mode:vertical-rl;letter-spacing:.06em;box-shadow:inset 0 0 0 2px rgba(255,255,255,.16)}
.wm-t{display:flex;flex-direction:column;line-height:1.15}
.wm-t b{font-size:21px;font-weight:800;letter-spacing:-.02em}
.wm-t small{font-size:12px;font-weight:700;color:var(--mute);margin-top:3px;letter-spacing:.02em}
.gnb{flex:1;min-width:0;display:flex;justify-content:center}
.gnb ul{display:flex;list-style:none;margin:0;padding:4px;white-space:nowrap;gap:2px;background:var(--ice);border:1px solid var(--line);border-radius:999px}
.gnb a{display:flex;align-items:center;min-height:36px;padding:0 12px;border-radius:999px;font-size:15px;font-weight:700;color:var(--ink);text-decoration:none;transition:background .2s,color .2s}
.gnb a:hover{background:#fff;color:var(--teal)}
html[data-l=en] .gnb a{font-size:14px;padding:0 9px}
.gnb li.is-on a{background:var(--teal);color:#fff}
.hd-u{display:flex;align-items:center;gap:8px;flex:none;margin-left:auto}
.lseg{display:flex;background:var(--ice);border:1px solid var(--line);border-radius:999px;padding:3px}
.lseg-b{font-size:13px;font-weight:800;border:0;background:none;color:var(--mute);padding:0 11px;min-height:40px;border-radius:999px;cursor:pointer;transition:background .2s,color .2s}
.lseg-b:hover{color:var(--teal)}
.lseg-b[aria-pressed=true]{background:var(--teal);color:#fff}
.lang{position:relative}
.lang-btn{display:flex;align-items:center;gap:6px;height:42px;min-width:42px;justify-content:center;padding:0 11px;border:1px solid var(--line);background:#fff;border-radius:999px;font-size:13px;font-weight:800;cursor:pointer}
.lang-btn:hover{border-color:var(--teal);color:var(--teal)}
.lang-btn svg{width:19px;height:19px}
.lang-cur{display:none}
.lang.is-gt .lang-cur{display:inline}
.lang-menu{position:absolute;right:0;top:calc(100% + 8px);width:250px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--sh-h);padding:8px;list-style:none;margin:0;z-index:60;max-height:calc(100vh - 100px);overflow:auto}
.lang-menu a{display:flex;gap:12px;align-items:center;min-height:42px;padding:0 12px;border-radius:12px;color:var(--ink);text-decoration:none;font-size:14px;font-weight:700}
.lang-menu a b{min-width:30px;font-size:12px;color:var(--teal)}
.lang-menu a:hover,.lang-menu a[aria-current]{background:var(--ice)}
.lm-h{font-size:12px;font-weight:700;color:var(--mute);padding:10px 12px 4px;margin-top:6px;border-top:1px solid var(--line)}
.hd-tel{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;min-width:42px;padding:0 11px;border-radius:999px;background:var(--teal);color:#fff;text-decoration:none;font-size:15px;font-weight:800}
.hd-tel:hover{background:var(--teald)}
.hd-tel svg{width:18px;height:18px}
.hd-tel .num{display:none;letter-spacing:.01em}
@media (min-width:1400px){html[data-l=ko]:not(.translated-ltr):not(.translated-rtl) .hd-tel{padding:0 16px}html[data-l=ko]:not(.translated-ltr):not(.translated-rtl) .hd-tel .num{display:inline}}
.burger{display:none;width:44px;height:44px;border-radius:999px;border:1px solid var(--line);background:#fff;cursor:pointer;align-items:center;justify-content:center}
.burger span,.burger span::before,.burger span::after{display:block;width:18px;height:2px;border-radius:2px;background:var(--ink);position:relative}
.burger span::before,.burger span::after{content:"";position:absolute;left:0}
.burger span::before{top:-6px}.burger span::after{top:6px}
html.gnb-fold .gnb{display:none}
html.gnb-fold .burger{display:inline-flex}
@media (min-width:761px){.lm-pre{display:none}.lm-h{border-top:0;margin-top:0}}
@media (max-width:1099px){.gnb{display:none}.burger{display:inline-flex}}
.lseg-dr{display:none}
@media (max-width:760px){.lseg-hd{display:none}.lang-cur{display:inline}}

/* 서랍 */
.drawer{position:fixed;inset:0;z-index:80;background:#fff;display:flex;flex-direction:column;padding:0 var(--gut) 28px;overflow:auto;opacity:0;transform:translateY(-8px);transition:opacity .25s,transform .25s var(--ease)}
.drawer[hidden]{display:none}
.drawer.is-open{opacity:1;transform:none}
.dr-top{display:flex;align-items:center;justify-content:space-between;height:var(--hd);flex:none}
.dr-x{width:44px;height:44px;border-radius:999px;border:1px solid var(--line);background:#fff;cursor:pointer;position:relative}
.dr-x span::before,.dr-x span::after{content:"";position:absolute;left:12px;top:20px;width:18px;height:2px;background:var(--ink);border-radius:2px;transform:rotate(45deg)}
.dr-x span::after{transform:rotate(-45deg)}
.lseg-dr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:560px;margin:6px 0 4px;flex:none}
.lseg-dr .lseg-b{min-height:44px;font-size:14px}
.dr-nav ul{list-style:none;margin:8px 0 0;padding:0;max-width:560px}
.dr-nav a{display:flex;align-items:baseline;gap:14px;padding:13px 4px;border-bottom:1px solid var(--line);text-decoration:none;font-size:22px;font-weight:800;letter-spacing:-.02em}
.dr-nav a:hover{color:var(--teal)}
.dr-act{margin-top:auto;padding-top:28px;display:grid;gap:10px;max-width:560px}
.dr-act .row .btn{flex:1}

/* 공통 섹션 머리 */
.sec{padding:120px 0}
.sh{max-width:780px;margin-bottom:48px}
.kick{display:inline-flex;align-items:center;min-height:28px;padding:0 13px;border-radius:999px;background:var(--mint);color:var(--teald);font-size:13px;font-weight:800;letter-spacing:.01em}
.h2{font-size:40px;font-weight:800;letter-spacing:-.03em;line-height:1.22;margin-top:14px;text-wrap:balance}
.h2-and{color:var(--aqua)}
.h3{font-size:22px;font-weight:800;letter-spacing:-.02em}
.lead{font-size:19px;color:var(--mute);margin-top:16px;line-height:1.7}
.lead,.hero-lead,.cod-p,.card-d,.tk-d,.note{text-wrap:pretty}
html[data-l=ko] .nko{display:none}
.note{font-size:14px;color:var(--mute);line-height:1.6}
.note-s{font-size:13px}
.mn .hk{margin-left:.4em;font-size:.6em;font-weight:700;color:var(--mute);letter-spacing:0;white-space:nowrap}
.pr{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:0 4px;color:var(--teal);white-space:nowrap}
.pr-n{font-size:44px;font-weight:800;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
.pr-n i{font-style:normal;font-weight:700;margin:0 .06em;opacity:.7}
.pr-u{font-size:16px;font-weight:800}
.on-dark{background:var(--deep);color:#fff}
.on-dark .kick{background:rgba(143,211,199,.16);color:var(--aqua)}
.on-dark .note{color:var(--aqua)}
.on-dark .pr{color:#fff}
.on-dark .mn .hk{color:var(--aqua)}

/* 1. 첫 화면 — 메뉴 카드 3장(생선초밥 = 대표) */
.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--ice) 0%,#fff 82%);padding:34px 0 28px}
.hero::after{content:"多味";position:absolute;right:-30px;top:-30px;font-family:Seal,MPR,sans-serif;font-weight:800;font-size:300px;line-height:1;color:rgba(10,110,103,.032);writing-mode:vertical-rl;pointer-events:none}
.hero .wrap{position:relative;z-index:1;display:flex;flex-direction:column}
.hero-top{display:flex;flex-wrap:wrap;align-items:center;gap:16px 30px}
.hero-h{display:flex;align-items:center;gap:16px;margin:0;font-size:52px;font-weight:800;letter-spacing:-.035em;line-height:1.05}
.hero-nm small{display:block;font-size:16px;font-weight:700;color:var(--mute);letter-spacing:0;margin-top:6px}
html[data-l=zh] .hero-h,html[data-l=ja] .hero-h{font-size:46px}
.hero-meta{display:grid;justify-items:start;gap:8px;min-width:0;flex:1 1 360px;padding-left:30px;border-left:1.5px solid var(--line)}
.badge{display:inline-flex;align-items:center;gap:9px;padding:6px 15px 6px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:14px;font-weight:800;color:var(--teal);box-shadow:0 6px 18px -14px rgba(7,56,53,.6)}
.badge i{width:9px;height:9px;border-radius:50%;background:var(--lantern);box-shadow:0 0 0 4px rgba(227,154,95,.2);flex:none}
.hero-lead{font-size:17px;color:var(--mute);font-weight:700;line-height:1.55}
.hero-ey{color:var(--teal);font-weight:800;margin-right:6px}
.hero-ey::after{content:"—";margin-left:8px;color:var(--aqua)}
.hero-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px;margin:30px 0 18px}
.hero-k{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px}
.hero-kh{font-size:22px;font-weight:800;letter-spacing:-.02em}
.hero-all{display:inline-flex;align-items:center;gap:6px;min-height:40px;font-size:15px;font-weight:800;color:var(--teal);text-decoration:none}
.hero-all svg,.card-more svg{width:16px;height:16px;transition:transform .25s var(--ease)}
.hero-all:hover svg,.card-more:hover svg{transform:translateX(4px)}
.hero-act{display:flex;flex-wrap:wrap;gap:10px}
.hero-note{margin-top:16px}
.cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,374px));gap:24px;justify-content:space-between}
.card{position:relative;background:#fff;border-radius:var(--r-card);padding:12px;box-shadow:var(--sh);display:flex;flex-direction:column;transition:transform .4s var(--ease),box-shadow .4s var(--ease);animation:rise .8s var(--ease) both;animation-delay:calc(var(--d) * 90ms + 120ms)}
.card-main{box-shadow:inset 0 0 0 2px var(--teal),var(--sh)}
.card:hover{transform:translateY(-6px);box-shadow:var(--sh-h)}
.card-main:hover{box-shadow:inset 0 0 0 2px var(--teal),var(--sh-h)}
@keyframes rise{from{transform:translateY(26px)}to{transform:none}}
.card-ph{border-radius:var(--r-ph);overflow:hidden;aspect-ratio:539/303;background:var(--mint);box-shadow:inset 0 0 0 1px rgba(10,110,103,.1)}
.card-ph img{display:block;width:100%;height:100%;object-fit:cover}
.card-tag{position:absolute;left:24px;top:24px;padding:5px 12px;border-radius:999px;background:var(--teal);color:#fff;font-size:13px;font-weight:800;box-shadow:0 6px 16px -8px rgba(7,56,53,.7)}
/* 물회 — 사진 없음: 얼음빛 면 + 세로 글자(스켈레톤처럼 보이지 않게 의도된 글자 카드) */
.card-plane{display:flex;align-items:center;justify-content:center;gap:22px;background:var(--mint);color:var(--teal)}
.pl-k{writing-mode:vertical-rl;font-size:68px;font-weight:800;line-height:1;letter-spacing:.06em}
.pl-t{display:grid;gap:12px;max-width:52%}
.pl-d{font-size:18px;font-weight:800;line-height:1.45;color:var(--teald);text-wrap:balance}
.pl-r{font-size:12px;font-weight:800;letter-spacing:.42em;color:var(--teal)}
.card-b{padding:18px 12px 6px;display:flex;flex-direction:column;flex:1}
.card-n{font-size:28px;font-weight:800;line-height:1.25;letter-spacing:-.02em}
.card-n .hk{display:block;margin:4px 0 0;font-size:15px}
.card-d{font-size:15px;color:var(--mute);margin:6px 0 16px;line-height:1.6}
.card-f{margin-top:auto;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding-top:14px;border-top:1.5px dashed rgba(10,110,103,.24)}
.card .pr-n{font-size:52px}
.card-more{display:inline-flex;align-items:center;gap:6px;min-height:40px;font-size:14px;font-weight:800;color:var(--teal);text-decoration:none}
.cdots{display:none}

/* 2. 메뉴판 — 식권 모양 줄 */
.sec-menu .wrap{display:grid;grid-template-columns:330px minmax(0,1fr);gap:64px;align-items:start}
.mn-side{position:sticky;top:calc(var(--hd) + 40px)}
.mn-side .btn{margin-top:4px}
.mn-note{display:grid;gap:6px;margin-top:20px;padding-left:8px}
.tickets{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.tk{position:relative;display:grid;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;min-height:116px;background:var(--ice);border-radius:22px;transition:background .25s,transform .35s var(--ease)}
.tk:hover{background:var(--mint);transform:translateX(4px)}
.tk::before,.tk::after{content:"";position:absolute;left:66px;width:20px;height:20px;border-radius:50%;background:#fff}
.tk::before{top:-10px}.tk::after{bottom:-10px}
.tk-no{align-self:stretch;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;color:var(--teal);border-right:2px dashed rgba(10,110,103,.3)}
.tk-b{padding:22px 24px 22px 28px;min-width:0}
.tk-n{font-size:24px;font-weight:800;letter-spacing:-.02em;line-height:1.3}
.tk-d{font-size:15px;color:var(--mute);margin-top:4px;line-height:1.55}
.tk-p{padding:0 30px 0 8px;text-align:right}
.tk-p .pr-n{font-size:38px}
.tk-p .pr-range .pr-n{font-size:34px}

/* 3. 대표 — 생선초밥 */
.sec-sig{background:var(--ice)}
.sig-grid{display:grid;grid-template-columns:370px minmax(0,1fr);gap:48px;align-items:center}
.plate{background:#fff;border-radius:24px;padding:10px 10px 14px;box-shadow:var(--sh)}
.plate img{display:block;width:100%;border-radius:16px}
.plate figcaption{font-size:13px;color:var(--mute);padding:10px 6px 0;line-height:1.5}
.sig-side{display:grid;gap:16px}
.sc{background:#fff;border-radius:24px;padding:8px 30px 20px;box-shadow:0 1px 0 var(--line)}
.sc-l{list-style:none;margin:0;padding:0}
.sc-r{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;padding:18px 0}
.sc-r+.sc-r{border-top:1.5px dashed rgba(10,110,103,.24)}
.sc-ph{flex:none;width:150px;border-radius:14px;overflow:hidden;aspect-ratio:539/303;background:var(--mint);box-shadow:inset 0 0 0 1px rgba(10,110,103,.1)}
.sc-ph img{display:block;width:100%;height:100%;object-fit:cover}
.sc-t{min-width:0;flex:1 1 200px}
.sc-p{margin-left:auto}
.sc .note{padding-top:12px;border-top:1px solid var(--line)}
.sc-n{font-size:24px;font-weight:800;letter-spacing:-.02em;line-height:1.3}
.sc-d{font-size:15px;color:var(--mute);margin-top:4px}
.sc-p .pr-n{font-size:40px}
.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.st-c{background:var(--teal);color:#fff;border-radius:24px;padding:22px 26px}
.st-c+.st-c{background:#fff;color:var(--ink);box-shadow:0 1px 0 var(--line)}
.st-l{font-size:15px;font-weight:700;line-height:1.45}
.st-c:first-child .st-l{color:var(--mint)}
.st-c+.st-c .st-l{color:var(--mute)}
.st-v{margin-top:8px;display:flex;align-items:baseline;gap:6px;font-weight:800}
.st-v b{font-size:52px;line-height:1;letter-spacing:-.03em}
.st-v span{font-size:16px}
.st-v2{font-size:34px;color:var(--teal);letter-spacing:-.02em;line-height:1.15}

/* 4. 생대구탕 — 짙은 청록 띠, 사진 없이 이름·값·글 */
.sec-cod{padding:96px 0}
.cod{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center}
.cod-hd .sh{margin-bottom:26px}
.mn-h{display:block}
.cod-f{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px}
.cod-f .pr-n{font-size:56px}
.cod-q{display:grid;justify-items:start;gap:2px}
.cod-tx{display:grid;gap:12px;padding-left:36px;border-left:2px solid rgba(143,211,199,.4)}
.cod-p{font-size:21px;line-height:1.75;color:#dff1ec;font-weight:700}

/* 5. 방·단체 — 가로 카드 한 장 */
.rm{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:stretch;background:var(--ice);border-radius:var(--r-card);overflow:hidden}
.rm-a{background:var(--teal);color:#fff;padding:34px 44px;display:flex;flex-direction:column;justify-content:center}
.rm-n{display:flex;align-items:baseline;gap:8px}
.rm-n b{font-size:104px;font-weight:800;line-height:.9;letter-spacing:-.05em}
.rm-n span{font-size:26px;font-weight:800}
.rm-a .rm-s{color:var(--mint);margin-top:12px}
.rm-b{padding:34px 40px;display:flex;flex-direction:column;justify-content:center}
.rm-t{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:800;letter-spacing:-.02em;color:var(--teald)}
.rm-s{font-size:16px;color:var(--mute);margin-top:6px;font-weight:700}
.rm-c{display:flex;align-items:center;padding:34px 40px 34px 0}
.ic{width:26px;height:26px;flex:none}

/* 6. 리뷰 키워드 — 한 줄 막대 목록 */
.sec-voice{background:var(--ice)}
.vc{display:grid;grid-template-columns:340px minmax(0,1fr);gap:64px;align-items:start}
.vc-side .sh{margin-bottom:0}
.vc-side .lead{font-size:16px}
.vbars{list-style:none;margin:0;padding:0;display:grid;column-gap:40px;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:column;grid-template-rows:repeat(6,auto)}
.vbars li{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(56px,1fr) 4.6em;align-items:center;gap:6px 14px;min-height:52px;padding:8px 0;border-bottom:1px solid var(--line)}
.vb-k{font-weight:700;font-size:16px;line-height:1.4}
.vb-bar{height:10px;background:var(--mint);border-radius:999px;overflow:hidden}
.vb-bar i{display:block;height:100%;width:var(--w);background:linear-gradient(90deg,var(--teal2),var(--teal));border-radius:inherit;transform-origin:left center}
html.rv-on .vb-bar i{transform:scaleX(0);transition:transform 1s var(--ease) calc(var(--d,0) * 70ms + 150ms)}
html.rv-on .vbars.in .vb-bar i{transform:scaleX(1)}
.vb-v{text-align:right;color:var(--teal);font-weight:800;font-size:15px;white-space:nowrap}
.vb-v>.notranslate{font-size:20px;margin-right:3px}

/* 7. 영업시간 · 이용 안내 */
.bento{display:grid;grid-template-columns:420px minmax(0,1fr);gap:20px;align-items:stretch}
.hr-card{background:var(--deep);color:#fff;border-radius:var(--r-card);padding:34px 34px 30px;display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.hr-k{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--aqua)}
.hr-k svg{width:22px;height:22px}
.hr-dl{width:100%}
.hr-dl div{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.hr-dl div:first-child{flex-direction:column;align-items:flex-start;gap:4px}
.hr-dl dt{color:var(--aqua);font-weight:700;font-size:15px}
.hr-dl dd{font-weight:800;font-size:18px;text-align:right}
.hr-dl div:first-child dd{font-size:40px;letter-spacing:-.03em;line-height:1.05;text-align:left}
.hr-card .note{color:var(--mint)}
.hr-card .tl-x{margin-top:auto}
.ic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:20px;margin:0}
.ic-c{background:var(--ice);border-radius:24px;padding:24px 26px 26px;transition:background .25s;display:flex;flex-direction:column}
.ic-c:hover{background:var(--mint)}
.ic-c dt{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--teal);font-size:15px}
.ic-c dd{margin-top:auto;padding-top:18px;font-size:19px;font-weight:800;line-height:1.5;letter-spacing:-.01em}

/* 8. 사진 — 1200 을 채우고 사진 아래 끝을 맞춤(설명은 그 아래 줄) */
.gal{display:grid;grid-template-columns:333fr 350fr 469fr;grid-template-rows:auto auto;column-gap:24px}
.g{display:grid;grid-template-rows:subgrid;grid-row:span 2;row-gap:10px}
.g img{display:block;width:100%;align-self:end;border-radius:var(--r-ph);box-shadow:inset 0 0 0 1px rgba(10,110,103,.1)}
.g figcaption{font-size:13px;color:var(--mute);line-height:1.5}

/* 9. 오시는 길 — 지도 + 낮 외관(같은 높이) / 아래 한 줄 정보 */
.sec-loc{background:var(--ice)}
.lc-vis{display:grid;grid-template-columns:1.625fr 1.47fr;gap:20px;align-items:start}
.lc-fr{position:relative;border-radius:var(--r-card);overflow:hidden;box-shadow:var(--sh);background:#ecf5f2}
.lc-fr img,.lc-front img{display:block;width:100%;height:auto}
.lc-front img{border-radius:var(--r-card)}
.lc-map figcaption,.lc-front figcaption{font-size:12px;color:var(--mute);margin-top:10px}
.lc-map figcaption a{color:var(--mute)}
.pin{position:absolute;transform:translate(-50%,calc(-100% + 9px));display:flex;flex-direction:column;align-items:center;pointer-events:none}
.pin-l{background:var(--teal);color:#fff;font-weight:800;font-size:14px;padding:8px 14px;border-radius:999px;white-space:nowrap;box-shadow:0 10px 22px -10px rgba(7,56,53,.7)}
.pin-d{order:2;width:18px;height:18px;border-radius:50%;background:var(--teal);border:4px solid #fff;box-shadow:0 0 0 6px rgba(10,110,103,.18);margin-top:6px}
.lc-info{display:grid;grid-template-columns:132px minmax(0,1.15fr) minmax(0,1fr) auto;gap:28px;align-items:center;margin-top:28px;padding:22px 28px 22px 22px;background:#fff;border-radius:var(--r-card);box-shadow:0 1px 0 var(--line)}
.lc-plate img{display:block;width:100%;border-radius:14px}
.lc-addr{font-size:24px;font-weight:800;letter-spacing:-.02em;line-height:1.35}
.lc-en{font-size:14px;color:var(--mute);margin-top:6px}
html[data-l=en] .lc-en{display:none}
.lc-dl div{display:grid;grid-template-columns:76px minmax(0,1fr);gap:10px;align-items:baseline;padding:4px 0}
.lc-dl dt{font-weight:800;color:var(--teal);font-size:15px}
.lc-dl dd{font-weight:700}
a.tl{display:inline-block;padding:10px 0;margin:-10px 0;color:inherit;text-decoration-color:rgba(10,110,103,.4);text-underline-offset:3px}
.lc-btns{display:grid;gap:8px}

/* 10. 영상 — 청록 띠 한 줄 */
.sec-video{background:var(--teal);color:#fff;padding:64px 0}
.vd{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:20px 36px;align-items:center}
.vd-play{width:112px;height:112px;border-radius:50%;border:0;background:#fff;color:var(--teal);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 0 0 10px rgba(255,255,255,.14);transition:transform .3s var(--ease),box-shadow .3s}
.vd-play:hover{transform:scale(1.05);box-shadow:0 0 0 14px rgba(255,255,255,.18)}
.vd-play svg{width:40px;height:40px;margin-left:5px}
.sec-video .kick{background:var(--deep);color:#fff}
.sec-video .h2{margin-top:10px}
.vd-ch{margin-top:8px;color:var(--mint);font-weight:700}
.vd-ch b{color:#fff}
.vd-act{display:grid;gap:10px;justify-items:start}
.sec-video .note{color:var(--mint)}
.sec-video :focus-visible{outline-color:#fff}

/* 바닥글 */
.ft{background:var(--deep);color:#dff1ec;padding:72px 0 40px}
.ft-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.14)}
.wm-w{color:#fff}
.wm-w .wm-t small{color:var(--aqua)}
.wm-w .seal{background:#fff;color:var(--deep)}
.ft-act{display:flex;flex-wrap:wrap;gap:10px}
.ft-info{display:flex;flex-wrap:wrap;gap:8px 32px;padding:28px 0;font-size:15px}
.ft-info a{color:#fff}
.ft-info small{display:block;font-size:13px;color:var(--aqua)}
.ft-bot{display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);font-size:13px;color:var(--aqua)}
.ft-copy{margin-right:auto}
.ft-up{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.3);color:#fff;text-decoration:none;font-weight:800}
.ft-up svg{width:16px;height:16px}

/* 영상 레이어 */
.modal{position:fixed;inset:0;z-index:90;background:rgba(4,30,28,.86);display:flex;align-items:center;justify-content:center;padding:24px}
.modal[hidden]{display:none}
.modal-box{position:relative;width:min(960px,100%)}
.modal-video{aspect-ratio:16/9;background:#000;border-radius:16px;overflow:hidden}
.modal-video iframe{width:100%;height:100%;border:0;display:block}
.modal-x{position:absolute;right:0;top:-56px;width:44px;height:44px;border-radius:999px;border:1px solid rgba(255,255,255,.4);background:transparent;cursor:pointer}
.modal-x span::before,.modal-x span::after{content:"";position:absolute;left:12px;top:20px;width:18px;height:2px;background:#fff;transform:rotate(45deg)}
.modal-x span::after{transform:rotate(-45deg)}

/* 나타나기 — 첫 화면 카드는 투명도를 쓰지 않음(LCP 사진을 숨기지 않게) */
html.rv-on .rv{opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease) calc(var(--d,0) * 80ms),transform .7s var(--ease) calc(var(--d,0) * 80ms)}
html.rv-on .rv.in{opacity:1;transform:none}
html.rv-on .hero .rv{opacity:1;transform:none;transition:none}
html.rv-on .hero .card.rv{transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  html.rv-on .rv{opacity:1;transform:none;transition:none}
  .card,.card:hover,.tk:hover{animation:none;transform:none;transition:none}
  html.rv-on .vb-bar i{transform:none;transition:none}
  .drawer{transition:none}
}

/* 넓이별 */
@media (min-width:1100px){
  .ic-grid{grid-template-columns:minmax(0,1fr);gap:14px}
  .ic-c{flex-direction:row;align-items:center;gap:12px 24px;padding:20px 30px}
  .ic-c dt{flex:0 0 200px}
  .ic-c dd{margin-top:0;padding-top:0}
}
@media (min-width:1100px) and (max-height:760px){
  /* 노트북(1366×657 등) — 첫 화면에서 메뉴 이름과 큰 가격까지 보이게 */
  .hero{padding:16px 0 20px}
  .hero-h{font-size:44px}
  html[data-l=zh] .hero-h,html[data-l=ja] .hero-h{font-size:40px}
  .hero-nm small{margin-top:3px;font-size:14px}
  .hero-meta{gap:5px}
  .badge{padding:4px 13px 4px 11px;font-size:13px}
  .hero-lead{font-size:16px}
  .hero-bar{margin:16px 0 12px}
  .hero-act .btn{min-height:44px}
  .card-ph{aspect-ratio:2/1}
  .card-b{padding-top:12px}
  .card-n{font-size:24px}
  .card-n .hk{font-size:14px;margin-top:2px}
  .card-d{font-size:14px;margin:4px 0 10px;line-height:1.5}
  .card-f{padding-top:8px}
  .card .pr-n{font-size:44px}
  .pl-k{font-size:58px}
}
@media (max-width:1240px){
  .lc-info{grid-template-columns:120px minmax(0,1fr) minmax(0,1fr)}
  .lc-btns{grid-column:2/-1;display:flex;flex-wrap:wrap}
}
@media (max-width:1099px){
  :root{--gut:28px}
  .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  .card-n{font-size:24px}
  .card .pr-n{font-size:40px}
  .pl-k{font-size:54px}
  .pl-d{font-size:16px}
  .sec-menu .wrap,.vc{grid-template-columns:minmax(0,1fr);gap:40px}
  .mn-side{position:static}
  .sig-grid{grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:28px;align-items:start}
  .sc-ph{width:120px}
  .sc-t{flex-basis:150px}
  .sc-p .pr-range .pr-n{font-size:32px}
  .cod{grid-template-columns:minmax(0,1fr);gap:36px}
  .rm{grid-template-columns:auto minmax(0,1fr)}
  .rm-a{grid-row:1/3}
  .rm-b{grid-column:2;padding-bottom:16px;justify-content:flex-end}
  .rm-c{grid-column:2;grid-row:2;align-items:flex-start;padding:0 40px 34px}
  .bento{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:860px){
  .cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin:0 calc(var(--gut) * -1);padding:6px var(--gut) 18px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .cards::-webkit-scrollbar{display:none}
  .card{flex:0 0 300px;scroll-snap-align:start;scroll-margin-left:var(--gut)}
  .cdots{display:flex;justify-content:center;gap:10px;margin-top:2px}
  .cdots i{width:8px;height:8px;border-radius:50%;background:rgba(10,110,103,.25);transition:background .2s,width .2s}
  .cdots i.on{width:22px;border-radius:999px;background:var(--teal)}
}
@media (max-width:760px){
  :root{--gut:20px;--hd:64px}
  body{font-size:16px}
  .sec{padding:72px 0}
  .sh{margin-bottom:28px}
  .h2{font-size:30px}
  .lead{font-size:17px}
  .wm-t b{font-size:19px}
  .seal{width:40px;height:40px;font-size:14px;border-radius:12px}
  .hd-in{gap:10px}
  .hd-u{gap:6px}
  .hero{padding:20px 0 56px}
  .hero::after{display:none}
  .hero-top{flex-direction:column;align-items:flex-start;gap:14px}
  .hero-h{font-size:40px;gap:14px}
  html[data-l=zh] .hero-h,html[data-l=ja] .hero-h{font-size:34px}
  .hero-nm small{font-size:14px}
  .hero-meta{padding-left:0;border-left:0;flex:none}
  .hero-lead{font-size:16px}
  .hero-bar{display:contents}
  .hero-k{margin:26px 0 12px}
  .hero-kh{font-size:20px}
  .hero-note{margin-top:8px}
  .hero-act{order:5;margin-top:22px}
  .hero-act .btn-tel{flex:1 1 100%;min-height:56px;font-size:17px}
  .hero-act .btn-line{flex:1 1 calc(50% - 5px)}
  .card-tag{left:22px;top:22px}
  .card-n{font-size:24px}
  .card .pr-n{font-size:40px}
  .pr-n{font-size:34px}
  .tk{grid-template-columns:52px minmax(0,1fr);min-height:0}
  .tk::before,.tk::after{left:42px}
  .tk-b{padding:20px 18px 6px 20px}
  .tk-n{font-size:20px}
  .tk-p{grid-column:2;text-align:left;padding:4px 18px 20px 20px}
  .tk-p .pr-n{font-size:30px}
  .tk-p .pr-range .pr-n,.sc-p .pr-range .pr-n{font-size:26px}
  .tk:hover{transform:none}
  .mn-note{padding-left:0}
  .sig-grid{grid-template-columns:minmax(0,1fr);gap:20px}
  .plate{max-width:370px}
  .sc{padding:4px 20px 18px}
  .sc-r{gap:10px 16px}
  .sc-ph{width:112px;border-radius:12px}
  .sc-t{flex-basis:150px}
  .sc-n{font-size:21px}
  .stats{gap:10px}
  .st-c{padding:18px 18px}
  .st-l{font-size:14px}
  .st-v b{font-size:42px}
  .st-v2{font-size:26px}
  .sec-cod{padding:72px 0}
  .cod-f .pr-n{font-size:44px}
  .cod-tx{padding-left:20px}
  .cod-p{font-size:17px}
  .rm{grid-template-columns:minmax(0,1fr)}
  .rm-a,.rm-b{padding:26px 24px}
  .rm-a,.rm-b,.rm-c{grid-row:auto;grid-column:auto}
  .rm-b{padding-bottom:16px}
  .rm-c{padding:0 24px 26px}
  .rm-c .btn{width:100%}
  .rm-n b{font-size:84px}
  .rm-t{font-size:21px}
  .vbars{grid-template-columns:minmax(0,1fr);grid-auto-flow:row;grid-template-rows:none}
  .vbars li{grid-template-columns:minmax(0,1.5fr) minmax(40px,1fr) 4.3em;gap:4px 10px;min-height:44px;padding:6px 0}
  .vb-k{font-size:15px}
  .vb-v>.notranslate{font-size:18px}
  .hr-card{padding:28px 24px 26px}
  .hr-dl div:first-child dd{font-size:34px}
  .ic-grid{gap:10px}
  .ic-c{padding:18px 16px 18px;border-radius:20px}
  .ic-c dt{font-size:14px;gap:8px;flex-direction:column;align-items:flex-start}
  .ic-c dd{font-size:15px;padding-top:10px}
  .ic{width:22px;height:22px}
  .gal{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px;row-gap:0}
  .g-h-front-night-wide{grid-column:1/-1;margin-top:20px}
  .g figcaption{font-size:12px}
  .lc-vis{grid-template-columns:minmax(0,1fr);gap:20px}
  .lc-info{grid-template-columns:96px minmax(0,1fr);gap:16px 18px;padding:18px}
  .lc-dl,.lc-btns{grid-column:1/-1}
  .lc-addr{font-size:20px}
  .lc-btns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .lc-btns .btn:last-child{grid-column:1/-1}
  .sec-video{padding:56px 0}
  .vd{grid-template-columns:auto minmax(0,1fr)}
  .vd-play{width:76px;height:76px}
  .vd-play svg{width:30px;height:30px}
  .vd-act{grid-column:1/-1}
  .vd-act .btn{width:100%}
  .ft{padding:56px 0 32px}
  .ft-act{width:100%}
  .ft-act .btn{flex:1 1 calc(50% - 5px)}
  .ft-act .btn-tel{flex-basis:100%}
  .ft-info{flex-direction:column}
  .pin-l{font-size:13px;padding:6px 11px}
}
@media (max-width:420px){
  .badge{font-size:13px;padding:6px 13px 6px 11px;border-radius:18px}
}
@media (max-width:380px){
  .wm-t small{display:none}
  .wm{gap:8px}
  .hd-u{gap:4px}
  .lang-btn{padding:0 8px;gap:4px}
}
@media (max-width:340px){
  .lang-cur{display:none}
  .lang.is-gt .lang-cur{display:none}
  .btn{white-space:normal;text-align:center;padding:0 14px}
  .btn-tel .num{display:none}
  .btn{padding:0 16px}
}
