/* Hydroseal Projects Gallery - frontend (white section, no glow) */
.hs-pg{--hs-pg-blue:#238cf9;--hs-pg-blue-2:#4aa3fb;--hs-pg-tint:#eef5fe;--hs-pg-tint-2:#d6e8fd;--hs-pg-dark:#05274c;--hs-pg-text:#4a5d76;--hs-pg-line:#d9e6f6;
background:#fff;color:var(--hs-pg-text);font-family:'Averta PE VF Trial','Poppins',sans-serif;padding:clamp(50px,7vw,100px) 20px;scroll-margin-top:90px;box-sizing:border-box}
.hs-pg *,.hs-pg *::before,.hs-pg *::after{box-sizing:border-box}
.hs-pg [hidden]{display:none!important}
.hs-pg-wrap{max-width:1200px;margin:0 auto}

/* heading */
.hs-pg-head{max-width:760px;margin:0 auto clamp(26px,4vw,40px);text-align:center}
.hs-pg-eyebrow{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--hs-pg-blue);background:var(--hs-pg-tint);border:1px solid var(--hs-pg-tint-2);padding:7px 16px;border-radius:999px;margin-bottom:16px}
.hs-pg h2.hs-pg-h2{margin:0 0 12px;font-size:clamp(28px,3.8vw,44px);line-height:1.12;font-weight:800;letter-spacing:-.015em;color:var(--hs-pg-dark)}
.hs-pg-h2 span{color:var(--hs-pg-blue)}
.hs-pg-lead{margin:0;font-size:clamp(16px,1.4vw,18px);line-height:1.7}

