:root{--ink:#08080a;--paper:#f3ead9;--gold:#e5b24b;--pink:#f14c98;--line:rgba(255,255,255,.16)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:#fff;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.nav{position:fixed;z-index:20;top:0;left:0;right:0;height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;background:linear-gradient(#08080ad9,transparent);letter-spacing:.12em;font-size:12px}.wordmark,.footmark{font-weight:800}.nav nav{display:flex;gap:28px;text-transform:uppercase}.nav nav a:hover{color:var(--gold)}.menu{display:none;background:none;border:0;color:#fff;font-size:24px}.portal{height:100svh;min-height:620px;position:relative;overflow:hidden;background:#000}.portal img{width:100%;height:100%;object-fit:cover;object-position:center top}.portal:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 65%,#08080a)}.enter{position:absolute;z-index:2;left:50%;bottom:7%;transform:translateX(-50%);font-size:12px;letter-spacing:.28em}.enter span{display:block;text-align:center;font-size:24px;margin-top:10px}.declaration{min-height:72vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:100px 7vw}.eyebrow{font-size:12px;letter-spacing:.28em;color:var(--gold);font-weight:700}.declaration h1,.gathering h2,.listen h2,.next h2,.join h2{font-size:clamp(42px,7vw,108px);line-height:.93;margin:24px 0;font-weight:800;letter-spacing:-.045em}.declaration>p:last-child{font-family:Georgia,serif;font-size:clamp(18px,2vw,27px);max-width:760px;line-height:1.5;color:#d9d1c4}.full{margin:0;position:relative;height:92vh;min-height:600px}.full img{width:100%;height:100%;object-fit:cover}.full:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(0,0,0,.72))}.full figcaption{position:absolute;z-index:2;left:6vw;bottom:8vh;display:flex;flex-direction:column;gap:12px}.full figcaption span{letter-spacing:.25em;font-size:13px;font-weight:800}.full figcaption em{font-family:Georgia,serif;font-size:clamp(25px,4vw,55px);font-weight:400}.moments,.movement{padding:15vh 5vw}.copy{margin-bottom:5vh}.grid{display:grid;grid-template-columns:1.15fr .8fr 1fr;gap:18px;align-items:end}.grid img{width:100%;height:58vh;object-fit:cover}.grid img:nth-child(2){height:44vh}.movement{text-align:center}.mosaic{display:grid;grid-template-columns:1fr 1.4fr;grid-template-rows:48vh 48vh;gap:16px;margin-top:6vh}.mosaic img{width:100%;height:100%;object-fit:cover}.mosaic .tall{grid-row:1/3}.small-manifesto{font-family:Georgia,serif;font-size:clamp(22px,3vw,42px);line-height:1.45;margin:12vh auto 0;max-width:700px}.gathering{display:grid;grid-template-columns:.8fr 1.2fr;min-height:90vh;background:#ece3d4;color:#0a0a0b}.gtext{display:flex;flex-direction:column;justify-content:center;padding:9vw}.gtext .eyebrow{color:#8d6720}.gtext h2{font-size:clamp(48px,6vw,96px)}.gtext a{margin-top:35px;font-size:12px;letter-spacing:.2em;font-weight:800}.gathering img{width:100%;height:100%;object-fit:cover}.listen,.next{min-height:72vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:10vh 5vw}.listen{background:radial-gradient(circle at 50% 50%,#241534 0,#08080a 55%)}.listen h2,.next h2{font-size:clamp(52px,9vw,140px)}.listen a{margin-top:35px;border-bottom:1px solid var(--gold);padding-bottom:7px;letter-spacing:.18em;font-size:12px}.next{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.next p:last-child{font-family:Georgia,serif;font-size:22px;color:#aaa}.join{display:grid;grid-template-columns:1fr 1fr;min-height:82vh}.join>div{padding:9vw 7vw;display:flex;flex-direction:column;justify-content:center}.join h2{font-size:clamp(40px,5vw,80px)}.join img{width:100%;height:100%;object-fit:cover}.button{display:inline-block;align-self:flex-start;margin-top:30px;padding:16px 28px;border:1px solid var(--gold);border-radius:99px;letter-spacing:.18em;font-size:12px}.button:hover{background:var(--gold);color:#000}footer{padding:70px 5vw;display:grid;grid-template-columns:1fr auto;gap:22px;border-top:1px solid var(--line);font-size:12px;color:#aaa}footer .footmark{color:#fff;font-size:18px}.social{display:flex;gap:22px}footer p{margin:0;letter-spacing:.12em}footer>a:last-child{text-align:right}@media(max-width:760px){.nav{height:58px}.nav nav{display:none;position:absolute;top:58px;left:0;right:0;background:#08080af7;padding:30px 5vw;flex-direction:column}.nav.open nav{display:flex}.menu{display:block}.portal{height:86svh;min-height:540px}.portal img{object-position:center top}.declaration{min-height:65vh;padding:90px 7vw}.declaration h1{font-size:12vw}.full{height:72vh}.grid{grid-template-columns:1fr 1fr}.grid img{height:45vh}.grid img:nth-child(2){height:45vh}.grid img:nth-child(3){grid-column:1/3;height:52vh}.mosaic{grid-template-columns:1fr;grid-template-rows:62vh 46vh 46vh}.mosaic .tall{grid-row:auto}.gathering,.join{grid-template-columns:1fr}.gathering img{height:65vh}.join img{height:62vh}.gtext,.join>div{padding:16vh 7vw}.listen,.next{min-height:60vh}footer{grid-template-columns:1fr;gap:18px}footer>a:last-child{text-align:left}.social{flex-wrap:wrap}}

/* Keyboard access and comfortable anchor positioning. */
section[id], main[id]{scroll-margin-top:76px}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:6px}
.skip-link{position:fixed;z-index:30;top:12px;left:12px;padding:14px 20px;background:var(--paper);color:var(--ink);transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
.menu{min-width:44px;min-height:44px;cursor:pointer}
.gathering img,.join img{min-height:0;min-width:0}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Show the complete approved hero artwork at its original proportions. */
.portal{height:auto;min-height:0;aspect-ratio:3 / 2;margin-top:0;overflow:clip}
.portal img{display:block;width:100%;height:auto;object-fit:contain;object-position:center;position:static}
.portal:after{display:none}
.hero-join,.enter,.art-link{position:absolute;z-index:3;transform:none;border-radius:6px}
.hero-join{left:73.5%;top:1.1%;width:17.5%;height:4.5%}
.enter{left:42%;top:71.8%;bottom:auto;width:16%;height:8.5%}
.art-link{top:1.4%;height:4.4%}
.art-about{left:23%;width:5.5%}
.art-events{left:30%;width:5%}
.art-gallery{left:37.2%;width:6%}
.art-listen{left:55.8%;width:7.5%}
.art-contact{left:64.8%;width:6%}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.nav{background:#08080af5}
@media(min-width:761px){.nav{visibility:hidden;opacity:0;pointer-events:none}.nav.past-hero{visibility:visible;opacity:1;pointer-events:auto}}
@media(max-width:760px){.portal{height:auto;min-height:0;margin-top:58px;aspect-ratio:3 / 2}.hero-join{min-height:20px}.enter{min-height:28px}}

/* Keep long headings inside narrow screens and show selected photos clearly. */
.declaration h1{max-width:100%;font-size:clamp(26px,6.6vw,100px)}
.mosaic img{object-fit:contain;background:#000}
.music-moments{display:grid;grid-template-columns:.65fr 1.35fr;gap:24px;align-items:center;margin:10vh auto 0;max-width:1200px}
.music-moments img{display:block;width:100%;height:auto}
@media(max-width:760px){.declaration h1{font-size:8.8vw;line-height:1.02}.full{min-height:0;height:auto}.full img{display:block;height:auto}.full figcaption{bottom:7%;left:6%}.full figcaption em{font-size:clamp(20px,5vw,32px)}.mosaic{grid-template-rows:auto;gap:24px}.mosaic img{height:auto}.music-moments{grid-template-columns:1fr;gap:24px}.music-moments img:first-child{width:78%;margin:auto}.gathering img,.join img{height:auto}}

/* Let the new group portrait lead the mosaic and keep the two events together. */
.mosaic{grid-template-columns:1.4fr 1fr;grid-template-rows:auto;align-items:start}
.mosaic img{height:auto}
.mosaic .featured{grid-column:1 / -1}
.music-moments{grid-template-columns:.7fr 1.3fr .7fr}
.gathering>img{object-fit:contain;background:#08080a}
@media(max-width:760px){.mosaic,.music-moments{grid-template-columns:1fr}.mosaic .featured{grid-column:auto}.music-moments img:first-child,.music-moments img:last-child{width:78%;margin:auto}}

/* Gathering 002 teaser: complete artwork followed by an invitation to join. */
.next{display:block;min-height:0;padding:0}
.teaser-art{display:block;width:100%;height:auto}
.teaser-copy{max-width:960px;margin:0 auto;padding:90px 7vw 100px;text-align:center}
.next .teaser-copy h2{font-size:clamp(36px,6.5vw,92px);line-height:1;letter-spacing:-.035em}
.teaser-subtitle{font-family:Georgia,serif;color:var(--gold);font-size:clamp(22px,3vw,34px);margin:24px 0}
.teaser-intro{font-family:Georgia,serif;font-size:clamp(19px,2.2vw,28px);line-height:1.6;color:#d9d1c4;margin:32px 0}
.teaser-status{font-size:14px;line-height:1.7;color:#d9d1c4;max-width:520px;margin:30px auto 0}
.teaser-status strong{font-weight:700}
.teaser-copy .button{margin-top:28px}
@media(max-width:760px){.teaser-copy{padding:60px 7vw 70px}.next .teaser-copy h2{font-size:10.5vw}.teaser-intro{font-size:20px}}
