/* Native modal: no library, tracking, or background image preloading. */
[data-image-viewer]{cursor:zoom-in}
html.image-viewer-open{overflow:hidden}
.image-viewer{width:min(960px,calc(100% - 32px));max-width:none;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid #c6dce6;border-radius:12px;background:#fff;color:var(--navy);box-shadow:0 24px 80px #011a4b50;overflow:auto;overscroll-behavior:contain}
.image-viewer:not([open]){display:none}
.image-viewer::backdrop{background:#021a3cc9}
.image-viewer-heading{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 22px;background:var(--navy);color:white}
.image-viewer-heading h2{font-size:1.125rem;line-height:1.4;letter-spacing:0}
.image-viewer-close{flex-shrink:0;min-height:44px;padding:9px 16px;border:1px solid #ffffff80;border-radius:6px;background:#fff;color:var(--navy);font-size:1rem;font-weight:700;line-height:1.5}
.image-viewer-close:hover{background:var(--yellow)}
.image-viewer-close:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
.image-viewer-toolbar{padding:14px 20px 0}
.image-viewer-back{min-height:44px;padding:9px 14px;border:1px solid #b9d0df;border-radius:6px;background:#f0f8fc;color:var(--navy);font-size:.9375rem;font-weight:700}
.image-viewer-back:hover{background:#dceff6}
.image-viewer-catalog{padding:24px;background:#f0f8fb}
.image-viewer-catalog h3{font-size:1.25rem;line-height:1.4}
.image-viewer-catalog>p{margin-top:8px;font-size:1rem;line-height:1.6;color:#365269}
.image-viewer-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}
.image-viewer-card{display:block;min-width:0;padding:0;overflow:hidden;text-align:left;color:var(--navy);border:1px solid #bdd5e1;border-radius:9px;background:#fff;box-shadow:0 5px 16px #0738760a}
.image-viewer-card:hover{border-color:#23728f;box-shadow:0 8px 20px #07387617}
.image-viewer-card img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center;background:#d8edf5}
.image-viewer-card[data-image-label="after"] img{object-position:center 35%}
.image-viewer-card-copy{display:grid;gap:5px;padding:17px 18px;border-top:1px solid #d5e6ed}
.image-viewer-card-copy strong{font-size:1.125rem;line-height:1.4}
.image-viewer-card-copy>span{font-size:.9375rem;line-height:1.55;color:#365269}
.image-viewer figure{margin:0;padding:20px}
.image-viewer-stage{min-height:80px;display:grid;place-items:center;background:#fff;touch-action:pan-y pinch-zoom}
.image-viewer-stage>img,.image-viewer-stage>.image-viewer-equipment-frame{grid-area:1/1}
.image-viewer-controls{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin-top:18px;padding-top:16px;border-top:1px solid #d4e5ed}
.image-viewer-controls button{min-height:44px;padding:9px 13px;border:1px solid #b9d0df;border-radius:5px;background:#f0f8fc;color:var(--navy);font-size:1rem;font-weight:700}
.image-viewer-controls button:hover{background:#dceff6}
.image-viewer-controls p{font-size:.875rem;text-align:center;color:#365269;line-height:1.5}
.image-viewer-stage img{width:auto;height:auto;max-width:100%;max-height:65vh;max-height:65dvh;object-fit:contain}
/* Hide the 344-pixel black borders embedded in the equipment upload. */
.image-viewer-equipment-frame{position:relative;width:min(100%,709px,calc(65vh * 709 / 848));width:min(100%,709px,calc(65dvh * 709 / 848));aspect-ratio:709/848;overflow:hidden}
.image-viewer-equipment-frame img{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover;object-position:center}
.image-viewer-status{padding:18px 0;color:#365269;font-size:1rem;line-height:1.6}
.image-viewer figcaption{padding-top:16px;color:#365269;font-size:1rem;line-height:1.6}
.hero-photo-link{position:absolute;z-index:2;top:20px;right:20px;padding:9px 14px;border:1px solid #ffffff90;border-radius:5px;background:#032450e6;color:white;font-size:.875rem;font-weight:700}
.service-feature-visual[data-image-viewer]{display:block}
.service-feature-visual[data-image-viewer]:focus-visible{outline-offset:-5px;outline-color:var(--yellow)}
@media(max-width:600px){.image-viewer{width:calc(100% - 20px);max-height:calc(100dvh - 20px);border-radius:8px}.image-viewer-heading{padding:12px 16px}.image-viewer figure{padding:16px}.image-viewer-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.image-viewer-controls p{grid-column:1/-1;grid-row:1}.image-viewer-controls button{padding-inline:10px}.hero-photo-link{top:12px;right:12px;padding:7px 12px}}
@media(max-width:600px){.image-viewer-catalog{padding:20px 16px}.image-viewer-card-grid{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:20px}.image-viewer-toolbar{padding:12px 16px 0}}
@media(prefers-reduced-motion:no-preference){.image-viewer[open]{animation:image-viewer-enter .16s ease-out}@keyframes image-viewer-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}
