:root{
  --ink:#2b1117; --ink-soft:#6f5459; --wine:#561421; --wine-deep:#32090f;
  --paprika:#c0431f; --saffron:#e0a63a; --cream:#f3e7d3; --cream-soft:#faf3e6;
  --line:rgba(86,20,33,.18);
  --font-display:"Fraunces",Georgia,"Times New Roman",serif;
  --font-body:"Figtree",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream-soft);color:var(--ink);font-family:var(--font-body);line-height:1.5;-webkit-font-smoothing:antialiased}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Hero */
.hero{position:relative;background:var(--wine);color:var(--cream);text-align:center;padding:56px 20px 64px}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:22px;background:var(--cream-soft);border-radius:22px 22px 0 0}
.back{position:absolute;top:18px;left:20px;color:var(--cream);opacity:.8;text-decoration:none;font-size:.9rem}
.back:hover{opacity:1}
.hero-arch{width:112px;height:128px;margin:0 auto 14px;background:var(--cream);border-radius:999px 999px 18px 18px;display:grid;place-items:center;box-shadow:0 0 0 4px var(--wine),0 0 0 5px var(--saffron)}
.hero-arch img{width:84px;height:84px;object-fit:contain;margin-top:14px}
.hero h1{font-family:var(--font-display);font-weight:500;font-size:clamp(2.4rem,7vw,3.6rem);margin:0;letter-spacing:.02em}
.hero-sub{margin:4px 0 0;color:var(--saffron);letter-spacing:.2em;text-transform:uppercase;font-size:.78rem;font-weight:600}

/* Toolbar */
.toolbar{position:sticky;top:0;z-index:20;background:rgba(250,243,230,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.toolbar-inner{max-width:980px;margin:0 auto;padding:12px 16px 10px}
.search{position:relative;margin-bottom:10px}
.search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--ink-soft)}
.search input{width:100%;padding:11px 16px 11px 42px;border:1px solid var(--line);border-radius:999px;background:#fff;font:inherit;color:var(--ink);outline:none}
.search input:focus{border-color:var(--wine);box-shadow:0 0 0 3px rgba(86,20,33,.12)}
.chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;border:1px solid var(--line);background:transparent;color:var(--wine);font:600 .82rem var(--font-body);letter-spacing:.04em;padding:8px 14px;border-radius:999px;cursor:pointer;transition:.2s;white-space:nowrap}
.chip:hover{background:rgba(86,20,33,.06)}
.chip.active{background:var(--wine);color:var(--cream);border-color:var(--wine)}

/* Content */
.wrap{max-width:980px;margin:0 auto;padding:12px 20px 40px}
.status{text-align:center;color:var(--ink-soft);padding:40px 0}
.status:empty{display:none}
.section{padding-top:36px;scroll-margin-top:120px}
.section-head{text-align:center;margin-bottom:22px}
.section-head h2{font-family:var(--font-display);font-weight:500;font-size:clamp(1.5rem,4vw,2rem);color:var(--wine);margin:0;letter-spacing:.03em}
.section-head h2::after{content:"";display:block;width:44px;height:3px;background:var(--paprika);margin:10px auto 0;border-radius:2px}
.note{margin:10px 0 0;color:var(--ink-soft);font-style:italic;font-size:.9rem}

.items{display:grid;grid-template-columns:1fr;gap:6px 48px}
@media (min-width:760px){.items{grid-template-columns:1fr 1fr}}
.item{padding:14px 0;border-bottom:1px dashed var(--line)}
.item-top{display:flex;align-items:baseline;gap:10px}
.item h3{margin:0;font-size:.98rem;font-weight:700;letter-spacing:.02em;line-height:1.3}
.dots{flex:1;border-bottom:2px dotted var(--line);transform:translateY(-4px);min-width:16px}
.price{font-family:var(--font-display);font-weight:600;color:var(--paprika);white-space:nowrap}
.item p{margin:4px 0 0;color:var(--ink-soft);font-size:.9rem;max-width:44ch}

.empty{text-align:center;color:var(--ink-soft);padding:48px 0}
mark{background:rgba(224,166,58,.4);color:inherit;border-radius:3px;padding:0 1px}

.foot{background:var(--wine-deep);color:var(--cream);text-align:center;padding:28px 20px;font-size:.88rem}
.foot p{margin:0 0 6px;opacity:.75}
.foot a{color:var(--saffron);text-decoration:none;font-weight:600}
