/* The store, minimal: one grid of framed portraits, three rows (six portraits) to an iPhone screen.
   Tiles are gallery tiles: our real black frame on transparency with a short shadow, so the portraits
   hang straight on the page colour. A portrait without one falls back to its studio photo or painting. */
.store-min main{min-height:70vh}
.m-grid{list-style:none;margin:0 auto;padding:8px 8px 56px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 6px}
.m-grid>li{min-width:0}
.m-grid>li{scroll-margin-top:96px}
.m-tile{display:block;color:var(--ink);text-decoration:none;-webkit-tap-highlight-color:transparent}
.m-media{display:block;position:relative;aspect-ratio:1;overflow:hidden}
.m-media.is-photo{background:#efebe5;--base:1.2}
.m-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(calc(var(--base,1) * var(--k,1)));transform-origin:50% 48%;
  transition:transform .6s cubic-bezier(.2,.7,.2,1),opacity .35s;opacity:0}
.m-media img.ready{opacity:1}
.m-media.is-art{--base:1}
.m-name{display:block;margin-top:-2px;padding:0 4px;text-align:center;font:400 1.0625rem/1.15 var(--disp);letter-spacing:.005em;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.m-tile:active .m-media img{--k:.97}
.m-tile:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
@media (hover:hover) and (pointer:fine){.m-tile:hover .m-media img{--k:1.035}}
@media (min-width:720px){.m-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 16px;padding:28px 28px 80px}.m-name{margin-top:0;font-size:1.25rem}}
@media (min-width:1100px){.m-grid{max-width:1360px;gap:44px 20px;padding:36px 40px 104px}.m-name{font-size:1.35rem}}
/* Every frame hangs centred in its column, portrait or landscape, so frames and names line up down the page
   (Niko, 2026-10-15: nudging the outer portraits toward the middle read as sloppy next to the landscapes). */
/* Landscape frames fill nearly the whole width of their tile, so they hang at 90% to leave the same room around them
   as the portraits (and about the same picture area), centred in their tile rather than on the portraits' baseline.
   Centre: frame centre 0.6056 of the tile, scaled about the 48% origin, lifted to the middle. */
.m-grid>li.is-wide .m-media img{--base:.9;translate:0 -9.3%}
@media (prefers-reduced-motion:reduce){.m-media img{transition:none}}
.m-note{grid-column:1/-1;text-align:center;padding:48px 16px;color:var(--muted);font:400 1rem/1.5 var(--sans)}
