.nfc-hero { padding: 36px 0 12px; display: grid; gap: 28px; }
@media (min-width: 880px) {
  .nfc-hero { grid-template-columns: 1.05fr 0.95fr; align-items: start; }
}
.nfc-shots { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.nfc-shots figure { margin: 0; }
.nfc-shots img {
  width: 100%; height: auto; aspect-ratio: 4 / 5;
  object-fit: contain; object-position: center;
  border-radius: 18px; box-shadow: var(--shadow);
  background: #f4efe6; display: block;
}
.nfc-shots figcaption {
  font-size: .78rem; color: var(--ink-soft); margin-top: 6px; text-align: center;
}
.prices { display: grid; gap: 14px; margin-top: 8px; }
@media (min-width: 760px) { .prices { grid-template-columns: 1fr 1fr; } }
.price-card {
  background: var(--white); border: 1px solid var(--line); border-radius: 22px;
  padding: 22px; display: flex; flex-direction: column; gap: 8px; position: relative;
}
.price-card.featured { border-color: var(--pin); box-shadow: 0 0 0 1px var(--pin); }
.price-card .badge {
  position: absolute; top: -10px; right: 16px; background: var(--pin); color: #fff;
  font-size: .72rem; font-weight: 700; letter-spacing: .04em;
  text-transform: uppercase; padding: 4px 10px; border-radius: 999px;
}
.price-card .price-num { font-family: Fraunces, Georgia, serif; font-size: 2rem; letter-spacing: -0.03em; }
.price-card .price-num small { font-size: .95rem; color: var(--ink-soft); font-weight: 500; }
.price-card ul { margin: 8px 0 12px; padding-left: 18px; color: var(--ink-soft); }
.price-card .btn { margin-top: auto; align-self: flex-start; }
.nfc-note {
  margin-top: 18px; padding: 16px 18px; background: var(--white);
  border: 1px dashed var(--line); border-radius: 16px; color: var(--ink-soft);
}
