.campaign-secrets { grid-column:1/-1; min-width:0; padding:20px 0 28px; border-top:1px solid var(--line); }
.secrets-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; }
.secrets-heading-actions { display:flex; align-items:center; gap:16px; }
.secrets-heading-actions>span { color:#aab9c8; font-size:11px; }
.secret-carousel { --carousel-visible:6; --carousel-gap:12px; min-width:0; }
.secret-goals-carousel { --carousel-visible:7; --carousel-gap:0px; margin-bottom:20px; }
.secret-carousel-controls { display:flex; gap:6px; flex-shrink:0; }
.secret-carousel-arrow { display:grid; place-items:center; width:36px; height:36px; padding:0; border:1px solid #344956; border-radius:50%; background:#0b1723; color:var(--lime); transition:background .2s,border-color .2s; }
.secret-carousel-arrow:hover:not(:disabled) { background:#1b2c30; border-color:var(--lime); }
.secret-carousel-arrow:disabled { opacity:.3; }
.secret-carousel-viewport { overflow:hidden; touch-action:pan-y pinch-zoom; cursor:grab; user-select:none; }
.secret-carousel-viewport:focus-visible { outline:2px solid var(--lime); outline-offset:4px; }
.secret-carousel-viewport.is-dragging { cursor:grabbing; }
.secret-carousel-track { display:flex; gap:var(--carousel-gap); list-style:none; margin:0; padding:0; transition:transform .3s cubic-bezier(.22,1,.36,1); }
.secret-carousel-track.is-instant { transition:none; }
.secret-carousel-track>li { flex:0 0 calc((100% - (var(--carousel-visible) - 1)*var(--carousel-gap))/var(--carousel-visible)); }
.secret-step { position:relative; min-width:0; display:flex; flex-direction:column; align-items:center; text-align:center; gap:5px; padding:5px 8px 10px; }
.secret-step::before { content:''; position:absolute; top:20px; left:0; right:0; height:1px; background:#44515b; }
.secret-step:first-child::before { left:50%; }
.secret-step:last-child::before { right:50%; }
.secret-step-dot { position:relative; display:grid; place-items:center; width:30px; height:30px; margin-bottom:7px; border:1px solid #778492; border-radius:50%; background:var(--bg); color:#aab9c8; }
.secret-step-dot svg { width:18px; height:18px; }
.secret-step strong { font-size:11px; line-height:1.4; overflow-wrap:anywhere; }
.secret-step>span:not(.secret-step-dot) { color:#b5c0ce; font-size:12px; }
.secret-step small { font-size:10px; color:#8192a3; }
.secret-step.is-done .secret-step-dot { border-color:var(--mint); color:var(--mint); background:#142922; }
.secret-step.is-done small { color:var(--mint); }
.secret-step.is-next .secret-step-dot { border-color:var(--lime); color:var(--lime); box-shadow:0 0 0 4px #d8f2770a; }
.secret-step.is-next small { color:var(--lime); }
.secret-reveal { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.25fr); align-items:center; gap:24px; padding:16px; border:1px solid #20445c; border-radius:7px; background:linear-gradient(120deg,#09162388,#06131e99); }
.secret-reveal-image { position:relative; overflow:hidden; border:1px solid #28435d; border-radius:5px; aspect-ratio:1.9; }
.secret-reveal-image img { display:block; width:100%; height:100%; object-fit:cover; }
.secret-reveal-image>span { position:absolute; inset:0; display:grid; place-items:center; padding-top:10px; font:600 72px/1 'Barlow Condensed',sans-serif; color:#f0efff; text-shadow:0 0 12px #a797ff,0 0 28px #7951ec; }
.secret-reveal-copy { min-width:0; }
.secret-reveal h3 { margin:0 0 6px; color:#bfcede; font-size:11px; font-weight:500; letter-spacing:1px; text-transform:uppercase; }
.secret-reveal-amount { display:flex; align-items:baseline; flex-wrap:wrap; gap:9px; margin-bottom:10px; }
.secret-reveal-amount strong { font:600 30px/1.1 'Barlow Condensed',sans-serif; color:var(--lime); }
.secret-reveal-amount>span { font-size:12px; }
.secret-progress { display:block; appearance:none; width:100%; height:11px; overflow:hidden; border:1px solid #90a1af; border-radius:8px; background:#06111c; accent-color:var(--lime); }
.secret-progress::-webkit-progress-bar { background:#06111c; border-radius:8px; }
.secret-progress::-webkit-progress-value { background:linear-gradient(90deg,#d8f277,#a7ee69); border-radius:8px; }
.secret-progress::-moz-progress-bar { background:linear-gradient(90deg,#d8f277,#a7ee69); border-radius:8px; }
.secret-progress-labels { display:flex; justify-content:space-between; gap:12px; margin-top:5px; font-size:11px; }
.secret-reveal-note { display:flex; align-items:center; gap:12px; margin-top:16px; color:#b5c5d7; font-size:11px; line-height:1.6; }
.secret-gallery-heading { margin-top:24px; }
.secret-gallery-heading h2 { font:600 18px/1.2 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.secret-card { position:relative; overflow:hidden; min-width:0; aspect-ratio:3/4; border:1px solid #2c485f; border-radius:6px; background:#0b1723; }
.secret-card>img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; }
.secret-card::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,#07101900 15%,#06111abc 52%,#061019 100%); }
.secret-card.is-locked>img { filter:brightness(.6) saturate(.6); }
.secret-card.is-unlocked { border-color:#87619a; }
.secret-card.has-reveal-artwork>img { object-fit:contain; object-position:center top; }
.secret-card.has-reveal-artwork::after { background:linear-gradient(180deg,#06111a00 42%,#06111a99 68%,#061019 100%); }
.secret-card-icon { position:absolute; z-index:1; top:16%; left:50%; transform:translateX(-50%); display:grid; place-items:center; width:36px; height:36px; color:#bbccdc; border-radius:50%; background:#06111a99; }
.secret-card.is-unlocked .secret-card-icon { top:9px; right:9px; left:auto; transform:none; width:24px; height:24px; color:var(--mint); }
.secret-card.has-reveal-artwork .secret-card-icon { top:auto; bottom:7px; right:7px; }
.secret-card.is-unlocked .secret-card-icon svg { width:16px; height:16px; }
.secret-card-copy { position:absolute; z-index:1; left:10px; right:10px; bottom:10px; }
.secret-card h3 { margin:0 0 4px; font:600 18px/1.1 'Barlow Condensed',sans-serif; overflow-wrap:anywhere; }
.secret-card.is-unlocked h3 { text-transform:uppercase; }
.secret-card p { margin:0 0 8px; font-size:10px; line-height:1.4; color:#c8d3df; }
.secret-card-copy>span { display:block; color:#8fa4b7; font-size:10px; line-height:1.5; }
.secret-card.is-unlocked .secret-card-copy>span { color:var(--mint); }
@media(max-width:950px) {
  .secret-carousel { --carousel-visible:4; }
  .secret-goals-carousel { --carousel-visible:5; }
  .secret-reveal { gap:18px; }
  .secret-reveal-image { aspect-ratio:1.4; }
}
@media(max-width:600px) {
  .campaign-secrets { padding-top:18px; }
  .secret-carousel { --carousel-visible:3; --carousel-gap:9px; }
  .secret-goals-carousel { --carousel-gap:0px; }
  .secrets-heading-actions { gap:8px; }
  .secret-carousel-arrow { width:36px; height:36px; }
  .secret-reveal { grid-template-columns:minmax(0,.9fr) minmax(0,1fr); gap:14px; padding:12px; align-items:stretch; }
  .secret-reveal-image { aspect-ratio:auto; min-height:185px; }
  .secret-reveal h3 { font-size:10px; letter-spacing:.6px; }
  .secret-reveal-amount { gap:3px 8px; }
  .secret-reveal-amount strong { font-size:28px; }
  .secret-reveal-amount>span { font-size:11px; }
  .secret-reveal-note { align-items:flex-start; gap:7px; margin-top:12px; font-size:10px; }
  .secret-reveal-note svg { width:18px; height:18px; }
  .secret-card { aspect-ratio:auto; min-height:165px; }
  .secret-card-copy { left:7px; right:7px; bottom:8px; }
  .secret-card h3 { font-size:16px; }
  .secret-card.has-reveal-artwork { display:flex; flex-direction:column; }
  .secret-card.has-reveal-artwork>img { position:static; height:auto; }
  .secret-card.has-reveal-artwork::after { display:none; }
  .secret-card.has-reveal-artwork .secret-card-copy { position:static; display:flex; flex-direction:column; flex:1; padding:8px 7px; }
  .secret-card.has-reveal-artwork .secret-card-copy>span { margin-top:auto; }
  .secret-card.has-reveal-artwork h3 { font-size:clamp(12px,3.6vw,14px); }
  .secret-gallery-heading { flex-wrap:wrap; }
  .secret-gallery-heading .secrets-heading-actions { display:contents; }
  .secret-gallery-heading .secrets-heading-actions>span { order:3; flex-basis:100%; font-size:10px; margin-top:-8px; }
}
