/* New gallery only. Reuses the approved palette, typefaces and component values. */
.patient-gallery{padding-top:0;padding-bottom:50px}
.gallery-context{max-width:78ch;color:var(--muted);font-size:1rem;line-height:1.8;margin:0 0 40px}
.gallery-controls{margin-bottom:24px}
.gallery-controls input[type=search]{width:100%;border:1px solid var(--line);border-radius:1px;padding:17px 15px;background:var(--paper);color:var(--ink);margin-bottom:0;font-size:1rem;min-width:0;min-height:57px}
.gallery-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}
.gallery-summary p{margin:0;color:var(--muted);font-size:.875rem}
.gallery-summary button{border:0;background:none;color:var(--ink);font:inherit;cursor:pointer;text-decoration:underline;padding:10px 0}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 32px;align-items:start}
.gallery-card{min-width:0}
.gallery-image{display:block;position:relative;background:var(--stone);color:var(--ink);text-decoration:none}
.gallery-image img{display:block;width:100%;height:auto;aspect-ratio:1122/1402;object-fit:contain}
.gallery-enlarge{display:block;border-bottom:1px solid var(--line);padding:14px 0;background:var(--paper);font-size:.875rem}
.gallery-caption{padding-top:20px}
.gallery-caption .eyebrow{font-size:.75rem;margin:0 0 10px}
.gallery-caption h2{font-size:1.5rem;line-height:1.35;letter-spacing:-.025em;margin:0 0 12px;overflow-wrap:anywhere}
.gallery-caption>p:not(.eyebrow){font-size:.9375rem;line-height:1.8;color:var(--muted);margin:0 0 12px}
.gallery-provider{font-size:.8125rem;line-height:1.8;color:var(--ink);text-underline-offset:4px}
.gallery-more{display:flex;justify-content:center;margin-top:48px}
.gallery-rights{margin-top:36px;max-width:75ch}
.gallery-empty{padding:40px 0}
.gallery-empty h2{font-size:2rem}
.gallery-viewer{border:1px solid var(--line);padding:24px;background:var(--paper);color:var(--ink);width:min(1000px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;margin:auto}
.gallery-viewer::backdrop{background:color-mix(in srgb,var(--dark) 86%,transparent)}
.gallery-viewer-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px}
.gallery-viewer h2{font-size:1.5rem;line-height:1.3;margin:0;overflow-wrap:anywhere}
.gallery-close{color:var(--ink);background:var(--paper);border:1px solid var(--line);padding:12px 16px;min-height:44px;font:inherit;font-size:.875rem;cursor:pointer;flex-shrink:0}
.gallery-viewer-image{min-height:100px;background:var(--stone)}
.gallery-viewer-image img{display:block;width:auto;height:auto;max-width:100%;max-height:65dvh;margin:0 auto;object-fit:contain}
.gallery-viewer-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px}
.gallery-viewer-footer .button{min-height:44px;padding:12px 16px;gap:10px}
#gallery-viewer-position{font-size:.875rem;text-align:center;color:var(--muted)}
#gallery-viewer-note{font-size:.8125rem;line-height:1.8;color:var(--muted);margin:18px 0 0}
.service-case-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}
.service-case{display:block;min-width:0;font-size:.8125rem;line-height:1.6;color:var(--ink);text-underline-offset:3px}
.service-case img{width:100%;height:auto;display:block;object-fit:contain;margin-bottom:10px}
@media(max-width:1024px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 24px}}
@media(max-width:600px){.gallery-grid{grid-template-columns:1fr;gap:40px}.gallery-summary{align-items:start}.gallery-caption h2{font-size:1.5rem}.gallery-context{margin-bottom:30px}.gallery-viewer{padding:16px}.gallery-viewer-header{gap:12px}.gallery-viewer h2{font-size:1.25rem}.gallery-viewer-footer{gap:10px;flex-wrap:wrap}.gallery-viewer-footer .button{font-size:.8125rem;padding:12px}#gallery-viewer-position{font-size:.8125rem}.gallery-viewer-image img{max-height:60dvh}.service-case-strip{gap:12px}}
