/* Public location overview only. Existing CMS blocks keep their shared styles. */
.hc-overview { --hco-ink:#3c4033; --hco-muted:#65685b; --hco-green:#405447; --hco-paper:#f6f3ed; --hco-line:#dedfd5; }
.hc-overview .hc-overview__shell { width:100%; max-width:1240px; margin:0 auto; padding:0 28px; box-sizing:border-box; }
.hc-overview .hc-overview__opening { padding-top:28px; }
.hc-overview .hc-overview__hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); background:var(--hco-paper); border-radius:4px; overflow:hidden; }
.hc-overview .hc-overview__hero--no-photo { grid-template-columns:minmax(0,1fr); }
.hc-overview .hc-overview__hero--no-photo .hc-overview__intro { max-width:860px; width:100%; margin:0 auto; }
.hc-overview .hc-overview__intro { align-self:center; min-width:0; padding:36px; box-sizing:border-box; }
.hc-overview .hc-overview__eyebrow { margin:0 0 12px; font:600 11px/1.6 "Open Sans",sans-serif; text-transform:uppercase; letter-spacing:.14em; color:#7d6b48; }
.hc-overview .hc-overview__title { margin:0; color:var(--hco-ink); font:600 clamp(28px,3vw,36px)/1.25 "Open Sans",sans-serif; letter-spacing:-.5px; }
.hc-overview .hc-overview__description.page-content { margin-top:20px; color:var(--hco-muted); font:400 16px/1.65 "Open Sans",sans-serif; }
.hc-overview .hc-overview__description.page-content p { font:inherit; margin:0 0 14px; }
.hc-overview .hc-overview__description.page-content p:last-child { margin-bottom:0; }
.hc-overview .hc-overview__description.page-content :is(h1,h2,h3,h4) { font:600 20px/1.4 "Open Sans",sans-serif; letter-spacing:-.2px; color:var(--hco-ink); margin:0 0 12px; }
.hc-overview .hc-overview__description.page-content strong { font-weight:600; }
.hc-overview .hc-overview__media { align-self:center; min-width:0; width:100%; }
.hc-overview .hc-overview__slider { min-width:0; position:relative; }
.hc-overview .hc-overview__slider .slider, .hc-overview .hc-overview__slider .slick-list { margin:0; padding:0; height:auto; }
.hc-overview .hc-overview__slider .slick-track, .hc-overview .hc-overview__slider .slider__item { height:auto; min-height:0; }
.hc-overview .hc-overview__slider .slider:not(.slick-initialized) > .slider__item:not(:first-child) { display:none; }
.hc-overview .hc-overview__photo { display:block; width:100%; height:auto; max-width:100%; aspect-ratio:auto; object-fit:contain; }
.hc-overview .hc-overview__controls { display:flex; justify-content:flex-end; align-items:center; gap:8px; min-height:54px; padding:8px 14px; box-sizing:border-box; }
.hc-overview .hc-overview__controls button { display:grid; place-items:center; width:36px; height:36px; min-height:36px; margin:0; padding:0; border:1px solid #d9ddd4; border-radius:50%; background:#fff; color:var(--hco-ink); cursor:pointer; font:400 25px/1 "Open Sans",sans-serif; }
.hc-overview .hc-overview__controls button span { display:block; transform:translateY(-1px); }
.hc-overview .hc-overview__controls button:hover { background:#e8ebdf; }
.hc-overview .hc-overview__slider .slick-count { position:absolute; bottom:17px; right:110px; left:auto; top:auto; color:var(--hco-muted); font:400 11px/20px "Open Sans",sans-serif; }
.hc-overview .hc-overview__slider .slick-count .seperator { padding:0 5px; }
.hc-overview .hc-overview__locations { padding-top:40px; padding-bottom:40px; }
.hc-overview .hc-overview__section-title { margin:0 0 24px; color:var(--hco-ink); font:600 28px/1.35 "Open Sans",sans-serif; letter-spacing:-.35px; }
.hc-overview .hc-overview__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; align-items:stretch; }
.hc-overview .hc-overview__card { display:flex; flex-direction:column; min-width:0; margin:0; padding:0; background:#fff; border:1px solid var(--hco-line); border-radius:4px; overflow:hidden; }
.hc-overview .hc-overview__card-media { display:flex; align-items:center; justify-content:center; width:100%; background:var(--hco-paper); }
.hc-overview .hc-overview__card-media img { display:block; width:100%; height:210px; max-width:100%; object-fit:contain; aspect-ratio:auto; }
.hc-overview .hc-overview__card-body { display:flex; flex:1; flex-direction:column; padding:24px; min-width:0; }
.hc-overview .hc-overview__card-title { margin:0 0 16px; color:var(--hco-ink); font:600 21px/1.35 "Open Sans",sans-serif; letter-spacing:-.2px; overflow-wrap:anywhere; }
.hc-overview .hc-overview__card-phone { align-self:flex-start; color:var(--hco-ink); text-decoration:none; font:600 15px/1.6 "Open Sans",sans-serif; }
.hc-overview .hc-overview__card-phone:hover { text-decoration:underline; text-underline-offset:3px; }
.hc-overview .hc-overview__card-address { margin:10px 0 20px; color:var(--hco-muted); font:400 14px/1.65 "Open Sans",sans-serif; }
.hc-overview .hc-overview__card-links { display:flex; flex-wrap:wrap; align-items:center; gap:15px 20px; margin-top:auto; padding-top:14px; border-top:1px solid #e9e9e1; }
.hc-overview .hc-overview__more { display:inline-flex; align-items:center; gap:12px; color:var(--hco-green); font:600 13px/1.6 "Open Sans",sans-serif; text-decoration:none; }
.hc-overview .hc-overview__more:hover { text-decoration:underline; text-underline-offset:3px; }
.hc-overview .hc-overview__route { color:var(--hco-muted); font:400 12px/1.6 "Open Sans",sans-serif; text-decoration:underline; text-underline-offset:3px; }
.hc-overview .hc-overview__blocks { padding:16px 0 0; }
.hc-overview .hc-overview__map { margin-top:20px; }
.hc-overview .hc-overview__map .map-wrapper { height:380px; min-height:0; }
.hc-overview .hc-overview__map .map-content { height:100%; min-height:0; }
.hc-overview :is(.hc-overview__controls button,.hc-overview__card a):focus-visible { outline:2px solid #8e774b; outline-offset:3px; }
@media(max-width:1000px) {
 .hc-overview .hc-overview__intro { padding:26px; }
 .hc-overview .hc-overview__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
 .hc-overview .hc-overview__shell { padding-left:20px; padding-right:20px; }
 .hc-overview .hc-overview__opening { padding-top:20px; }
 .hc-overview .hc-overview__hero { grid-template-columns:minmax(0,1fr); }
 .hc-overview .hc-overview__intro { padding:25px 24px; }
 .hc-overview .hc-overview__title { font-size:29px; }
 .hc-overview .hc-overview__description.page-content { margin-top:16px; }
 .hc-overview .hc-overview__description.page-content :is(h1,h2,h3,h4) { font-size:18px; }
 .hc-overview .hc-overview__locations { padding-top:28px; padding-bottom:28px; }
 .hc-overview .hc-overview__section-title { font-size:24px; margin-bottom:20px; }
 .hc-overview .hc-overview__grid { grid-template-columns:minmax(0,1fr); gap:18px; }
 .hc-overview .hc-overview__card-body { padding:22px; }
 .hc-overview .hc-overview__card-media img { height:auto; max-height:280px; }
 .hc-overview .hc-overview__map .map-wrapper { height:300px; }
}
