/* Stage78.5: the main section of the existing public homepage */
.marketing-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.marketing-gallery-card{min-width:0;background:#fff;border:1px solid #dce6ee;border-radius:15px;box-shadow:0 10px 30px #133b590d;padding:10px 10px 20px;display:flex;flex-direction:column}
.marketing-gallery-media{background:#f0f3f6;border:1px solid #e3e9ee;border-radius:9px;display:flex;align-items:center;justify-content:center;height:225px;overflow:hidden}
.marketing-gallery-media img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;object-position:center;image-rendering:auto}
.marketing-gallery-card h3{font-size:17px;line-height:1.27;margin:16px 9px 6px;color:#18354d;letter-spacing:-.02em}
.marketing-gallery-card p{font-size:12px;color:#6c7e8f;line-height:1.42;margin:0 9px}
.marketing-gallery-failed{font-size:13px;text-align:center;color:#6f7e8a;padding:24px}
@media(min-width:1300px){.marketing-gallery-media{height:240px}}
@media(max-width:900px){.marketing-gallery{gap:12px}.marketing-gallery-media{height:182px}.marketing-gallery-card{padding:8px 8px 17px}.marketing-gallery-card h3{font-size:15px;margin:13px 5px 6px}.marketing-gallery-card p{margin:0 5px}}
@media(max-width:650px){.marketing-gallery{grid-template-columns:1fr;gap:15px}.marketing-gallery-media{height:auto;aspect-ratio:16/9;min-height:180px}.marketing-gallery-card{padding:9px 9px 18px}.marketing-gallery-card h3{font-size:18px;margin:13px 6px 5px}.marketing-gallery-card p{font-size:12px;margin:0 6px}}

/* Stage78.6: the image stays proportional; opening the original is one click. */
.marketing-gallery-open{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-width:0;background:transparent;border:0;padding:0;cursor:zoom-in}
.marketing-gallery-open:focus-visible{outline:3px solid #197ec8;outline-offset:-4px}
.marketing-gallery-media img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}

/* Stage78.7: accessible in-page enlargement of full-resolution PNGs. */
.marketing-lightbox{position:fixed;inset:0;overflow:hidden;width:min(1440px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 36px);margin:auto;border:1px solid #cddbe6;border-radius:18px;padding:0;background:#fbfdff;box-shadow:0 28px 80px #06172877;color:#1b3047}
.marketing-lightbox[open]{animation:marketingLightboxRise .24s cubic-bezier(.18,.85,.3,1) both}
.marketing-lightbox::backdrop{background:rgba(7,17,34,.78);backdrop-filter:blur(5px)}
.marketing-lightbox-inner{display:flex;flex-direction:column;min-width:0;max-height:calc(100dvh - 36px)}
.marketing-lightbox-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 17px 10px 22px;border-bottom:1px solid #e0e8f0;background:#fff}
.marketing-lightbox-bar>div{display:flex;flex-direction:column;gap:0}
.marketing-lightbox-bar strong{font-size:17px;letter-spacing:-.015em;line-height:1.35}
.marketing-lightbox-counter{font-size:12px;color:#7a8e9f}
.marketing-lightbox-close{width:39px;height:39px;flex:none;font:32px/1 Arial,sans-serif;color:#3c526b;border:1px solid #dce7ef;background:#f0f5f8;border-radius:10px;cursor:pointer}
.marketing-lightbox-close:hover{background:#e4eff7}
.marketing-lightbox-view{display:flex;align-items:center;justify-content:center;gap:9px;min-width:0;min-height:0;padding:14px;background:#edf1f6}
.marketing-lightbox-view img{width:auto;height:auto;display:block;max-width:calc(100% - 90px);max-height:calc(100dvh - 164px);min-height:0;object-fit:contain;box-shadow:0 2px 15px #162c4220}
.marketing-lightbox-nav{flex:none;width:39px;height:56px;border:1px solid #c9dce8;border-radius:9px;background:#fff;color:#245170;font:35px/1 Arial,sans-serif;cursor:pointer}
.marketing-lightbox-nav:hover{background:#e0f0fa}
.marketing-lightbox-foot{padding:9px 20px;display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#718497;background:#fff}
@keyframes marketingLightboxRise{from{opacity:0;transform:translateY(16px) scale(.987)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:640px){
 .marketing-lightbox{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:12px}
 .marketing-lightbox-inner{max-height:calc(100dvh - 16px)}
 .marketing-lightbox-bar{padding:10px 12px}
 .marketing-lightbox-bar strong{font-size:14px}
 .marketing-lightbox-view{gap:4px;padding:8px}
 .marketing-lightbox-view img{max-width:calc(100% - 72px);max-height:calc(100dvh - 138px)}
 .marketing-lightbox-nav{width:32px;height:47px;font-size:29px}
 .marketing-lightbox-foot{font-size:10px;padding:8px;flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){.marketing-lightbox[open]{animation:none}}
