*{box-sizing:border-box}html{overflow-wrap:anywhere}body{margin:0}a{color:inherit;text-underline-offset:.2em}img{max-width:100%}button,input,select{font:inherit}input,select{max-width:100%;min-height:48px;padding:.7rem;border:1px solid currentColor;background:#fff;color:#222}button{min-height:48px;padding:.7rem 1rem;cursor:pointer}:focus-visible{outline:3px solid #2765c9;outline-offset:4px}[hidden]{display:none!important}.skip{position:absolute;left:-10000px}.skip:focus{left:1rem;top:1rem;background:#fff;color:#111;padding:1rem;z-index:9}.search{display:grid;grid-template-columns:2fr 1fr auto;align-items:end;gap:1rem;margin:2rem 0}.search label{display:grid;gap:.4rem}.result-count{margin:1rem 0}.empty{border:1px solid;padding:1.5rem}.profile-content{max-width:860px;margin:2rem auto;padding:0 1.2rem}.profile-content h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.12}.profile-content p,.profile-content li{line-height:1.65}.source-list a{overflow-wrap:anywhere}.site-footer{padding:2rem max(1.2rem,4vw);margin-top:3rem;border-top:1px solid}.site-footer nav{display:flex;gap:1rem;flex-wrap:wrap}.site-footer p{max-width:70ch}.place-links{display:flex;flex-wrap:wrap;gap:.8rem 1.5rem}.fact-list{padding-left:1.3rem}.result-services{font-size:.9em}.site-main{min-width:0}@media(max-width:650px){.search{grid-template-columns:1fr}.site-footer{padding:1.2rem}.site-main{min-width:0}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
body {
  margin:0;
  font-family: Arial, Helvetica, sans-serif;
  color:#24211d;
  background:#f7f3ec;
  font-size:17px;
  line-height:1.55;
}

.site-main { max-width:1080px; margin:0 auto; padding:0 24px 64px; }

.site-header { background:#24211d; border-bottom:6px solid #81512d; }
.header-bar { max-width:1080px; margin:0 auto; padding:18px 24px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; }
.wordmark { color:#f7f3ec; font-size:1.5rem; font-weight:700; text-decoration:none; letter-spacing:0.02em; }
.primary-nav { display:flex; gap:18px; flex-wrap:wrap; }
.primary-nav a { color:#e9d9c4; text-decoration:none; font-weight:600; padding:8px 14px; border:2px solid #81512d; }
.primary-nav a:hover, .primary-nav a:focus { background:#81512d; color:#24211d; }

.home-hero { display:flex; gap:40px; flex-wrap:wrap; padding:48px 0 32px; align-items:flex-start; }
.hero-copy { flex:1 1 360px; }
.hero-copy h1 { font-size:clamp(1.9rem,3.4vw,2.8rem); line-height:1.15; margin:0 0 16px; color:#24211d; }
.lede { font-size:1.05rem; max-width:56ch; }
.hero-tools { flex:1 1 300px; border:3px solid #81512d; padding:20px; background:#fff; }
.directory-cta { display:inline-block; margin-top:16px; font-weight:700; color:#81512d; text-decoration:none; border-bottom:2px solid #81512d; padding-bottom:2px; }
.directory-cta:hover, .directory-cta:focus { color:#24211d; border-color:#24211d; }

.home-featured h2, .home-places h3 { font-size:1.4rem; border-left:6px solid #81512d; padding-left:12px; margin:40px 0 20px; }
.featured-list { display:flex; flex-direction:column; gap:2px; }

.directory-result { border-top:2px solid #24211d; background:#fff; }
.directory-result:last-child { border-bottom:2px solid #24211d; }

.listing-block { display:flex; align-items:flex-start; gap:14px; padding:16px 12px; }
.listing-mark { width:16px; height:16px; border:3px solid #81512d; margin-top:4px; flex:0 0 auto; }
.listing-body { flex:1 1 auto; display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 18px; }
.listing-name { margin:0; font-size:1.15rem; flex:1 1 220px; }
.listing-name a { color:#24211d; text-decoration:none; font-weight:700; }
.listing-name a:hover, .listing-name a:focus { color:#81512d; }
.listing-location { font-weight:600; color:#5a4a3a; border:2px solid #d8c3a5; padding:3px 10px; }
.result-services { margin:6px 0 0; flex-basis:100%; color:#4a463f; font-size:0.95rem; }

.place-links { display:flex; flex-wrap:wrap; gap:10px; margin:12px 0 0; padding:0; list-style:none; }
.place-links a { display:inline-block; border:2px solid #81512d; color:#24211d; text-decoration:none; padding:6px 12px; font-weight:600; }
.place-links a:hover, .place-links a:focus { background:#81512d; color:#fff; }

.directory-intro h1 { font-size:clamp(1.8rem,3vw,2.4rem); border-left:6px solid #81512d; padding-left:14px; }
.directory-intro p { max-width:60ch; }
.directory-controls { margin:24px 0; }
.directory-status { font-weight:600; margin:0 0 20px; }
.directory-results { display:flex; flex-direction:column; }

.search input[type="text"], .search input[type="search"] { font-size:1rem; padding:10px 12px; border:2px solid #24211d; }
.search select { font-size:1rem; padding:10px 12px; border:2px solid #24211d; }
.search button { font-size:1rem; padding:10px 18px; background:#81512d; color:#fff; border:2px solid #81512d; font-weight:700; }
.search button:hover, .search button:focus { background:#24211d; border-color:#24211d; }

.profile-content { max-width:70ch; margin:0 auto; padding:32px 24px; }
.profile-content h1 { font-size:clamp(1.8rem,3vw,2.4rem); }

@media (max-width:900px) {
  .home-hero { flex-direction:column; }
}

@media (max-width:640px) {
  .header-bar { flex-direction:column; align-items:flex-start; }
  .primary-nav { width:100%; gap:10px; }
  .primary-nav a { flex:1 1 auto; text-align:center; }
  .listing-block { flex-direction:column; }
  .listing-body { flex-direction:column; align-items:flex-start; }
}

@media (max-width:400px) {
  body { font-size:16px; }
  .hero-copy h1 { font-size:1.6rem; }
  .site-main { padding:0 14px 40px; }
}

/* Identity and responsive finishing pass, 20 September 2026. */
header .identity-mark{display:inline-block;width:36px;height:36px;vertical-align:middle;margin-right:.65rem;flex-shrink:0}h1,h2{text-wrap:balance}p{overflow-wrap:anywhere}input,select,button{min-height:48px}a,button{transition:color .16s,background-color .16s}button:active{transform:translateY(1px)}.directory-list .directory-result{flex:none;width:100%;max-width:none}.result-services{max-width:75ch;line-height:1.65}.profile-content .source-list{word-break:break-word}@media(prefers-reduced-motion:reduce){a,button{transition:none}}
.site-header{border-bottom:1px solid #6d6252}.header-bar{padding:1.2rem 24px}.wordmark{font-size:1.65rem;letter-spacing:-.025em}.primary-nav a{border:0;padding:.5rem 0;font-size:.92rem}.primary-nav a:hover,.primary-nav a:focus{background:transparent;color:#fff;text-decoration:underline}.home-hero{background:#24211d;color:#f7f3ec;padding:3rem 2rem;margin:0 -24px 2.5rem;gap:2.5rem}.hero-copy{flex:1 1 430px}.hero-copy h1{color:#f7f3ec;font-size:clamp(2.4rem,4.5vw,3.6rem);letter-spacing:-.04em;line-height:1.08}.hero-copy .lede{color:#d6cbbc;line-height:1.65}.hero-tools{flex:0 1 325px;background:#343029;border:1px solid #796951;padding:1.4rem}.hero-tools .search{display:block;margin:0}.hero-tools label{display:grid;gap:.65rem;color:#e9d9c4}.hero-tools input{width:100%;border:1px solid #a59176}.hero-tools button{width:100%;margin-top:1rem;background:#d3b486;color:#24211d;border-color:#d3b486}.hero-tools button:hover{background:#e9d9c4;color:#24211d}.hero-tools .directory-cta{color:#e9d9c4;font-size:.85rem;font-weight:400;line-height:1.5;border:0;text-decoration:underline}.home-featured>h2,.home-places>h3{border:0;padding:0;font-size:1.15rem;margin-bottom:1.3rem}.featured-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem}.featured-list .directory-result{padding:1.5rem;background:#fff;border:1px solid #dfd6c9}.listing-block{padding:0;border:0;background:transparent;display:block}.listing-mark{display:none}.listing-body{display:block}.home-featured .listing-name,.listing-name{border:0;padding:0;margin:0 0 .7rem;font-size:1.2rem;line-height:1.4}.listing-location{display:inline-block;padding:0;border:0;color:#756146;font-size:.9rem;font-weight:400}.directory-result .result-services{padding:0;margin:.8rem 0 0;font-size:.86rem}.directory-results .directory-result{padding:1.5rem 0;border-bottom:1px solid #c8bcaa}.directory-results .listing-body{display:flex;justify-content:space-between;gap:1.5rem;align-items:baseline}.home-places{margin-top:2.5rem}.place-links{gap:.6rem 1.2rem}.place-links a{border:0;border-bottom:1px solid #c8bcaa;padding:.35rem 0;font-size:.9rem;font-weight:400}.place-links a:hover{background:transparent;color:#81512d}.site-footer{background:#eae3d8;border-top:0}.site-main .search input,.site-main .search select{border-width:1px}@media(max-width:900px){.home-hero{flex-direction:column;gap:1.5rem}.hero-copy,.hero-tools{flex:none;width:100%}.hero-tools .search{max-width:100%}}@media(max-width:650px){.home-hero{padding:2rem 1.2rem;margin-left:-24px;margin-right:-24px}.hero-copy h1{font-size:2.6rem}.featured-list{grid-template-columns:1fr}.primary-nav{gap:1.2rem}.primary-nav a{flex:none;padding:0}.header-bar{gap:.8rem}.directory-results .listing-body{display:block}.featured-list .directory-result{padding:1.3rem}}@media(max-width:400px){.home-hero{margin-left:-14px;margin-right:-14px}.hero-copy h1{font-size:2.4rem}}
.site-header{border-bottom:5px solid #81512d}.primary-nav a{border:1px solid #98744e;padding:.5rem .7rem}.featured-list{display:block}.featured-list .directory-result{background:transparent;border:0;border-bottom:2px solid #b4a28b;padding:1.5rem 0}.listing-block{display:flex;align-items:baseline;gap:.8rem}.listing-mark{display:block;width:11px;height:11px;border:2px solid #81512d;flex-shrink:0}.listing-body{display:flex;align-items:baseline;justify-content:space-between;gap:1.2rem;flex:1;min-width:0}.listing-name{margin:0;flex:1}.listing-name a{text-decoration:underline;text-decoration-color:#c8bcaa;text-decoration-thickness:1px}.listing-location{border:1px solid #aa9274;padding:.15rem .55rem;flex-shrink:0}.directory-result .result-services{margin:.75rem 0 0 1.5rem}.directory-results .directory-result{border-bottom:2px solid #b4a28b}.place-links a{border:1px solid #baa78f;padding:.4rem .65rem}.hero-tools .directory-cta{color:#e9d9c4}@media(max-width:650px){.primary-nav{display:grid;grid-template-columns:1fr;width:100%;gap:.4rem}.primary-nav a{text-align:left;padding:.35rem .7rem}.listing-body,.directory-results .listing-body{display:block}.listing-location{margin-top:.6rem}.listing-mark{margin-top:.35rem}.listing-block{align-items:flex-start}.featured-list .directory-result{padding:1.3rem 0}.directory-result .result-services{margin-left:1.5rem}}
