/* ---------- gallery ---------- */
.zgallery{display:flex;gap:18px;overflow-x:auto;padding:32px 4px 22px;scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;scrollbar-width:thin}
.zgallery::-webkit-scrollbar{height:6px}
.zgallery::-webkit-scrollbar-thumb{background:var(--line);border-radius:6px}
.zgcard{flex:none;width:186px;scroll-snap-align:start;cursor:pointer;text-align:center;
  background:none;border:0;padding:0;transition:transform .4s var(--spring)}
.zgcard:hover{transform:translateY(-8px)}
.zgcard .card{border-radius:16px;overflow:hidden;box-shadow:var(--sh-1)}
.zgcard .card img{width:100%;display:block}
.zgcard b{display:block;margin-top:11px;font-family:'Cormorant Garamond',serif;font-size:19px;color:var(--tx-hi)}
.zgcard span{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--tx-3)}

/* ---------- grouped by element ---------- */
.elgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:30px}
.elcol{border-radius:22px;padding:26px 24px}
.elcol h3{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:6px;
  display:flex;align-items:center;gap:9px;color:var(--tx-hi)}
.elcol .dot{width:10px;height:10px;border-radius:50%;flex:none}
.elcol .sub{font-size:12px;color:var(--tx-3);margin-bottom:16px}
.elrow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;
  border-top:1px solid var(--line-2);cursor:pointer;background:none;border-left:0;border-right:0;
  border-bottom:0;width:100%;text-align:left;color:inherit}
.elrow:first-of-type{border-top:0;padding-top:2px}
.elrow b{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:600;display:block}
.elrow .abil{font-size:10px;color:var(--tx-3);margin-top:2px}
.elrow .go{font-size:15px;color:var(--tx-3);transition:transform .3s var(--ease)}
.elrow:hover .go{transform:translateX(3px);color:var(--tx-hi)}

.epill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;
  padding:5px 11px;border-radius:20px;border:1px solid var(--line-2);background:var(--glass)}

/* ---------- quick reference: matrix of small tiles ---------- */
.qrefgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:28px}
@media(max-width:900px){.qrefgrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.qrefgrid{grid-template-columns:repeat(2,1fr)}}
.qreft{border-radius:16px;padding:15px 16px;cursor:pointer;
  transition:.3s var(--ease);text-align:left}
.qreft:hover{transform:translateY(-4px);box-shadow:var(--sh-1)}
.qreft .top{display:flex;align-items:baseline;justify-content:space-between;gap:6px}
.qreft b{font-family:'Cormorant Garamond',serif;font-size:19px;color:var(--tx-hi)}
.qreft .g{font-size:14px;color:var(--tx-3)}
.qreft .stats{margin-top:9px;display:grid;gap:3px}
.qreft .stats div{font-size:10.5px;color:var(--tx-2);display:flex;justify-content:space-between;gap:6px}
.qreft .stats span{color:var(--tx-3);letter-spacing:.04em}
