:root {
  --teal: #0ea5a3;
  --gold: #c7a051;
  --cream: #f7f4ef;
  --ink: #0f172a;
  --muted: #64748b;
  --border: #e2e8f0;
}

* { box-sizing: border-box; }
body { margin: 0; font-family: system-ui, -apple-system, Segoe UI, Roboto, Inter, sans-serif; color: var(--ink); background: var(--cream); line-height: 1.5; }

.header {
  position: sticky; top: 0; z-index: 10;
  display: flex; align-items: center; gap: 12px;
  padding: 12px 16px; background: rgba(255,255,255,0.85); backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--border);
}
.brand-badge { width: 40px; height: 40px; border-radius: 16px; background: linear-gradient(135deg, var(--teal), #34d399); box-shadow: 0 0 0 2px rgba(199,160,81,0.3); }
.brand h1 { margin: 0; font-size: 18px; font-weight: 700; letter-spacing: .2px; }
.tagline { margin: 2px 0 0; font-size: 12px; color: var(--muted); }
.links { margin-left: auto; display: flex; gap: 12px; align-items: center; }
.links a { color: var(--ink); opacity: .9; text-decoration: none; border: 1px solid transparent; padding: 6px 10px; border-radius: 10px; }
.links a:hover { border-color: var(--border); background: #fff; }

.container { max-width: 1100px; margin: 0 auto; padding: 24px 16px; }
@media (min-width: 640px) { .container { padding: 28px 24px; } }
@media (min-width: 1024px) { .container { padding: 32px 32px; } }

/* Cards and spacing */
.card { border: 1px solid var(--border); border-radius: 20px; background: white; overflow: hidden; box-shadow: 0 8px 20px rgba(0,0,0,.03); }
.padded { padding: 18px 20px; }
.card-body { padding: 4px 0 0; }
.h2 { font-size: 26px; margin: 0 0 8px; font-weight: 700; letter-spacing: .2px; }
.h3 { font-size: 18px; margin: 0 0 6px; font-weight: 700; }

.hero p { margin: 8px 0 0; color: var(--muted); }
.badges { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.badge { color: white; font-size: 12px; padding: 6px 10px; border-radius: 999px; }
.badge.teal { background: var(--teal); }
.badge.amber { background: #d97706; }
.badge.dark { background: #0f172a; }

.filters { display: grid; gap: 12px; margin: 18px 0; }
.input { width: 100%; padding: 12px 14px; border-radius: 12px; border: 1px solid #cbd5e1; outline: none; }
.input:focus { border-color: var(--teal); box-shadow: 0 0 0 2px rgba(14,165,163,0.2); }

.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chip { padding: 8px 12px; border-radius: 999px; background: white; border: 1px solid var(--border); cursor: pointer; font-size: 14px; }
.chip.active { background: var(--ink); color: white; border-color: var(--ink); }

.grid { display: grid; grid-template-columns: repeat(1,minmax(0,1fr)); gap: 16px; }
.grid.two { grid-template-columns: repeat(1,minmax(0,1fr)); }
@media (min-width: 640px) { .grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .grid.two { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (min-width: 1024px) { .grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }

.cover { aspect-ratio: 16 / 9; width: 100%; object-fit: cover; background: #e2e8f0; }
.card:hover .cover { filter: saturate(1.05); }

.meta { color: var(--muted); font-size: 12px; margin-bottom: 6px; }
.tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0; }
.pill { font-size: 11px; padding: 4px 8px; border-radius: 999px; background: #fff7ed; border: 1px solid #fde68a; }

.btn { display: inline-flex; align-items: center; gap: 8px; padding: 12px 16px; border-radius: 12px; border: 1px solid var(--border); background: white; color: var(--ink); text-decoration: none; cursor: pointer; }
.btn.amber { background: #d97706; color: white; border-color: #b45309; }
.btn.outline { background: white; }
.btn.wide { justify-content: space-between; }

.storefront { margin-top: 22px; }

.footer { text-align: center; color: var(--muted); font-size: 12px; padding: 20px 0 40px; }
