.patron-page {
    background: var(--color-bg);
    color: var(--color-text);
}

.patron-page__label,
.patron-page__kicker,
.patron-page__preview-label,
.patron-page__hero-preview-label,
.patron-page__profile-eyebrow,
.patron-page__env-note,
.patron-page__cta-note {
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.patron-page__label {
    color: rgba(255,255,255,0.42);
    margin-bottom: 14px;
}

.patron-page__kicker {
    color: rgba(10,10,10,0.42);
    margin-bottom: 10px;
}

.patron-page__hero-inner {
    max-width: 760px;
}

.patron-page__status-line--accent {
    border-left-color: var(--accent-main);
    color: rgba(255,255,255,0.72);
}

.patron-page__lead {
    max-width: 560px;
}

.patron-page__lead--secondary {
    margin-top: -4px;
    color: rgba(255,255,255,0.56);
}

.patron-page__env-note {
    max-width: 660px;
    margin: 0 0 18px;
    color: rgba(255,255,255,0.36);
    text-transform: none;
    letter-spacing: 0.02em;
}

.patron-page__env-note code {
    color: rgba(255,255,255,0.7);
    font-family: var(--font-mono);
}

.patron-page__hero-frame {
    width: min(70%, 440px);
}

.patron-page__hero-preview {
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}

.patron-page__hero-preview-label,
.patron-page__profile-eyebrow {
    color: rgba(255,255,255,0.42);
    margin: 0 0 12px;
}

.patron-page__status-line,
.patron-page__preview-username,
.patron-page__comment-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
}

.patron-page__status-line {
    margin: 0 0 18px;
}

.patron-page__profile-shell,
.patron-page__comment-shell {
    padding: 24px;
    border: 1px solid rgba(255,255,255,0.1);
    background: #111;
}

.patron-page__hero-preview .patron-page__profile-shell {
    min-height: 0;
    background: rgba(255,255,255,0.03);
}

.patron-page__profile-title {
    margin: 0 0 14px;
    font-family: var(--font-display);
    font-size: 1.45rem;
    line-height: 1.05;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #fff;
}

.patron-page__profile-badge {
    margin: 18px 0 14px;
}

.patron-page__profile-meta,
.patron-page__preview-text,
.patron-page__comment-body,
.patron-page__compact-text,
.patron-page__compact-list li,
.patron-page__cta-note,
.patron-page__faq-item p {
    font-family: var(--font-serif);
    line-height: 1.7;
}

.patron-page__profile-meta {
    margin: 0;
    color: rgba(255,255,255,0.62);
}

.patron-page .palime-username,
.patron-page .palime-badge {
    color: #fff;
}

.patron-page .palime-badge {
    background: rgba(255,255,255,0.08);
}

.patron-page .palime-frame {
    border-top: 2px solid rgba(255,255,255,0.12);
}

.patron-page .palime-frame--level-4,
.patron-page .palime-frame--level-5 {
    border-top-color: var(--accent-main);
}

.patron-page .palime-frame--level-6,
.patron-page .palime-frame--level-7,
.patron-page .palime-frame--level-8 {
    border-top-width: 3px;
}

.patron-page .palime-frame--patron {
    box-shadow: inset 0 0 0 1px rgba(217,21,21,0.22);
}

.patron-page .profile-page--section-cinema,
.patron-page .profile-page--section-literature,
.patron-page .profile-page--section-music,
.patron-page .profile-page--section-art {
    border-left: 3px solid var(--accent-main);
}

.patron-page__benefits-section .pa-about__pillars,
.patron-page__cta-section .pa-about__pillars {
    gap: 0;
}

.patron-page__compare-layout {
    gap: 2px;
}

.patron-page__compare-featured {
    --news-accent: #fff;
    min-height: 100%;
}

.patron-page__compare-featured .pa-news__tag {
    background: #1f1f1f;
}

.patron-page__compare-compact {
    --news-accent: var(--accent-main);
    min-height: 0;
}

