.ds-skip-link {
  position: absolute;
  top: -100%;
  left: 0;
  z-index: var(--ds-z-skip-link);
  padding: var(--ds-space-400);
  background: var(--ds-color-surface-inverse);
  color: var(--ds-color-text-inverse);
  font-family: var(--ds-font-family-default);
  font-weight: var(--ds-font-weight-semibold);
  text-decoration: none;
}
.ds-skip-link:focus {
  top: 0;
}
.ds-skip-link:hover {
  color: var(--ds-color-surface-accent1-muted);
}

/* Limit content width for readability on large screens */
.ds-card { max-inline-size: 650px; }

/* Cap form field widths so they don't stretch full-panel on desktop */
.ds-input-group:has(#flown-ticket),
.ds-input-group:has(#flown-lastname),
.ds-input-group:has(#flown-email),
.ds-input-group:has(#flown-email-confirm) { max-inline-size: 30ch; }

.receipts-hero {
  position: relative;
  min-height: 280px;
  display: flex;
  align-items: flex-end;
  background: url('/more/receipts/media/hero.png') center/cover no-repeat;
  background: image-set(
    url('/more/receipts/media/hero.avif') type('image/avif'),
    url('/more/receipts/media/hero.webp') type('image/webp'),
    url('/more/receipts/media/hero.png') type('image/png')
  ) center/cover no-repeat;
}
.receipts-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 39, 74, 0.75), transparent 70%);
}
.receipts-hero__content {
  position: relative;
  z-index: 1;
  padding-block: var(--ds-space-600);
}
.receipts-hero__title {
  font-size: var(--ds-font-size-display-xl);
  font-weight: var(--ds-font-weight-bold);
  color: #fff;
  margin: 0 0 var(--ds-space-100);
}
.receipts-hero__subtitle {
  font-size: var(--ds-font-size-body-lg);
  color: rgba(255, 255, 255, 0.9);
  margin: 0;
}
