:root{--bg:#fbf6ec;--bg-card:#f4ecdc;--ink:#26201b;--ink-soft:#6b5f55;--accent:#b23a2e;--accent-dark:#8f2e24;--gold:#d89b2b;--olive:#55684a;--line:#ddd0bb;--radius:14px;--shadow:0 1px 2px #26201b0f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Karla,-apple-system,Malgun Gothic,sans-serif;line-height:1.6}h1,h2,h3,.display{letter-spacing:-.01em;color:var(--ink);margin:0;font-family:Fraunces,Georgia,serif;font-weight:600}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.site-header{z-index:20;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);background:#fbf6eceb;justify-content:space-between;align-items:center;padding:20px clamp(20px,5vw,64px);display:flex;position:sticky;top:0}.brand{align-items:baseline;gap:2px;font-family:Fraunces,serif;font-size:1.25rem;font-weight:600;display:flex}.brand em{color:var(--accent);font-style:italic}.main-nav{gap:clamp(18px,3vw,36px);display:flex}.main-nav a{color:var(--ink-soft);border-bottom:2px solid #0000;padding-bottom:4px;font-size:.95rem;font-weight:500;transition:color .15s,border-color .15s}.main-nav a:hover,.main-nav a.active{color:var(--ink);border-color:var(--accent)}.hero{text-align:center;max-width:1040px;margin:0 auto;padding:clamp(48px,8vw,88px) clamp(20px,5vw,64px) 0}.hero .eyebrow{color:var(--olive);margin-bottom:14px;font-size:.85rem;font-weight:700}.hero h1{font-size:clamp(2.1rem,5vw,3.4rem);line-height:1.15}.hero h1 .accent{color:var(--accent);font-style:italic}.hero p{max-width:46ch;color:var(--ink-soft);margin:18px auto 0;font-size:1.05rem}.slideshow{aspect-ratio:16/9;background:var(--bg-card);border-radius:22px;max-width:900px;margin:clamp(36px,6vw,56px) auto 0;position:relative;overflow:hidden;box-shadow:0 18px 40px #26201b29}.slide{opacity:0;transition:opacity .7s;position:absolute;inset:0}.slide.is-active{opacity:1}.slide img{object-fit:cover;width:100%;height:100%}.slide-caption{color:#fbf6ec;background:linear-gradient(#0000,#140f0abf);padding:28px clamp(20px,4vw,40px) 22px;position:absolute;bottom:0;left:0;right:0}.slide-caption .num{color:var(--gold);font-family:Fraunces,serif;font-size:.9rem;font-style:italic}.slide-caption h3{color:#fbf6ec;margin-top:4px;font-size:1.3rem}.slide-nav{width:40px;height:40px;color:var(--ink);cursor:pointer;background:#fbf6ecd9;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.1rem;transition:background .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.slide-nav:hover{background:#fff}.slide-nav.prev{left:16px}.slide-nav.next{right:16px}.slide-dots{gap:8px;display:flex;position:absolute;bottom:18px;right:24px}.slide-dots button{cursor:pointer;background:#fbf6ec8c;border:none;border-radius:50%;width:8px;height:8px;padding:0}.slide-dots button.is-active{background:var(--gold);border-radius:4px;width:22px;transition:width .2s}.menu-grid{grid-template-columns:1fr 1fr;gap:24px;max-width:1040px;margin:clamp(48px,8vw,80px) auto;padding:0 clamp(20px,5vw,64px);display:grid}.menu-card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);padding:32px;transition:transform .15s,box-shadow .15s}.menu-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px #26201b1a}.menu-card .tag{color:var(--olive);margin-bottom:14px;font-size:.78rem;font-weight:700;display:inline-block}.menu-card h2{margin-bottom:10px;font-size:1.5rem}.menu-card p{color:var(--ink-soft);margin:0 0 18px;font-size:.95rem}.menu-card .go{color:var(--accent);font-size:.92rem;font-weight:700}@media (width<=640px){.menu-grid{grid-template-columns:1fr}}.blog-header{max-width:960px;margin:0 auto;padding:clamp(40px,6vw,64px) clamp(24px,6vw,48px) 0}.blog-header .eyebrow{color:var(--olive);margin-bottom:10px;font-size:.85rem;font-weight:700}.blog-header h1{font-size:clamp(1.9rem,4vw,2.5rem)}.blog-header p{color:var(--ink-soft);max-width:52ch;margin-top:10px}.blog-wrap{max-width:960px;margin:0 auto;padding:28px clamp(24px,6vw,48px) 100px}.blog-toolbar{justify-content:flex-end;margin-bottom:20px;display:flex}.btn{cursor:pointer;border:none;border-radius:999px;padding:11px 20px;font-family:Karla,sans-serif;font-size:.92rem;font-weight:700;transition:background .15s,transform .1s}.btn-primary{background:var(--accent);color:#fbf6ec}.btn-primary:hover{background:var(--accent-dark)}.btn-ghost{color:var(--ink-soft);border:1px solid var(--line);background:0 0}.btn-ghost:hover{border-color:var(--ink-soft);color:var(--ink)}.btn:active{transform:scale(.97)}.write-form{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:28px;padding:24px;display:none}.write-form.is-open{display:block}.write-form input[type=text],.write-form textarea{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--ink);resize:vertical;border-radius:10px;margin-bottom:12px;padding:12px 14px;font-family:Karla,sans-serif;font-size:1rem}.write-form input[type=text]{font-family:Fraunces,serif;font-size:1.15rem;font-weight:600}.write-form textarea{min-height:220px;line-height:1.7}.write-form .form-actions{justify-content:flex-end;gap:10px;display:flex}.post-list{flex-direction:column;display:flex}.post{border-bottom:1px solid var(--line);cursor:pointer;padding:26px 0}.post:first-child{padding-top:0}.post-meta{color:var(--ink-soft);margin-bottom:6px;font-size:.82rem}.post h3{margin-bottom:8px;font-size:1.25rem}.post-preview{color:var(--ink-soft);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.95rem;display:-webkit-box;overflow:hidden}.post-body{white-space:pre-wrap;color:var(--ink);margin-top:6px;font-size:1rem;line-height:1.85;display:none}.post.is-expanded .post-preview{display:none}.post.is-expanded .post-body{display:block}.post-actions{margin-top:14px;display:none}.post.is-expanded .post-actions{display:block}.post-actions button{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem}.post-actions button:hover{color:var(--accent)}.empty-state{text-align:center;color:var(--ink-soft);padding:60px 20px}.empty-state .glyph{color:var(--gold);margin-bottom:10px;font-family:Fraunces,serif;font-size:2rem;font-style:italic}@media (width<=560px){.site-header{padding:16px 20px}.main-nav{gap:16px}}
