/* Exact warm ivory and vector identity from the app's Basics collection. */
/* The supplied PNGs include uneven outer paper/shadow margins. These display
   windows isolate the rectangular artwork without changing source pixels.
   Thank You: (15,12) to (240,347). New Baby: (19,12) to (240,345).
   A separate, equal frame keeps both designs optically centered at every size. */
.card-little-joys { aspect-ratio: auto; padding: 8px; background: #fff; }
.art, .brand img { -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }
.art img, .brand img { -webkit-user-drag: none; }
.card-art-window { position: relative; width: 100%; overflow: hidden; }
.card-art-window::after {
  content: ''; position: absolute; z-index: 1; inset: 6% 8% auto auto;
  width: 29%; aspect-ratio: 654.67169 / 405.25326;
  background: #fff; opacity: .6;
  -webkit-mask: url('/assets/gifted-wordmark.svg') center / contain no-repeat;
  mask: url('/assets/gifted-wordmark.svg') center / contain no-repeat;
  pointer-events: none;
}
.card-art-window > img { position: absolute; display: block; max-width: none; }
.card-art-thank-you { aspect-ratio: 225 / 335; }
.card-art-thank-you > img {
  width: calc(100% * 240 / 225); height: calc(100% * 350 / 335);
  left: calc(-100% * 15 / 225); top: calc(-100% * 12 / 335);
}
.card-art-new-baby { aspect-ratio: 221 / 333; }
.card-art-new-baby > img {
  width: calc(100% * 240 / 221); height: calc(100% * 350 / 333);
  left: calc(-100% * 19 / 221); top: calc(-100% * 12 / 333);
}
.card-ivory {
  background: #eee9df;
  color: #2b1d17;
}
.card-basic > .basic-wordmark {
  position: absolute;
  inset: 25% 18% auto;
  height: 27%;
  background: currentColor;
  -webkit-mask: url('/assets/gifted-wordmark.svg') center / contain no-repeat;
  mask: url('/assets/gifted-wordmark.svg') center / contain no-repeat;
}
.card-basic > span {
  color: inherit;
  bottom: 14%;
  font-size: clamp(18px, 1.8vw, 26px);
  line-height: 1.4;
}
[dir='rtl'] .card-basic > span {
  line-height: 1.8;
}
@media (max-width: 650px) {
  .card-basic > span { font-size: 20px; }
}
@media (max-width: 360px) {
  .card-basic > span { font-size: 17px; }
}
.feature-icon {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  margin-bottom: 20px;
  border: 1px solid #d8ccbb;
  border-radius: 50%;
  background: #eee9df;
  color: #5b4a40;
}
.feature-icon svg { display: block; }
.copyright { white-space: nowrap; }
@media (max-width: 650px) {
  .details { gap: 32px; }
  .details article { padding-inline-start: 0; }
  .details .feature-icon {
    margin-bottom: 16px;
  }
}
