:root{
  --bg:#141210; --panel:#1d1a17; --rust:#b5622e; --rust-dark:#8a4a24;
  --metal:#a9a49b; --gold:#f5c66d; --text:#efe9e2; --text-dim:#c9c2b8;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{background:var(--bg);color:var(--text);font-family:'Prompt',sans-serif;line-height:1.7;}
h1,h2,h3{font-family:'Chonburi',cursive;color:var(--gold);}
.container{max-width:1100px;margin:0 auto;padding:0 20px;}
a{color:var(--gold);text-decoration:none;}
.top-bar{background:var(--rust-dark);color:#fff;text-align:center;font-size:.85rem;padding:6px 10px;}
.site-header{position:sticky;top:0;background:rgba(20,18,16,.95);z-index:50;border-bottom:1px solid #332b24;}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;}
.logo-img{height:48px;}
.main-nav{display:flex;gap:22px;align-items:center;}
.main-nav a{color:var(--text);font-size:.95rem;}
.main-nav a:hover{color:var(--gold);}
.lang-switch,.ig-link{border:1px solid var(--rust);padding:4px 10px;border-radius:20px;color:var(--gold)!important;}
.nav-toggle{display:none;background:none;border:0;color:var(--text);font-size:1.6rem;}
.hero{height:92vh;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(20,18,16,.9));}
.hero-overlay{position:relative;z-index:2;max-width:760px;padding:20px;}
.hero-logo{height:110px;margin-bottom:20px;filter:drop-shadow(0 6px 14px rgba(0,0,0,.6));}
.hero h1{font-size:2.1rem;margin-bottom:14px;}
.hero-sub{color:var(--text-dim);font-size:1.05rem;margin-bottom:26px;}
.hero-cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.btn{display:inline-block;padding:12px 26px;border-radius:30px;font-weight:600;transition:.2s;}
.btn-primary{background:var(--rust);color:#fff!important;}
.btn-primary:hover{background:var(--rust-dark);}
.btn-outline{border:2px solid var(--gold);color:var(--gold)!important;}
.btn-outline:hover{background:var(--gold);color:#141210!important;}
.section{padding:80px 0;}
.section h2{font-size:2rem;margin-bottom:30px;text-align:center;}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;}
.about-card{background:var(--panel);padding:28px;border-radius:12px;border:1px solid #33291f;}
.tag{display:inline-block;background:var(--rust-dark);color:#fff;font-size:.75rem;padding:4px 10px;border-radius:20px;margin-bottom:10px;}
.about-card h3{font-size:1.4rem;margin-bottom:10px;}
.curiosity-line{text-align:center;margin-top:34px;font-style:italic;color:var(--text-dim);}
.section-lede{text-align:center;max-width:700px;margin:0 auto 34px;color:var(--text-dim);}
.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start;}
.menu-photo img{width:100%;border-radius:12px;}
.menu-highlights ul{list-style:none;margin:16px 0;}
.menu-highlights li{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed #3a3128;}
.menu-note{margin-top:16px;color:var(--text-dim);font-size:.9rem;}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.gallery-grid img{width:100%;height:230px;object-fit:cover;border-radius:10px;cursor:pointer;transition:.25s;}
.gallery-grid img:hover{transform:scale(1.03);opacity:.9;}
.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;}
.hours-table{width:100%;margin:18px 0;border-collapse:collapse;}
.hours-table td{padding:10px;border-bottom:1px solid #3a3128;}
.visit-map iframe{border-radius:12px;}
.faq details{background:var(--panel);border:1px solid #33291f;border-radius:10px;padding:16px 20px;margin-bottom:12px;}
.faq summary{cursor:pointer;font-weight:600;color:var(--gold);}
.faq p{margin-top:10px;color:var(--text-dim);}
.contact-grid{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;}
.qr-img{width:150px;background:#fff;padding:10px;border-radius:10px;}
.site-footer{background:var(--panel);text-align:center;padding:40px 20px;color:var(--text-dim);font-size:.9rem;}
.footer-logo{height:36px;margin-bottom:14px;}
@media(max-width:800px){
  .main-nav{position:fixed;top:70px;left:0;right:0;background:var(--bg);flex-direction:column;padding:20px;display:none;}
  .main-nav.open{display:flex;}
  .nav-toggle{display:block;}
  .about-grid,.menu-grid,.visit-grid{grid-template-columns:1fr;}
  .gallery-grid{grid-template-columns:1fr 1fr;}
  .contact-grid{grid-template-columns:1fr;text-align:center;}
}