/* Shared legibility guardrails for all 24 visual directions. */
html,body{max-width:100%;overflow-x:clip}
:where(main,section,article,aside,header,footer,nav,div,figure){min-width:0}
:where(h1,h2,h3,h4,h5,h6){text-wrap:balance;font-optical-sizing:auto}
:where(p,li,figcaption){overflow-wrap:anywhere;text-wrap:pretty}
:where(small,figcaption){line-height:1.35}
:where(button,a,input,textarea){font-optical-sizing:auto}
.point small{font-size:11px}
.memory-tile video,.asset-card video{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.wall-item video{display:block;width:100%;height:100%;min-height:0;object-fit:cover;transition:transform .4s cubic-bezier(.2,.8,.2,1),filter .4s ease}
.memory-tile:hover video,.asset-card:hover video,.wall-item:hover video{transform:scale(1.035)}
#lightboxVideo{width:auto;max-width:100%;height:auto;max-height:78vh;margin:auto;border-radius:16px;object-fit:contain;box-shadow:0 25px 80px rgba(0,0,0,.35);background:#111}
.empty-copy{grid-column:1/-1;align-self:center;padding:36px;color:var(--text-soft);font-size:14px;text-align:center}
.toast.error>span{background:#b94d4d}

@media(max-width:800px){
  :where(small,figcaption){line-height:1.45}
  :where(p,li){line-height:1.5}
}

@media(prefers-contrast:more){
  :where(small,p,figcaption){opacity:1!important}
  :where(button,a){outline-color:currentColor}
}
