/* Shared textual Explore controls; photo and signature controls retain their geometry. */
.story-bottom .story-link,
.obj2-home-cover > div button,
.firmas-card .firmas-actions .firmas-explore,
.dv-object-actions [data-product] {
  box-sizing:border-box; min-height:48px; height:auto;
  padding:12px 18px; border:1px solid currentColor; border-radius:0;
  font:400 12px/1.3 var(--mono, Menlo, monospace); letter-spacing:.025em;
  display:inline-flex; align-items:center; justify-content:center;
}
.story-bottom .story-link,.obj2-home-cover > div button { background:#151515; color:#fff; }
.firmas-card .firmas-actions .firmas-explore { width:100%; }
.dv-object-actions [data-product] { background:transparent; color:inherit; }
/* Slower Wong light dissolve and longer reversible radial sequence, same images/keyframes. */
.obj1-explore .obj1-light-visual .obj1-on { transition-duration:900ms; }
.obj1-explore .obj1-color-shift { height:210svh; }

.home-media-link { border:0; padding:0; background:transparent; color:inherit; cursor:pointer; pointer-events:auto; }
.home-media-link > picture { display:block; width:100%; height:100%; }
.obj2-home-cover > .home-media-link { display:block; width:100%; padding:0; border:0; background:transparent; }
.obj2-home-cover > .home-media-link img { display:block; width:100%; height:auto; }
.obj2-home-cover > div { pointer-events:none; }
.obj2-home-cover > div button { pointer-events:auto; }
.home-media-hit { position:absolute; inset:0; z-index:2; width:100%; height:100%; padding:0; border:0; background:transparent; cursor:pointer; pointer-events:auto; }
.home-media-hit:focus-visible,.home-media-link:focus-visible { outline:3px solid currentColor; outline-offset:-6px; }
.home-campaign-photo.home-media-link { color:#fff; }
.home-media-hit:focus-visible { outline-color:#1749d7; }
.obj1-buy-page:not(.obj2-buy-page) .obj1-gallery-frame[data-obj001-frame="clean"] img { object-fit:cover; object-position:center; }
.gallery-swipe-cue { display:none; }
.gallery-status-accessible { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.view-return-top { display:flex; justify-content:center; padding:24px 20px 32px; background:#fff; color:#151515; }
.view-return-top button { display:grid; place-items:center; width:48px; height:48px; padding:0; border:1px solid #b9b9b5; border-radius:50%; background:transparent; color:inherit; cursor:pointer; }
.view-return-top svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.view-return-top button:hover { border-color:currentColor; }
.view-return-top button:focus-visible,.obj1-gallery-stage:focus-visible { outline:2px solid #1749d7; outline-offset:-4px; }
@media(max-width:820px) {
  .firmas-card .firmas-actions .firmas-explore { font-size:11px; padding:10px 6px; }
  .obj1-explore .obj1-color-shift { height:180svh; }
  .obj2-home-cover > .home-media-link { height:100%; }
  .obj2-home-cover > .home-media-link img { height:100%; object-fit:cover; object-position:50% 50%; }
  .obj1-buy-page .obj1-gallery-stage { touch-action:pan-y pinch-zoom; }
  .obj2-buy-page .obj1-gallery-frame img { object-fit:cover; object-position:center; }
  .gallery-swipe-cue { position:absolute; z-index:3; bottom:14px; left:50%; transform:translateX(-50%); display:flex; justify-content:center; align-items:center; padding:7px 9px; border-radius:20px; background:rgba(255,255,255,.72); pointer-events:none; }
  .gallery-dots { display:flex; gap:5px; }
  .gallery-dots i { width:5px; height:5px; border-radius:50%; background:#c1c1bc; }
  .gallery-dots i.is-current { background:#151515; }
  .view-return-top { padding-bottom:calc(32px + env(safe-area-inset-bottom, 0px)); }
  body:has(.obj1-mobile-buy, .obj2-mobile-buy) .view-return-top { padding-bottom:calc(100px + env(safe-area-inset-bottom, 0px)); }
}
@media(prefers-reduced-motion:reduce) {
  .obj1-explore .obj1-light-visual .obj1-on { transition:none; }
  .obj1-explore .obj1-color-shift { height:auto; }
}

/* Keep cart lettering distinct at large and small sizes. */
.cart-page .page-title { letter-spacing:-.035em; }
