/* Keep the invitation secondary to buying the book. */
.challenge-cta-group { display:inline-flex; flex-direction:column; align-items:stretch; max-width:100%; vertical-align:top; }
.challenge-secondary { appearance:none; display:block; padding:10px 4px; min-height:44px; margin:2px auto 0; border:0; background:transparent; color:#85323a; font:500 14px/1.5 system-ui,sans-serif; text-align:center; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.challenge-secondary:hover { color:#b90c17; }
.challenge-secondary:focus-visible,.challenge-compact button:focus-visible { outline:3px solid #b90c17; outline-offset:3px; }
.challenge-sticky-actions { display:flex; flex-direction:column; align-items:stretch; flex-shrink:0; }
.challenge-sticky-actions .challenge-secondary { font-size:13px; min-height:44px; padding:7px 2px; margin:0; }
[data-challenge-footer] .challenge-secondary { color:#f3d9d8; margin:0; padding:4px; }
[data-challenge-mobile-menu] .challenge-secondary { margin:8px 18px; text-align:left; }
.site-nav {
 opacity:1; visibility:visible;
 transition:transform 350ms cubic-bezier(.22,1,.36,1), opacity 250ms ease-out, visibility 0s;
}
.site-nav.nav-hidden {
 transform:translateY(calc(-100% - 12px));
 pointer-events:none; visibility:hidden; opacity:0;
 transition:transform 350ms cubic-bezier(.22,1,.36,1), opacity 250ms ease-out, visibility 0s 350ms;
}
@media(max-width:600px) {
 .challenge-cta-group .btn-cta { white-space:normal; }
 .challenge-sticky-actions { max-width:48%; }
 .challenge-sticky-actions .floating-cta-btn { padding:11px 14px!important; }
}

/* A compact invitation using the approved red-and-black warning-tape identity. */
.challenge-compact {
 position:fixed; inset:0 0 auto; z-index:1001;
 transform:translateY(calc(-100% - 12px)); opacity:0; visibility:hidden; pointer-events:none;
 transition:transform 350ms cubic-bezier(.22,1,.36,1), opacity 250ms ease-out, visibility 0s 350ms;
 padding:max(16px,env(safe-area-inset-top)) 24px 20px;
 background:oklch(0.985 0.005 70); color:oklch(0.25 0.018 25);
 box-shadow:0 5px 22px oklch(0.25 0.015 25 / .10);
}
.challenge-compact::after {
 content:''; position:absolute; inset:auto 0 0; height:4px;
 background:repeating-linear-gradient(135deg,oklch(0.55 0.22 27) 0 12px,oklch(0.21 0.012 25) 12px 24px);
}
.challenge-compact.is-visible {
 transform:translateY(0); opacity:1; visibility:visible; pointer-events:auto;
 transition:transform 350ms cubic-bezier(.22,1,.36,1), opacity 250ms ease-out, visibility 0s;
}
.challenge-compact-inner { max-width:1120px; margin:auto; display:flex; align-items:center; gap:24px; }
.challenge-compact-copy { flex:1; min-width:0; font-family:system-ui,sans-serif; }
.challenge-compact-intro { display:block; color:oklch(0.45 0.018 35); font-size:13px; line-height:1.4; margin-bottom:4px; }
.challenge-compact-copy strong { display:block; font-size:clamp(18px,2.1vw,23px); line-height:1.28; font-weight:750; letter-spacing:-.025em; text-wrap:balance; }
.challenge-compact-copy em { font-style:normal; color:oklch(0.48 0.19 27); white-space:nowrap; }
.challenge-compact-detail { display:block; margin-top:7px; color:oklch(0.46 0.018 35); font-size:12px; line-height:1.4; }
.challenge-compact-detail::before { content:''; display:inline-block; width:6px; height:6px; border-radius:50%; margin:0 7px 1px 0; background:oklch(0.48 0.19 27); }
.challenge-compact-trigger {
 flex:none; border:1px solid oklch(0.48 0.19 27); border-radius:10px;
 background:oklch(0.48 0.19 27); color:oklch(0.985 0.005 70);
 padding:15px 23px; min-height:52px; font:750 16px/1.35 system-ui,sans-serif;
 box-shadow:0 3px 0 oklch(0.36 0.13 27); cursor:pointer;
 transition:background-color 150ms ease-out,transform 150ms ease-out;
}
.challenge-compact-trigger:hover { background:oklch(0.42 0.17 27); transform:translateY(-1px); }
.challenge-compact-trigger:active { transform:translateY(1px); }
.challenge-menu-toggle { flex:none; border:1px solid oklch(0.86 0.012 25); border-radius:8px; background:transparent; padding:10px; min-height:44px; color:oklch(0.40 0.018 25); font:500 12px/1.4 system-ui,sans-serif; cursor:pointer; }
.challenge-menu-toggle:hover { background:oklch(0.94 0.008 25); }
.challenge-compact button:focus-visible { outline:3px solid oklch(0.48 0.19 27); outline-offset:4px; }
@media(max-width:760px) {
 .challenge-compact { padding:13px 16px 17px; }
 .challenge-compact-inner { gap:14px; }
 .challenge-compact-trigger { padding:14px 16px; font-size:14px; }
 .challenge-compact-copy strong { font-size:18px; }
 .challenge-compact-intro { font-size:12px; }
}
@media(max-width:540px) {
 .challenge-compact-inner { display:grid; grid-template-columns:1fr auto; gap:11px 12px; }
 .challenge-compact-copy { grid-column:1; }
 .challenge-compact-copy strong { font-size:18px; }
 .challenge-compact-detail { margin-top:5px; }
 .challenge-compact-trigger { grid-column:1 / -1; grid-row:2; min-height:46px; padding:11px 16px; font-size:15px; }
 .challenge-menu-toggle { grid-column:2; grid-row:1; align-self:start; }
}
@media(prefers-reduced-motion:reduce) { .site-nav,.site-nav.nav-hidden,.challenge-compact,.challenge-compact.is-visible,.challenge-compact-trigger { transition:none; } }

/* Keep long localized copy inside narrow viewports. */
.challenge-compact,.challenge-compact * { box-sizing:border-box; }
.challenge-compact-copy { overflow-wrap:break-word; }
.challenge-compact-copy em { white-space:normal; }
[data-challenge-footer] .challenge-secondary { color:inherit; }
