.center-visit { scroll-margin-top: 110px; }
.center-visit h3 { margin: 0 0 12px; font-size: 21px; }
.center-visit p { line-height: 1.8; }
.center-visit-directions { border-left: 3px solid var(--gold); padding: 6px 20px; margin-bottom: 24px; }
.center-visit-address { margin-top: 12px; color: var(--ink-soft); }
.center-visit-hours { background: var(--card); border: 1px solid var(--line); padding: 20px; border-radius: 8px; margin-bottom: 24px; }
.center-visit-hours p + p { margin-top: 8px; }
.center-visit-hours strong { display: inline-block; margin-right: 10px; }
.center-visit-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; align-items: start; }
.center-visit-gallery figure { margin: 0; min-width: 0; background: var(--card); border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
.center-visit-gallery figure:only-child { grid-column: 1 / -1; width: 100%; max-width: 800px; margin-inline: auto; }
/* Keep the width/height attributes' intrinsic ratio before lazy images load. */
.center-visit-gallery picture { display: block; }
.center-visit .center-visit-gallery img { display: block; width: 100%; height: auto; object-fit: contain; }
.center-visit figcaption { padding: 12px 16px; color: var(--ink-soft); font-size: 14px; line-height: 1.6; }
.center-visit-contact { margin-top: 24px; }
.center-visit-contact a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 4px; }
.center-visit a:focus-visible { outline: 3px solid var(--gold-text); outline-offset: 3px; }
@media(max-width:640px) { .center-visit-gallery { grid-template-columns: minmax(0,1fr); gap: 20px; } .center-visit-directions { padding-inline: 14px; } }
