/* Service photos: compact heading, large lead photo and responsive mosaic. */
body .service-detail-pro .service-gallery.gallery-refresh { display:block!important; padding:24px!important; border:1px solid #36586b!important; border-radius:22px!important; background:radial-gradient(ellipse at top right,#1d405033,transparent 60%),#0a2030!important; box-shadow:0 12px 30px #07152514!important; }
body .service-detail-pro .gallery-refresh .service-gallery-copy { display:flex!important; flex-direction:row!important; align-items:flex-end!important; justify-content:space-between!important; width:100%; gap:20px; padding:0!important; margin:0 0 20px!important; }
body .service-detail-pro .gallery-refresh .service-gallery-copy .service-gallery-kicker { display:block!important; width:auto!important; min-height:0!important; margin:0 0 7px!important; padding:0!important; border:0!important; border-radius:0!important; background:none!important; box-shadow:none!important; color:#dfb96e!important; font:650 9px/1.4 system-ui,sans-serif!important; letter-spacing:.06em!important; text-transform:uppercase!important; }
body .service-detail-pro .gallery-refresh h2 { max-width:none!important; margin:0!important; color:#fff!important; font:800 clamp(23px,2.5vw,31px)/1.2 system-ui,sans-serif!important; letter-spacing:-.6px; }
body .service-detail-pro .gallery-refresh .service-gallery-copy p { margin:8px 0 0!important; color:#b8cedb!important; font:400 13px/1.5 system-ui,sans-serif!important; }
body .service-detail-pro .gallery-refresh .service-gallery-photos { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr))!important; grid-auto-rows:155px; grid-template-rows:none!important; gap:10px!important; min-width:0; }
body .service-detail-pro .gallery-refresh .service-gallery-item { position:relative; display:block; padding:0!important; margin:0!important; min-width:0; width:100%; height:100%; border:1px solid #ffffff25!important; border-radius:13px!important; background:#102a3b!important; overflow:hidden; cursor:zoom-in; box-shadow:none!important; }
body .service-detail-pro .gallery-refresh .service-gallery-item:first-child { grid-column:span 2; grid-row:span 2; }
body .service-detail-pro .gallery-refresh .service-gallery-count-4 .service-gallery-item:last-child { grid-column:span 2; }
body .service-detail-pro .gallery-refresh .service-gallery-count-1 { grid-template-columns:1fr!important; grid-auto-rows:340px; }
body .service-detail-pro .gallery-refresh .service-gallery-count-2 { grid-template-columns:repeat(2,minmax(0,1fr))!important; grid-auto-rows:300px; }
body .service-detail-pro .gallery-refresh :is(.service-gallery-count-1,.service-gallery-count-2) .service-gallery-item:first-child { grid-column:auto; grid-row:auto; }
body .service-detail-pro .gallery-refresh .service-gallery-count-3 { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
body .service-detail-pro .gallery-refresh .service-gallery-item::before,body .service-detail-pro .gallery-refresh .service-gallery-item::after { display:none!important; }
body .service-detail-pro .gallery-refresh .service-gallery-item img { display:block; width:100%!important; height:100%!important; max-height:none!important; object-fit:cover!important; object-position:center; border-radius:0!important; transition:transform .45s ease; }
.service-gallery-number,.service-gallery-zoom { position:absolute; display:grid; place-items:center; z-index:1; color:#fff!important; background:#081b2bd9!important; border:1px solid #ffffff30!important; pointer-events:none; }
.service-gallery-number { top:12px; left:12px; min-width:32px; height:25px; border-radius:20px; font:750 10px/1 system-ui,sans-serif; }
.service-gallery-zoom { right:12px; bottom:12px; width:32px; height:32px; border-radius:10px; font:500 23px/1 system-ui,sans-serif; }
body .service-detail-pro .gallery-refresh .service-gallery-item:hover img { transform:scale(1.04); }
.service-gallery-item:focus-visible { outline:3px solid #ffc45a!important; outline-offset:-4px; }
@media(max-width:760px) {
 body .service-detail-pro .service-gallery.gallery-refresh { padding:16px!important; border-radius:18px!important; }
 body .service-detail-pro .gallery-refresh .service-gallery-copy { display:block!important; margin-bottom:15px!important; }
 body .service-detail-pro .gallery-refresh h2 { font-size:24px!important; }
 body .service-detail-pro .gallery-refresh .service-gallery-photos { grid-template-columns:repeat(2,minmax(0,1fr))!important; grid-auto-rows:120px; gap:8px!important; }
 body .service-detail-pro .gallery-refresh .service-gallery-item:first-child { grid-column:1/-1; grid-row:span 2; }
 body .service-detail-pro .gallery-refresh .service-gallery-count-4 .service-gallery-item:last-child { grid-column:1/-1; }
 body .service-detail-pro .gallery-refresh .service-gallery-count-1 { grid-template-columns:1fr!important; grid-auto-rows:230px; }
 body .service-detail-pro .gallery-refresh .service-gallery-count-2 .service-gallery-item:first-child { grid-column:1/-1; grid-row:auto; }
 body .service-detail-pro .gallery-refresh .service-gallery-count-2 .service-gallery-item:last-child { grid-column:1/-1; }
 body .service-detail-pro .gallery-refresh .service-gallery-count-1 .service-gallery-item:first-child { grid-row:auto; }
}
/* Full-size viewer: contain keeps the entire photograph visible. */
.service-gallery-lightbox[hidden] { display:none!important; }
.service-gallery-lightbox { position:fixed; inset:0; z-index:10050; display:grid; place-items:center; padding:24px; background:#020a12f5; backdrop-filter:blur(12px); }
body.service-gallery-open { overflow:hidden; }
.service-gallery-dialog { position:relative; display:flex; flex-direction:column; width:min(1200px,100%); max-height:100%; min-height:0; color:#fff; }
.service-gallery-toolbar { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:12px; font:650 12px/1.4 system-ui,sans-serif; color:#d2e0e9; }
.service-gallery-lightbox button { display:grid; place-items:center; width:42px; height:42px; flex:none; margin:0; padding:0; border:1px solid #ffffff40; border-radius:50%; background:#163344; color:#fff; font:400 24px/1 system-ui,sans-serif; cursor:pointer; }
.service-gallery-lightbox button:hover { background:#2c4e60; }
.service-gallery-lightbox button:focus-visible { outline:3px solid #ffc45a; outline-offset:3px; }
.service-gallery-stage { position:relative; display:grid; place-items:center; min-height:0; }
.service-gallery-stage img { display:block; width:auto; max-width:100%; height:auto; max-height:calc(100dvh - 170px); object-fit:contain; border-radius:10px; }
.service-gallery-lightbox .service-gallery-prev,.service-gallery-lightbox .service-gallery-next { position:absolute; top:50%; transform:translateY(-50%); box-shadow:0 3px 15px #0006; }
.service-gallery-prev { left:12px; }.service-gallery-next { right:12px; }
.service-gallery-caption { margin:12px 0 0; text-align:center; color:#bed0dc; font:400 12px/1.5 system-ui,sans-serif; }
@media(max-width:760px) { .service-gallery-lightbox { padding:14px; }.service-gallery-stage img { max-height:calc(100dvh - 160px); }.service-gallery-prev { left:5px; }.service-gallery-next { right:5px; } }
@media(prefers-reduced-motion:reduce) { body .service-detail-pro .gallery-refresh .service-gallery-item img { transition:none; } }
.service-gallery-lightbox button[hidden] { display:none!important; }
