:root{--bg:#f6efe6;--ink:#3b2a21;--gold:#b08a4e;--card:#fffaf3;--mute:#7a6455;--line:#e4d6c4;--chip:#eadccb}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.wrap{max-width:1100px;margin-inline:auto;padding-inline:max(16px,env(safe-area-inset-left))}
.top{background:transparent}
.bar{display:flex;align-items:center;justify-content:space-between;padding-block:18px}
.logo{font:600 1.7rem Georgia,"Iowan Old Style",serif;color:var(--ink);text-decoration:none}
.wa{background:var(--ink);color:var(--bg);padding:9px 18px;border-radius:99px;font-size:.85rem;font-weight:600;text-decoration:none}
.hero{padding:clamp(28px,6vw,64px) clamp(22px,5vw,56px);border-radius:22px;background:linear-gradient(120deg,#e8d8c3,#f3e6d4)}
.hero small{letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-size:.72rem;font-weight:600}
.hero h1{font:500 clamp(1.9rem,4.5vw,3.2rem)/1.12 Georgia,"Iowan Old Style",serif;margin:10px 0;max-width:15em;text-wrap:balance}
.hero p{color:var(--mute);max-width:44ch;margin:0 0 6px}
.upd{font-size:.85rem}
.trust{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.trust i{font:normal .78rem system-ui,sans-serif;border:1px solid #c9b394;border-radius:99px;padding:6px 13px;color:var(--mute)}
.tools{display:flex;gap:10px;flex-wrap:wrap;padding-block:22px 8px}
.tools input,.tools select{font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 14px;min-height:44px}
.tools input{flex:1 1 220px}
.chips{display:flex;gap:8px;overflow-x:auto;padding-block:6px;scrollbar-width:thin}
.chip{flex:none;font:inherit;font-size:.9rem;color:var(--ink);background:var(--chip);border:1px solid transparent;border-radius:999px;padding:7px 15px;cursor:pointer;min-height:36px}
.chip.on{background:var(--ink);color:var(--bg)}
.chip:focus-visible,.btn:focus-visible,.tools *:focus-visible,.wa:focus-visible,.card:focus-visible,.x:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.count{color:var(--mute);font-size:.9rem;margin-block:12px 8px}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));gap:14px;padding-bottom:44px}
.card{background:var(--card);border-radius:16px;padding:10px 10px 14px;box-shadow:0 2px 14px rgba(80,50,20,.07);display:flex;flex-direction:column;min-width:0;cursor:pointer}
.img{aspect-ratio:1/1;border-radius:11px;background:var(--chip);display:grid;place-items:center;position:relative;overflow:hidden}
.track{display:flex;width:100%;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.track::-webkit-scrollbar{display:none}
.track img{flex:0 0 100%;width:100%;height:100%;object-fit:cover;scroll-snap-align:center;display:block}
.img.ph .phn{font:italic 1.1rem Georgia,serif;color:#a89279;text-align:center;padding:12px}
.cnt{position:absolute;right:8px;bottom:8px;background:rgba(0,0,0,.55);color:#fff;font:600 .7rem system-ui,sans-serif;padding:2px 7px;border-radius:99px;pointer-events:none}
.low{position:absolute;left:8px;top:8px;background:var(--card);color:var(--gold);font:600 .68rem system-ui,sans-serif;font-style:normal;padding:4px 10px;border-radius:99px}
.body{padding:10px 6px 0;display:flex;flex-direction:column;gap:3px;flex:1}
.br{margin:0;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:600}
.body h3{margin:0;font:500 1rem/1.3 Georgia,serif;overflow-wrap:anywhere}
.pr{margin:4px 0 0;font-weight:700;font-variant-numeric:tabular-nums}
.btn{margin-top:auto;display:block;text-align:center;background:var(--ink);color:var(--bg);border-radius:99px;padding:10px;font-weight:600;font-size:.85rem;text-decoration:none;min-height:42px;line-height:22px}
.body .btn{margin-top:10px}
.btn.off{background:var(--chip);color:var(--mute)}
.how{padding-block:24px;border-top:1px solid var(--line)}
.how h2{font:500 1.5rem Georgia,serif;margin:0 0 8px}
.how ol{margin:0;padding-left:1.2em;max-width:60ch;color:var(--mute)}
.foot{padding-block:24px 40px;color:var(--mute);font-size:.85rem}
/* detail dialog */
dialog{border:0;padding:0;border-radius:20px;background:var(--card);color:var(--ink);width:min(920px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;box-shadow:0 20px 60px rgba(40,20,5,.35)}
dialog::backdrop{background:rgba(40,25,15,.55)}
.x{position:absolute;right:12px;top:10px;z-index:2;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,250,243,.92);color:var(--ink);font-size:1.5rem;line-height:1;cursor:pointer}
.dgrid{display:grid;grid-template-columns:1fr;gap:0}
.dgrid .img{border-radius:0;aspect-ratio:1/1}
.dinfo{padding:22px 22px 26px;display:flex;flex-direction:column;gap:6px}
.dinfo h2{font:500 1.5rem/1.2 Georgia,serif;margin:2px 0}
.dinfo .pr{font-size:1.4rem;margin:2px 0}
.dinfo h4{margin:14px 0 0;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.desc{margin:0;color:var(--mute)}
.tag{margin:0;align-self:flex-start;background:var(--chip);color:var(--gold);font-weight:600;font-size:.75rem;padding:4px 10px;border-radius:99px}
.perks{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:4px;font-size:.88rem;color:var(--mute)}
.perks li::before{content:"✓ ";color:var(--gold);font-weight:700}
.code{margin:8px 0 12px;font-size:.75rem;color:var(--mute)}
@media (min-width:760px){.dgrid{grid-template-columns:1.05fr 1fr}.dgrid .img{aspect-ratio:auto;min-height:100%}.dinfo{padding:36px 32px}}
@media (prefers-reduced-motion:no-preference){.card{transition:transform .15s}.card:hover{transform:translateY(-2px)}}

.hero{display:grid;gap:18px;align-items:center}
.hlogo{display:none;width:100%;height:auto;}
@media (min-width:820px){.hero{grid-template-columns:1.2fr .8fr}.hlogo{display:block}}
.foot{text-align:center}.flogo{display:block;margin:0 auto 10px;width:150px;height:auto;}
@media (min-width:640px){.grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}}
@media (max-width:639px){.body h3{font-size:.88rem}.card{padding:8px 8px 12px}.btn{font-size:.78rem}}
