:root{--bg:#fbf7f2;--card:#fff;--ink:#2b211b;--muted:#786b62;--line:#e9dfd7;--accent:#5b3e2b;--soft:#f1e9e2;--radius:24px}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:var(--bg);color:var(--ink);font-family:"DM Sans","Noto Sans KR","Noto Sans JP","Noto Sans SC",sans-serif;-webkit-font-smoothing:antialiased}.page-shell{width:min(100%,680px);margin:auto;min-height:100vh;padding:0 18px 36px}.topbar{height:74px;display:flex;align-items:center;justify-content:space-between;position:relative}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:700;letter-spacing:.08em;font-size:13px}.brand-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--accent);color:#fff;font-family:serif;font-size:15px}.language-button{border:1.5px solid var(--accent);background:#fff;backdrop-filter:blur(10px);border-radius:999px;padding:12px 18px;color:var(--accent);font:800 15px inherit;box-shadow:0 4px 14px rgba(91,62,43,.14)}.language-menu{position:absolute;right:0;top:60px;z-index:30;width:142px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:6px;box-shadow:0 16px 40px rgba(60,40,28,.14)}.language-menu button{display:block;width:100%;border:0;background:none;text-align:left;padding:10px 11px;border-radius:11px;font:600 13px inherit;color:var(--ink)}.language-menu button:hover,.language-menu button.active{background:var(--soft)}.hero{padding:36px 4px 26px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.18em;color:#9a7e6d;margin:0 0 14px}.hero h1{margin:0;font-size:clamp(37px,10vw,58px);line-height:1.06;letter-spacing:-.045em}.hero-copy{margin:17px 0 0;color:var(--muted);font-size:15px}.menu-grid{display:grid;gap:14px}.menu-card{position:relative;display:grid;grid-template-columns:116px 1fr;min-height:138px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:0 5px 18px rgba(69,45,31,.045);cursor:pointer;text-align:left;padding:0;color:inherit}.menu-image{position:relative;background:linear-gradient(145deg,#f0d9d0,#eadfcf);background-size:cover;background-position:center;min-height:138px}.menu-image.placeholder{display:grid;place-items:center;font-size:42px}.menu-content{padding:22px 18px;display:flex;flex-direction:column;justify-content:center;min-width:0}.menu-label{margin:0 0 7px;font-size:18px;line-height:1.25;letter-spacing:-.025em}.menu-sub{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.menu-meta{margin-top:13px;font-size:11px;font-weight:700;color:#9a7e6d;letter-spacing:.04em}.menu-arrow{position:absolute;right:15px;bottom:14px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--soft);font-size:16px}.quick-links{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.quick-link{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px 13px}.ql-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--soft);font-size:15px}.quick-link span:last-child{min-width:0}.quick-link b,.quick-link small{display:block}.quick-link b{font-size:12px}.quick-link small{margin-top:3px;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}footer{padding:38px 4px 8px;display:flex;justify-content:space-between;align-items:end;border-top:1px solid var(--line);margin-top:34px}footer span{font-size:12px;font-weight:700;letter-spacing:.12em}footer small{color:var(--muted);font-size:10px}.sheet-backdrop{position:fixed;inset:0;background:rgba(28,20,15,.4);z-index:90;opacity:0;transition:opacity .2s}.sheet-backdrop.show{opacity:1}.booking-sheet{position:fixed;left:50%;bottom:0;z-index:100;width:min(100%,680px);max-height:90vh;overflow:auto;background:#fff;border-radius:28px 28px 0 0;transform:translate(-50%,105%);transition:transform .28s cubic-bezier(.22,.8,.3,1);box-shadow:0 -20px 60px rgba(35,20,12,.18)}.booking-sheet.show{transform:translate(-50%,0)}.sheet-close{position:absolute;right:14px;top:14px;z-index:2;width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.9);font-size:24px;color:var(--ink)}.sheet-image{height:230px;background:linear-gradient(145deg,#ead0c4,#e8dfd1);background-size:cover;background-position:center;display:grid;place-items:center;font-size:64px}.sheet-content{padding:25px 22px max(30px,env(safe-area-inset-bottom))}.sheet-kicker{margin:0 0 8px;color:#9a7e6d;font-size:10px;font-weight:700;letter-spacing:.16em}.sheet-content h2{margin:0;font-size:29px;letter-spacing:-.04em}.sheet-content>p:not(.sheet-kicker):not(.no-link){margin:10px 0 0;color:var(--muted);line-height:1.55;font-size:14px}.class-points{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0}.class-points span{border-radius:999px;background:var(--soft);padding:8px 10px;font-size:11px;font-weight:600}.booking-buttons{display:grid;gap:9px}.book-button{display:flex;align-items:center;justify-content:center;min-height:52px;border-radius:15px;text-decoration:none;font-size:14px;font-weight:700}.book-button.primary{background:var(--accent);color:#fff}.book-button.secondary{border:1px solid var(--line);color:var(--ink);background:#fff}.no-link{text-align:center;color:var(--muted);font-size:13px;padding:14px}.loading,.empty{padding:50px 12px;text-align:center;color:var(--muted)}@media(min-width:560px){.menu-grid{grid-template-columns:1fr 1fr}.menu-card{display:block}.menu-image{height:210px}.menu-content{min-height:145px}.quick-links{margin-top:18px}}.nat-gate{position:fixed;inset:0;z-index:500;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:24px}
.gate-passed .nat-gate{display:none}
.nat-gate-inner{width:min(100%,420px);text-align:center}
.nat-gate-mark{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--accent);color:#fff;font-family:serif;font-size:24px;margin-bottom:22px}
.nat-gate-title{margin:0 0 14px;font-size:clamp(30px,8vw,40px);line-height:1.12;letter-spacing:-.03em}
.nat-gate-sub{margin:0 0 30px;color:var(--muted);font-size:14px;line-height:1.6}
.nat-gate-grid{display:grid;gap:10px}
.nat-option{display:flex;align-items:center;gap:14px;min-height:58px;border-radius:16px;border:1px solid var(--line);background:#fff;padding:0 18px;font:600 15px inherit;color:var(--ink);cursor:pointer;text-align:left;width:100%}
.nat-option:hover{background:var(--soft)}
.nat-option-ko{border-color:var(--accent);background:var(--accent);color:#fff}
.nat-flag{font-size:22px}
.sheet-gallery{display:flex;gap:8px;overflow-x:auto;padding:12px 22px 0;-webkit-overflow-scrolling:touch;}
.sheet-gallery-item{flex:0 0 auto;width:84px;height:84px;border-radius:14px;background-size:cover;background-position:center;background-color:var(--soft);}
.quick-facts{list-style:none;margin:18px 0;padding:0;display:flex;flex-direction:column;gap:9px;}
.quick-facts li{position:relative;padding-left:18px;font-size:13.5px;color:var(--ink);line-height:1.5;}
.quick-facts li::before{content:"";position:absolute;left:0;top:7px;width:6px;height:6px;border-radius:50%;background:var(--accent);}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
