  .vendor-intro { text-align:center; padding:36px 0 32px; }
  .vendor-home { display:block; margin:0 auto 44px; text-align:center; text-decoration:none; }
  .vendor-intro h1 { font:500 clamp(42px,6vw,76px)/1.06 var(--display); margin:0 0 24px; text-wrap:balance; }
  .vendor-intro h1 em { font-weight:400; }
  .vendor-intro .vendor-lede { max-width:540px; margin:0 auto; font-size:21px; color:var(--ink-soft); }
  .vendor-category { padding:40px 0; scroll-margin-top:28px; }
  .vendor-directory-title { font:500 clamp(36px,4vw,48px)/1.1 var(--display); text-align:center; margin-bottom:8px; }
  .vendor-category h3 { font:500 14px/1.6 var(--text); letter-spacing:.22em; text-transform:uppercase; }
  .vendor-contact { font-size:17px; line-height:1.5; color:var(--ink-soft); margin-top:14px; max-width:none; }
  .vendor-contact a { text-underline-offset:4px; }
  .vendor-list { margin-top:24px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 40px; align-content:start; }
  .vendor-list li { min-width:0; }
  .vendor-name { display:block; font-size:23px; line-height:1.25; padding:8px 0; overflow-wrap:anywhere; }
  a.vendor-name { text-decoration:none; }
  a.vendor-name:hover { text-decoration:none; text-underline-offset:5px; }
  .vendor-note { display:block; color:var(--ink-soft); font-size:17px; line-height:1.4; }
  .vendor-close { padding:28px 0 76px; text-align:center; }
  .vendor-close p { margin-bottom:24px; font-size:22px; }
  @media(max-width:850px) {
    .vendor-category { grid-template-columns:1fr; gap:24px; padding:40px 0; }
    .vendor-contact { max-width:none; margin-top:12px; }
  }
  @media(max-width:760px) {
    .vendor-intro { padding:24px 0 24px; }
  }
  @media(max-width:520px) {
    .vendor-list { grid-template-columns:1fr; gap:12px; }
    .vendor-name { font-size:24px; }
  }


.vendor-contact a { display:inline-block; min-height:44px; color:var(--ink-soft); }
.vendor-page a:not(.vendor-home):not(.btn) { text-decoration:none; border-radius:24px; padding:8px 12px; margin-left:-12px; width:fit-content; max-width:calc(100% + 12px); min-height:44px; }
.vendor-page a:not(.vendor-home):not(.btn):focus-visible { color:var(--ink); background-color:rgba(255,255,255,.36); box-shadow:inset 0 0 0 1px rgba(45,40,36,.1); }
@media(hover:hover) { .vendor-page a:not(.vendor-home):not(.btn):hover { color:var(--ink); background-color:rgba(255,255,255,.36); box-shadow:inset 0 0 0 1px rgba(45,40,36,.1); } }
@media(prefers-reduced-motion:no-preference) { .vendor-page a:not(.vendor-home):not(.btn) { transition:background-color .16s ease,color .16s ease,box-shadow .16s ease; } }
  .vendor-filter { text-align:center; padding:8px 0; }
  .vendor-filter[hidden], .vendor-category[hidden] { display:none; }
  .vendor-select-wrap { display:inline-block; position:relative; width:260px; max-width:100%; }
  #vendor-category {
    display:flex; align-items:center; justify-content:space-between; gap:20px;
    width:100%; min-height:48px; padding:12px 20px;
    border:0; border-radius:0; background:transparent;
    font:400 14px/1.6 var(--text); letter-spacing:.16em; text-transform:uppercase;
    color:var(--ink-soft); cursor:pointer;
  }
  #vendor-category[aria-expanded="true"], #vendor-category:focus-visible { color:var(--ink); }
  #vendor-category[aria-expanded="true"] .nav-chevron { transform:rotate(225deg); }
  .vendor-category-menu {
    position:absolute; z-index:5; top:100%; left:0; width:100%;
    padding:10px 20px; margin:0; list-style:none; text-align:left;
    border:0; border-radius:20px; background-color:var(--paper);
    box-shadow:0 4px 20px rgba(45,40,36,.08);
    background-image:var(--paper-texture); background-size:640px 640px;
  }
  .vendor-category-menu[hidden] { display:none; }
  .vendor-category-menu li + li { border-top:0; }
  .vendor-category-menu button {
    display:block; width:100%; min-height:44px; padding:10px 0;
    border:0; border-radius:0; background:none; text-align:left;
    font:400 18px/1.4 var(--text); letter-spacing:0; text-transform:none;
    color:var(--ink-soft); cursor:pointer;
  }
  .vendor-category-menu button[aria-pressed="true"],
  .vendor-category-menu button:focus-visible { color:var(--ink); }
  .vendor-category-menu button[aria-pressed="true"] { font-style:italic; }
  @media(hover:hover) {
    #vendor-category:hover, .vendor-category-menu button:hover { color:var(--ink); }
  }
  @media(prefers-reduced-motion:no-preference) {
    #vendor-category, .vendor-category-menu button { transition:color .2s ease; }
  }



/* The introduction, directory, and closing invitation share one cream surface. */
.vendor-directory-heading { padding:24px 0 32px; }
.vendor-category-menu { background:var(--linen); color:var(--ink); }
#vendor-results { padding-block:clamp(32px,4vw,56px); }
.vendor-close { padding:clamp(72px,9vw,128px) 0; }
