/* Public text and links shared by visitors and search engines; no crawler-only content. */
.via-search-content { box-sizing: border-box; padding: clamp(32px,6vw,88px); background:#fff; color:#111; font-family:"Martel Sans","PingFang SC","Microsoft YaHei",sans-serif; }
.via-search-content h1 { margin:0 0 24px; font-size:clamp(30px,3.6vw,54px); font-weight:400; line-height:1.25; }
.via-search-content h2 { margin:0 0 28px; font-size:clamp(26px,2.8vw,40px); font-weight:400; line-height:1.35; }
.via-search-content h3 { font-size:20px; line-height:1.55; margin:16px 0 12px; font-weight:500; }
.via-search-content p,.via-search-content address { font-size:16px; line-height:1.9; font-style:normal; white-space:pre-line; }
.via-search-content > p { max-width:850px; }
.via-search-content .via-search-eyebrow { font-size:14px; letter-spacing:.16em; }
.via-search-content section { padding-top:48px; margin-top:40px; border-top:1px solid #ddd; }
.via-search-nav { display:flex; flex-wrap:wrap; gap:12px 24px; padding:24px 0; font-size:14px; line-height:1.8; }
.via-search-nav a { color:inherit; text-decoration:none; border-bottom:1px solid currentColor; }
.via-search-nav a:hover,.via-search-store a:hover { text-decoration:underline; }
.via-search-nav a:focus-visible,.via-search-store a:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
.via-search-stores { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px; }
.via-search-store img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
.via-search-store a { color:inherit; font-size:16px; text-decoration:none; }
.via-search-services > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
#footer .via-search-nav { justify-content:center; }
.via-footer { flex-wrap:wrap; }
.via-footer .via-search-nav { width:100%; }
html[data-via-search="home"] #container { height:auto!important; min-height:100vh; }
html[data-via-search="home"] #indexGalleryBG { height:100vh; }
/* The fixed legacy sidebar takes real space; the footer must share its gutter. */
html[data-via-search] #footer { box-sizing:border-box; margin-left:270px; width:calc(100% - 270px); }
@media(min-width:768px) and (max-width:1599px) {
  html[data-via-search] #footer { margin-left:50px; width:calc(100% - 50px); }
  html[data-via-search="home"] #footer { margin-left:270px; width:calc(100% - 270px); }
}
@media(max-width:1023px) {
  html[data-via-search="home"] #footer { margin-left:0; width:100%; }
}
@media(max-width:767px) {
  html[data-via-search] #footer { margin-left:0; width:100%; }
}
.via-search-member .member-photo { position:relative; aspect-ratio:4/5; overflow:hidden; }
.via-search-member details { text-align:left; }
.via-search-member summary { cursor:pointer; }
.via-search-member details p { white-space:pre-line; line-height:1.8; }
.via-search-member { align-self:start; }
@media(max-width:767px) {
  .via-search-stores,.via-search-services > div { grid-template-columns:1fr; }
  .via-search-content { padding:36px 22px; }
  .via-search-nav { gap:12px 18px; }
}
