/* Community presentation only. Existing post, moderation and advert controls stay shared. */
.community-page { overflow: clip; padding-top: 56px; }
.community-page .community-shell { max-width: 1260px; }
.community-page .community-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(390px, .92fr);
  align-items: stretch;
  gap: clamp(20px, 4vw, 48px);
  margin: 0 0 clamp(32px, 3vw, 38px);
}
.community-page .community-hero-copy { align-self: center; padding: clamp(16px, 3vw, 40px) 0; }
.community-page .community-hero h1 { max-width: 710px; margin: 18px 0 20px; font-size: clamp(3.15rem, 6vw, 6rem); letter-spacing: -.065em; line-height: .99; text-wrap: balance; }
.community-page .community-hero p { max-width: 560px; font-size: clamp(1.05rem, 1.4vw, 1.25rem); line-height: 1.65; text-wrap: pretty; }
.community-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 32px; }
.community-hero-actions a { min-height: 48px; }
.community-hero-art { position: relative; min-height: clamp(280px, 27vw, 330px); overflow: hidden; border-radius: 24px; background: #241627; isolation: isolate; box-shadow: 0 22px 55px #1007132b; }
.community-hero-art::before { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(180deg, transparent 42%, #110b16ca 100%); pointer-events: none; }
.community-hero-art img { display: block; width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; object-position: center; }
.community-art-caption { position: absolute; z-index: 2; left: clamp(22px, 3vw, 38px); right: 22px; bottom: clamp(24px, 3vw, 38px); max-width: 360px; color: #fff; font-size: clamp(1.5rem, 2.25vw, 2.2rem); font-weight: 760; line-height: 1.1; letter-spacing: -.045em; text-shadow: 0 3px 18px #0008; }
.community-overline,.community-feature-number { color: var(--pink-strong, #c32572); font-size: .75rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.community-section-lead { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 25px; }
.community-section-lead > div { max-width: 710px; }
.community-section-lead h2,.community-feed-heading h2 { margin: 7px 0 12px; font-size: clamp(1.95rem, 3.5vw, 3rem); line-height: 1.08; letter-spacing: -.055em; text-wrap: balance; }
.community-section-lead p,.community-feed-heading p { margin: 0; color: var(--copy); line-height: 1.65; }
.community-section-lead > a,.community-feature-card a,.community-editorial-copy a,.community-guide-feed-link,.community-feed-heading a { color: var(--pink-strong); font-weight: 780; text-decoration: none; }
.community-section-lead > a { flex: none; padding-bottom: 5px; }
.community-section-lead > a:hover,.community-feature-card a:hover,.community-editorial-copy a:hover { text-decoration: underline; text-underline-offset: 4px; }
.community-hub-intro { margin-bottom: 36px; scroll-margin-top: 96px; }
.community-feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.community-feature-card { display: flex; flex-direction: column; min-width: 0; min-height: 235px; padding: clamp(22px, 2.5vw, 30px); border: 1px solid var(--line-strong); border-radius: 16px; background: var(--panel); box-shadow: var(--shadow-soft, none); transition: transform 220ms ease, border-color 220ms ease; }
.community-feature-card:hover { transform: translateY(-3px); border-color: var(--pink); }
.community-feature-card h3 { margin: 23px 0 7px; font-size: clamp(1.35rem, 2vw, 1.7rem); letter-spacing: -.04em; line-height: 1.13; }
.community-feature-card p { margin: 0 0 22px; color: var(--copy); line-height: 1.6; font-size: .94rem; }
.community-feature-card a { display: inline-flex; justify-content: space-between; gap: 14px; margin-top: auto; padding-top: 18px; border-top: 1px solid var(--line); min-height: 44px; align-items: end; }
.community-feature-card[data-feature="events"] { background: linear-gradient(135deg, color-mix(in srgb, var(--pink) 11%, var(--panel)), var(--panel) 56%); }
.community-feature-card[data-feature="groups"] { background: linear-gradient(135deg, color-mix(in srgb, #8060d9 13%, var(--panel)), var(--panel) 56%); }
.community-feature-card[data-feature="collections"] { background: linear-gradient(135deg, color-mix(in srgb, #c8744c 12%, var(--panel)), var(--panel) 56%); }
.community-editorial { position: relative; display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(150px, .5fr); align-items: center; gap: 30px; min-height: 245px; padding: clamp(28px, 4vw, 50px); margin: 0 0 42px; overflow: hidden; border: 1px solid #ae6a9c6b; border-radius: 20px; background: radial-gradient(circle at 83% 23%, #8d3b7d70, transparent 31%), linear-gradient(110deg, #251322, #332036 55%, #261629); color: #fff; }
.community-editorial .community-overline { color: #f3b6d4; }
.community-editorial-copy { position: relative; z-index: 1; max-width: 690px; }
.community-editorial h2 { margin: 10px 0 14px; font-size: clamp(1.9rem, 3.4vw, 3.25rem); letter-spacing: -.055em; line-height: 1.08; text-wrap: balance; }
.community-editorial p { max-width: 630px; margin: 0 0 22px; color: #f6e5f0; line-height: 1.65; }
.community-editorial-copy a { color: #fff; border-bottom: 1px solid #ffffff73; padding-bottom: 4px; }
.community-editorial-mark { justify-self: center; transform: rotate(-13deg); color: #ffffff27; font-size: clamp(4rem, 9vw, 9rem); font-weight: 900; letter-spacing: -.11em; white-space: nowrap; }
.community-editorial-mark span { color: #fd9ac04d; }
.community-curated { margin: 0 0 42px; }
.community-curated-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.community-curated-card { display: flex; flex-direction: column; min-width: 0; padding: 24px; border: 1px solid var(--line-strong); border-radius: 15px; background: var(--panel); }
.community-curated-card h3 { margin: 8px 0 10px; font-size: 1.3rem; line-height: 1.2; }
.community-curated-card p { margin: 0 0 20px; color: var(--copy); line-height: 1.55; }
.community-curated-card a { margin-top: auto; color: var(--pink-strong); font-weight: 750; overflow-wrap: anywhere; }
.community-curated-list { display: grid; gap: 12px; margin: auto 0 0; padding: 0; list-style: none; }
.community-curated-list li { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 2px 10px; padding-top: 12px; border-top: 1px solid var(--line); }
.community-curated-list a { margin: 0; }
.community-curated-list span { color: var(--muted); font-size: .8rem; }
.community-curated-list small { grid-column: 1 / -1; color: var(--copy); line-height: 1.4; }
.community-advert { position: relative; top: auto; max-width: 1050px; margin: 14px auto 44px; }
.community-advert[hidden] { display: none; }
.community-advert-lower { margin-top: 46px; }
.community-page .community-sections { margin: 0 0 28px; padding: 0 0 18px; scroll-margin-top: 90px; }
.community-page .community-sections a { border-radius: 999px; }
.community-feed-heading { display: flex; align-items: end; justify-content: space-between; gap: 22px; margin-bottom: 12px; scroll-margin-top: 100px; }
.community-feed-heading h2 { font-size: clamp(1.65rem, 2.6vw, 2.45rem); }
.community-feed-heading p { max-width: 300px; font-size: .85rem; }
.community-page .community-state { padding: 10px 0; }
.community-empty { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: clamp(24px, 3vw, 34px); border: 1px solid var(--line-strong); border-radius: 16px; background: linear-gradient(120deg, color-mix(in srgb, var(--pink) 7%, var(--panel)), var(--panel)); }
.community-empty[hidden] { display: none; }
.community-empty h3 { margin: 7px 0 8px; font-size: clamp(1.5rem, 2.3vw, 2.15rem); letter-spacing: -.04em; }
.community-empty p { margin: 0; color: var(--copy); line-height: 1.55; }
.community-empty a { flex: none; }
.community-page .community-card { display: flex; flex-direction: column; min-height: 280px; transition: border-color 160ms ease; }
.community-page .community-card:hover { border-color: var(--pink); }
.community-page .community-card h2 { font-size: clamp(1.5rem, 2.15vw, 2rem); text-wrap: balance; }
.community-page .community-card .community-body { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; }
.community-page[data-detail="true"] .community-card .community-body { display: block; overflow: visible; }
.community-page .community-card .community-facts { margin-top: 22px; }
.community-page .community-card .community-byline { margin-top: auto; }
.community-page .community-card .community-detail-link { align-self: start; }
.community-page .community-card-event { border-top: 3px solid #de5c9b; }
.community-page .community-card-recruitment { border-top: 3px solid #7a69cf; }
.community-page .community-card-group { border-top: 3px solid #5faab3; }
.community-page .community-card-collection { border-top: 3px solid #d59a69; }
.community-guide { margin: 0 0 42px; padding: clamp(24px, 4vw, 44px); border: 1px solid var(--line-strong); border-radius: 18px; background: var(--panel); scroll-margin-top: 100px; }
.community-guide-head { max-width: 740px; }
.community-guide h2 { margin: 8px 0 12px; font-size: clamp(2rem, 3.5vw, 3rem); line-height: 1.08; letter-spacing: -.05em; }
.community-guide-head p { margin: 0; color: var(--copy); line-height: 1.65; }
.community-guide-steps { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; margin: 28px 0; padding: 0; list-style: none; counter-reset: guide; }
.community-guide-steps li { min-width: 0; padding: 20px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel-2); counter-increment: guide; }
.community-guide-steps li::before { content: "0" counter(guide); display: block; margin-bottom: 16px; color: var(--pink-strong); font-size: .76rem; font-weight: 800; letter-spacing: .1em; }
.community-guide-steps strong { display: block; margin-bottom: 7px; line-height: 1.3; }
.community-guide-steps p { margin: 0; color: var(--copy); line-height: 1.6; font-size: .92rem; }
.community-guide-example { padding: 20px 23px; border-left: 3px solid var(--pink); border-radius: 0 10px 10px 0; background: var(--panel-2); }
.community-guide-example h3 { margin: 8px 0; font-size: 1.3rem; }
.community-guide-example p { margin: 0; color: var(--copy); line-height: 1.6; }
.community-guide-example ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 0; padding: 0; list-style: none; }
.community-guide-example li { padding: 6px 9px; border: 1px solid var(--line); border-radius: 6px; font-size: .8rem; }
.community-guide-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 18px; margin-top: 24px; }
.community-guide-actions a:not(.button-v3) { color: var(--pink-strong); font-weight: 750; }
.community-guide-actions a[hidden] { display: none; }
.community-page[data-guide="true"] .community-hub-intro,.community-page[data-guide="true"] .community-editorial,.community-page[data-guide="true"] .community-curated,.community-page[data-guide="true"] .community-advert,.community-page[data-guide="true"] .community-feed-heading,.community-page[data-guide="true"] .community-state,.community-page[data-guide="true"] .community-empty,.community-page[data-guide="true"] .community-feed,.community-page[data-guide="true"] .community-more { display: none; }
.community-page[data-guide="true"] .community-hero { display: block; margin-bottom: 18px; }
.community-page[data-guide="true"] .community-hero-art { display: none; }
.community-page[data-guide="true"] .community-hero-copy { padding: 0; }
.community-page[data-guide="true"] .community-hero h1 { margin: 10px 0 12px; font-size: clamp(2.25rem, 4.5vw, 3.65rem); }
.community-page[data-guide="true"] .community-hero p { font-size: 1rem; }
.community-page[data-guide="true"] .community-hero-actions { margin-top: 18px; }
.community-page[data-guide="true"] .community-hero-actions > a:first-child { display: none; }
.community-page[data-detail="true"] .community-hub-intro,.community-page[data-detail="true"] .community-editorial,.community-page[data-detail="true"] .community-curated,.community-page[data-detail="true"] .community-guide,.community-page[data-detail="true"] .community-feed-heading,.community-page[data-detail="true"] .community-empty,.community-page[data-detail="true"] .community-advert { display: none; }
.community-page[data-detail="true"] .community-hero-art { display: none; }
.community-page[data-detail="true"] .community-hero { display: block; margin-bottom: 20px; }
.community-page[data-detail="true"] .community-hero h1 { font-size: clamp(2.3rem, 4vw, 3.4rem); }
.community-page[data-detail="true"] .community-hero-copy { padding: 0; }
.community-page[data-detail="true"] .community-hero-actions > a:first-child { display: none; }
.community-page[data-community-kind]:not([data-community-kind="event"]) .community-hub-intro,.community-page[data-community-kind]:not([data-community-kind="event"]) .community-editorial,.community-page[data-community-kind]:not([data-community-kind="event"]) .community-curated { display: none; }
@media (prefers-reduced-motion: no-preference) {
  .community-hero-copy { animation: community-intro-enter 640ms ease-out both; }
  .community-hero-art { animation: community-art-enter 760ms ease-out both; }
  .community-art-caption { animation: community-caption-enter 800ms 160ms ease-out both; }
}
@keyframes community-intro-enter { from { transform: translateY(9px); } to { transform: translateY(0); } }
@keyframes community-art-enter { from { transform: translateY(14px); } to { transform: translateY(0); } }
@keyframes community-caption-enter { from { opacity: .72; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 970px) {
  .community-page .community-hero { grid-template-columns: minmax(0,1fr) minmax(300px,.8fr); gap: 20px; }
  .community-feature-grid,.community-curated-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .community-guide-steps { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 760px) {
  .community-page { padding-top: 34px; }
  .community-page .community-hero { grid-template-columns: minmax(0,1fr); margin-bottom: 22px; }
  .community-page .community-hero-copy { padding: 0; }
  .community-page .community-hero h1 { font-size: clamp(2.7rem, 9vw, 4rem); }
  .community-hero-art { min-height: 135px; }
  .community-section-lead,.community-feed-heading { display: block; }
  .community-section-lead > a { display: inline-block; margin-top: 16px; }
  .community-feed-heading p { max-width: 520px; }
  .community-editorial { grid-template-columns: minmax(0,1fr); }
  .community-editorial-mark { display: none; }
  .community-empty { align-items: start; flex-direction: column; }
}
@media (max-width: 560px) {
  .community-feature-grid,.community-curated-grid { grid-template-columns: minmax(0,1fr); }
  .community-hub-intro .community-section-lead > a { display: none; }
  .community-feature-card { min-height: 0; }
  .community-feature-card h3 { margin-top: 14px; }
  .community-hero-actions { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; margin-top: 22px; }
  .community-hero-actions a { width: 100%; min-height: 44px; padding-inline: 8px; justify-content: center; text-align: center; font-size: .85rem; }
  .community-page .community-sections { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 7px; padding-bottom: 12px; margin-bottom: 18px; }
  .community-page .community-sections a { border-radius: 10px; font-size: .78rem; line-height: 1.25; }
  .community-page .community-state { min-height: 34px; margin-bottom: 8px; padding: 0; }
  .community-editorial { padding: 28px 23px; }
  .community-page .community-card { min-height: 0; }
  .community-guide { padding: 24px 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .community-feature-card,.community-page .community-card { transition: none; }
  .community-feature-card:hover { transform: none; }
}
