:root {
  --promotion-shade: linear-gradient(90deg, var(--bg) 0%, color-mix(in srgb, var(--bg) 92%, transparent) 32%, color-mix(in srgb, var(--bg) 40%, transparent) 72%, transparent);
  --promotion-offer-background: color-mix(in srgb, var(--surface) 90%, transparent);
  --promotion-offer-shadow: inset 0 1px color-mix(in srgb, var(--cream) 14%, transparent), 0 5px 12px color-mix(in srgb, var(--bg) 70%, transparent);
}
.promotion-section { position: relative; isolation: isolate; overflow: hidden; border-block: 1px solid var(--line); background: var(--bg); }
.promotion-scene { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.promotion-section::before { content: ''; position: absolute; inset: 0; z-index: -1; background: var(--promotion-shade); }
.promotion-content { padding-block: 84px; }
.promotion-copy { max-width: 730px; }
.promotion-copy .eyebrow { display: flex; align-items: center; gap: 10px; letter-spacing: 0; }
.promotion-icon { width: 18px; height: 18px; flex-shrink: 0; }
.promotion-copy h2 { max-width: 650px; font-weight: 500; line-height: 1.02; letter-spacing: 0; }
.promotion-intro { max-width: 630px; margin: 24px 0; color: var(--cream); }
.promotion-offers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 28px 0; }
.promotion-offer { min-width: 0; padding: 22px; border: 1px solid var(--line); border-top: 2px solid var(--amber); border-radius: 4px; background: var(--promotion-offer-background); box-shadow: var(--promotion-offer-shadow); }
.promotion-offer strong { display: block; color: var(--amber); font: 600 42px/1 var(--display); letter-spacing: 0; }
.promotion-offer h3 { font: 600 18px/1.4 var(--body); margin: 12px 0 5px; }
.promotion-offer p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.promotion-offer .voucher-link { color: var(--green); border-bottom: 1px solid color-mix(in srgb, var(--green) 45%, transparent); }
.promotion-offer .voucher-link:hover { color: var(--amber); border-bottom-color: var(--amber); }
.promotion-offer .voucher-code { color: var(--cream); font: 700 13px/1.6 var(--mono); letter-spacing: 0.04em; }
.promotion-cta { width: 100%; text-align: center; }
.promotion-terms { display: flex; align-items: flex-start; gap: 10px; margin: 24px 0 0; font: 12px/1.7 var(--mono); color: var(--muted); letter-spacing: 0; }
.promotion-terms svg { color: var(--amber); margin-top: 2px; }
@media (max-width: 1000px) { .promotion-copy { max-width: 650px; } }
@media (max-width: 640px) {
  .promotion-content { padding-block: 60px; }
  .promotion-copy h2 { font-size: 42px; }
  .promotion-scene { object-position: 65% center; }
  .promotion-section::before { background: color-mix(in srgb, var(--bg) 85%, transparent); }
  .promotion-offers { grid-template-columns: 1fr; gap: 12px; }
  .promotion-offer { padding: 20px; }
  .promotion-cta { gap: 10px; font-size: 13px; line-height: 1.5; }
  .masthead { flex-wrap: wrap; height: auto; min-height: 72px; gap: 12px 6px; padding-block: 12px; }
  .masthead .brand-logo { width: 86px; }
  .masthead .lang-switch { margin-right: 0; flex-shrink: 0; }
  .masthead .lang-switch a { padding-inline: 6px; }
  .masthead .header-cta { font-size: 12px; padding: 8px 10px; gap: 8px; margin-left: auto; }
}
@media (max-width: 420px) { .masthead .header-cta { width: 100%; justify-content: center; } }