/* Compact translucent project/client panel with integrated navigation. */
.hero-slideshow .slide-caption{position:absolute;inset:auto 0 0;z-index:6;display:flex;align-items:center;gap:12px;min-height:52px;padding:3px 6px;background:rgba(255,255,255,.80);color:#003366;border-top:1px solid #ffffff99;clip-path:inset(0 100% 0 0);visibility:hidden;pointer-events:none;transition:clip-path .42s cubic-bezier(.22,.61,.36,1),visibility 0s .42s}
.hero-slideshow .slide-caption-copy{min-width:0;flex:1;display:grid;gap:1px}
.hero-slideshow .slide-caption-title{font:500 clamp(12px,1.1vw,15px)/1.2 var(--body,Arial,sans-serif);letter-spacing:-.01em;overflow-wrap:anywhere}
.hero-slideshow .slide-caption-client{font:400 clamp(10px,.85vw,12px)/1.25 var(--body,Arial,sans-serif);color:#16374b;overflow-wrap:anywhere}
.hero-slideshow .slide-caption-logo{display:block;flex:0 0 34px;width:34px;height:28px;object-fit:contain;max-width:12%;margin:0 4px}
.hero-slideshow .slide-caption .slide-prev,.hero-slideshow .slide-caption .slide-next{position:static;flex:0 0 44px;width:44px;height:44px;transform:none;padding:0;border:0;background:transparent;color:#003366;opacity:1;font:400 48px/38px Arial,sans-serif;text-shadow:none;pointer-events:auto;display:grid;place-items:center;transition:background .15s,color .15s}
.hero-slideshow .slide-caption .slide-prev:hover,.hero-slideshow .slide-caption .slide-next:hover{background:#00336612;color:#a3323c}
.hero-slideshow .slide-caption button:focus-visible{outline:2px solid #003366;outline-offset:-3px}
@media(hover:hover) and (pointer:fine){.hero-slideshow:hover .slide-caption{clip-path:inset(0);visibility:visible;transition-delay:0s}}
.hero-slideshow:focus-within .slide-caption,.hero-slideshow.caption-touch-visible .slide-caption{clip-path:inset(0);visibility:visible;transition-delay:0s}
@media(max-width:620px){.hero-slideshow .slide-caption{gap:5px;padding:2px;min-height:50px}.hero-slideshow .slide-caption-logo{flex-basis:26px;width:26px;height:23px;margin:0}}
@media(hover:none),(pointer:coarse){.hero-slideshow:focus-within:not(.caption-touch-visible) .slide-caption{clip-path:inset(0 100% 0 0);visibility:hidden;transition-delay:0s,.42s}}
@media(prefers-reduced-motion:reduce){.hero-slideshow .slide-caption{transition:none!important}}
/* Separate client branding at left; Mental Image remains at right. */
.hero-slideshow .slide-caption-client-logo{display:block;flex:0 0 64px;width:64px;height:34px;object-fit:contain;margin:0}
.hero-slideshow .slide-caption-client-logo[hidden]{display:none}
@media(max-width:620px){.hero-slideshow .slide-caption-client-logo{flex-basis:44px;width:44px;height:28px}.hero-slideshow .slide-caption:has(.slide-caption-client-logo:not([hidden])){gap:4px}}

.hero-slideshow .slide-caption-client{ text-decoration:none }
.hero-slideshow .slide-caption-client[href]{pointer-events:auto;text-decoration:underline;text-underline-offset:2px}
/* Desktop: wipe on, fade off; mouse-click focus must not leave the panel stuck on. */
@media(hover:hover) and (pointer:fine){
 .hero-slideshow .slide-caption,.hero-slideshow:focus-within .slide-caption{clip-path:inset(0);opacity:0;visibility:hidden;animation:none;transition:opacity .3s ease,visibility 0s .3s}
 .hero-slideshow:hover .slide-caption,.hero-slideshow:focus-visible .slide-caption,.hero-slideshow:has(:focus-visible) .slide-caption{opacity:1;visibility:visible;transition-delay:0s;animation:caption-wipe-on .42s ease both}
}
@keyframes caption-wipe-on{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}
@media(prefers-reduced-motion:reduce){.hero-slideshow .slide-caption{animation:none!important;transition:none!important}}
