/* Gift cards product page (Platform 07). Like every Platform page, a light hero that dusks into dark
   stages; the designer opens in the shared full-screen viewer. */
.gift-hero h1 { animation-delay: .15s; }
.gift-hero .pos-hero__lede { animation-delay: 1.1s; }
/* One window: the title, the recording and the lede fit the first screen. */
.gift-hero__film { width: min(var(--content), max(440px, calc((100svh - 400px) * 16 / 10))); margin: 28px auto 0; aspect-ratio: 16 / 10; box-shadow: var(--film-shadow); }
.gift-hero__film .story-video { display: block; width: 100%; height: 100%; object-fit: cover; }

.gift-eyebrow { color: #d0a8ef; font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.gift-heading { max-width: 950px; margin: 0 auto 52px; text-align: center; }
.gift-heading h2, .gift-chapter h2 { margin-top: 18px; font-size: clamp(38px, 4.8vw, 64px); line-height: 1; font-weight: 620; letter-spacing: -.056em; text-wrap: balance; }
.gift-heading p { max-width: 720px; margin: 20px auto 0; color: #d0bddf; font-size: 19px; line-height: 1.45; }

/* The live designer: the dark stage begins where the hero's dusk ends. Admin shows Gift cards alone. */
.gift-try { padding: 110px var(--gutter) 90px; color: #fff; color-scheme: dark; background: linear-gradient(var(--dusk-2), var(--stage) 160px), var(--stage); }
.gift-try__live { width: min(var(--content), 1120px); margin: 0 auto; box-shadow: 0 30px 90px #030007aa, 0 0 110px #c0266655; }

/* The e-gift and the card, beside their words. */
.gift-chapter { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: center; gap: 64px; padding: 110px max(var(--gutter), calc((100% - 1180px) / 2)); color: #fff; color-scheme: dark; background: var(--stage); }
.gift-chapter--flip { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
.gift-chapter--flip .gift-chapter__copy { order: 2; }
.gift-chapter h2 { font-size: clamp(34px, 3.8vw, 54px); }
.gift-chapter__copy > p { margin-top: 20px; color: #d0bddf; font-size: 19px; line-height: 1.45; }
.gift-chapter__art { margin: 0; justify-self: center; }
.gift-chapter__art img { display: block; width: 100%; height: auto; }
.gift-chapter__art--email { width: min(100%, 520px); overflow: hidden; border-radius: 24px; background: #f6f1fb; box-shadow: 0 30px 90px #030007aa, 0 0 100px #9554ca40; }
.gift-chapter__art--card { width: min(100%, 560px); border-radius: 28px; box-shadow: 0 40px 90px #000b, 0 0 120px #9554ca55; transform: rotate(-4deg); }
.gift-chapter__art--card img { border-radius: 28px; }

.gift-program { padding: 100px var(--gutter); color: #fff; color-scheme: dark; background: radial-gradient(ellipse 55% 40% at 50% 70%, #24103f, transparent 80%), var(--stage); }
.gift-program__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; width: min(var(--content), 1180px); margin: 0 auto; padding: 0; list-style: none; }
.gift-program__grid li { padding: 26px 24px; border: 1px solid #d9baf026; border-radius: 20px; background: #ffffff08; }
.gift-program__grid strong { display: block; font-size: 20px; font-weight: 620; line-height: 1.2; letter-spacing: -.03em; }
.gift-program__grid span { display: block; margin-top: 9px; color: #cdb9dc; font-size: 15.5px; line-height: 1.45; }

.gift-terms { padding: 100px var(--gutter) 110px; color: #fff; color-scheme: dark; background: var(--stage); }
.gift-terms__list { width: min(var(--content), 820px); margin: 0 auto; padding: 0; list-style: none; }
.gift-terms__list li { position: relative; padding: 18px 0 18px 36px; border-top: 1px solid #dcc1f022; color: #eee3f6; font-size: 18px; line-height: 1.45; }
.gift-terms__list li::before { content: "✓"; position: absolute; left: 4px; color: #f5a9c8; font-weight: 700; }

.gift-finale { color-scheme: dark; color: #fff; padding-bottom: 100px; background: radial-gradient(ellipse 50% 45% at 50% 58%, #42186d, transparent 85%), var(--stage); }
.gift-finale h2 { font-size: clamp(38px, 4.8vw, 64px); letter-spacing: -.055em; }
.gift-finale > p { position: relative; margin-top: 20px; color: #ded0eb; font-size: 19px; }
.gift-finale .pos-link { color: #ead6fa; }
.gift-finale .pos-link:hover { color: #fff; }
.gift-finale .live-cta__actions { margin-top: 38px; }

@media (max-width: 1000px) {
  .gift-chapter, .gift-chapter--flip { grid-template-columns: 1fr; gap: 40px; padding-top: 90px; padding-bottom: 90px; text-align: center; }
  .gift-chapter--flip .gift-chapter__copy { order: 0; }
  .gift-program__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 734px) {
  .gift-try { padding-top: 80px; padding-bottom: 40px; }
  .gift-try__laptop { display: none; }
  .gift-heading { margin-bottom: 36px; }
  .gift-heading h2, .gift-chapter h2 { font-size: clamp(34px, 9vw, 52px); }
  .gift-heading p, .gift-chapter__copy > p { font-size: 17px; }
  .gift-program, .gift-terms { padding-top: 80px; padding-bottom: 80px; }
  .gift-program__grid { grid-template-columns: 1fr; }
  .gift-terms__list li { font-size: 16px; }
  .gift-chapter__art--card { transform: rotate(-3deg); }
  .gift-finale { padding-bottom: 90px; }
  .gift-finale > p { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .gift-chapter__art--card { transform: none; }
}
/* A phone (html[data-purp-live="off"], sessionWatch.mjs): the designer's poster with the note under it,
 * never a heading over nothing, and no "try it here". */
html[data-purp-live="off"] .gift-try__live { display: block; }
html[data-purp-live="off"] .gift-try__laptop { display: none; }
