.htmm.htmm-gallery :where(h1,h2,h3,h4,h5,h6,p,ul,ol,li,a,span,strong,em,small,label,blockquote,figure){color:inherit;text-transform:none}
.htmm.htmm-gallery :where(ul,ol){margin:0;padding:0}
.htmm.htmm-gallery :where(img){border:0;box-shadow:none;border-radius:0}
.htmm.htmm-gallery :where([id]){scroll-margin-top:96px}
.htmm.htmm-gallery{--bg:#0A0716; --surface:#15112B; --surface-2:#1D1739; --edge:rgba(255,255,255,.08); --edge-2:rgba(255,255,255,.16); --gold:#E8B75A; --gold-2:#F6DDA6; --violet:#7A55DE; --violet-2:#A886F5; --text:#FFFFFF; --text-2:#A9A3C4; --text-3:#6F6890; --r:22px; --r-sm:16px; --wrap:1220px; --pad:clamp(1.15rem,4.5vw,3rem); --ease:cubic-bezier(.2,.7,.2,1);}
.htmm.htmm-gallery,.htmm.htmm-gallery *,.htmm.htmm-gallery *::before,.htmm.htmm-gallery *::after{box-sizing:border-box}
.htmm.htmm-gallery{-webkit-text-size-adjust:100%}
.htmm.htmm-gallery{margin:0;background:var(--bg);color:var(--text); font-family:"Plus Jakarta Sans",system-ui,sans-serif;font-size:16.5px;line-height:1.7; -webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-x:clip}
.htmm.htmm-gallery img{max-width:100%;display:block}
.htmm.htmm-gallery ::selection{background:var(--gold);color:#0A0716}
.htmm.htmm-gallery .hm-wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--pad);position:relative;z-index:2}
.htmm.htmm-gallery .hm-section{padding:clamp(3.75rem,8vw,7rem) 0;position:relative}
.htmm.htmm-gallery .hm-section--tight{padding:clamp(2.5rem,5vw,4rem) 0}
.htmm.htmm-gallery :focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}
.htmm.htmm-gallery .hm-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.35rem}
.htmm.htmm-gallery .hm-card{background:var(--surface);border:1px solid var(--edge);border-radius:var(--r); padding:.85rem;text-decoration:none;position:relative;overflow:hidden; transition:transform .4s var(--ease),border-color .4s,background .4s}
.htmm.htmm-gallery .hm-card::before{content:"";position:absolute;left:50%;top:-40%;width:70%;aspect-ratio:1;transform:translateX(-50%); background:radial-gradient(circle,rgba(122,85,222,.55),transparent 68%);filter:blur(40px); opacity:0;transition:opacity .5s var(--ease);pointer-events:none}
.htmm.htmm-gallery .hm-card:hover{transform:translateY(-6px);border-color:var(--edge-2);background:var(--surface-2)}
.htmm.htmm-gallery .hm-card:hover::before{opacity:1}
.htmm.htmm-gallery .hm-card__media{position:relative;border-radius:var(--r-sm);overflow:hidden;aspect-ratio:16/11;background:var(--surface-2)}
.htmm.htmm-gallery .hm-card__media img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) brightness(.85);transition:transform .9s var(--ease),filter .9s var(--ease)}
.htmm.htmm-gallery .hm-card:hover .hm-card__media img{transform:scale(1.06);filter:saturate(1.05) brightness(1)}
.htmm.htmm-gallery .hm-reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.htmm.htmm-gallery .hm-reveal.hm-is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
.htmm.htmm-gallery,.htmm.htmm-gallery *{animation:none!important;transition:none!important}
.htmm.htmm-gallery .hm-reveal{opacity:1;transform:none}
}
@media (max-width:1080px){
.htmm.htmm-gallery .hm-cards{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
.htmm.htmm-gallery .hm-cards{grid-template-columns:1fr}
}
/* --- WordPress / Elementor --- */
.htmm.htmm-gallery a.hm-card{display:block;color:inherit}
.htmm.htmm-gallery .hm-card__cap{display:block;padding:.9rem .5rem .3rem;font-size:.9rem;font-weight:600;color:var(--text)}
.htmm.htmm-gallery.htmm-no-rv .hm-reveal{opacity:1;transform:none}
