.promotion-page { max-width: 880px; margin: 76px auto 64px; }
.promotion-page h1 { max-width: 760px; font-size: clamp(2.3rem, 6vw, 4rem); line-height: 1.1; letter-spacing: -.035em; margin: 16px 0 24px; }
.promotion-page .lead { max-width: 720px; }
.promotion-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 48px; }
.promotion-card { background: #fff; border: 1px solid #e1e4ee; border-radius: 24px; padding: 32px; display: flex; flex-direction: column; align-items: flex-start; }
.promotion-card h2 { margin: 4px 0 16px; }
.promotion-card p { flex: 1; }
.promotion-page section { margin-top: 40px; }
.promotion-page p, .promotion-page li { line-height: 1.75; }
.promotion-page li { margin: 12px 0; padding-left: 4px; }
.promotion-status { background: #f0f2fb; border-left: 4px solid #ed0050; border-radius: 12px; padding: 24px; }
.promotion-status strong { color: #20263a; }
.promotion-install { padding-top: 28px; border-top: 1px solid #dfe3eb; }
.promotion-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin: 24px 0; }
.promotion-unavailable { color: #646e81; }
.promotion-page .primary-link:focus-visible { outline: 3px solid #2f58d5; outline-offset: 4px; }
@media (max-width: 640px) { .promotion-page { margin-top: 40px; } .promotion-grid { grid-template-columns: 1fr; } .promotion-card { padding: 24px; } .promotion-actions { align-items: stretch; flex-direction: column; } .promotion-actions a { text-align: center; } }
