/* For Your Walls */
.walls-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(22px,3vw,44px);padding:0 clamp(16px,4vw,48px) clamp(40px,6vw,80px);max-width:1500px;margin:0 auto}
.piece{display:flex;flex-direction:column;gap:14px}
.piece-img{display:block;padding:0;border:0;background:none;cursor:zoom-in;overflow:hidden;aspect-ratio:3/2}
.piece-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.piece-img:hover img{transform:scale(1.025)}
.piece-meta{display:flex;justify-content:space-between;align-items:flex-end;gap:18px}
.piece h3{font-family:var(--serif);font-weight:500;font-size:clamp(22px,2.2vw,28px);margin:0 0 4px;color:var(--ink)}
.piece p{margin:0;color:var(--soft);font-size:14px;line-height:1.55;max-width:42ch}
.piece-buy{display:flex;flex-direction:column;align-items:flex-end;gap:8px;white-space:nowrap}
.piece-buy span{font-family:var(--serif);font-size:22px;color:var(--ink)}
.piece-buy small{font-family:var(--sans);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--soft);margin-left:8px}
.piece-go,.nudge-acts button,.artv-bar button{font:inherit;font-size:11px;letter-spacing:.24em;text-transform:uppercase;padding:11px 18px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer}
.piece-go:hover{background:var(--olive);border-color:var(--olive)}
@media (max-width:760px){.walls-grid{grid-template-columns:1fr}.piece-meta{flex-direction:column;align-items:flex-start}.piece-buy{align-items:flex-start;flex-direction:row;align-items:center;gap:14px}}

/* large viewer */
.artv{position:fixed;inset:0;z-index:62;background:rgba(18,15,12,.97);color:#f3eee5;display:none;flex-direction:column}
.artv.open{display:flex}
.artv-top,.artv-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px clamp(16px,3vw,32px);font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.artv-top button{font:inherit;background:none;border:0;color:inherit;cursor:pointer;letter-spacing:.2em}
.artv figure{flex:1;margin:0;display:flex;align-items:center;justify-content:center;min-height:0;padding:0 clamp(8px,5vw,80px)}
.artv figure img{max-width:100%;max-height:100%;object-fit:contain}
.artv-bar span{text-transform:none;letter-spacing:.02em;font-size:14px;opacity:.8}
.artv-bar button{background:#f3eee5;color:var(--ink);border-color:#f3eee5}
.artv .arrow{position:absolute;top:50%;transform:translateY(-50%);background:none;border:0;color:#f3eee5;font-size:44px;padding:20px;cursor:pointer;opacity:.7}
.artv .arrow.prev{left:0}.artv .arrow.next{right:0}

/* suggestion card, inside the photo viewer */
.nudge{position:fixed;left:clamp(12px,3vw,32px);bottom:clamp(76px,10vh,110px);z-index:65;width:min(400px,calc(100vw - 24px));display:grid;grid-template-columns:120px 1fr;gap:14px;
  background:var(--paper);color:var(--ink);padding:12px;box-shadow:0 18px 50px rgba(0,0,0,.35);opacity:0;transform:translateY(14px);pointer-events:none;transition:opacity .5s,transform .5s}
.nudge.on{opacity:1;transform:none;pointer-events:auto}
.nudge img{width:120px;height:80px;object-fit:cover;display:block}
.nudge-txt{display:flex;flex-direction:column;gap:4px;padding-right:18px}
.nudge-txt b{font-family:var(--serif);font-weight:500;font-size:19px}
.nudge-txt span{font-size:12.5px;line-height:1.45;color:var(--soft)}
.nudge-acts{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap}
.nudge-acts button{padding:8px 12px;font-size:10px}
.nudge-acts .quiet{background:none;color:var(--soft);border-color:transparent}
.nudge-x{position:absolute;top:6px;right:8px;background:none;border:0;cursor:pointer;color:var(--soft);font-size:13px}

/* script inscription printed onto the photo (shop preview) */
@font-face{font-family:"Pinyon Script";src:url(fonts/PinyonScript-Regular.ttf) format("truetype");font-display:swap}
.insc-host{position:relative;container-type:inline-size}
.insc{position:absolute;bottom:5.5%;display:flex;flex-direction:column;color:var(--ink);text-shadow:0 1px 6px rgba(0,0,0,.28);pointer-events:none;line-height:1}
.insc.at-left{left:5.5%;align-items:flex-start}.insc.at-right{right:5.5%;align-items:flex-end}.insc.at-centre{left:0;right:0;align-items:center}.insc.v-top{top:5.5%;bottom:auto}
.insc b{font-family:"Pinyon Script",cursive;font-weight:400;font-size:5.8cqw;white-space:nowrap}
.insc span{font-family:var(--serif);font-size:2cqw;letter-spacing:.32em;text-transform:uppercase;margin-top:.6em}
.split .pn .insc b{font-size:12cqw}.split .pn .insc span{font-size:3.8cqw}
