/* KaminCN presentation only; licensed vendor CSS is kept byte-for-byte. */
.content-photo-zoom{display:block;width:100%;max-width:100%;padding:0;border:0;background:transparent;color:inherit;cursor:zoom-in;text-align:inherit;line-height:0}
.company-hero-image>.content-photo-zoom{height:100%}
.company-hero-image>.content-photo-zoom>img{display:block;width:100%;height:100%;object-fit:cover;object-position:40% center}
.service-intro>.content-photo-zoom>img{display:block;height:530px;width:100%;object-fit:cover;object-position:33% center}
.project-detail>.content-photo-zoom>img{display:block;max-height:850px;width:100%;height:auto;object-fit:contain;background:var(--secondary)}
.hero-photo>.content-photo-zoom{position:absolute;inset:0;height:100%}
.hero-photo>.content-photo-zoom>picture{position:absolute;inset:0}
.hero-photo>.content-photo-zoom>picture>img{width:100%;height:100%;object-fit:cover;object-position:60% center}
.content-photo-zoom img,.service-gallery [data-content-photo-link] img{cursor:zoom-in}
.content-photo-zoom:focus-visible img{outline:3px solid #a54524;outline-offset:4px}
.content-photo-zoom:disabled{cursor:default}
.brand-photo-zoom{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in;min-width:0;color:inherit}
.brand-photo-zoom img{display:block;width:100%;height:100%;object-fit:contain}
.brand-photo-zoom:focus-visible{outline:3px solid #a54524;outline-offset:3px}
.product-main-image>a.MagicZoom{display:block;width:100%;height:100%;margin:0;cursor:zoom-in;text-align:center}
.product-main-image>a.MagicZoom>.mz-figure{display:inline-block;max-width:100%;height:100%;margin:0}
.product-main-image>a.MagicZoom>.mz-figure>img{max-width:100%;max-height:100%;object-fit:contain}
.image-thumbnails>a.thumbnail{display:flex;align-items:center;justify-content:center;color:inherit;text-decoration:none}
.image-thumbnails>a.thumbnail:focus-visible{outline:3px solid #a54524;outline-offset:2px}
.kamincn-zoom-source{position:fixed;left:-10000px;top:0;width:80px;height:80px;pointer-events:none;overflow:hidden}
.kamincn-zoom-source>a{display:inline-block;width:64px;height:64px}
.kamincn-zoom-source img{width:64px;height:64px;object-fit:contain}
.mz-expand{z-index:2147483000}
.mz-expand button:focus-visible,.mz-expand a:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(max-width:900px){.company-hero-image>.content-photo-zoom>img{object-position:center}}
@media(max-width:800px){.service-intro>.content-photo-zoom>img{height:360px}.project-detail>.content-photo-zoom>img{max-height:700px}}
@media(prefers-reduced-motion:reduce){.mz-expand,.mz-expand *,.mz-figure *{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Portfolio cards open the photo album directly; details and videos stay reachable. */
.portfolio-view-label{position:absolute;left:9px;bottom:9px;padding:4px 7px;border-radius:3px;background:rgb(0 0 0 / 62%);color:#fff;font-size:12px;line-height:1.5;pointer-events:none}
.portfolio-card [data-open-project]{cursor:zoom-in}
.portfolio-card-details{padding:6px 3px;border:0;background:transparent;color:var(--muted-foreground,#626763);font-size:13px;line-height:1.4;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.portfolio-card-details:hover{color:var(--primary,#a54524)}
.portfolio-zoom-toolbar{position:absolute;top:16px;left:16px;z-index:2100000001;max-width:min(440px,calc(100% - 104px));padding:12px 14px;border:1px solid rgb(255 255 255 / 20%);border-radius:8px;background:rgb(20 22 21 / 86%);color:#fff;text-align:left;backdrop-filter:blur(12px)}
.portfolio-zoom-copy h2{max-height:2.7em;overflow:hidden;margin:0;font-size:18px;font-weight:500;line-height:1.35;overflow-wrap:anywhere}
.portfolio-zoom-count{display:block;margin-top:4px;font-size:12px;line-height:1.4;opacity:.8}
.portfolio-zoom-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.portfolio-zoom-actions>a,.portfolio-zoom-actions>button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;margin:0;padding:7px 10px;border:1px solid rgb(255 255 255 / 55%);border-radius:3px;background:transparent;color:#fff;font:inherit;font-size:13px;line-height:1.3;text-decoration:none;cursor:pointer}
.portfolio-zoom-actions>.portfolio-zoom-request{background:#fff;color:#202522;border-color:#fff}
.portfolio-zoom-actions>a:hover,.portfolio-zoom-actions>button:hover{box-shadow:0 0 0 1px #fff}
@media(max-width:640px){.portfolio-zoom-toolbar{top:12px;left:12px;max-width:calc(100% - 80px);padding:10px}.portfolio-zoom-copy h2{font-size:14px}.portfolio-zoom-count{font-size:11px}.portfolio-zoom-actions{gap:6px;margin-top:8px}.portfolio-zoom-actions>a,.portfolio-zoom-actions>button{min-height:32px;padding:6px 8px;font-size:12px}}

.mz-expand.kamincn-portfolio-viewer .portfolio-zoom-toolbar,.mz-expand.kamincn-portfolio-viewer .portfolio-zoom-toolbar *{text-shadow:none!important}