/* city filter */
.hs-pg-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 clamp(26px,3.5vw,38px)}
.hs-pg-f{appearance:none;-webkit-appearance:none;border:1.5px solid var(--hs-pg-line);background:#fff;color:var(--hs-pg-dark);font:600 15px/1 'Averta PE VF Trial','Poppins',sans-serif;padding:12px 20px;border-radius:999px;cursor:pointer;white-space:nowrap;transition:transform .25s,background .25s,color .25s,border-color .25s,box-shadow .25s}
.hs-pg-f:hover{border-color:var(--hs-pg-blue-2);color:var(--hs-pg-blue);transform:translateY(-3px);box-shadow:0 10px 22px rgba(35,140,249,.14)}
.hs-pg-f:focus-visible{outline:3px solid rgba(35,140,249,.4);outline-offset:2px}
.hs-pg-f.is-active{background:var(--hs-pg-dark);border-color:var(--hs-pg-dark);color:#fff;box-shadow:0 10px 22px rgba(5,39,76,.22)}
.hs-pg-f.is-active:hover{color:#fff;transform:none}

/* grid + cards */
.hs-pg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.hs-pg-card{background:#fff;border:1px solid var(--hs-pg-line);border-radius:24px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .35s,border-color .35s,transform .35s}
.hs-pg-card:hover{box-shadow:0 26px 52px rgba(5,39,76,.13);border-color:var(--hs-pg-blue-2)}
.hs-pg-js .hs-pg-card{opacity:0;transform:translateY(28px) scale(.98);transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s;transition-delay:var(--hs-pg-dl,0s),var(--hs-pg-dl,0s),0s,0s}
.hs-pg-js .hs-pg-card.hs-pg-in{opacity:1;transform:none}
.hs-pg-js .hs-pg-card.hs-pg-in:hover{transform:translateY(-8px)}
.hs-pg-js .hs-pg-card.hs-pg-leave{opacity:0!important;transform:scale(.96)!important;transition:opacity .2s,transform .2s!important;transition-delay:0s!important}

/* media */
.hs-pg-media{position:relative;aspect-ratio:4/3;background:var(--hs-pg-tint);overflow:hidden}
.hs-pg .hs-pg-media img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;display:block;margin:0;border-radius:0;pointer-events:none;-webkit-user-drag:none}
.hs-pg-single img{transition:transform 1s ease}
.hs-pg-card:hover .hs-pg-single img{transform:scale(1.05)}
.hs-pg-cmp{--p:50%;position:absolute;inset:0;cursor:ew-resize;touch-action:pan-y;-webkit-user-select:none;user-select:none}
.hs-pg .hs-pg-cmp .hs-pg-before{clip-path:inset(0 calc(100% - var(--p)) 0 0)}
.hs-pg-lab{position:absolute;z-index:3;top:12px;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;pointer-events:none}
.hs-pg-lab-b{left:12px;background:rgba(5,39,76,.88);color:#fff}
.hs-pg-lab-a{right:12px;background:#fff;color:var(--hs-pg-dark);box-shadow:0 6px 14px rgba(5,39,76,.16)}
.hs-pg-handle{position:absolute;z-index:4;top:0;bottom:0;left:var(--p);width:44px;margin-left:-22px;display:flex;justify-content:center;outline:none}
.hs-pg-handle::before{content:"";position:absolute;top:0;bottom:0;width:3px;background:#fff;box-shadow:0 0 10px rgba(5,39,76,.35)}
.hs-pg-knob{position:absolute;top:50%;width:44px;height:44px;margin-top:-22px;border-radius:50%;background:#fff;color:var(--hs-pg-dark);display:grid;place-items:center;box-shadow:0 10px 22px rgba(5,39,76,.35);transition:transform .25s,background .25s,color .25s}
.hs-pg-knob svg{width:22px;height:22px}
.hs-pg-cmp:hover .hs-pg-knob,.hs-pg-handle:focus-visible .hs-pg-knob{transform:scale(1.12);background:var(--hs-pg-blue);color:#fff}
.hs-pg-ph{position:absolute;inset:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:2px dashed #8dc2fb;border-radius:16px;background:linear-gradient(145deg,var(--hs-pg-tint),var(--hs-pg-tint-2));color:var(--hs-pg-dark);font-weight:700;text-align:center}
.hs-pg-ph svg{width:34px;height:34px;color:var(--hs-pg-blue)}
.hs-pg-vbtn{position:absolute;z-index:6;right:12px;bottom:12px;display:inline-flex;align-items:center;gap:8px;padding:9px 14px 9px 10px;border:0;border-radius:999px;background:#fff;color:var(--hs-pg-dark);font:700 13.5px/1 'Averta PE VF Trial','Poppins',sans-serif;cursor:pointer;box-shadow:0 10px 22px rgba(5,39,76,.28);transition:transform .25s,background .25s,color .25s}
.hs-pg-vbtn svg{width:26px;height:26px;padding:6px;border-radius:50%;background:var(--hs-pg-blue);color:#fff}
.hs-pg-vbtn:hover,.hs-pg-vbtn:focus-visible{transform:translateY(-3px);background:var(--hs-pg-dark);color:#fff}

/* body */
.hs-pg-body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.hs-pg-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.hs-pg-city,.hs-pg-area{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;font-size:13.5px;font-weight:600;line-height:1.2}
.hs-pg-city{background:var(--hs-pg-tint);border:1px solid var(--hs-pg-tint-2);color:var(--hs-pg-dark)}
.hs-pg-area{background:#fff;border:1px solid var(--hs-pg-line);color:var(--hs-pg-text)}
.hs-pg-city svg,.hs-pg-area svg{width:15px;height:15px;flex:none;color:var(--hs-pg-blue)}
.hs-pg-area b{font-family:'Poppins',sans-serif;font-weight:700;color:var(--hs-pg-dark)}
.hs-pg h3.hs-pg-title{margin:0 0 16px;font-size:clamp(19px,1.9vw,22px);line-height:1.25;font-weight:800;color:var(--hs-pg-dark);flex:1}
.hs-pg-link{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;color:var(--hs-pg-blue);font-size:15px;font-weight:700;text-decoration:none;border-bottom:2px solid var(--hs-pg-tint-2);padding-bottom:3px;transition:color .25s,border-color .25s}
.hs-pg-link svg{width:18px;height:18px;transition:transform .25s}
.hs-pg-link:hover{color:var(--hs-pg-dark);border-color:var(--hs-pg-blue)}
.hs-pg-link:hover svg{transform:translateX(5px)}
.hs-pg-link-solid{display:inline-flex;margin-top:6px;padding:14px 24px;border:0;border-radius:12px;background:linear-gradient(135deg,var(--hs-pg-blue),#1a6fd0);color:#fff;box-shadow:0 10px 24px rgba(35,140,249,.32)}
.hs-pg-link-solid:hover{color:#fff;transform:translateY(-3px)}

/* show more + note */
.hs-pg-morewrap{display:flex;justify-content:center;margin-top:34px}
.hs-pg-more{appearance:none;-webkit-appearance:none;border:1.5px solid var(--hs-pg-tint-2);background:#fff;color:var(--hs-pg-dark);font:700 16px/1 'Averta PE VF Trial','Poppins',sans-serif;padding:15px 28px;border-radius:12px;cursor:pointer;transition:transform .25s,border-color .25s,color .25s,box-shadow .25s}
.hs-pg-more:hover{border-color:var(--hs-pg-blue);color:var(--hs-pg-blue);transform:translateY(-3px);box-shadow:0 12px 26px rgba(35,140,249,.14)}
.hs-pg-note{margin:26px auto 0;max-width:720px;text-align:center;font-size:14.5px;line-height:1.6}

/* empty state */
.hs-pg-empty{max-width:560px;margin:0 auto;text-align:center;padding:40px 28px;border:1.5px dashed #8dc2fb;border-radius:24px;background:linear-gradient(160deg,var(--hs-pg-tint),#fff)}
.hs-pg-empty>svg{width:44px;height:44px;color:var(--hs-pg-blue)}
.hs-pg-empty h3{margin:10px 0 8px;font-size:24px;font-weight:800;color:var(--hs-pg-dark)}
.hs-pg-empty p{margin:0 0 14px;font-size:16px;line-height:1.65}
.hs-pg-admin-tip{font-size:13px!important;margin:16px 0 0!important}
.hs-pg-admin-tip a{color:var(--hs-pg-blue)}

/* video modal (appended to body by the script) */
.hs-pg-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(3,26,53,.88);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;font-family:'Averta PE VF Trial','Poppins',sans-serif}
.hs-pg-modal.is-open{opacity:1;visibility:visible}
.hs-pg-modal-box{position:relative;width:min(960px,100%);transform:translateY(24px) scale(.97);transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.hs-pg-modal.is-open .hs-pg-modal-box{transform:none}
.hs-pg-modal-stage{position:relative;aspect-ratio:16/9;background:#000;border-radius:18px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.45)}
.hs-pg-modal-stage video,.hs-pg-modal-stage iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;background:#000}
.hs-pg-modal-close{position:absolute;top:-52px;right:0;width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:#05274c;display:grid;place-items:center;cursor:pointer;transition:transform .25s,background .25s,color .25s}
.hs-pg-modal-close:hover,.hs-pg-modal-close:focus-visible{background:#238cf9;color:#fff;transform:rotate(90deg)}
.hs-pg-modal-close svg{width:20px;height:20px}
body.hs-pg-lock{overflow:hidden}

@media(max-width:1100px){.hs-pg-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){
.hs-pg{padding-left:16px;padding-right:16px}
.hs-pg-grid{grid-template-columns:1fr;gap:20px}
.hs-pg-filters{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;margin-left:-16px;margin-right:-16px;padding:4px 16px 12px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.hs-pg-filters::-webkit-scrollbar{display:none}
.hs-pg-more{width:100%}
.hs-pg-modal-close{top:-50px}
}
@media(prefers-reduced-motion:reduce){
.hs-pg *,.hs-pg *::before,.hs-pg *::after{animation:none!important;transition:none!important}
.hs-pg-js .hs-pg-card{opacity:1;transform:none}
.hs-pg-modal,.hs-pg-modal-box{transition:none}
}
