/* DEV NOTES: Owner-supplied transparent characters and crest form one open scene.
Keep essential copy and Discord CTA in normal flow; artwork never covers controls.
Mobile reduces the character stage and allows natural scrolling. No external APIs.
Social links are owner-confirmed. Preserve keyboard focus and reduced-motion rules. */
@font-face{font-family:LabyrinthSerif;src:url('/assets/labyrinth-serif-bold.woff') format('woff');font-weight:700;font-display:swap}
.community-page{--bg:#0c0d0d;--text:#ded5c4;--muted:#aaa797;--gold:#c6a064;min-height:100svh;background:linear-gradient(180deg,#11100e 0%,#0e0e0d 38%,#0c0d0d 74%)}
.community-wrap{width:calc(100% - 2 * clamp(20px,5vw,80px));max-width:1260px;margin-inline:auto}
.community-header{position:relative;z-index:2;min-height:76px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;font-size:13px;color:#b8ae9a}
.community-header a{display:inline-flex;align-items:center;gap:10px;min-height:44px;width:fit-content}
.community-header .community-motto{font-size:13px;font-weight:700;letter-spacing:.34em;color:#d1bb8e}
.community-header .community-music{justify-self:end}
.community-header a:hover,.community-footer a:hover{color:#a4eff8}
.community-hero{position:relative;isolation:isolate;min-height:505px;display:grid;place-items:center}
.community-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:url('/assets/music-labyrinth-traces.svg') center/cover;opacity:.18;pointer-events:none}
.community-guardians{position:absolute;inset:0;z-index:-1;pointer-events:none}
.community-guardians > :is(img,svg){position:absolute;top:8px;width:34%;height:100%;max-height:510px;object-fit:contain;object-position:top;filter:drop-shadow(0 2px 14px #b57c1910);mask-image:linear-gradient(to bottom,transparent 0%,#000 4%,#000 66%,transparent 99%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 4%,#000 66%,transparent 99%)}
/* DEV NOTES: Mirror only the right-hand bull so he faces the central crest on all screen sizes. */
.community-bear{left:-1%}.community-bull{right:-1%;transform:scaleX(-1)}
.community-copy{width:100%;max-width:490px;position:relative;text-align:center;padding:4px 0 28px}
.community-emblem{display:block;width:175px;height:175px;object-fit:contain;margin:0 auto 14px;filter:drop-shadow(0 3px 18px #000b)}
.community-copy h1{font-family:LabyrinthSerif,Georgia,serif;font-size:clamp(40px,4.5vw,60px);font-weight:700;line-height:1.1;letter-spacing:-.035em;white-space:nowrap;color:#dbc392;text-shadow:0 2px 2px #000,0 -1px 0 #ffedbd40}
.community-copy h1 span{font-size:.48em;letter-spacing:.02em;vertical-align:middle;color:#a58e67}
.community-etch{display:block;width:170px;height:20px;margin:12px auto;fill:none;stroke:#c6a064;stroke-width:1;opacity:.55}
.community-tagline{font-family:LabyrinthSerif,Georgia,serif;font-size:24px;font-weight:700;line-height:1.2;color:#d0c3aa}
.community-intro{font-size:15px;line-height:1.65;margin:14px auto 0;color:#bdb7a9;max-width:380px}
.community-welcome{font-size:11px;letter-spacing:.1em;color:#a99a7e;margin-top:13px}
.community-page a:focus-visible{outline:2px solid #9bedf6;outline-offset:6px}
.community-gathering{position:relative;display:grid;grid-template-columns:1fr 2fr;align-items:center;gap:30px;padding:23px 0 25px;border-block:1px solid #c6a06432}
.community-gathering::before,.community-gathering::after{content:"";position:absolute;width:5px;height:5px;background:#96794e;transform:rotate(45deg);top:-3px}
.community-gathering::before{left:0}.community-gathering::after{right:0}
.community-gathering-heading .eyebrow{font-size:9px;letter-spacing:.25em;margin-bottom:8px}
.community-gathering h2,.community-connect h2{font-family:LabyrinthSerif,Georgia,serif;color:#d6c19a;font-size:25px;font-weight:700;line-height:1.2}
.community-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0}
.community-details div{min-width:0}.community-details dt{font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:#9e947e;margin-bottom:10px}
.community-details dd{font-size:clamp(17px,1.7vw,23px);font-family:LabyrinthSerif,Georgia,serif;margin:0;color:#d9c8a7;line-height:1.3}
.community-details dd span{font-size:.6em;letter-spacing:.06em}
.community-connect{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:23px 0 27px}
.community-connect h2{font-size:23px}.community-connect p{font-size:12px;line-height:1.6;color:#a49c8c;margin-top:8px}
.community-footer{display:flex;justify-content:flex-end;gap:20px;padding:16px 0 22px;color:#8f897b;font-size:11px;border-top:1px solid #c6a06418}
@media(max-width:1000px) and (min-width:701px){.community-guardians > :is(img,svg){width:34%;height:410px;top:38px}.community-copy{max-width:390px}.community-copy h1{font-size:44px}.community-intro{max-width:310px;font-size:14px}.community-guardians{opacity:.78}.community-gathering{grid-template-columns:1fr 2.3fr}}
@media(max-width:700px){
.community-header{min-height:70px;gap:12px;font-size:11px}.community-header .community-motto{font-size:10px;letter-spacing:.2em}.community-header .community-music{font-size:11px;gap:4px}
.community-hero{min-height:0}.community-copy{max-width:none;padding:44px 0 27px}.community-guardians{height:280px;inset:0 -10px auto}.community-guardians > :is(img,svg){top:0;width:43%;height:100%;max-height:none;object-fit:contain;mask-image:linear-gradient(to bottom,transparent 0%,#000 4%,#000 65%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 4%,#000 65%,transparent 100%)}
.community-bear{left:0}.community-bull{right:0}.community-emblem{width:clamp(105px,24vw,150px);height:auto;aspect-ratio:1;margin-bottom:86px}
.community-copy h1{font-size:clamp(35px,8.7vw,59px)}.community-etch{width:145px;margin:12px auto}.community-tagline{font-size:clamp(20px,4.7vw,26px)}
.community-intro{font-size:14px;max-width:380px;margin-top:13px}.community-welcome{font-size:10px}.community-gathering{grid-template-columns:1fr;gap:21px;padding:23px 0;text-align:center}.community-gathering h2{font-size:24px}.community-details{gap:12px}.community-details dt{font-size:8px;letter-spacing:.1em;margin-bottom:8px}.community-details dd{font-size:clamp(15px,3.7vw,22px)}
.community-connect{display:block;padding:25px 0 28px;text-align:center}.community-connect p{margin-top:8px}.community-footer{font-size:10px}
}
@media(max-width:370px){.community-header{gap:8px}.community-header .community-motto{letter-spacing:.12em;font-size:9px}.community-header .community-music{font-size:10px}.community-intro{font-size:13px}}

/* DEV NOTES: Chiselled lettering echoes the homepage inlays without distress noise.
Large lettering uses a restrained mineral gradient; body copy keeps solid colour.
Supporting copy remains live text; unified image buttons keep accessible hidden labels. */
.community-hero{min-height:470px}
.community-copy{padding-bottom:32px}
.community-copy h1{background:linear-gradient(175deg,#e2d3ae 8%,#b49b6b 33%,#87734e 48%,#cbb58a 59%,#9d875d 83%);background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 2px 1px #000);letter-spacing:.005em}
.community-copy h1 span{color:inherit}
.community-tagline{color:#c1b291;letter-spacing:.025em;text-shadow:0 2px 2px #000,0 -1px 0 #edd9ad18;font-size:22px}
.community-intro{font-family:Georgia,serif;font-style:italic;font-size:15px;letter-spacing:.015em;line-height:1.8;color:#b9ad96;text-shadow:0 1px 2px #000}
.community-welcome{font-family:LabyrinthSerif,Georgia,serif;font-size:11px;letter-spacing:.12em;color:#ad9870;margin-top:16px}
.community-gathering h2,.community-details dd{color:#c6b38d;text-shadow:0 2px 2px #000,0 -1px 0 #f3dfb321;letter-spacing:.02em}
.community-details dt,.community-gathering-heading .eyebrow{color:#a68e64}
.community-connect{display:block;text-align:center;padding:25px 0 22px}
.community-connect h2{font-family:LabyrinthSerif,Georgia,serif;font-size:24px;letter-spacing:.065em;color:#cbb58b;text-shadow:0 2px 2px #000,0 -1px 0 #f3dfb321}
.community-connect .community-etch{width:155px;margin:7px auto 3px}
.community-filter-defs{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.community-socials{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:center;width:min(100%,920px);margin:0 auto}
.community-socials .community-relic{position:relative;isolation:isolate;display:grid;place-items:center;width:100%;min-width:0;min-height:72px;aspect-ratio:4.3;padding:0;border:0;background:none;box-shadow:none}
.community-relic-art{position:absolute;inset:0;display:grid;align-items:center;pointer-events:none}
.community-relic-art img{display:block;width:100%;height:auto;grid-area:1/1}
.community-relic-art .community-relic-lit{opacity:0;filter:url('#community-inlay-glow');transition:opacity .16s ease}

.community-relic:is(:hover,:focus-visible,:active) .community-relic-lit{opacity:1}
.community-relic:focus-visible{outline-offset:5px;border-radius:12px}
.community-connect:has(.community-relic:is(:hover,:focus-visible,:active)) .community-etch{stroke:#87dbe5;filter:drop-shadow(0 0 3px #14dcff30)}
@media(max-width:1000px) and (min-width:701px){.community-copy h1{font-size:42px}.community-tagline{font-size:20px}}
@media(max-width:700px){.community-hero{min-height:0}.community-copy{padding-bottom:28px}.community-copy h1{font-size:clamp(34px,8.5vw,58px)}.community-tagline{font-size:clamp(19px,4.7vw,25px)}.community-intro{font-size:14px;max-width:350px}.community-welcome{font-size:10px}.community-connect{padding:25px 0 23px}.community-connect h2{font-size:22px}.community-socials{gap:12px}.community-socials .community-relic{min-height:60px}}
@media(max-width:540px){.community-socials{grid-template-columns:1fr;gap:0;width:min(320px,100%)}.community-socials .community-relic{min-height:70px;aspect-ratio:4.5}.community-relic-primary{grid-row:1}.community-connect .community-etch{margin-bottom:6px}}
@media(forced-colors:active){.community-copy h1{background:none;color:CanvasText;filter:none}.community-relic-art{display:none}.community-socials .community-relic{border:1px solid ButtonText}}

/* DEV NOTES: Unified PNGs include the visible words. Base and glow layers share
one source and one geometry, matching the homepage treatment. The hidden label
is restored in forced-colour mode; never add a second visible text overlay. */
.community-relic-art{position:absolute;inset:auto 0;top:50%;transform:translateY(-50%);display:block}
.community-relic-art img{display:block;width:100%;height:auto}
.community-relic-art .community-relic-lit{position:absolute;inset:0}
.community-relic-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.community-founder{margin:14px auto 0;font-family:LabyrinthSerif,Georgia,serif;font-size:12px;font-weight:700;line-height:1.6;letter-spacing:.025em;color:#b7a27b;text-shadow:0 1px 2px #000}
.community-founder span{margin-inline:6px;color:#8e774e}
.community-founder a{color:#d0ba91}.community-founder a:hover{color:#b5f8ff}
.community-welcome{margin-top:10px}
@media(max-width:700px){.community-founder{font-size:11px;max-width:100%;letter-spacing:0}.community-founder span{margin-inline:3px}}
@media(forced-colors:active){.community-relic-label{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip-path:none;white-space:normal;color:LinkText;font-size:18px;font-family:LabyrinthSerif,Georgia,serif}.community-founder,.community-founder a{color:CanvasText}}

/* DEV NOTES: The weekend is an open game-world trail with three decorative sigils.
No link/button semantics on events. Motion runs in CSS and stops under
prefers-reduced-motion. No visible toggle; gold stays visible without animation.
Keep heights content-driven; phone layout uses a vertical trail and wrapping copy. */
.collective-weekend{position:relative;isolation:isolate;border-block:1px solid #c6a06425;padding:24px 0 22px;background:transparent}
.collective-weekend::before{content:"";position:absolute;inset:0;z-index:-1;background:url('/assets/music-labyrinth-traces.svg') center/cover;opacity:.13;pointer-events:none;mask-image:linear-gradient(transparent,#000 30%,#000 70%,transparent)}
.weekend-heading{text-align:center;position:relative}
.weekend-heading h2{font-family:LabyrinthSerif,Georgia,serif;font-size:clamp(24px,2.6vw,31px);line-height:1.25;letter-spacing:.035em;color:#d7c198;text-shadow:0 2px 2px #000,0 -1px 0 #f3dfb321}
.weekend-heading>p{margin-top:7px;font-family:Georgia,serif;font-style:italic;color:#a99b81;font-size:13px;line-height:1.5}
.weekend-path{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:0;margin:23px auto 0;max-width:1080px}
.weekend-stop{--phase:0s;position:relative;text-align:center;padding:0 16px 19px;min-width:0;cursor:default}
.weekend-home{--phase:-4s}.weekend-bingo{--phase:-2s}
/* The horizontal route passes behind the centre of each 104px sigil. */
.weekend-stop::before,.weekend-stop::after{content:"";position:absolute;top:51px;left:0;width:100%;height:2px;pointer-events:none;background:linear-gradient(90deg,#8e724036,#d9b76899,#8e724036)}
.weekend-stop:first-child::before,.weekend-stop:first-child::after{left:50%;width:50%}
.weekend-stop:last-child::before,.weekend-stop:last-child::after{width:50%}
.weekend-stop::after{background:linear-gradient(90deg,transparent 10%,#8fe8f0 50%,transparent 90%);opacity:0;box-shadow:0 0 10px #69dfed55;animation:weekend-route 6s ease-in-out var(--phase) infinite}
.weekend-sigil{position:relative;z-index:1;width:104px;height:104px;margin:0 auto 14px;color:#c2a16a;filter:drop-shadow(0 3px 3px #000);transition:filter .3s ease}
.weekend-sigil::before{content:"";position:absolute;inset:12%;transform:rotate(45deg);background:radial-gradient(ellipse at 35% 20%,#51432a,#1d1c17 45%,#101110 80%);border:1px solid #7f693b;box-shadow:inset 2px 2px 8px #f5cd7020,inset -3px -3px 7px #000,0 0 0 5px #0d0e0d}
.weekend-sigil svg{position:relative;display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.sigil-frame{stroke:#9c804e}.sigil-inlay{stroke:#94e5eb;opacity:.23;animation:weekend-inlay 6s ease-in-out var(--phase) infinite}
.sigil-symbol{stroke-width:1.7;filter:drop-shadow(0 1px 1px #000)}
.sigil-fill{fill:#cbb17e;stroke-width:1}.sigil-spark{fill:#201e16;stroke:#ecd59c}
.weekend-home .sigil-frame{stroke:#d5b477}.weekend-home .weekend-sigil::before{border-color:#bc9655;background:radial-gradient(ellipse at 35% 20%,#645030,#262117 45%,#11120f 80%)}
.weekend-copy{position:relative;z-index:1}
.weekend-day{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.22em;line-height:1.6;color:#b39b72;margin-bottom:7px}
.weekend-day span{font-family:LabyrinthSerif,Georgia,serif;font-size:11px;letter-spacing:.08em;color:#75613f;margin-right:7px}
.weekend-stop h3{font-family:LabyrinthSerif,Georgia,serif;font-size:clamp(23px,2.4vw,30px);line-height:1.25;letter-spacing:.02em;color:#d4bf99;text-shadow:0 2px 2px #000,0 -1px 0 #f3dfb321;transition:color .3s ease,text-shadow .3s ease}
.weekend-home h3{color:#e6cea0}
.weekend-description{margin-top:8px;font-family:Georgia,serif;font-size:14px;line-height:1.5;color:#b7aa92}
.weekend-detail{font-size:15px;line-height:1.5;font-family:LabyrinthSerif,Georgia,serif;color:#d5b67d;margin-top:6px;letter-spacing:.08em}
.weekend-detail span{font-size:10px}.weekend-detail-soft{font-family:Nimbus,Arial,sans-serif;font-size:11px;color:#a59a85;letter-spacing:0}
@keyframes weekend-route{0%,15%,65%,100%{opacity:0}35%{opacity:.6}50%{opacity:.15}}
@keyframes weekend-inlay{0%,15%,65%,100%{opacity:.23}35%{opacity:1;filter:drop-shadow(0 0 3px #67dbea)}50%{opacity:.6}}
@media(hover:hover){.weekend-stop:hover .weekend-sigil{filter:drop-shadow(0 0 9px #a78a4444)}.weekend-stop:hover h3{color:#ecdbb9;text-shadow:0 0 18px #c2a06338}.weekend-stop:hover .sigil-symbol{stroke:#f0d6a2}}
@media(max-width:800px){.weekend-stop{padding-inline:9px}.weekend-stop h3{font-size:24px}.weekend-description{font-size:13px}}
@media(max-width:600px){
.collective-weekend{padding-top:22px}.weekend-heading h2{font-size:25px}.weekend-heading>p{font-size:12px}
.weekend-path{grid-template-columns:1fr;max-width:390px;margin-top:26px}
.weekend-stop{display:grid;grid-template-columns:84px minmax(0,1fr);align-items:center;gap:18px;text-align:left;padding:0 0 30px}
.weekend-stop:last-child{padding-bottom:0}
.weekend-sigil{width:84px;height:84px;margin:0}
.weekend-stop::before,.weekend-stop::after,.weekend-stop:first-child::before,.weekend-stop:first-child::after{top:42px;left:41px;width:2px;height:100%;background:linear-gradient(#8e724055,#d9b76899,#8e724055)}
.weekend-stop::after,.weekend-stop:first-child::after{background:linear-gradient(transparent,#8fe8f0,transparent)}
.weekend-stop:last-child::before,.weekend-stop:last-child::after{display:none}
.weekend-day{font-size:9px;margin-bottom:5px}.weekend-stop h3{font-size:25px}.weekend-description{margin-top:5px;font-size:14px}.weekend-detail{margin-top:4px}.weekend-detail-soft{font-size:11px}
}
@media(max-width:360px){.weekend-stop{gap:12px;grid-template-columns:72px minmax(0,1fr)}.weekend-sigil{width:72px;height:72px}.weekend-stop::before,.weekend-stop::after,.weekend-stop:first-child::before,.weekend-stop:first-child::after{left:35px;top:36px}.weekend-stop h3{font-size:22px}}
@media(prefers-reduced-motion:reduce){.collective-weekend{padding-bottom:22px}.sigil-inlay,.weekend-stop::after{animation:none!important}}
@media(forced-colors:active){.collective-weekend{background:none;border-color:CanvasText}.collective-weekend::before,.weekend-sigil::before,.weekend-stop::after{display:none}.weekend-stop::before,.weekend-stop:first-child::before{background:CanvasText}.weekend-sigil,.sigil-frame,.sigil-inlay,.sigil-symbol,.sigil-spark{stroke:CanvasText;color:CanvasText;filter:none;opacity:1;animation:none}.sigil-fill{fill:CanvasText}.weekend-stop h3,.weekend-day,.weekend-description,.weekend-detail,.weekend-heading h2,.weekend-heading>p{color:CanvasText;text-shadow:none}}

/* DEV NOTES: Uniformly enlarged bull extends slightly beyond its original canvas.
Keep the bottom fade while allowing the complete wider silhouette to remain visible. */
.community-guardians > .community-bull{overflow:visible;mask-size:112% 100%;-webkit-mask-size:112% 100%;mask-position:center;-webkit-mask-position:center;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-clip:no-clip;-webkit-mask-clip:no-clip}

/* DEV NOTES: Preview-matched stone/gold title is a unified transparent asset.
A 4.5:1 viewport removes blank top/bottom padding without changing proportions.
Keep width fluid inside the copy column; no fixed minimum width on phones.
The decorative bitmap is hidden in forced colours, restoring actual readable text. */
.community-title-lockup{position:relative;width:100%;margin:2px auto 0}
.community-title-art{width:100%;aspect-ratio:4.5;overflow:hidden}
.community-title-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.community-copy .community-title-accessible{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(forced-colors:active){
.community-title-art{display:none}
.community-copy .community-title-accessible{position:static;width:auto;height:auto;margin:0;overflow:visible;clip-path:none;white-space:normal;background:none;color:CanvasText;filter:none;text-shadow:none}
.community-copy p.community-title-accessible{margin-top:12px;font-size:20px}
}

/* DEV NOTES: One transparent title graphic; 6:1 window trims only empty canvas.
The complete stone lettering lies inside source y=239..499 of 724. Fluid sizing
preserves the design on phones. Screen-reader text returns in forced colours. */
.weekend-title-art{width:min(100%,640px);aspect-ratio:6;margin:0 auto;overflow:hidden}
.weekend-title-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.weekend-heading .weekend-title-accessible{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.weekend-heading>p{margin-top:5px}
@media(forced-colors:active){.weekend-title-art{display:none}.weekend-heading .weekend-title-accessible{position:static;width:auto;height:auto;margin:0;overflow:visible;clip-path:none;white-space:normal;color:CanvasText;text-shadow:none}}

/* DEV NOTES: Blend the scene into the page instead of a circular spotlight.
Character masks feather the first 4% before full opacity, preserving size/alignment
and the existing foot fade. Fade the decorative pattern too, so its rectangular
upper boundary cannot read as a crop line behind the heads. No asset edits needed. */
.community-hero::before{mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 80%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 80%,transparent)}