.patron-page__compare-compact .pa-news__tag {
    background: var(--accent-main);
}

.patron-page__compare-compact .pa-news__compact-top {
    margin-bottom: 12px;
}

.patron-page__compact-title {
    margin: 0 0 10px;
    font-family: var(--font-display);
    font-size: 1.05rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #0A0A0A;
}

.patron-page__compact-text {
    margin: 0;
    color: rgba(10,10,10,0.62);
}

.patron-page__compact-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.patron-page__compact-list li {
    position: relative;
    padding-left: 16px;
    color: rgba(10,10,10,0.62);
}

.patron-page__compact-list li + li {
    margin-top: 8px;
}

.patron-page__compact-list li::before {
    content: "—";
    position: absolute;
    left: 0;
    color: var(--accent-main);
}

.patron-page__preview-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(320px, 1.2fr);
    grid-template-rows: auto auto;
    gap: 18px;
}

.patron-page__preview-card {
    position: relative;
    padding: 24px;
    border: 1px solid rgba(255,255,255,0.08);
    background: var(--color-card-dark);
}

.patron-page__preview-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    background: rgba(217,21,21,0.72);
}

.patron-page__preview-card--feature {
    grid-row: 1 / span 2;
    grid-column: 2;
    background: #111;
}

.patron-page__preview-label {
    display: block;
    margin-bottom: 18px;
    color: rgba(255,255,255,0.4);
}

.patron-page__preview-text,
.patron-page__comment-body {
    margin: 18px 0 0;
    color: rgba(255,255,255,0.62);
}

.patron-page__comment-head {
    margin-bottom: 0;
}

.patron-page__cta-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
    margin-top: 8px;
}

.patron-page__secondary-link {
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(10,10,10,0.5);
    text-decoration: none;
    transition: opacity var(--transition);
}

.patron-page__secondary-link:hover {
    opacity: 0.8;
    color: #0A0A0A;
}

.patron-page__cta-note {
    max-width: 640px;
    margin: 18px 0 0;
    color: rgba(10,10,10,0.58);
    text-transform: none;
    letter-spacing: 0.02em;
}

.patron-page__cta-note--muted {
    color: rgba(10,10,10,0.42);
}

.patron-page__faq {
    display: grid;
    gap: 0;
    border-top: 1px solid rgba(0,0,0,0.08);
}

.patron-page__faq-item {
    border-bottom: 1px solid rgba(0,0,0,0.08);
}

.patron-page__faq-item summary {
    position: relative;
    display: block;
    list-style: none;
    cursor: pointer;
    padding: 22px 42px 22px 0;
    font-family: var(--font-display);
    font-size: 1.15rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #0A0A0A;
}

.patron-page__faq-item summary::after {
    content: "+";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    color: var(--accent-main);
    font-size: 1.1rem;
    font-family: var(--font-mono);
}

.patron-page__faq-item[open] summary::after {
    content: "−";
}

.patron-page__faq-item summary::-webkit-details-marker {
    display: none;
}

.patron-page__faq-item p {
    max-width: 720px;
    padding: 0 0 22px;
    margin: 0;
    color: rgba(10,10,10,0.62);
}

@media (max-width: 1100px) {
    .patron-page__hero-frame {
        width: min(100%, 520px);
    }

    .patron-page__preview-grid {
        grid-template-columns: 1fr;
    }

    .patron-page__preview-card--feature {
        grid-column: auto;
        grid-row: auto;
    }
}

@media (max-width: 768px) {
    .patron-page__hero-frame {
        width: 100%;
    }

    .patron-page__cta-actions,
    .patron-page__status-line {
        flex-direction: column;
        align-items: stretch;
    }

    .patron-page__secondary-link,
    .patron-page .pa-about__btn,
    .patron-page .pa-hero__actions .pa-hero__btn {
        width: 100%;
        text-align: center;
        justify-content: center;
    }

    .patron-page__profile-shell,
    .patron-page__comment-shell,
    .patron-page__preview-card {
        padding: 20px;
    }
}
