/* Supporting the site.
 *
 * A page whose whole job is to be believed, so it is written to be read rather
 * than skimmed past on the way to a button: the promise about where the money
 * goes is the first thing, the costs are next, and the link itself is last.
 * Somebody who has scrolled that far knows exactly what they are giving to.
 */

.support-main {
    max-width: 680px;
    margin: 0 auto;
    padding: clamp(18px, 4vw, 40px) 24px 64px;
}

.support-head { margin-bottom: 28px; }

.support-head h1 {
    margin: 0 0 10px;
    font-size: clamp(1.7rem, 4vw, 2.2rem);
}

.support-lede {
    margin: 0;
    color: var(--muted);
    font-size: 1rem;
    line-height: 1.6;
}

.support-main section { margin-bottom: 30px; }

.support-main h2 {
    margin: 0 0 10px;
    font-size: 1.08rem;
    color: var(--accent);
}

.support-main p {
    margin: 0 0 12px;
    line-height: 1.65;
    color: var(--text);
}

.support-main a { color: var(--accent); }

/* The promise, boxed, because it is the claim the rest of the page is
   evidence for. Everything else can be skimmed; this should not be. */
.support-promise {
    border: 1px solid var(--panel-border);
    border-left: 3px solid var(--accent);
    border-radius: 10px;
    padding: 16px 18px;
    background: var(--panel-2);
}

.support-promise h2 { margin-top: 0; }
.support-promise p:last-child { margin-bottom: 0; }

.support-costs {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 12px;
}

.support-costs li {
    border: 1px solid var(--panel-border);
    border-radius: 10px;
    padding: 12px 14px;
    line-height: 1.6;
    color: var(--muted);
}

.support-costs b { color: var(--text); }

.support-costs code {
    padding: 1px 5px;
    border-radius: 4px;
    background: var(--panel-2);
    font-size: 0.92em;
}

/* Last on the page, and the only thing on it that is a button. */
.support-give {
    border-top: 1px solid var(--panel-border);
    padding-top: 24px;
}

.support-main a.support-btn {
    display: inline-block;
    padding: 11px 22px;
    border-radius: 9px;
    background: var(--accent);
    color: #14161c;
    font-weight: 700;
    text-decoration: none;
}

.support-main a.support-btn:hover { filter: brightness(1.08); }

/* The one above the heading, for somebody who has already decided. */
.support-btn.is-top { margin-bottom: 18px; }

.support-none {
    color: var(--muted);
    font-style: italic;
}

.support-fee {
    margin-top: 14px;
    color: var(--muted);
    font-size: 0.86rem;
    line-height: 1.6;
}

.support-foot {
    display: flex;
    gap: 22px;
    flex-wrap: wrap;
    padding-top: 8px;
    font-size: 0.85rem;
}

.support-foot a { color: var(--muted); text-decoration: none; }
.support-foot a:hover { color: var(--accent); }

/* The terms, small and last. They are here because Ko-fi takes the
   payment without being a party to it, so the promises have to be
   written down somewhere that is not a payment page. */
.support-terms { border-top: 1px solid var(--panel-border); padding-top: 22px; }

.support-terms ul {
    margin: 0;
    padding-left: 18px;
    display: grid;
    gap: 8px;
    color: var(--muted);
    font-size: 0.88rem;
    line-height: 1.6;
}
