/* Kampanya bloğu: ana sayfanın en üstünde, uzay atmosferinde, çapraz büyük yazı. Renkler site token'larından, yazı tipi sistem yazı tipi (CSP). */
.campaign-banner { position: relative; overflow: hidden; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; padding: clamp(40px, 7vw, 76px) 20px; text-align: center; color: #fff; isolation: isolate;
  background:
    radial-gradient(1px 1px at 12% 22%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 33% 71%, #ffc83d 50%, transparent 51%),
    radial-gradient(1.5px 1.5px at 58% 18%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 81% 64%, #cfc3f5 50%, transparent 51%),
    radial-gradient(1.5px 1.5px at 92% 28%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 22% 88%, #fff 50%, transparent 51%),
    radial-gradient(1px 1px at 66% 92%, #ffc83d 50%, transparent 51%), radial-gradient(1px 1px at 44% 40%, #cfc3f5 50%, transparent 51%),
    radial-gradient(700px 300px at 15% 10%, rgba(124,127,247,.45), transparent 65%),
    radial-gradient(600px 280px at 90% 90%, rgba(255,200,61,.22), transparent 65%),
    linear-gradient(160deg, #0b0722 0%, #1b1140 45%, #2b1670 100%); }
.campaign-banner[hidden] { display: none; }
.campaign-banner::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(110deg, transparent 35%, rgba(255,255,255,.08) 50%, transparent 65%); transform: translateX(-100%); animation: campaign-sheen 5s ease-in-out infinite; pointer-events: none; }
.campaign-kicker { margin: 0; font-size: .85rem; font-weight: 800; letter-spacing: .34em; text-transform: uppercase; color: #ffc83d; }
.campaign-big { margin: 6px 0 0; display: block; transform: rotate(-5deg); font-family: "Segoe UI Black", "Arial Black", "Helvetica Neue", Arial, sans-serif; font-weight: 900; text-transform: uppercase; line-height: .95; letter-spacing: -.01em; font-size: clamp(2.4rem, 9vw, 6.4rem); text-shadow: 0 6px 30px rgba(124,127,247,.55); }
.campaign-big .campaign-line { display: block; white-space: nowrap; }
.campaign-big .campaign-free { display: block; margin-top: 6px; background: linear-gradient(90deg, #fff3c4, #ffc83d 40%, #ff9f1c 100%); -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 8px 26px rgba(255,200,61,.5)); }
.campaign-count { display: inline-flex; align-items: baseline; gap: 8px; padding: 8px 18px; border-radius: 999px; background: rgba(255,255,255,.10); border: 1px solid rgba(255,255,255,.3); font-size: .95rem; font-weight: 700; }
.campaign-count b { font-size: 1.2rem; font-weight: 900; color: #ffc83d; font-variant-numeric: tabular-nums; }
.campaign-cta { display: inline-flex; align-items: center; gap: 8px; margin-top: 8px; padding: 14px 28px; border-radius: 14px; background: #ffc83d; color: #1b1140; font-weight: 800; font-size: 1.05rem; text-decoration: none; box-shadow: 0 10px 28px rgba(255,200,61,.45); transition: transform .15s ease, box-shadow .2s ease; }
.campaign-cta:hover { transform: translateY(-2px); box-shadow: 0 14px 34px rgba(255,200,61,.6); text-decoration: none; }
.campaign-cta:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
@keyframes campaign-sheen { 0%, 60% { transform: translateX(-100%); } 100% { transform: translateX(100%); } }
@media (max-width: 560px) { .campaign-big { transform: rotate(-3deg); } .campaign-big .campaign-line { white-space: normal; } }
@media (prefers-reduced-motion: reduce) { .campaign-banner::before { animation: none; } }