/* Homepage overlays and reserved product media space. 2026-10-11. */
body:has(.showcase) .showcase__item{min-height:100svh!important}
body:has(.showcase) .showcase__data{position:absolute!important;top:auto!important;bottom:clamp(120px,18vh,200px)!important;left:0!important;right:0!important;margin-inline:auto!important;z-index:3!important;max-width:1160px!important;padding-inline:32px!important;pointer-events:auto}
body:has(.showcase) .showcase__title{font-size:clamp(36px,4.5vw,66px)!important;line-height:1.08!important;font-weight:500!important;max-width:700px!important;margin:16px 0 20px!important;color:#fff!important;letter-spacing:-.025em!important;transform:none!important}
body:has(.showcase) .showcase__subtitle{font:600 12px/1.5 Arial,sans-serif!important;letter-spacing:.15em!important;text-transform:uppercase!important;color:#fff!important;transform:none!important;margin:0!important}
body:has(.showcase) .showcase__shadow{background:linear-gradient(90deg,rgba(12,20,16,.76),rgba(12,20,16,.22) 67%,rgba(12,20,16,.06)),linear-gradient(0deg,rgba(12,20,16,.45),transparent 60%)!important}
body:has(.showcase) .showcase__img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;transform:none!important}
.lod-slide-description{font:400 clamp(16px,1.3vw,19px)/1.65 Arial,sans-serif!important;color:#fff!important;max-width:510px;margin:0 0 10px!important}
.lod-slide-area{font:400 12px/1.6 Arial,sans-serif!important;color:#f1f1e9!important;margin:0 0 26px!important}
.lod-slide-actions{display:flex;gap:12px;flex-wrap:wrap}
.lod-slide-actions a{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:14px 20px;min-height:48px;font:600 13px/1.4 Arial,sans-serif!important;border:1px solid #fff;text-decoration:none!important;transition:background .2s,color .2s}
.lod-slide-primary{background:#f5f3ea!important;color:#25382e!important}
.lod-slide-secondary{background:rgba(15,27,20,.35)!important;color:#fff!important}
.lod-slide-actions a:hover{background:#d9e2d4!important;color:#25382e!important}
.lod-slide-actions a:focus-visible,.lod-slide-pause:focus-visible{outline:3px solid #fff!important;outline-offset:5px}
.lod-slide-note{font:400 10px/1.5 Arial,sans-serif!important;color:#f1f1e9!important;margin:18px 0 0!important;max-width:510px}
.lod-slide-pause{position:absolute;z-index:10;right:32px;bottom:36px;border:1px solid rgba(255,255,255,.65);background:rgba(15,27,20,.55);color:#fff;padding:10px 16px;min-height:44px;font:400 12px/1.5 Arial,sans-serif;cursor:pointer}
.showcase__item:not(.swiper-slide-active) .lod-slide-actions{visibility:hidden}
/* Fixed frames keep the page stable as images, thumbnails and videos change. */
.product__figure--header{aspect-ratio:1/1;overflow:hidden!important;display:flex!important;align-items:center;justify-content:center}
.product__img--demo{width:100%!important;height:100%!important;object-fit:contain!important;aspect-ratio:1/1}
.product__figure--general{aspect-ratio:1325/1187;overflow:hidden!important;display:flex!important;align-items:center;justify-content:center}
.product__img--detail{width:100%!important;height:100%!important;object-fit:contain!important;aspect-ratio:1325/1187}
.product__img--thumbnail{width:100%;height:auto;aspect-ratio:1/1;object-fit:contain}
@media(max-width:700px){
 body:has(.showcase) .showcase__data{bottom:120px!important;padding-inline:24px!important}
 body:has(.showcase) .showcase__title{font-size:clamp(33px,8.5vw,46px)!important;max-width:520px!important;margin:12px 0 16px!important}
 .lod-slide-description{font-size:15px!important;line-height:1.55!important;max-width:420px}
 .lod-slide-area{font-size:11px!important;margin-bottom:20px!important}
 .lod-slide-actions{gap:8px}.lod-slide-actions a{padding:12px 14px;font-size:12px!important;gap:10px}
 .lod-slide-note{font-size:9px!important;margin-top:12px!important}
 .lod-slide-pause{right:20px;bottom:27px}
 body:has(.showcase) .showcase__shadow{background:linear-gradient(0deg,rgba(12,20,16,.88),rgba(12,20,16,.28) 75%,rgba(12,20,16,.12))!important}
 .showcase__item[data-lod-service=hardware] .showcase__img{object-position:63% center!important}
}
@media(max-height:600px){body:has(.showcase) .showcase__data{bottom:90px!important}.lod-slide-area{margin-bottom:12px!important}.lod-slide-note{margin-top:8px!important}body:has(.showcase) .showcase__title{font-size:34px!important;margin:8px 0!important}.lod-slide-description{font-size:14px!important}}
@media(prefers-reduced-motion:reduce){.showcase *{transition:none!important;animation:none!important}}
.lod-hardware-preview{position:absolute;z-index:4;right:max(6vw,32px);top:30%;width:310px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lod-hardware-preview a{display:block;background:#f7f5ef;padding:10px;border:1px solid #d5d9cf;box-shadow:0 8px 28px #0003;text-decoration:none;color:#25382e}
.lod-hardware-preview img{width:100%;height:150px;object-fit:contain;background:white}
.lod-hardware-preview span{display:block;font:600 11px/1.5 Arial,sans-serif;margin-top:9px}
.showcase__item:not(.swiper-slide-active) .lod-hardware-preview{visibility:hidden}
@media(max-width:1000px){.lod-hardware-preview{top:16%;right:24px;width:250px}.lod-hardware-preview img{height:115px}}
@media(max-width:700px){.lod-hardware-preview{top:16%;left:24px;right:auto;width:210px;gap:8px}.lod-hardware-preview img{height:92px}.lod-hardware-preview a{padding:7px}.lod-hardware-preview span{font-size:10px;margin-top:6px}}
@media(max-height:650px){.lod-hardware-preview{top:20%;left:auto;right:24px;width:210px}.lod-hardware-preview img{height:90px}}
/* Visible, understated gallery links directly beneath each project image. */
body #main .project__list .project__item{display:flex!important;flex-direction:column!important;align-items:stretch!important}
body #main .project__list .project__item > .project__link{order:0!important}
body #main .project__list .project__item > .project__data{order:2!important}
body #main .project__list .project__item > a.project__button{order:1!important;display:inline-flex!important;align-items:center!important;align-self:flex-start!important;gap:10px!important;position:static!important;transform:none!important;opacity:1!important;visibility:visible!important;background:transparent!important;color:#435a4c!important;border:0!important;border-radius:0!important;box-shadow:none!important;width:fit-content!important;height:auto!important;min-height:44px!important;padding:8px 0!important;margin:4px 0 0!important;font:400 14px/1.5 Arial,sans-serif!important;text-decoration:underline!important;text-decoration-thickness:1px!important;text-underline-offset:5px!important;letter-spacing:0!important}
body #main .project__list .project__item > a.project__button:hover{color:#263a2e!important;background:transparent!important}
body #main .project__list .project__item > a.project__button:focus-visible{outline:2px solid #435a4c!important;outline-offset:4px!important}
body #main .project__list .project__item > a.project__button > span:last-child{font-size:18px!important;font-weight:400!important}

/* Mobile composition: show complete imagery and keep actions clear of navigation. */
.lod-slide-pause{display:none!important}
@media(max-width:700px){
 body:has(.showcase){overflow-x:hidden}
 body:has(.showcase) main,body:has(.showcase) .showcase{width:100%!important;max-width:100vw!important;min-width:0!important}
 body:has(.showcase) .showcase{height:100svh!important;min-height:0!important;overflow:hidden!important;background:#18221e!important}
 body:has(.showcase) .showcase .showcase__swiper,body:has(.showcase) .showcase .showcase__list{height:100%!important;max-width:100%!important;min-height:0!important}
 body:has(.showcase) .showcase .showcase__item{height:100%!important;min-height:0!important;overflow:hidden!important;background:#18221e!important}
 body:has(.showcase) .showcase .showcase__img{position:absolute!important;top:76px!important;left:0!important;width:100%!important;max-width:100%!important;height:calc(52svh - 28px)!important;object-fit:contain!important;object-position:center center!important;transform:none!important}
 body:has(.showcase) .showcase .showcase__shadow{background:linear-gradient(0deg,#18221e 0%,rgba(24,34,30,.98) 28%,rgba(24,34,30,.1) 58%,transparent 83%)!important}
 body:has(.showcase) .showcase .showcase__data{top:auto!important;bottom:88px!important;left:0!important;right:0!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;padding:0 24px!important;margin:0!important;text-align:left!important}
 body:has(.showcase) .showcase .showcase__title{font-size:clamp(28px,7.7vw,35px)!important;line-height:1.08!important;max-width:100%!important;margin:10px 0 12px!important}
 body:has(.showcase) .showcase .showcase__subtitle{font-size:10px!important;letter-spacing:.12em!important}
 body:has(.showcase) .showcase .lod-slide-description{font-size:14px!important;line-height:1.5!important;margin-bottom:8px!important;max-width:100%!important}
 body:has(.showcase) .showcase .lod-slide-area{font-size:10px!important;line-height:1.4!important;margin-bottom:14px!important}
 body:has(.showcase) .showcase .lod-slide-actions{gap:8px!important;flex-wrap:wrap!important;max-width:100%!important}
 body:has(.showcase) .showcase .lod-slide-actions a{font-size:11px!important;min-height:44px!important;padding:10px 12px!important;gap:8px!important;box-sizing:border-box!important;max-width:100%!important;width:auto!important}
 body:has(.showcase) .showcase .lod-slide-note{font-size:9px!important;line-height:1.4!important;margin-top:10px!important}
 body:has(.showcase) .showcase .showcase__content{position:absolute!important;left:24px!important;right:auto!important;top:auto!important;bottom:16px!important;margin:0!important;padding:0!important;width:auto!important;z-index:30!important}
 body:has(.showcase) .showcase .showcase__social{display:flex!important;flex-direction:row!important;align-items:center!important;gap:14px!important;margin:0!important;padding:0!important}
 body:has(.showcase) .showcase .showcase__link{display:flex!important;align-items:center!important;justify-content:center!important;width:32px!important;height:44px!important;font-size:21px!important}
 body:has(.showcase) .showcase .swiper-navigation{position:absolute!important;left:auto!important;right:20px!important;top:auto!important;bottom:16px!important;display:flex!important;gap:12px!important;margin:0!important;width:auto!important;z-index:30!important}
 body:has(.showcase) .showcase .swiper-button-next,body:has(.showcase) .showcase .swiper-button-prev{position:static!important;transform:none!important;width:32px!important;height:44px!important;margin:0!important;font-size:25px!important}
 body:has(.showcase) .showcase .swiper-pagination{top:94px!important;right:22px!important;left:auto!important;bottom:auto!important;width:auto!important;font-size:22px!important;z-index:6!important}
 main img{max-width:100%!important}
 main .article__gallery,main .article__container,main .article__data,main .project__container{min-width:0!important;max-width:100%!important}
 main .article__gallery img{width:100%!important;height:auto!important;object-fit:contain!important}
 main .article__gallery iframe{width:100%!important;max-width:100%!important}
}
@media(max-width:700px) and (max-height:700px){
 body:has(.showcase) .showcase .showcase__img{height:calc(47svh - 20px)!important}
 body:has(.showcase) .showcase .showcase__data{bottom:80px!important}
 body:has(.showcase) .showcase .showcase__title{font-size:28px!important;margin:8px 0 10px!important}
 body:has(.showcase) .showcase .lod-slide-description{font-size:13px!important}
 body:has(.showcase) .showcase .lod-slide-note{margin-top:8px!important}
}
@media(max-width:700px) and (max-height:500px){
 body:has(.showcase) .showcase{height:auto!important;min-height:650px!important}
 body:has(.showcase) .showcase .showcase__swiper{height:650px!important}
 body:has(.showcase) .showcase .showcase__img{height:280px!important}
}

@media(max-width:700px){
 body:has(.showcase) .showcase .showcase__content{height:44px!important;width:124px!important;overflow:visible!important;transform:none!important}
 body:has(.showcase) .showcase .showcase__social{position:static!important;top:auto!important;bottom:auto!important;left:auto!important;right:auto!important;transform:none!important;height:44px!important;width:124px!important}
}
