:root {
  --bg:#f7f0e4;
  --paper:#fffaf4;
  --ink:#2e241f;
  --muted:#705f55;
  --line:rgba(46,36,31,.1);
  --accent:#d4572a;
  --accent-2:#3d7d68;
  --display:"DM Serif Display",serif;
  --body:"Manrope",sans-serif;
  --shadow:0 24px 64px rgba(65,42,22,.12);
}
* { box-sizing:border-box; }
body {
  margin:0;
  color:var(--ink);
  font-family:var(--body);
  background:
    radial-gradient(circle at top left, rgba(212,87,42,.14), transparent 24%),
    radial-gradient(circle at top right, rgba(61,125,104,.12), transparent 22%),
    linear-gradient(180deg, #fffaf5, var(--bg));
}
.topbar {
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:1rem;
  padding:1.1rem 1.2rem;
  border-bottom:1px solid var(--line);
  background:rgba(255,250,244,.88);
  backdrop-filter:blur(14px);
  position:sticky;
  top:0;
  z-index:20;
}
.home-link {
  text-decoration:none;
  color:var(--ink);
  padding:.85rem 1.1rem;
  border-radius:999px;
  border:1px solid var(--line);
  background:white;
  font-weight:800;
}
.topbar-copy h1,
.hero h2,
.section-head h2,
.site-card strong,
.queue-card strong { margin:0; font-family:var(--display); line-height:.94; }
.topbar-copy h1 { font-size:clamp(2rem, 4vw, 3.1rem); }
.eyebrow {
  margin:0 0 .45rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.78rem;
  font-weight:800;
  color:var(--accent);
}
.page { width:min(1240px, calc(100% - 1rem)); margin:0 auto; padding:1.25rem 0 2rem; }
.hero {
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:1rem;
  margin-bottom:1.4rem;
}
.hero-copy,
.hero-panel,
.site-card,
.queue-card {
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.hero-copy {
  padding:1.3rem;
  border-radius:34px;
  background:linear-gradient(135deg, rgba(212,87,42,.08), transparent 34%), var(--paper);
}
.hero h2 { font-size:clamp(2.2rem, 5vw, 4rem); max-width:11ch; }
.hero-copy p:last-child { margin-bottom:0; color:var(--muted); line-height:1.8; max-width:60ch; }
.hero-panel {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.9rem;
  padding:.9rem;
  border-radius:34px;
  background:linear-gradient(180deg, #fff, #f2e8d8);
}
.stat {
  padding:1rem;
  border-radius:24px;
  background:#fff9f3;
}
.stat span {
  display:block;
  margin-bottom:.45rem;
  color:var(--muted);
  font-size:.85rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:800;
}
.stat strong { font-size:clamp(1.4rem, 3vw, 2.5rem); line-height:1.25; }
.stat.wide { grid-column:span 2; }
.section-head { margin:1.4rem 0 .8rem; }
.section-head h2 { font-size:clamp(1.9rem, 4vw, 3rem); }
.card-grid,
.queue-grid {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:1rem;
}
.site-card,
.queue-card {
  display:grid;
  gap:.45rem;
  padding:1.1rem;
  border-radius:28px;
  text-decoration:none;
  color:inherit;
}
.site-card strong { font-size:clamp(1.8rem, 3vw, 2.5rem); }
.site-card span:last-child,
.queue-card span { color:var(--muted); line-height:1.65; }
.card-kicker {
  font-size:.82rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.coffee { background:linear-gradient(135deg, #f5dfca, #fff8ef); }
.diner { background:linear-gradient(135deg, #ffd8c3, #fff6ef); }
.floral { background:linear-gradient(135deg, #f7d9df, #fff8fb); }
.market { background:linear-gradient(135deg, #dff0c7, #fffdf2); }
.bakery { background:linear-gradient(135deg, #f6e0bf, #fff8ef); }
.cycle { background:linear-gradient(135deg, #d7ebf8, #fbfdff); }
.garage { background:linear-gradient(135deg, #2d3137, #1a1f24); color:#f6f2eb; }
.garage span:last-child,
.garage .card-kicker { color:#d8c9ba; }
.books { background:linear-gradient(135deg, #efe0cf, #fffaf3); }
.stage { background:linear-gradient(135deg, #3a1c4a, #241129); color:#fff5ee; }
.stage span:last-child,
.stage .card-kicker { color:#e5d7df; }
.pets { background:linear-gradient(135deg, #ffe2e8, #fdfcff); }
.barber { background:linear-gradient(135deg, #ead7c7, #fff8f1); }
.hardware { background:linear-gradient(135deg, #f0e0c0, #fffdf5); }
.yoga { background:linear-gradient(135deg, #e1ebdb, #fffdf8); }
.seafood { background:linear-gradient(135deg, #d8edf1, #ffffff); }
.tattoo { background:linear-gradient(135deg, #241c2e, #141119); color:#f4eef6; }
.tattoo span:last-child,
.tattoo .card-kicker { color:#d7ccd9; }
.antique { background:linear-gradient(135deg, #eadfce, #fffaf4); }
.landscape { background:linear-gradient(135deg, #dde9d7, #fefefb); }
.inn { background:linear-gradient(135deg, #f1dfe1, #fffaf7); }
.music { background:linear-gradient(135deg, #ece5d6, #fffdf8); }
.gym { background:linear-gradient(135deg, #252a30, #15191d); color:#f4f2ec; }
.gym span:last-child,
.gym .card-kicker { color:#d4d0c8; }
.queue-card { background:rgba(255,255,255,.68); }
.queue-card strong { font-size:1.55rem; }
@media (max-width:980px) {
  .hero,
  .card-grid,
  .queue-grid,
  .hero-panel {
    grid-template-columns:1fr;
  }
  .stat.wide { grid-column:auto; }
}
@media (max-width:720px) {
  .topbar { grid-template-columns:1fr; }
  .page { width:min(100% - .7rem, 1240px); }
}
