/* Isolated gallery module V31 */
section.works .drag-gallery{position:relative;overflow:hidden;margin-top:54px;padding-bottom:88px}
section.works .drag-viewport{width:100%;overflow:hidden;scrollbar-width:none;touch-action:pan-y;padding-inline:clamp(22px,5vw,88px);box-sizing:border-box}
section.works .drag-viewport::-webkit-scrollbar{display:none}
section.works .drag-track{display:flex!important;align-items:stretch!important;gap:20px!important;width:max-content!important;transform:none!important;transition:none!important;will-change:scroll-position}
section.works .drag-track>.work-card{display:block!important;flex:0 0 clamp(260px,23vw,350px)!important;width:clamp(260px,23vw,350px)!important;height:470px!important;margin:0!important;overflow:hidden!important;background:#111a12!important}
section.works .work-open-button{display:grid!important;grid-template-rows:minmax(0,1fr) 58px!important;width:100%!important;height:100%!important;padding:0!important;border:0!important;background:transparent!important;color:inherit!important;text-align:left!important;cursor:zoom-in!important}
section.works .work-image{position:relative!important;min-height:0!important;overflow:hidden!important}
section.works .work-image>img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;transition:transform .35s ease,filter .35s ease!important}
section.works .work-image::after{content:"⌕";position:absolute;left:50%;top:50%;z-index:5;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;transform:translate(-50%,-50%) scale(.75);opacity:0;background:rgba(28,38,28,.74);border:1px solid rgba(255,255,255,.58);color:#fff;font-size:30px;transition:.25s ease;pointer-events:none}
section.works .work-card:hover .work-image::after,section.works .work-open-button:focus-visible .work-image::after{opacity:1;transform:translate(-50%,-50%) scale(1)}
section.works .work-card:hover .work-image>img{transform:scale(1.04);filter:brightness(.78)}
section.works .drag-track .work-card footer{display:flex!important;align-items:center!important;justify-content:space-between!important;height:58px!important;padding:0 18px!important;box-sizing:border-box!important;background:#111a12!important;color:#fff!important}
section.works .gallery-controls{position:absolute!important;left:clamp(22px,5vw,88px)!important;bottom:18px!important;z-index:10!important;display:flex!important;align-items:center!important;gap:16px!important}
section.works .gallery-arrow{cursor:pointer!important;pointer-events:auto!important}
section.works .gallery-progress{width:260px!important;max-width:25vw!important;overflow:hidden!important}
section.works .gallery-progress span{display:block!important;transform-origin:left center!important;transition:transform .35s ease!important}

.portfolio-modal{position:fixed!important;inset:0!important;z-index:2147483646!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:24px!important;box-sizing:border-box!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:opacity .22s ease,visibility .22s ease!important}
.portfolio-modal.is-open{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
.portfolio-modal__backdrop{position:absolute!important;inset:0!important;background:rgba(4,9,5,.94)!important;backdrop-filter:blur(12px)!important}
.portfolio-modal__dialog{position:relative!important;z-index:2!important;width:min(1120px,94vw)!important;height:min(840px,90vh)!important;display:flex!important;align-items:center!important;justify-content:center!important;margin:auto!important}
.portfolio-modal__figure{display:grid!important;grid-template-rows:minmax(0,1fr) 64px!important;width:100%!important;height:100%!important;margin:0!important;overflow:hidden!important;background:#101710!important;box-shadow:0 32px 100px rgba(0,0,0,.6)!important}
.portfolio-modal__image{display:block!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;background:#101710!important}
.portfolio-modal__figure figcaption{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:0 24px!important;background:#f4f0e8!important;color:#1f271f!important;font-family:"Playfair Display",serif!important;font-size:20px!important}
.portfolio-modal__counter{font-family:Arial,sans-serif!important;font-size:13px!important}
.portfolio-modal__close,.portfolio-modal__arrow{position:absolute!important;z-index:6!important;width:52px!important;height:52px!important;border-radius:50%!important;border:1px solid rgba(255,255,255,.55)!important;background:rgba(18,29,18,.8)!important;color:#fff!important;display:grid!important;place-items:center!important;cursor:pointer!important;font-size:24px!important}
.portfolio-modal__close{right:14px!important;top:14px!important}
.portfolio-modal__arrow{top:50%!important;transform:translateY(-50%)!important}
.portfolio-modal__prev{left:16px!important}.portfolio-modal__next{right:16px!important}
body.portfolio-modal-open{overflow:hidden!important}
@media(max-width:700px){section.works .drag-track>.work-card{flex-basis:calc(100vw - 44px)!important;width:calc(100vw - 44px)!important;height:420px!important}.portfolio-modal{padding:8px!important}.portfolio-modal__dialog{width:100%!important;height:88vh!important}.portfolio-modal__arrow{width:44px!important;height:44px!important}.portfolio-modal__prev{left:8px!important}.portfolio-modal__next{right:8px!important}}

/* V32 popup hardening */
.portfolio-modal[hidden]{display:none!important}
.portfolio-modal{position:fixed!important;inset:0!important;z-index:2147483647!important;align-items:center!important;justify-content:center!important;width:100vw!important;height:100vh!important;margin:0!important;padding:clamp(10px,2vw,28px)!important;box-sizing:border-box!important}
.portfolio-modal.is-open{display:flex!important}
.portfolio-modal__dialog{position:relative!important;inset:auto!important;transform:none!important;margin:auto!important;width:min(1180px,94vw)!important;height:min(860px,90vh)!important;max-width:none!important;max-height:none!important}
.portfolio-modal__figure{position:relative!important;width:100%!important;height:100%!important}
.portfolio-modal__image{width:100%!important;height:100%!important;object-fit:contain!important}
