*{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 { font-family: system-ui, -apple-system, "Segoe UI", Arial, sans-serif; background:#f5f1ea; color:#2b2420; font-size:16px; line-height:1.55; }

.site-header { background:#f5f1ea; border-bottom:1px solid #d9cfc0; padding:1.5rem 1.25rem; }
.masthead { display:flex; flex-direction:column; gap:0.35rem; max-width:1080px; margin:0 auto; }
.wordmark { font-family: Georgia, "Times New Roman", serif; font-size:clamp(1.8rem,4vw,2.6rem); color:#b5472d; text-decoration:none; letter-spacing:0.01em; }
.wordmark-mark { border-bottom:2px solid #b5472d; padding-bottom:0.1rem; }
.masthead-tag { margin:0; color:#6b5f55; font-size:1rem; }
.masthead-nav { max-width:1080px; margin:1rem auto 0; }
.masthead-nav ul { list-style:none; display:flex; flex-wrap:wrap; gap:1.25rem; margin:0; padding:0; }
.masthead-nav a { color:#2b2420; text-decoration:none; font-size:1rem; padding:0.2rem 0; border-bottom:2px solid transparent; }
.masthead-nav a:hover, .masthead-nav a:focus { border-bottom-color:#b5472d; }

.site-main { max-width:1080px; margin:0 auto; padding:2rem 1.25rem 3rem; }

.home-lede { max-width:760px; }
.home-kicker { text-transform:uppercase; letter-spacing:0.08em; font-size:0.85rem; color:#b5472d; margin:0 0 0.5rem; }
.home-lede h1 { font-family:Georgia, serif; font-size:clamp(2rem,5vw,3rem); line-height:1.15; margin:0 0 1rem; }
.home-intro { font-size:1.1rem; color:#443b34; max-width:60ch; }
.spec-rule { border:none; height:6px; margin:1.5rem 0; background-image:repeating-linear-gradient(90deg,#b5472d 0 2px, transparent 2px 12px); }
.home-search { margin:1.5rem 0; }
.home-directory-link a { color:#b5472d; font-weight:600; text-decoration:underline; }

.home-featured { margin-top:3rem; }
.home-featured h2 { font-family:Georgia, serif; font-size:1.6rem; margin-bottom:1rem; }
.featured-grid { display:flex; flex-wrap:wrap; gap:1.25rem; align-items:flex-start; }
.directory-result { flex:1 1 260px; max-width:340px; }

.home-places { margin-top:3rem; }
.home-places h3 { font-family:Georgia, serif; font-size:1.3rem; margin-bottom:0.75rem; }
.place-links { display:flex; flex-wrap:wrap; gap:0.75rem 1.25rem; }
.place-links a { color:#443b34; text-decoration:none; border-bottom:1px solid #d9cfc0; }
.place-links a:hover, .place-links a:focus { border-bottom-color:#b5472d; }

.directory-head h1 { font-family:Georgia, serif; font-size:clamp(1.8rem,4vw,2.6rem); margin-bottom:0.5rem; }
.directory-intro { color:#6b5f55; max-width:60ch; }
.directory-controls { margin:1.5rem 0; }
.directory-status { margin:1rem 0; color:#443b34; }
.directory-list { display:flex; flex-direction:column; }
.directory-list .directory-result { border-top:1px solid #d9cfc0; padding:1.25rem 0; }
.directory-list .directory-result:first-child { border-top:none; }

.result-card { display:flex; flex-direction:column; gap:0.35rem; }
.result-name { font-family:Georgia, serif; font-size:1.25rem; margin:0; }
.result-name a { color:#2b2420; text-decoration:none; }
.result-name a:hover, .result-name a:focus { color:#b5472d; }
.result-rule { border:none; height:4px; margin:0.35rem 0; background-image:repeating-linear-gradient(90deg,#b5472d 0 2px, transparent 2px 10px); max-width:180px; }
.result-location { margin:0; color:#6b5f55; font-size:0.95rem; text-transform:uppercase; letter-spacing:0.04em; }

.search { display:flex; flex-wrap:wrap; gap:0.75rem; align-items:center; }
.search input, .search select { font-size:1rem; padding:0.5rem 0.75rem; border:1px solid #b7a898; background:#fff; }
.search button { font-size:1rem; padding:0.5rem 1.25rem; background:#b5472d; color:#fff; border:none; }

.profile-content { max-width:760px; margin:0 auto; padding:2rem 1.25rem; }

@media (max-width:720px){
  .masthead-nav ul { gap:0.75rem 1rem; }
  .home-lede h1 { font-size:1.8rem; }
  .featured-grid { flex-direction:column; }
  .directory-result { max-width:none; }
}

@media (max-width:480px){
  .site-header { padding:1.25rem 1rem; }
  .site-main { padding:1.5rem 1rem 2rem; }
  .wordmark { font-size:1.5rem; }
  .search { flex-direction:column; align-items:stretch; }
}


/* 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}}
.home-lede{max-width:none;position:relative;padding:1.5rem 0 2rem;border-bottom:1px solid #b7a898}.home-lede h1{max-width:16ch;font-size:clamp(2.7rem,5.4vw,4.7rem);font-weight:400;letter-spacing:-.035em;line-height:1.08}.home-intro{max-width:58ch;font-size:1.15rem}.home-search{max-width:760px}.home-search label{flex:1}.featured-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 3rem}.featured-grid .directory-result{max-width:none;padding:1.5rem 0;border-top:1px solid #d9cfc0}.wordmark{font-size:2.3rem}.masthead-tag{font-size:.95rem}.home-featured > h2{font-size:2rem}.directory-list .result-card{display:grid;grid-template-columns:2fr 1fr;align-items:baseline;gap:1rem}.directory-list .result-rule{display:none}.directory-list .result-location{text-transform:none;letter-spacing:0}.place-links a{padding:.45rem 0}.spec-rule{max-width:120px;margin:2rem 0}@media(max-width:650px){.featured-grid{grid-template-columns:1fr}.home-lede h1{font-size:2.7rem}.directory-list .result-card{display:block}.wordmark{font-size:1.7rem}.home-search{max-width:100%}.masthead-nav ul{display:grid;grid-template-columns:1fr;gap:.15rem}.masthead-nav a{display:block;padding:.35rem 0}}
