/* The shared explainer, used by both contextual panels and the public page. */
.joy-funding { --funding-ink:#193f39; --funding-muted:#536e65; color:var(--funding-ink); max-width:860px; margin:0 auto; font-family:var(--font-body,Arial,sans-serif); }
.joy-funding p { font-family:var(--font-body,Arial,sans-serif); }
.panel-prose.live-rules .joy-funding-mechanics summary::after { content:none; }
.panel-prose.live-rules .joy-funding-mechanics>div { padding:0 0 20px; }
.joy-funding .joy-funding-hero { position:relative; padding:8px 0 24px; }
.joy-funding .joy-funding-hero h1 { max-width:650px; margin:0; color:var(--funding-ink); font:750 clamp(1.8rem,3.4vw,2.3rem)/1.04 var(--font-display,Arial,sans-serif); letter-spacing:-.045em; text-wrap:balance; }
.joy-funding .joy-funding-lede { max-width:660px; margin:16px 0 0; color:var(--funding-muted); font-size:1.12rem; line-height:1.65; }
.joy-funding .joy-funding-flow { position:relative; margin:0; padding:0; list-style:none; }
.joy-funding-flow::before { content:''; position:absolute; top:31px; bottom:90px; left:23px; width:1px; background:linear-gradient(#c5944a,#8ea792 55%,#ba8867); }
.joy-funding .joy-funding-chapter { position:relative; display:grid; grid-template-columns:48px minmax(0,1fr); align-items:start; gap:24px; margin:0; padding:24px 0 28px; border-top:1px solid #69807628; }
.joy-funding .joy-funding-number { position:relative; display:grid; place-items:center; width:48px; height:48px; border:1px solid #d1bb93; border-radius:50%; background:#fbf5e9; font-size:.83rem; font-weight:750; color:#8b642c; }
.joy-funding .joy-funding-fund .joy-funding-number { background:#eaf1e9; border-color:#a5bda6; color:#46694f; }
.joy-funding .joy-funding-fulfill .joy-funding-number { background:#faece3; border-color:#d7b196; color:#965e36; }
.joy-funding .joy-funding-chapter h2 { margin:0; font:750 clamp(1.45rem,2.7vw,1.95rem)/1.18 var(--font-display,Arial,sans-serif); color:var(--funding-ink); letter-spacing:-.025em; text-wrap:balance; }
.joy-funding .joy-funding-mechanics { padding:0; border:0; border-top:1px solid #69807638; border-bottom:1px solid #69807638; border-radius:0; background:transparent; box-shadow:none; }
.joy-funding .joy-funding-mechanics summary { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:18px 0; cursor:pointer; font-size:.92rem; font-weight:650; list-style:none; }
.joy-funding .joy-funding-mechanics summary::-webkit-details-marker { display:none; }
.joy-funding .joy-funding-mechanics summary span { font-size:1.4rem; font-weight:400; line-height:1; transition:transform .15s; }
.joy-funding .joy-funding-mechanics[open] summary span { transform:rotate(45deg); }
.joy-funding .joy-funding-mechanics>div { padding:0 0 20px; }
.joy-funding .joy-funding-mechanics p { margin:12px 0 0; max-width:700px; font-size:.9rem; line-height:1.65; color:var(--funding-muted); }
.joy-funding .experience-funding-actions { display:flex; flex-wrap:wrap; gap:16px; padding-top:24px; }
.joy-funding summary:focus-visible { outline:2px solid #456f5f; outline-offset:5px; }
.crowdfunding-invitation { display:inline-flex; align-items:center; gap:10px; width:fit-content; max-width:100%; color:#315e50; text-align:left; font-size:.9rem; line-height:1.4; }
.crowdfunding-invitation .crowdfunding-invitation-mark { display:inline-grid; place-items:center; width:25px; height:25px; flex:none; border-radius:50%; background:#f3e6d0; color:#9a6d34; font-size:20px; text-decoration:none; }
.cruise-offer-intro .crowdfunding-invitation { margin:0 0 18px; }
@media(max-width:600px) {
 .joy-funding .joy-funding-hero { padding:4px 0 28px; }
 .joy-funding .joy-funding-hero h1 { font-size:clamp(1.8rem,7vw,2.3rem); }
 .joy-funding .joy-funding-lede { font-size:1rem; margin-top:18px; }
 .joy-funding .joy-funding-chapter { grid-template-columns:34px minmax(0,1fr); gap:14px; padding:26px 0 32px; }
 .joy-funding .joy-funding-number { width:34px; height:34px; font-size:.72rem; }
 .joy-funding-flow::before { left:16px; }
 .joy-funding .joy-funding-chapter h2 { font-size:1.5rem; }
}
@media(prefers-reduced-motion:reduce) { .joy-funding .joy-funding-mechanics summary span { transition:none; } }

.joy-funding .joy-funding-chapter p { margin:14px 0 0; font-size:1rem; line-height:1.65; color:var(--funding-muted); }
.joy-funding .joy-funding-pass { margin:24px 0; padding-left:18px; border-left:3px solid #98ad99; }
.joy-funding .joy-funding-pass h3 { margin:0; font:700 1.1rem/1.4 var(--font-body,Arial,sans-serif); color:var(--funding-ink); }
.joy-funding .joy-funding-pass p { margin-top:10px; }
.joy-funding .joy-funding-points { color:var(--funding-ink); }
.joy-funding .joy-funding-context { padding:28px 0; border-top:1px solid #69807628; }
.joy-funding .joy-funding-context h2 { margin:0 0 16px; font:750 1.4rem/1.3 var(--font-display,Arial,sans-serif); color:var(--funding-ink); }
.joy-funding .joy-funding-context p { margin:14px 0 0; font-size:1rem; line-height:1.65; color:var(--funding-muted); }
.joy-funding .joy-funding-related { border-top:0; padding-bottom:0; }

.joy-funding .joy-funding-entry { margin:12px 0 0; font-size:1rem; line-height:1.5; font-weight:650; }
.joy-funding .joy-funding-related { padding-bottom:24px; }
