
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { overflow-x: hidden; }
    body {
      font-family: var(--wknd-public-sans);
      background: #F2F0FA; color: #111827; min-height: 100vh;
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden; max-width: 100vw;
    }
    /* ── Nav ── */
    .vd-nav {
      position: sticky; top: 0; z-index: 100;
      background: #111827; display: flex; align-items: center;
      justify-content: space-between; padding: 0 20px; height: 56px;
    }
    .vd-nav-brand { font-size: 18px; font-weight: 800; color: #fff; letter-spacing: -0.5px; text-decoration: none; }
    .vd-nav-brand span { color: #A78BFA; }
    .vd-nav-links { display: flex; gap: 8px; }
    .vd-nav-link {
      font-size: 13px; font-weight: 600; color: rgba(255,255,255,0.75);
      text-decoration: none; padding: 7px 14px; border-radius: 20px;
      border: 1px solid rgba(255,255,255,0.15); white-space: nowrap;
    }
    .vd-nav-link.primary { background: #7C3AED; color: #fff; border-color: #7C3AED; }
    .wknd-nav-actions { display:flex; align-items:center; gap:8px; }
    .wknd-nav-actions details { position:relative; }
    .wknd-nav-actions summary { list-style:none; cursor:pointer; color:#fff; font-size:13px; font-weight:700; padding:8px 10px; white-space:nowrap; }
    .wknd-nav-actions summary::-webkit-details-marker { display:none; }
    .wknd-nav-role-switch { min-height:44px; border:0; background:transparent; color:#fff; cursor:pointer; font:700 13px/1.2 inherit; padding:8px 10px; white-space:nowrap; }
    .wknd-nav-role-switch:hover,.wknd-nav-role-switch:focus-visible { color:#ddd6fe; outline:1px solid #ddd6fe; outline-offset:2px; border-radius:5px; }
    .wknd-nav-join summary { background:#7C3AED; border-radius:7px; }
    .wknd-nav-actions details>div { position:absolute; right:0; top:calc(100% + 7px); width:174px; padding:7px; border:1px solid #ddd6fe; border-radius:8px; background:#fff; box-shadow:0 12px 24px rgba(17,24,39,.18); }
    .wknd-nav-actions details a { display:block; padding:10px; color:#111827; font-size:13px; font-weight:700; text-decoration:none; }
    .wknd-nav-actions details a:hover { background:#f2f0fa; }
    .wknd-nav-actions .wknd-nav-join>div { width:min(290px,calc(100vw - 24px)); padding:12px; }
    .wknd-nav-join .wknd-join-prompt { margin:2px 10px 8px; font-size:13px; font-weight:800; color:#111827; }
    .wknd-nav-actions .wknd-nav-join>div a { min-height:58px; border-radius:8px; white-space:normal; }
    .wknd-nav-join a small { display:block; margin-top:3px; color:#6B7280; font-size:11px; font-weight:500; }
    .wknd-nav-join .wknd-join-note { margin:8px 10px 2px; padding-top:9px; border-top:1px solid #E5E7EB; color:#6B7280; font-size:11px; line-height:1.45; }
    /* ── Hero ── */
    .vd-hero { background: linear-gradient(135deg,#7C3AED,#C026D3,#F97316); padding: 40px 20px 34px; text-align: center; }
    .vd-hero-eyebrow {
      display: inline-block; background: rgba(255,255,255,.16); color: #fff;
      font-size: 11px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase;
      padding: 5px 14px; border-radius: 20px; margin-bottom: 14px;
    }
    .vd-hero-title { font-size: clamp(24px, 5vw, 38px); font-weight: 800; color: #fff; line-height: 1.15; letter-spacing: -0.5px; margin-bottom: 10px; }
    .vd-hero-sub { font-size: 15px; color: rgba(255,255,255,0.6); max-width: 440px; margin: 0 auto 20px; }
    /* ── Search bar ── */
    .vd-search-wrap { max-width: 520px; margin: 0 auto; position: relative; }
    .vd-search-label { display: block; margin-bottom: 7px; color: #fff; font-size: 13px; font-weight: 700; text-align: left; }
    .vd-search-input {
      width: 100%; padding: 13px 20px 13px 44px; border-radius: 14px;
      border: 1.5px solid rgba(255,255,255,.32); background: rgba(255,255,255,.16);
      color: #fff; font-size: 16px; outline: none;
    }
    .vd-search-input::placeholder { color: rgba(255,255,255,.7); }
    .vd-search-input:focus { border-color: #fff; background: rgba(255,255,255,.22); }
    .vd-search-icon { position: absolute; left: 15px; top: 50%; transform: translateY(-50%); color: rgba(255,255,255,0.4); font-size: 16px; pointer-events: none; }
    /* ── Category pills ── */
    .vd-cats-wrap { background: #fff; border-bottom: 1px solid #E5E7EB; position: sticky; top: 56px; z-index: 90; }
    .vd-cats { display: flex; gap: 8px; overflow-x: auto; padding: 12px 16px; scrollbar-width: none; max-width: 960px; margin: 0 auto; }
    .vd-cats::-webkit-scrollbar { display: none; }
    .vd-cat-pill {
      flex-shrink: 0; padding: 7px 18px; border-radius: 20px;
      font-size: 13px; font-weight: 600; white-space: nowrap;
      border: 1.5px solid #E5E7EB; background: #fff; color: #6B7280;
      cursor: pointer; text-decoration: none;
    }
    .vd-cat-pill.active { background: #7C3AED; color: #fff; border-color: #7C3AED; }
    /* ── Main ── */
    .vd-main { max-width: 960px; margin: 0 auto; padding: 24px 16px 60px; }
    .vd-count { font-size: 12px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #9CA3AF; margin-bottom: 16px; }
    .vd-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
    /* ── Vendor card ── */
    .vd-card {
      background: #fff; border-radius: 20px; padding: 20px;
      border:1px solid rgba(124,58,237,.07);box-shadow:var(--shadow-card);
      display: flex; flex-direction: column; gap: 12px;
      text-decoration: none; color: inherit;
      transition: transform 0.18s, box-shadow 0.18s;
    }
    .vd-card:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(124,58,237,0.12); }
    .vd-card-top { display: flex; align-items: center; gap: 14px; }
    .vd-avatar {
      width: 54px; height: 54px; border-radius: 14px;
      object-fit: cover; background: linear-gradient(135deg,#EDE9FE,#FCE7F3);
      flex-shrink: 0; display: flex; align-items: center; justify-content: center;
      font-size: 20px; font-weight: 800; color: #7C3AED;
    }
    .vd-avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: 14px; display: block; }
    .vd-card-info { flex: 1; min-width: 0; }
    .vd-card-name { font-size: 15px; font-weight: 800; color: #111827; line-height: 1.3; overflow-wrap: anywhere; }
    .vd-card-cat { font-size: 12px; color: #6B7280; margin-top: 2px; overflow-wrap: anywhere; }
    .vd-card-city { font-size: 12px; color: #9CA3AF; overflow-wrap: anywhere; }
    .vd-card-chips { display: flex; gap: 6px; flex-wrap: wrap; }
    .vd-chip {
      font-size: 11px; font-weight: 700; padding: 3px 9px; border-radius: 99px;
    }
    .vd-chip-avail { background: #D1FAE5; color: #065F46; }
    .vd-chip-trust { background: #EDE9FE; color: #7C3AED; }
    .vd-chip-booked { background: #F3E8FF; color: #7C3AED; border: 1px solid #DDD6FE; }
    .vd-card-bio { font-size: 13px; color: #6B7280; line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
    .vd-card-cta {
      margin-top: auto; display: block; text-align: center;
      padding: 10px 0; border-radius: 10px; font-size: 13px; font-weight: 700;
      background: #F3F0FF; color: #7C3AED; text-decoration: none;
      transition: background 0.15s;
    }
    .vd-card-cta:hover { background: #EDE9FE; }
    /* ── Empty ── */
    .vd-empty { text-align: center; padding: 60px 20px; background: #fff; border-radius: 18px; grid-column: 1/-1; }
    .vd-empty-icon { font-size: 36px; margin-bottom: 12px; }
    .vd-empty-title { font-size: 18px; font-weight: 700; margin-bottom: 8px; }
    .vd-empty-sub { font-size: 14px; color: #6B7280; margin-bottom: 20px; }
    .vd-empty-cta { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 11px 24px; background: #7C3AED; color: #fff; font-size: 14px; font-weight: 700; border-radius: 10px; text-decoration: none; }
    .vd-empty-role-guidance { margin: 22px auto 0; max-width: 420px; color: #6B7280; font-size: 13px; line-height: 1.5; }
    .vd-empty-role-guidance p { margin: 0 0 6px; }
    .vd-empty-role-guidance a { color: #374151; font-weight: 700; text-underline-offset: 2px; }
    /* ── Footer ── */
    .vd-footer { background: #fff; border-top:1px solid rgba(124,58,237,.09);color: #6B7280; padding: 40px 20px; text-align: center; }
    .vd-footer-title { font-size: 18px; font-weight: 800; color: #111827; margin: 0 0 6px; }
    .vd-footer-sub { font-size: 14px; margin-bottom: 18px; }
    .vd-footer-links { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
    .vd-footer-link { padding: 10px 22px; border-radius: 10px; font-size: 14px; font-weight: 700; text-decoration: none; }
    .vd-footer-link.host { background: #7C3AED; color: #fff; }
    .vd-footer-link.join { background: #F5F3FF; color: #7C3AED; border: 1px solid #DDD6FE; }
    .vd-footer-bottom { margin-top: 28px; font-size: 12px; color: #9CA3AF; }
    @media (max-width: 480px) {
      .vd-nav-links .vd-nav-link:not(.primary) { display: none; }
      .wknd-nav-actions { gap: 5px; }
      .wknd-nav-actions .wknd-nav-link { display: none; }
      .wknd-nav-actions .wknd-nav-link.mobile-events,
      .wknd-nav-actions .wknd-nav-link.mobile-vendors { display: inline-flex; font-size: 11px; padding: 8px 7px; }
      .wknd-nav-actions .wknd-btn { font-size: 11px; padding-inline: 9px; }
      .wknd-nav-role-switch { font-size:11px; padding-inline:7px; }
      .vd-grid { grid-template-columns: 1fr; }
    }
    /* Gather Here visual language — vendor profiles should feel editorial,
       useful, and distinctly local. */
    :root {
      --gh-paper: #f8f1e5; --gh-paper-deep: #efe3d1; --gh-ink: #17233b;
      --gh-muted: #617082; --gh-coral: #d85f4b; --gh-coral-dark: #ad4034;
      --gh-yellow: #f0bd61; --gh-line: #d8cdbc; --gh-mint: #d9e9dc;
    }
    body.wknd-public-entry { background: var(--gh-paper); color: var(--gh-ink); }
    .wknd-public-entry .wknd-nav-wrap { background: #fbf8f2; border-bottom: 1px solid var(--gh-line); }
    .wknd-public-entry .wknd-nav { min-height: 68px; max-width: 1180px; margin: 0 auto; }
    .wknd-public-entry .wknd-logo { color: var(--gh-ink); font-size: 20px; letter-spacing: -.7px; }
    .wknd-public-entry .wknd-mark {
      display:inline-grid; place-items:center; width:28px; height:28px; margin-right:3px;
      border-radius:50%; background:var(--gh-ink); color:#fbf8f2; font-size:13px;
      letter-spacing:-.05em; vertical-align:middle;
    }
    .wknd-public-entry .wknd-nav-link { color: var(--gh-ink); border-color: transparent; }
    .wknd-public-entry .wknd-nav-link:hover,
    .wknd-public-entry .wknd-nav-link:focus-visible { color: var(--gh-coral-dark); background: #f3e8d8; }
    .wknd-public-entry .wknd-nav-actions details summary { color: var(--gh-ink); }
    .wknd-public-entry .wknd-nav-actions .wknd-nav-join summary { background: var(--gh-ink); color:#fff; }
    .wknd-public-entry .vd-hero {
      position: relative; overflow: hidden; text-align: left;
      background: var(--gh-paper-deep); padding: 68px 20px 76px;
    }
    .wknd-public-entry .vd-hero::after {
      content: ""; position: absolute; width: 330px; height: 330px;
      right: -105px; top: -158px; border: 28px solid rgba(240,189,97,.58);
      border-radius: 50%; pointer-events: none;
    }
    .wknd-public-entry .vd-hero > * { position: relative; z-index: 1; }
    .wknd-public-entry .vd-hero-eyebrow { background: transparent; color: var(--gh-coral-dark); padding: 0; letter-spacing: .16em; }
    .wknd-public-entry .vd-hero-title { color: var(--gh-ink); font-size: clamp(34px, 6vw, 60px); line-height: .98; letter-spacing: -2.5px; max-width: 760px; margin-left: auto; margin-right: auto; }
    .wknd-public-entry .vd-hero-sub { color: #536073; font-size: 16px; max-width: 500px; margin-left: auto; margin-right: auto; }
    .wknd-public-entry .vd-search-label { color: var(--gh-ink); }
    .wknd-public-entry .vd-search-input { background: #fffdf9; border-color: var(--gh-line); color: var(--gh-ink); box-shadow: 0 8px 24px rgba(23,35,59,.08); }
    .wknd-public-entry .vd-search-input::placeholder { color: #7d8793; }
    .wknd-public-entry .vd-search-input:focus { border-color: var(--gh-coral); background: #fffdf9; box-shadow: 0 0 0 3px rgba(216,95,75,.14); }
    .wknd-public-entry .vd-search-icon { color: var(--gh-coral-dark); font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
    .wknd-public-entry .vd-search-input { padding-left:82px; }
    .wknd-public-entry .vd-cats-wrap { background: #fbf8f2; border-color: var(--gh-line); }
    .wknd-public-entry .vd-cat-pill { background: #fffdf9; border-color: var(--gh-line); color: var(--gh-muted); }
    .wknd-public-entry .vd-cat-pill.active { background: var(--gh-coral); border-color: var(--gh-coral); color: #fff; }
    .wknd-public-entry .vd-main { max-width: 1180px; padding-top: 40px; }
    .wknd-public-entry .vd-count { color: var(--gh-coral-dark); letter-spacing: .14em; }
    .wknd-public-entry .vd-grid { gap: 24px; }
    .wknd-public-entry .vd-card { background: #fffdf9; border: 1px solid var(--gh-line); border-radius: 4px; box-shadow: 0 3px 0 rgba(23,35,59,.08); }
    .wknd-public-entry .vd-card:hover { transform: translateY(-4px); box-shadow: 0 10px 0 rgba(23,35,59,.08); }
    .wknd-public-entry .vd-avatar { background: var(--gh-ink); color: #f8f1e5; border-radius: 4px; }
    .wknd-public-entry .vd-card-name { color: var(--gh-ink); }
    .wknd-public-entry .vd-card-cat, .wknd-public-entry .vd-card-bio { color: var(--gh-muted); }
    .wknd-public-entry .vd-card-cta { background: var(--gh-mint); color: var(--gh-ink); border-radius: 3px; }
    .wknd-public-entry .vd-card-cta:hover { background: #c4ddc9; }
    .wknd-public-entry .vd-empty { background: #fffdf9; border: 1px solid var(--gh-line); border-radius: 4px; }
    .wknd-public-entry .vd-empty-title { color: var(--gh-ink); }
    .wknd-public-entry .vd-empty-cta, .wknd-public-entry .vd-footer-link.host { background: var(--gh-coral); }
    .wknd-public-entry .vd-empty-cta:hover, .wknd-public-entry .vd-footer-link.host:hover { background: var(--gh-coral-dark); }
    .wknd-public-entry .vd-empty-icon {
      width:58px; height:58px; display:grid; place-items:center; margin:0 auto 18px;
      border-radius:50%; background:var(--gh-ink); color:#f8f1e5;
      font-size:22px; font-weight:800; letter-spacing:-.08em;
    }
    .wknd-public-entry .vd-empty-actions {
      display:flex; align-items:center; justify-content:center; gap:10px;
      flex-wrap:wrap; margin-top:22px;
    }
    .wknd-public-entry .vd-empty-actions .vd-empty-cta { margin:0; }
    .wknd-public-entry .vd-empty-secondary {
      display:inline-flex; align-items:center; justify-content:center; min-height:44px;
      padding:11px 18px; border:1px solid var(--gh-line); border-radius:3px;
      background:#fffdf9; color:var(--gh-ink); font-size:14px; font-weight:700;
      text-decoration:none; transition:background .15s, border-color .15s;
    }
    .wknd-public-entry .vd-empty-secondary:hover,
    .wknd-public-entry .vd-empty-secondary:focus-visible { background:var(--gh-paper-deep); border-color:var(--gh-coral); }
    .wknd-public-entry .vd-footer { background: var(--gh-ink); border: 0; color: #d7dfeb; }
    .wknd-public-entry .vd-footer-title { color: #fff; }
    .wknd-public-entry .vd-footer-link.join { background: var(--gh-mint); border: 0; color: var(--gh-ink); }
    @media (max-width: 600px) {
      .wknd-public-entry .wknd-nav { min-height: 58px; }
      .wknd-public-entry .wknd-nav-actions .mobile-vendors { display:none; }
      .wknd-public-entry .vd-hero { padding: 48px 18px 58px; }
      .wknd-public-entry .vd-hero-title { letter-spacing: -1.7px; }
      .wknd-public-entry .vd-hero::after { width: 190px; height: 190px; right: -90px; top: -100px; border-width: 17px; }
      .wknd-public-entry .vd-main { padding-left: 14px; padding-right: 14px; }
      .wknd-public-entry .vd-grid { gap: 16px; }
      .wknd-public-entry .vd-empty-actions { align-items:stretch; flex-direction:column; }
      .wknd-public-entry .vd-empty-actions .vd-empty-cta,
      .wknd-public-entry .vd-empty-secondary { width:100%; }
    }
    @media (max-width: 360px) {
      .wknd-public-entry .wknd-mark { width:18px; height:18px; margin-right:0; font-size:10px; }
      .wknd-public-entry .wknd-logo { font-size:16px; }
    }
  