
:root{--ink:#f3eee2;--mut:#a7b0c2;--red:#c93327;--red-d:#a32419;--bg:#0c1220;--panel:#121b2e;--card:#152036;--line:#28354f;--gold:#c9a24b;--gold-l:#e8c87a;--dark:#080d18}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:Georgia,'Times New Roman',serif;color:var(--ink);background:var(--bg);line-height:1.6;padding-bottom:64px;overflow-x:clip}
a{color:var(--gold-l);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1020px;margin:0 auto;padding:0 20px}
header.site{position:sticky;top:0;background:var(--dark);color:#fff;z-index:50;box-shadow:0 1px 6px rgba(0,0,0,.5);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px}
.logo{display:flex;align-items:center;gap:12px;font-size:24px;letter-spacing:4px;color:#fff;font-weight:bold}
.logo img{width:50px;height:50px;flex:none;display:block}
.logo small{display:block;font-size:10px;letter-spacing:2.5px;color:#cbbd9d;font-weight:normal}
@media(max-width:520px){.logo{font-size:19px;letter-spacing:2.5px;gap:9px}.logo img{width:42px;height:42px}.logo small{font-size:8.5px;letter-spacing:1.8px}header .btn{padding:8px 12px;margin-left:10px;font-size:13px}}
nav.main a{color:#dfe5ee;margin-left:22px;font-family:Helvetica,Arial,sans-serif;font-size:14px;letter-spacing:1px}
nav.main a:hover{color:var(--gold-l);text-decoration:underline}
.btn{display:inline-block;font-family:Helvetica,Arial,sans-serif;font-weight:bold;letter-spacing:.5px;border-radius:6px;padding:12px 26px;font-size:15px}
.btn-red{background:var(--red);color:#fff}.btn-red:hover{background:var(--red-d)}
.btn-ghost{background:transparent;color:#fff;border:2px solid #fff}
.btn-dark{background:#1c2942;color:var(--ink);border:1px solid var(--line)}
header .btn{padding:9px 18px;margin-left:22px}
.hero{background:linear-gradient(rgba(6,9,17,.68),rgba(6,9,17,.82)),url('/assets/img/torch-aburi-1.jpg') center 42%/cover no-repeat,linear-gradient(160deg,#0a1120,#16263f 60%,#2c130e);color:#fff;text-align:center;padding:96px 20px 84px}
.hero h1{font-size:clamp(32px,6vw,54px);line-height:1.15;margin-bottom:14px}
.hero p{font-size:18px;color:#e8ddcb;margin-bottom:30px}
.hero .btn{margin:4px 6px}
section{padding:52px 0 8px}
h2.sec{font-size:30px;text-align:center;margin-bottom:6px}
p.secsub{text-align:center;color:var(--mut);margin-bottom:28px;font-style:italic}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:22px;text-align:center}
.card h3{font-size:19px;margin-bottom:4px}
.card .price{font-size:32px;color:var(--gold-l);font-weight:bold}
.card .when{color:var(--mut);font-size:14px;font-family:Helvetica,Arial,sans-serif}
ul.rules{max-width:720px;margin:0 auto;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:20px 28px}
ul.rules li{margin:6px 0}
.grid6{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.dish{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:18px 20px;display:flex;justify-content:space-between;align-items:baseline}
.dish .dn{font-weight:bold}
.dish .dp{color:var(--gold-l);font-weight:bold;white-space:nowrap;margin-left:12px}
.infobar{background:var(--panel);border:1px solid var(--line);color:#e8e2d2;text-align:center;padding:26px 20px;border-radius:10px}
.infobar a{color:var(--gold-l)}
.banner{background:var(--red);color:#fff;text-align:center;padding:44px 20px;border-radius:10px;margin:20px 0 40px}
.banner h2{font-size:28px;margin-bottom:8px}
.banner .btn{background:#fff;color:var(--red);margin-top:12px}
footer.site{background:var(--dark);color:#b9c0cf;margin-top:56px;padding:40px 0 30px;font-family:Helvetica,Arial,sans-serif;font-size:14px;border-top:1px solid var(--line)}
footer.site .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}
footer.site h4{color:#fff;letter-spacing:2px;font-size:13px;margin-bottom:10px}
footer.site a{color:#b9c0cf;display:block;margin:4px 0}
footer .copy{border-top:1px solid var(--line);margin-top:28px;padding-top:16px;text-align:center;font-size:13px;color:#8b94a7}
.mobilebar{position:fixed;left:0;right:0;bottom:0;background:var(--dark);display:flex;z-index:60;border-top:1px solid var(--line)}
.mobilebar a{flex:1;text-align:center;color:#fff;padding:14px 4px;font-family:Helvetica,Arial,sans-serif;font-size:14px;font-weight:bold}
.mobilebar a.rb{background:var(--red)}
@media(min-width:761px){.mobilebar{display:none}body{padding-bottom:0}}
@media(max-width:760px){nav.main a:not(.keep){display:none}}
.anchor-nav{position:sticky;top:80px;background:var(--bg);padding:10px 0;border-bottom:1px solid var(--line);z-index:40;text-align:center}
.anchor-nav a{margin:0 10px;font-family:Helvetica,Arial,sans-serif;font-size:14px;font-weight:bold}
.page-logo{display:block;width:100px;height:100px;margin:0 auto 16px}
.subgroup{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px 18px 10px;margin:12px 0}
h3.subcat{font-size:16px;color:var(--gold-l);margin:2px 0 8px;letter-spacing:1.5px}
ul.menu-list{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:1px 26px}
@media(max-width:900px){ul.menu-list{grid-template-columns:repeat(2,1fr)}}
li.mi{font-size:15px;line-height:1.5;padding:2px 0}
h3.boardcat{font-size:22px;margin:30px 0 4px;border-bottom:2px solid var(--gold);padding-bottom:6px}
.tier-price{font-size:21px;color:var(--gold-l);font-weight:bold}
.tier-when{color:var(--mut);font-size:14px;font-family:Helvetica,Arial,sans-serif;margin-bottom:6px}
.hl-box{background:#1a2338;border:1px solid var(--gold);border-radius:10px;padding:10px 18px 12px;margin:14px 0 6px}
table.tier{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line)}
table.tier th,table.tier td{border:1px solid var(--line);padding:10px 14px;text-align:left}
table.tier th{background:var(--dark);color:var(--gold-l)}
.map{width:100%;height:380px;border:1px solid var(--line);border-radius:10px}
.prose{max-width:760px;margin:0 auto}
.prose p{margin:12px 0;font-size:17px}
.cta-row{text-align:center;margin:34px 0 44px}
.cta-row .btn{margin:4px 6px}
.photoband{width:100vw;margin:30px calc(50% - 50vw) 6px}
.photoband img{display:block;width:100%;height:360px;object-fit:cover}
@media(max-width:700px){.photoband img{height:230px}}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:30px 0 6px}
.duo figure{margin:0}
.duo img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:10px}
@media(max-width:700px){.duo{grid-template-columns:1fr}.duo img{aspect-ratio:4/3}}
.about-flex{display:flex;gap:28px;align-items:flex-start;max-width:940px;margin:0 auto}
.about-flex .prose{flex:1 1 auto;margin:0;max-width:none}
.about-side{flex:0 0 300px;margin:12px 0 0}
.about-side img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:10px}
@media(max-width:760px){.about-flex{flex-direction:column}.about-side{flex:none;width:100%;max-width:440px;margin:10px auto 0}.about-side img{aspect-ratio:4/3}}
