/* Scoped gallery teaser: no business photo is used as its background. */
.dpro-gallery{margin:32px 0;--gallery-radius:24px;--gallery-accent:var(--dpro-accent,#3757c8)}
.dpro-gallery,.dpro-gallery *,.dpro-lightbox,.dpro-lightbox *{box-sizing:border-box}
.dpro-gallery[hidden],.dpro-gallery [hidden],.dpro-lightbox [hidden]{display:none!important}
.dpro-gallery details{overflow:visible;background:transparent}
.dpro-gallery summary{position:relative;isolation:isolate;overflow:hidden;min-height:164px;cursor:pointer;display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:20px;padding:24px 28px;border:1px solid #d9e3f1;border-radius:var(--gallery-radius);color:#17243b;list-style:none;background:radial-gradient(ellipse at 100% 0%,#e4e8ff 0,transparent 45%),linear-gradient(115deg,#fffdf9 0%,#f4f8ff 58%,#effcf8 100%);box-shadow:0 14px 36px #192b4514;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.dpro-gallery summary::-webkit-details-marker{display:none}
.dpro-gallery summary::before{content:"";position:absolute;z-index:0;right:13%;top:-118px;width:238px;height:238px;border:1px solid #ffffffa6;border-radius:50%;background:radial-gradient(circle at 35% 35%,#ffffffc7 0,#b9c8ff57 42%,#ffffff00 70%);box-shadow:0 0 0 18px #ffffff2b,0 0 0 38px #ffffff20;pointer-events:none}
.dpro-gallery summary::after{content:"";position:absolute;z-index:0;top:-35%;bottom:-35%;left:0;width:24%;background:linear-gradient(90deg,transparent,#ffffffa1,transparent);transform:translateX(-150%) skewX(-18deg);animation:dpro-gallery-shimmer 6s ease-in-out infinite;pointer-events:none}
.dpro-gallery summary:hover{transform:translateY(-3px);border-color:#b8c8ec;box-shadow:0 20px 46px #192b4520}
.dpro-gallery summary:active{transform:translateY(-1px)}
.dpro-gallery__icon,.dpro-gallery__intro,.dpro-gallery__cta{position:relative;z-index:1}
.dpro-gallery__icon{display:grid;place-items:center;width:54px;height:54px;border-radius:18px;color:#fff;background:linear-gradient(145deg,#7955e8,#3d6de0 68%,#36a8d4);box-shadow:0 9px 22px #5264d34d}
.dpro-gallery__icon span{font-size:25px;line-height:1;animation:dpro-gallery-float 3.2s ease-in-out infinite}
.dpro-gallery__intro{display:grid;gap:6px;min-width:0}
.dpro-gallery__eyebrow{color:#516684;font-size:13px;font-weight:650;letter-spacing:.035em;line-height:1.45}
.dpro-gallery__title{color:#17243b;font-size:clamp(21px,2.6vw,30px);line-height:1.18;font-weight:760;letter-spacing:-.025em}
.dpro-gallery__count{color:#516684;font-size:13px;font-weight:650}
.dpro-gallery__cta{display:flex;align-items:center;gap:12px;padding:9px 10px 9px 16px;border:1px solid #dbe3f1;border-radius:999px;background:#ffffffc9;color:#334f9f;font-size:13px;font-weight:750;white-space:nowrap;box-shadow:0 4px 14px #192b450d;transition:transform .25s ease,background .25s ease,border-color .25s ease}
.dpro-gallery summary:hover .dpro-gallery__cta{transform:translateX(3px);border-color:#c3cdee;background:#fff}
.dpro-gallery__arrow{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:#fff;background:linear-gradient(140deg,#7357db,#3f71d7);font-size:20px;line-height:1;transition:transform .25s ease}
.dpro-gallery details[open] .dpro-gallery__arrow{transform:rotate(90deg)}
.dpro-gallery__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:16px;animation:dpro-gallery-reveal .3s ease both}
.dpro-gallery__tile{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;border-radius:12px;background:#dce3e9;color:#fff!important}
.dpro-gallery__tile:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto;min-height:220px}
.dpro-gallery__tile:only-child{grid-column:1/-1;grid-row:auto;aspect-ratio:16/9;max-height:520px}
.dpro-gallery__tile img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.dpro-gallery__tile:hover img{transform:scale(1.05)}
.dpro-gallery__tile span{position:absolute;bottom:0;left:0;right:0;padding:24px 12px 12px;background:linear-gradient(transparent,#000a);font-size:12px;line-height:1.4;opacity:0;transition:opacity .2s}
.dpro-gallery__tile:hover span,.dpro-gallery__tile:focus-visible span{opacity:1}
.dpro-gallery summary:focus-visible,.dpro-gallery__tile:focus-visible,.dpro-lightbox button:focus-visible{outline:3px solid #63cbff;outline-offset:3px}
.dpro-lightbox{position:fixed;inset:0;width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#081019f7;color:#fff;z-index:2147483647;overscroll-behavior:contain}
.dpro-lightbox:not([open]){display:none}
.dpro-lightbox[open]{display:flex;flex-direction:column;animation:dpro-gallery-reveal .2s ease}
.dpro-lightbox::backdrop{background:#050a10e8;backdrop-filter:blur(12px)}
.dpro-lightbox__bar{display:flex;align-items:center;gap:16px;padding:16px max(20px,env(safe-area-inset-right));padding-top:max(16px,env(safe-area-inset-top));flex-shrink:0}
.dpro-lightbox__counter{flex:1;font-size:14px;font-variant-numeric:tabular-nums}
.dpro-lightbox button{font:inherit;cursor:pointer;display:grid;place-items:center;min-width:46px;min-height:46px;padding:8px;border:1px solid #ffffff40;background:#ffffff12;color:#fff;border-radius:50%;box-shadow:none;line-height:1}
.dpro-lightbox button:hover{background:#ffffff2e}
.dpro-lightbox__stage{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:0 76px;overflow:hidden;touch-action:pan-y pinch-zoom}
.dpro-lightbox__image{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:10px;box-shadow:0 22px 90px #0006;transition:opacity .2s}
.dpro-lightbox.is-loading .dpro-lightbox__image{opacity:.25}
.dpro-lightbox__prev,.dpro-lightbox__next{position:absolute;top:50%;transform:translateY(-50%);z-index:2;font-size:25px!important}
.dpro-lightbox__prev{left:16px}.dpro-lightbox__next{right:16px}
.dpro-lightbox__caption{min-height:40px;max-width:960px;text-align:center;margin:12px auto 0;padding:0 20px;font-size:14px;line-height:1.5}
.dpro-lightbox__strip{display:flex;justify-content:safe center;gap:8px;overflow-x:auto;padding:12px 20px max(18px,env(safe-area-inset-bottom));flex-shrink:0}
.dpro-lightbox__strip button{flex:0 0 64px;width:64px;height:48px;min-height:48px;padding:2px;border-radius:8px;border:2px solid transparent;opacity:.6}
.dpro-lightbox__strip button[aria-current=true]{opacity:1;border-color:#fff}
.dpro-lightbox__strip img{width:100%;height:100%;object-fit:cover;border-radius:4px}
@keyframes dpro-gallery-reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes dpro-gallery-shimmer{0%,72%,100%{transform:translateX(-150%) skewX(-18deg)}86%{transform:translateX(520%) skewX(-18deg)}}
@keyframes dpro-gallery-float{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-3px) rotate(5deg)}}
@media(max-width:900px){.dpro-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dpro-gallery__tile:first-child{grid-column:span 2;grid-row:auto;aspect-ratio:16/9}.dpro-lightbox__stage{padding:0 58px}}
@media(max-width:620px){.dpro-gallery summary{grid-template-columns:46px minmax(0,1fr);gap:10px 14px;padding:20px}.dpro-gallery__icon{grid-column:1;grid-row:1;width:46px;height:46px;border-radius:15px}.dpro-gallery__intro{grid-column:2;grid-row:1}.dpro-gallery__cta{grid-column:2;justify-self:start;padding:7px 8px 7px 13px}.dpro-gallery__arrow{width:30px;height:30px}.dpro-gallery__grid{padding:10px;gap:8px}.dpro-lightbox__stage{padding:0 8px}.dpro-lightbox__prev,.dpro-lightbox__next{top:auto;bottom:10px;transform:none;background:#0009!important}.dpro-lightbox__prev{left:12px}.dpro-lightbox__next{right:12px}.dpro-lightbox__strip{justify-content:flex-start}.dpro-lightbox__caption{font-size:13px}.dpro-gallery__tile span{opacity:1}}
@media(prefers-reduced-motion:reduce){.dpro-gallery *,.dpro-lightbox,.dpro-lightbox *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
