/* Purchase conditions: independent, progressively enhanced scroll reveals. */
.purchase-terms { padding: clamp(72px, 9vw, 140px) var(--gutter); background: #eeece8; scroll-margin-top: 100px; overflow: clip; }
.purchase-terms__inner { max-width: 1200px; margin: auto; display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(40px, 7vw, 100px); align-items: start; }
.purchase-terms__intro { position: sticky; top: 130px; padding-bottom: 24px; }
.purchase-terms__logo { width: 160px; max-height: 90px; object-fit: contain; object-position: left center; margin-bottom: 42px; mix-blend-mode: multiply; }
.purchase-terms__eyebrow { display: block; font-size: 10px; text-transform: uppercase; letter-spacing: .2em; margin-bottom: 24px; color: #63605b; }
.purchase-terms__title { font-family: var(--font-sans); font-size: clamp(48px, 5.4vw, 76px); font-weight: 700; letter-spacing: -.065em; line-height: 1.03; }
.purchase-terms__title > span { display: block; }
.purchase-terms__title small { display: inline-block; padding: 5px 8px; border-radius: 8px; background: #111; color: #fff; font-size: .35em; letter-spacing: -.04em; vertical-align: middle; }
.purchase-terms__dot { color: #88847d; }
.purchase-terms__caption { margin-top: 28px; font-size: 16px; line-height: 1.8; color: #68645f; }
.purchase-terms__link { display: inline-flex; align-items: center; gap: 28px; margin-top: 34px; padding-bottom: 8px; border-bottom: 1px solid #aaa59e; font-size: 12px; }
.purchase-terms__link span { font-size: 23px; transition: transform .3s; }
.purchase-terms__link:hover span { transform: translate(3px, 3px); }
.purchase-terms__link:focus-visible { outline: 2px solid #111; outline-offset: 6px; }
.purchase-terms__conditions { padding: 12px 38px 52px; background: #0c0c0c; border-radius: 28px; color: #fff; box-shadow: 0 24px 48px #00000012; scroll-margin-top: 120px; }
.purchase-terms__conditions li { display: grid; grid-template-columns: 30px 1fr; gap: 18px; padding: 29px 0; }
.purchase-terms__conditions li + li { border-top: 1px solid #ffffff24; }
.purchase-terms__number { padding-top: 3px; color: #aaa; font-size: 11px; letter-spacing: .1em; }
.purchase-terms__conditions h3 { font-size: 17px; font-weight: 500; margin-bottom: 10px; letter-spacing: -.025em; }
.purchase-terms__conditions p { color: #c4c4c4; font-size: 14px; line-height: 1.85; }
.purchase-terms__conditions strong { font-weight: 500; color: #fff; }
.purchase-terms__security { position: relative; display: grid; grid-template-columns: 108px 1fr; align-items: center; gap: 22px; margin: -26px -16px 0; padding: 30px 28px 30px 14px; background: #fff; border: 1px solid #e8e6e2; border-radius: 24px; box-shadow: 0 18px 40px #0000000d; }
.purchase-terms__shield svg { width: 118px; overflow: visible; transform: rotate(-12deg); filter: drop-shadow(5px 10px 6px #00000030); }
.purchase-terms__security-label { display: block; font-size: 9px; text-transform: uppercase; letter-spacing: .16em; color: #777; margin-bottom: 9px; }
.purchase-terms__security h3 { font-size: 16px; line-height: 1.5; font-weight: 500; }
.purchase-terms__security p { margin-top: 10px; font-size: 13px; color: #666; line-height: 1.65; }
.purchase-terms--animated [data-terms-reveal] { opacity: 0; transform: translateY(26px); transition: opacity .85s ease, transform .85s cubic-bezier(.16, 1, .3, 1); transition-delay: var(--terms-delay, 0ms); }
.purchase-terms--animated [data-terms-reveal].is-visible { opacity: 1; transform: translateY(0); }
@media (max-width: 760px) {
  .purchase-terms__inner { grid-template-columns: 1fr; gap: 32px; max-width: 540px; }
  .purchase-terms__intro { position: static; padding-bottom: 0; }
  .purchase-terms__logo { width: 130px; margin-bottom: 28px; }
  .purchase-terms__title { font-size: clamp(48px, 11vw, 72px); }
  .purchase-terms__conditions { padding: 8px 24px 42px; border-radius: 22px; }
  .purchase-terms__conditions li { gap: 10px; padding: 24px 0; }
  .purchase-terms__security { margin: -20px 0 0; grid-template-columns: 72px 1fr; padding: 24px 18px 24px 8px; gap: 14px; }
  .purchase-terms__shield svg { width: 80px; }
}
@media (prefers-reduced-motion: reduce) {
  .purchase-terms--animated [data-terms-reveal] { opacity: 1; transform: none; transition: none; }
  .purchase-terms__link span { transition: none; }
}
