/* Campaign destinations: existing world art, one clear action per banner. */
.shell .campaign-selection { width:min(960px,100%); min-height:calc(100dvh - 100px); margin:0 auto; padding:18px; display:flex; flex-direction:column; justify-content:center; gap:20px; }
.shell .campaign-selection > header { text-align:center; }
.shell .campaign-selection h1 { margin:4px 0 0; font-size:clamp(24px,4vw,36px); letter-spacing:-.035em; color:var(--pm-ui-text); }
.shell .campaign-selection > header .exp-eyebrow { color:var(--pm-ui-muted); }
.shell .campaign-banner-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.shell .campaign-banner { position:relative; isolation:isolate; min-width:0; min-height:300px; padding:18px; border:1px solid #d2e8e950; border-radius:26px; overflow:hidden; display:flex; flex-direction:column; justify-content:space-between; text-align:left; color:#fff9ee; background:#1d3442; box-shadow:0 16px 40px #213d4a22; cursor:pointer; }
.shell .campaign-banner::after { content:''; position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,#102c3c30 10%,#102c3c08 30%,#102c3ce6 100%); }
.shell .campaign-banner-heckna::after { background:linear-gradient(180deg,#36182728 10%,#36182708 30%,#361827f0 100%); }
.shell .campaign-banner-art { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; object-position:62% center; }
.shell .campaign-banner-top { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.shell .campaign-banner-symbol { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:#142c3c80; backdrop-filter:blur(8px); }
.shell .campaign-banner-symbol > .exp-icon { width:26px; height:26px; }
.shell .campaign-banner-badge { border:1px solid #ffffff50; padding:6px 10px; border-radius:30px; font-size:11px; font-weight:700; background:#132638a6; color:#fff9ee; }
.shell .campaign-banner-content { display:flex; flex-direction:column; align-items:flex-start; gap:8px; padding-top:30px; }
.shell .campaign-banner-content > strong { color:#fff9ee; font-size:clamp(25px,3.2vw,36px); letter-spacing:-.04em; line-height:1.05; text-shadow:0 2px 12px #091b3044; }
.shell .campaign-banner-content > small { color:#eef6fa; font-size:13px; line-height:1.3; }
.shell .campaign-banner-action { min-height:44px; display:flex; align-items:center; justify-content:space-between; gap:22px; width:100%; padding:10px 14px; border-radius:15px; background:linear-gradient(120deg,#c4eee9,#b8dcec); color:#163a45; font-size:14px; font-weight:750; }
.shell .campaign-banner-heckna .campaign-banner-action { background:linear-gradient(120deg,#f5dab0,#efb9b4); color:#512b3b; }
.shell .campaign-banner-action .exp-icon { width:20px; height:20px; flex:none; }
.shell .campaign-banner:focus-visible { outline:3px solid var(--pm-ui-accent); outline-offset:4px; }
.shell .campaign-banner:disabled { opacity:1; cursor:default; }
.shell .campaign-banner:disabled .campaign-banner-art { filter:saturate(.5); }
.shell .campaign-banner:disabled .campaign-banner-action { background:#e4d8cc; color:#51453e; font-size:12px; }
.shell .campaign-selection > footer { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.shell .campaign-choice-back { display:flex; align-items:center; gap:8px; min-height:44px; }
.shell .campaign-choice-back .exp-icon { width:16px; height:16px; transform:rotate(180deg); }
.shell .campaign-selection > footer small { color:var(--pm-ui-muted); font-size:12px; text-align:right; }
@media(max-width:600px) {
 .shell .campaign-selection { padding:12px; gap:14px; }
 .shell .campaign-banner-grid { grid-template-columns:minmax(0,1fr); gap:12px; }
 .shell .campaign-banner { min-height:176px; padding:13px; border-radius:22px; }
 .shell .campaign-banner-content { gap:6px; padding-top:14px; }
 .shell .campaign-banner-content > strong { font-size:27px; }
 .shell .campaign-banner-symbol { width:32px; height:32px; }
 .shell .campaign-banner-symbol > .exp-icon { width:22px; height:22px; }
 .shell .campaign-banner-action { padding:8px 12px; }
}
@media(max-height:500px) and (orientation:landscape) {
 .shell .campaign-selection { min-height:calc(100dvh - 62px); padding:8px 16px; gap:8px; }
 .shell .campaign-selection h1 { font-size:23px; }
 .shell .campaign-selection .exp-eyebrow { display:none; }
 .shell .campaign-banner-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .shell .campaign-banner { min-height:188px; padding:12px; border-radius:20px; }
 .shell .campaign-banner-symbol { width:28px; height:28px; }
 .shell .campaign-banner-content { gap:5px; padding-top:5px; }
 .shell .campaign-banner-content > strong { font-size:26px; }
 .shell .campaign-selection > footer small { font-size:11px; }
}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
 html:not(.calm-motion) body:not(.calm-motion) .campaign-banner-art { transition:transform 400ms var(--pm-ui-ease); }
 html:not(.calm-motion) body:not(.calm-motion) .campaign-banner:hover:not(:disabled) .campaign-banner-art { transform:scale(1.035); }
}
@media(prefers-reduced-motion:no-preference) {
 html:not(.calm-motion) body:not(.calm-motion) .campaign-banner { animation:campaign-banner-arrive 320ms var(--pm-ui-ease) both; }
 html:not(.calm-motion) body:not(.calm-motion) .campaign-banner + .campaign-banner { animation-delay:60ms; }
}
@keyframes campaign-banner-arrive { from { opacity:.2; transform:translateY(8px); } to { opacity:1; transform:none; } }
.calm-motion .campaign-banner,.calm-motion .campaign-banner-art { animation:none!important; transition:none!important; }
@media(prefers-reduced-motion:reduce) { .campaign-banner,.campaign-banner-art { animation:none!important; transition:none!important; } }
:root.strong-contrast .shell .campaign-banner-action { background:#fff; color:#122631; }
