:root{--primary:#3A2A33;--accent:#C0577A;--bg:#FFF8F6;--ink:#3A2A33;--muted:#7C6870;--line:#F0DDD8}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.8 "Noto Sans TC","Microsoft JhengHei",system-ui,sans-serif}
a{color:var(--accent)}
.top{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 5vw;background:rgba(255,248,246,.94);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:.5rem;font-weight:500;text-decoration:none;color:var(--ink);letter-spacing:.1em}
.logo{height:32px;width:auto}
nav a{margin-left:1.2rem;text-decoration:none;color:var(--ink);font-size:.95rem}
nav a:hover{color:var(--accent)}
section{padding:4.5rem 5vw;max-width:960px;margin:0 auto}
h1,h2,h3{line-height:1.3;margin:0;font-weight:500}
h2{font-size:1.5rem;margin-bottom:2rem;text-align:center;letter-spacing:.2em}
.hero{max-width:none;text-align:center;padding:8rem 5vw 7rem;background:linear-gradient(180deg,#F8E4E4 0%,var(--bg) 100%)}
.hero h1{font-size:clamp(2rem,6.5vw,3.4rem);letter-spacing:.18em;color:var(--primary)}
.tag{margin:1.2rem 0 2.2rem;color:var(--muted);letter-spacing:.1em}
.btn{display:inline-block;padding:.75rem 1.8rem;background:var(--accent);color:#fff;text-decoration:none;border-radius:999px;border:1.5px solid var(--accent)}
.btn:hover{filter:brightness(1.06)}
.btn.ghost{background:transparent;color:var(--accent)}
.lead{text-align:center;max-width:36em;margin:0 auto;color:var(--muted)}
.menu{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.4rem}
.item{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.4rem}
.item img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px;margin-bottom:.9rem}
.row{display:flex;justify-content:space-between;gap:1rem;align-items:baseline}
.price{color:var(--accent);font-weight:500;white-space:nowrap}
.item p{margin:.4rem 0 0;color:var(--muted);font-size:.92rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.6rem}
.grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px}
.visit{text-align:center}
.visit dl{display:inline-grid;grid-template-columns:max-content 1fr;gap:.5rem 1.5rem;margin:0 0 2rem;text-align:left}
dt{color:var(--muted)}dd{margin:0}
.links{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center}
footer{padding:2rem 5vw;text-align:center;color:var(--muted);font-size:.85rem;border-top:1px solid var(--line)}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
@media(max-width:560px){nav a{margin-left:.7rem}.hero{padding:5rem 5vw 4rem}}
