.community-section { padding-top: 16px; padding-bottom: 42px; }
.join-panel { display: grid; grid-template-columns: 1.2fr 1fr; gap: 38px; padding: 32px; border: 1px solid #334e60; border-radius: 24px; background: linear-gradient(115deg, #122531ee, #0b151eee); box-shadow: 0 18px 44px #0004; }
.join-copy .label, .supporters-heading .label { color: var(--accent); letter-spacing: .15em; }
.join-copy h2 { font: 600 clamp(26px, 3.3vw, 34px)/1.2 var(--font-disp); letter-spacing: -.01em; margin: 10px 0 15px; }
.join-copy > p:last-of-type { color: #bdcbd6; font-size: 16px; line-height: 1.6; }
.join-actions { display: flex; align-items: center; gap: 8px 20px; flex-wrap: wrap; margin-top: 22px; }
.join-actions .opening-link { font-size: 13px; }
.join-start { align-self: center; padding-left: 28px; border-left: 1px solid #35505e; }
.join-start .label { color: #a0c3d4; letter-spacing: .12em; }
.join-start > p:not(.label) { color: #bac9d5; font-size: 15px; line-height: 1.65; margin-top: 12px; overflow-wrap: anywhere; }
.join-start b { font-weight: 500; color: #e1edf5; }
.join-start .starter-question { padding-top: 16px; margin-top: 18px !important; border-top: 1px solid #2c4351; color: #dcf0fa !important; }
.supporters-section { border-top: 1px solid var(--line); }
.supporters-heading h2 { font-size: clamp(26px, 3.4vw, 36px); letter-spacing: -.01em; }
.supporters-heading > p:last-child { color: #afc0ce; margin-top: 13px; max-width: 720px; }
.supporter-wall { margin: 25px 0; padding: 20px 24px; border-left: 2px solid #3b6578; background: #0b151dd9; border-radius: 0 14px 14px 0; }
#crewStatus { color: #a8bfce; font-size: 15px; }
#crewStatus:empty { display: none; }
.supporter-names { list-style: none; display: flex; flex-wrap: wrap; gap: 12px; margin-top: 15px; }
.supporter-names li { padding: 12px 18px; border: 1px solid #36505f; border-radius: 12px; background: #13232f; color: #e2f1fa; font: 600 17px/1.45 var(--font-disp); overflow-wrap: anywhere; max-width: 100%; }
.crew-retry { min-height: 48px; padding: 10px 17px; margin-top: 14px; background: #143040; color: #c1f1ff; border: 1px solid #49788c; border-radius: 10px; font: 500 14px var(--font-body); cursor: pointer; }
.crew-retry:disabled { opacity: .6; cursor: wait; }
.credit-steps { padding: 5px 0 0 22px; color: #b4c5d2; }
.credit-steps li { padding: 15px 0 5px 7px; line-height: 1.65; font-size: 15px; max-width: 840px; }
.credit-steps li::marker { color: #91c5dc; }
.credit-steps b { color: #e2edf5; font-weight: 600; }
.credit-privacy { margin-top: 21px; padding-top: 17px; border-top: 1px solid #2b3f4e; font-size: 14px; color: #b7c9d6; }
.credit-guide .opening-link { margin-top: 12px; }
.follow-section { border-top: 1px solid var(--line); padding-bottom: 32px; }
.follow-section h2 { font-size: 26px; }
.follow-links { display: flex; flex-wrap: wrap; gap: 6px 30px; margin-top: 13px; }
.follow-links a { min-height: 48px; display: inline-flex; align-items: center; gap: 8px; font-size: 14px; text-underline-offset: 4px; }
.more-from-alex { margin-top: 12px; }
.more-from-alex a { display: inline-flex; align-items: center; min-height: 48px; color: #a4b6c5; }
@media (max-width: 720px) {
 .join-panel { grid-template-columns: 1fr; gap: 24px; padding: 24px; }
 .join-start { border-left: none; border-top: 1px solid #35505e; padding: 22px 0 0; }
 .join-start .starter-question { border-top: none; padding-top: 0; margin-top: 14px !important; }
}
@media (max-width: 400px) {
 .join-panel { padding: 21px; border-radius: 20px; }
 .join-actions { gap: 5px 16px; }
 .supporter-wall { padding: 18px; }
}

.supporter-credit-link { font-size: 13px; margin-top: 5px; }
