/* The archive is editorial HTML in Joomla; filtering articles remains native. */
.cc-gc-archive-page .container-component { max-width: 1360px; }
.cc-gca { --gca-purple: #5a2c83; --gca-ink: #32273a; --gca-muted: #746b7b; --gca-line: #e8e1eb; color: var(--gca-ink); margin: 0 auto 3rem; max-width: 1320px; }
.cc-gca a { text-underline-offset: .2em; }
.cc-gca a:focus-visible, .cc-gca button:focus-visible, .cc-gca summary:focus-visible { outline: 3px solid #8b5da8; outline-offset: 5px; }
.cc-gca h1, .cc-gca h2, .cc-gca h3 { color: var(--gca-purple); }
.cc-gca-hero { position: relative; display: grid; grid-template-columns: 1.1fr 1fr; background: #21102e; color: #fff; border-radius: 1.5rem; overflow: hidden; }
.cc-gca-hero__copy { position: relative; z-index: 1; padding: clamp(1.5rem, 4.5vw, 4rem); }
.cc-gca-back { display: inline-block; margin-bottom: 2.75rem; color: #dcc6e8 !important; font-size: .8rem; text-decoration: none; }
.cc-gca-eyebrow { margin: 0 0 1rem; font-size: .7rem; font-weight: 800; letter-spacing: .12em; line-height: 1.7; text-transform: uppercase; color: var(--gca-purple); }
.cc-gca-hero .cc-gca-eyebrow { color: #ccb0df; }
.cc-gca-hero h1 { margin: 0 0 1.4rem; color: #fff; font-size: clamp(2.25rem, 3.8vw, 3.65rem); line-height: 1.14; font-weight: 750; letter-spacing: -.045em; }
.cc-gca-hero h1 em { color: #d5b4ee; font-family: var(--cc-font-family, "Sora", sans-serif); font-weight: 400; }
.cc-gca-lead { margin: 0 0 2rem; color: #e0d5e6; font-size: .98rem; line-height: 1.85; max-width: 35rem; }
.cc-gca-hero__image { position: relative; margin: 0; min-width: 0; min-height: 32rem; overflow: hidden; }
.cc-gca-hero__image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,#21102e,transparent 45%),linear-gradient(0deg,rgba(21,8,32,.8),transparent 80%); }
.cc-gca-hero__image img { position: absolute; width: 100%; height: 100%; object-fit: cover; object-position: 50% 35%; }
.cc-gca-hero__image figcaption { position: absolute; right: 1.5rem; bottom: 1rem; z-index: 2; color: #ddd0e6; font-size: .65rem; }
.cc-gca-hero__date { position: absolute; left: 1rem; bottom: 4rem; z-index: 1; font-size: clamp(5rem,9vw,9rem); font-weight: 750; line-height: .75; letter-spacing: -.07em; color: #fff; }
.cc-gca-hero__date > span { display: inline-block; margin-top: 1.1rem; font-size: .9rem; font-weight: 500; letter-spacing: .03em; }
.cc-gca-button { display: inline-flex; gap: 1.5rem; align-items: center; justify-content: space-between; padding: .95rem 1.35rem; border-radius: 99px; background: #dac1ec; color: #35213f !important; font-size: .85rem; font-weight: 800; text-decoration: none !important; }
.cc-gca-button:hover { background: #eadbf4; }
.cc-gca-current { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin: 1.5rem 0 3.5rem; padding: 1.75rem 2rem 1.75rem 2.4rem; border: 1px solid var(--gca-line); border-radius: 1rem; background: #faf8fb; overflow: hidden; }
.cc-gca-current::before { position: absolute; inset: 0 auto 0 0; width: .38rem; content: ''; background: linear-gradient(180deg,#7b4597,#d6b9e6); }
.cc-gca-current .cc-gca-eyebrow { margin-bottom: .4rem; }
.cc-gca-current h2 { margin: 0 0 .5rem; font-size: 1.4rem; font-weight: 750; }
.cc-gca-current p:last-child { max-width: 50rem; margin: 0; font-size: .87rem; line-height: 1.85; color: var(--gca-muted); }
.cc-gca-text-link { display: inline-flex; flex-shrink: 0; gap: 1rem; color: var(--gca-purple); font-size: .82rem; font-weight: 750; text-decoration: none; }
.cc-gca-periods { position: relative; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; padding: 1rem 1.15rem; border: 1px solid var(--gca-line); border-radius: 1rem; background: #fff; box-shadow: 0 .7rem 2rem rgba(50,28,62,.055); scroll-margin-top: 7rem; }
.cc-gca-periods > span { font-size: .85rem; color: var(--gca-muted); }
.cc-gca-periods > div { display: flex; gap: .5rem; flex-wrap: wrap; }
.cc-gca-periods a { padding: .6rem 1rem; color: var(--gca-purple); border: 1px solid var(--gca-line); border-radius: 99px; background: #fbf9fc; font-size: .85rem; font-weight: 700; text-decoration: none; }
.cc-gca-periods a:hover { background: #f1eaf5; border-color: #bba4cc; }
.cc-gca-intro { max-width: 59rem; margin: 1.5rem 0 3.5rem; color: var(--gca-muted); font-size: .88rem; line-height: 1.9; }
.cc-gca-era { --gca-era-accent: #d7b8e8; --gca-era-deep: #1a0d24; position: relative; margin-top: 3.5rem; padding: clamp(1.25rem,3vw,2.35rem); color: #f7f1fa; border: 1px solid rgba(191,151,211,.26); border-radius: 1.6rem; background: radial-gradient(circle at 88% -12%,rgba(154,91,187,.34),transparent 31%),radial-gradient(circle at 10% 105%,rgba(91,48,119,.23),transparent 34%),linear-gradient(145deg,#2a1536,var(--gca-era-deep) 68%); box-shadow: 0 1.3rem 3.2rem rgba(34,15,45,.13); scroll-margin-top: 7rem; overflow: hidden; }
.cc-gca-era:nth-of-type(2) { --gca-era-deep: #170d22; }
.cc-gca-era:nth-of-type(3) { --gca-era-deep: #1d0d21; }
.cc-gca-era:nth-of-type(4) { --gca-era-deep: #160e21; }
.cc-gca-era::before { position: absolute; right: 1.25rem; top: -2.15rem; color: rgba(255,255,255,.055); font-size: clamp(5.5rem,11vw,10rem); font-weight: 900; letter-spacing: -.09em; line-height: 1; pointer-events: none; }
.cc-gca-era::after { position: absolute; inset: 0; content: ''; background: linear-gradient(112deg,transparent 8%,rgba(255,255,255,.035) 8.2%,transparent 25%),linear-gradient(72deg,transparent 74%,rgba(219,187,235,.035) 74.2%,transparent 91%); pointer-events: none; }
.cc-gca-era#annees-2020::before { content: '2020'; }
.cc-gca-era#annees-2010::before { content: '2010'; }
.cc-gca-era#annees-2000::before { content: '2000'; }
.cc-gca-era#annees-1993::before { content: '1990'; }
.cc-gca-era__heading { position: relative; z-index: 1; display: flex; justify-content: space-between; align-items: end; gap: 1.5rem; margin-bottom: 1.75rem; padding: .25rem .25rem 1.35rem; border-bottom: 1px solid rgba(215,184,232,.22); }
.cc-gca-era__heading .cc-gca-eyebrow { margin: 0 0 .4rem; color: #c9a8db; }
.cc-gca-era__heading h2 { margin: 0; color: #fff; font-size: clamp(1.5rem,2.8vw,2.15rem); letter-spacing: -.035em; line-height: 1.3; text-shadow: 0 .2rem 1rem rgba(0,0,0,.22); }
.cc-gca-era__heading > a { color: #cfbfd6; font-size: .73rem; text-decoration: none; flex-shrink: 0; }
.cc-gca-era__heading > a:hover { color: #fff; text-decoration: underline; text-underline-offset: .2em; }
.cc-gca-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); grid-auto-rows: 1fr; gap: 1rem; align-items: stretch; }
.cc-gca-card { position: relative; display: flex; height: 100%; min-height: 430px; flex-direction: column; gap: 0; align-content: start; min-width: 0; padding: 0 0 1.15rem; background: rgba(255,255,255,.975); border: 1px solid rgba(255,255,255,.14); border-radius: 1rem; box-shadow: 0 .8rem 2rem rgba(4,1,8,.2); scroll-margin-top: 7rem; overflow: hidden; transition: border-color .2s,box-shadow .2s,transform .2s; }
.cc-gca-card:hover { border-color: rgba(223,191,239,.55); box-shadow: 0 1.2rem 2.7rem rgba(3,1,8,.32); transform: translateY(-3px); }
.cc-gca-poster { position: relative; display: flex; align-items: center; justify-content: center; width: 100%; aspect-ratio: 16/10; border-radius: 0; padding: .9rem; background: radial-gradient(ellipse at 50% 115%,rgba(132,74,159,.54),transparent 48%),linear-gradient(145deg,#2b1937,#100917 72%); overflow: hidden; }
.cc-gca-poster::before { position: absolute; inset: 0; content: ''; background: linear-gradient(70deg,transparent 27%,rgba(255,255,255,.07) 42%,transparent 54%),linear-gradient(110deg,transparent 46%,rgba(215,184,232,.06) 58%,transparent 70%); pointer-events: none; }
.cc-gca-poster img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 .55rem .75rem rgba(0,0,0,.28)); }
.cc-gca-card__copy { position: relative; margin: -1.15rem .75rem 0; padding: .9rem 1rem .2rem; background: #fff; border-radius: .75rem .75rem 0 0; }
.cc-gca-year { display: inline-flex; margin: 0 0 .65rem; padding: .25rem .58rem; color: #fff; background: #69407f; border: 1px solid #8d62a2; border-radius: 99px; box-shadow: 0 .25rem .6rem rgba(44,20,56,.14); font-weight: 800; font-size: .72rem; line-height: 1.2; letter-spacing: .04em; font-variant-numeric: tabular-nums; }
.cc-gca-card h3 { margin: 0 0 .7rem; color: #3c2d43; font-size: 1rem; line-height: 1.4; font-weight: 780; letter-spacing: -.015em; overflow-wrap: anywhere; }
.cc-gca-artists { color: var(--gca-muted); font-size: .78rem; line-height: 1.7; margin: 0; }
.cc-gca-description { margin: 0; padding: .5rem 1.75rem .8rem; color: #514856; font-size: .8rem; line-height: 1.75; }
.cc-gca-news-link { display: inline-flex; justify-content: space-between; gap: 1rem; margin: auto 1.75rem 0; padding-top: .7rem; color: #68407d; border-top: 1px solid #eee8f0; font-size: .76rem; font-weight: 750; text-decoration: none; }
.cc-gca-news-link:hover { text-decoration: underline; }
.cc-gca-video-link { display: grid; grid-template-columns: 1.9rem minmax(0,1fr) auto; align-items: center; gap: .65rem; margin: .7rem 1.75rem 0; padding-top: .8rem; color: #68407d; border-top: 1px solid #eee8f0; font-size: .72rem; line-height: 1.35; text-decoration: none; }
.cc-gca-description + .cc-gca-video-link { margin-top: auto; }
.cc-gca-video-link__icon { display: grid; width: 1.9rem; height: 1.9rem; place-items: center; color: #fff; background: #69407f; border-radius: 50%; font-size: .56rem; box-shadow: 0 .3rem .7rem rgba(56,27,70,.15); }
.cc-gca-video-link strong { display: block; color: #57336b; font-size: .74rem; font-weight: 800; }
.cc-gca-video-link small { display: -webkit-box; margin-top: .12rem; color: #837688; font-size: .65rem; font-weight: 500; line-height: 1.4; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.cc-gca-video-link__arrow { color: #8b6a9b; font-size: .9rem; transition: transform .18s,color .18s; }
.cc-gca-video-link:hover { color: #4f2864; text-decoration: none; }
.cc-gca-video-link:hover .cc-gca-video-link__arrow { color: #57336b; transform: translate(2px,-2px); }
.cc-gca-shop-link { display: grid; grid-template-columns: 2rem minmax(0,1fr) auto; gap: .7rem; align-items: center; min-height: 3.3rem; margin: .7rem 1.75rem 0; padding: .55rem .7rem; color: #4e2862; background: linear-gradient(135deg,#f5ebfa,#fdf2ed); border: 1px solid #dfcce9; border-radius: .75rem; box-shadow: 0 .35rem .9rem rgba(53,25,68,.07); font-size: .72rem; line-height: 1.3; text-decoration: none; transition: border-color .18s,box-shadow .18s,transform .18s; }
.cc-gca-description + .cc-gca-shop-link { margin-top: auto; }
.cc-gca-shop-link__icon { position: relative; display: block; width: 2rem; height: 2rem; color: #1b0d27; background: linear-gradient(135deg,#dcb5f5,#ffad87); border-radius: 50%; box-shadow: 0 .28rem .7rem rgba(73,35,91,.15); }
.cc-gca-shop-link__icon::before { position: absolute; top: .73rem; left: .58rem; width: .8rem; height: .68rem; border: 2px solid currentColor; border-radius: .12rem; content: ''; }
.cc-gca-shop-link__icon::after { position: absolute; top: .46rem; left: .77rem; width: .42rem; height: .35rem; border: 2px solid currentColor; border-bottom: 0; border-radius: .35rem .35rem 0 0; content: ''; }
.cc-gca-shop-link strong { display: block; color: #4b245f; font-size: .75rem; font-weight: 820; }
.cc-gca-shop-link small { display: block; margin-top: .08rem; color: #7d6b84; font-size: .62rem; font-weight: 540; }
.cc-gca-shop-link__arrow { color: #78518b; font-size: .95rem; transition: transform .18s; }
.cc-gca-shop-link:hover,
.cc-gca-shop-link:focus-visible { color: #3b174e; background: linear-gradient(135deg,#f0dff8,#fde6dc); border-color: #c99fdd; box-shadow: 0 .65rem 1.35rem rgba(56,27,70,.13); outline: none; text-decoration: none; transform: translateY(-2px); }
.cc-gca-shop-link:hover .cc-gca-shop-link__arrow,
.cc-gca-shop-link:focus-visible .cc-gca-shop-link__arrow { transform: translateX(3px); }
.cc-gca-journal { position: relative; display: flex; gap: 2rem; align-items: center; justify-content: space-between; margin-top: 4rem; padding: clamp(1.5rem,4vw,3rem); background: linear-gradient(125deg,#f4eef7,#eee3f4); border: 1px solid #e0d1e8; border-radius: 1.25rem; overflow: hidden; }
.cc-gca-journal::after { position: absolute; right: 21%; top: -3.5rem; color: rgba(90,44,131,.055); content: '♪'; font-family: var(--cc-font-family, "Sora", sans-serif); font-size: 13rem; line-height: 1; transform: rotate(8deg); pointer-events: none; }
.cc-gca-journal > * { position: relative; z-index: 1; }
.cc-gca-journal h2 { font-size: 1.8rem; margin: 0 0 1rem; line-height: 1.3; letter-spacing: -.03em; }
.cc-gca-journal p:last-child { max-width: 41rem; margin: 0; color: var(--gca-muted); font-size: .87rem; line-height: 1.85; }
.cc-gca-journal .cc-gca-button { flex-shrink: 0; }
.cc-gca-sources { max-width: 65rem; margin: 2.5rem auto 0; color: var(--gca-muted); font-size: .72rem; line-height: 1.85; }
.cc-gca-sources a { color: var(--gca-purple); }
/* Closing invitation on the current Grand choral page. */
.cc-event-grand-choral-page [data-position="cc-main-top-04"] { grid-template-columns: minmax(0,1fr); max-width: 58rem; }
.cc-event-grand-choral-page [data-position="cc-main-top-06"] { width: min(calc(100% - clamp(2rem,7vw,7rem)),82rem); margin: 4rem auto; }
.cc-gc-archive-promo { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem,5vw,5rem); align-items: center; padding: clamp(1.5rem,4vw,3rem); border: 1px solid #a084b442; border-radius: 1.25rem; background: linear-gradient(115deg,#261735,#17101f); }
.cc-event-grand-choral-page .cc-gc-archive-promo h2 { color: #fff; font-size: clamp(1.7rem,3vw,2.8rem); line-height: 1.18; letter-spacing: -.04em; margin: 0 0 1.25rem; }
.cc-event-grand-choral-page .cc-gc-archive-promo p { color: #d6c8df; font-size: .9rem; line-height: 1.9; }
.cc-event-grand-choral-page .cc-gc-archive-promo .cc-event-eyebrow { color: #d5b4ee; font-size: .72rem; }
.cc-event-grand-choral-page .cc-gc-archive-promo .cc-event-cta { color: #f5edf9; border-color: #b091c5; }
.cc-event-grand-choral-page .cc-gc-archive-promo .cc-event-cta:hover { color: #291334; background: #dac1ec; }
.cc-gc-archive-promo__posters { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.cc-gc-archive-promo__posters a { display: flex; flex-direction: column; align-items: center; gap: .75rem; color: #e7d6f0; font-size: .85rem; font-weight: 700; text-decoration: none; }
.cc-gc-archive-promo__posters img { display: block; width: 100%; aspect-ratio: 3/4; object-fit: contain; background: #ffffff08; border: 1px solid #ffffff17; border-radius: .4rem; }
.cc-event-grand-choral-page .cc-gc-hero__archive { padding: .62rem .9rem; color: #f4eafa; background: rgba(30,16,47,.44); border: 1px solid rgba(222,198,239,.34); border-radius: 999px; text-decoration: none; backdrop-filter: blur(.7rem); transition: color .18s,background-color .18s,border-color .18s,transform .18s; }
.cc-event-grand-choral-page .cc-gc-hero__archive:hover,
.cc-event-grand-choral-page .cc-gc-hero__archive:focus-visible { color: #180c25; background: #d9b4f3; border-color: #d9b4f3; outline: none; text-decoration: none; transform: translateY(-2px); }
/* Search and Grand Choral dossier on the main news page. */
.cc-home-news.view-category .cc-news-tools { position: relative; z-index: 3; display: grid; width: min(calc(100% - 2rem),68rem); grid-template-columns: minmax(0,1fr) minmax(16.5rem,20rem); gap: .8rem; align-items: stretch; margin: clamp(-4.5rem,-5vw,-3rem) auto clamp(2rem,4vw,3rem); }
.cc-home-news.view-category .cc-news-tools .cc-news-search { width: 100%; margin: 0; }
.cc-home-news.view-category .cc-news-dossier { position: relative; isolation: isolate; display: grid; grid-template-columns: 2.75rem minmax(0,1fr) auto; align-items: center; gap: .7rem; min-height: 4.2rem; padding: .52rem .75rem .52rem .55rem; overflow: hidden; color: #fff; background: radial-gradient(circle at 82% 0,rgba(249,185,0,.2),transparent 35%),linear-gradient(135deg,#21122d 0%,#422055 58%,#61347a 100%); border: 1px solid rgba(255,255,255,.16); border-radius: 1.15rem; box-shadow: 0 1rem 2.8rem rgba(43,22,54,.22); text-decoration: none; transition: border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.cc-home-news.view-category .cc-news-dossier::after { position: absolute; z-index: -1; right: -1.15rem; bottom: -2.35rem; width: 6rem; height: 6rem; background: rgba(39,185,215,.13); border: 1px solid rgba(255,255,255,.1); border-radius: 50%; content: ''; }
.cc-home-news.view-category .cc-news-dossier__mark { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; color: #30173e; background: linear-gradient(145deg,#f8edf8,#e5c7ef); border-radius: .82rem; box-shadow: 0 .45rem 1rem rgba(13,6,18,.2); font-family: var(--cc-font-family, "Sora", sans-serif); font-size: 1.25rem; line-height: 1; }
.cc-home-news.view-category .cc-news-dossier__copy { display: flex; min-width: 0; flex-direction: column; line-height: 1.1; }
.cc-home-news.view-category .cc-news-dossier__copy small { margin-bottom: .2rem; color: #d9bce8; font-size: .6rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.cc-home-news.view-category .cc-news-dossier__copy strong { overflow: hidden; color: #fff; font-size: .93rem; font-weight: 850; letter-spacing: -.015em; text-overflow: ellipsis; white-space: nowrap; }
.cc-home-news.view-category .cc-news-dossier__copy > span { margin-top: .2rem; color: rgba(255,255,255,.68); font-size: .67rem; }
.cc-home-news.view-category .cc-news-dossier__arrow { display: grid; width: 1.8rem; height: 1.8rem; place-items: center; color: #fff; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.12); border-radius: 50%; font-size: .9rem; transition: background-color .18s ease,transform .18s ease; }
.cc-home-news.view-category .cc-news-dossier:hover,
.cc-home-news.view-category .cc-news-dossier:focus-visible { color: #fff; border-color: rgba(229,199,239,.56); box-shadow: 0 1.2rem 3rem rgba(43,22,54,.28); outline: none; text-decoration: none; transform: translateY(-2px); }
.cc-home-news.view-category .cc-news-dossier:hover .cc-news-dossier__arrow,
.cc-home-news.view-category .cc-news-dossier:focus-visible .cc-news-dossier__arrow { background: rgba(255,255,255,.22); transform: translateX(2px); }
/* Native com_tags view and native mod_menu: no article query or search override. */
.cc-gc-tag-page .container-component { max-width: 1240px; margin-inline: auto; }
.cc-gc-tag-page .cc-module-row h3 { color: #70537e; font-size: .85rem; }
.cc-gc-tag-page .cc-module-row .mod-menu { display: flex; flex-direction: row; flex-wrap: wrap; gap: .5rem; margin: 0 0 2rem; padding: 0; list-style: none; }
.cc-gc-tag-page .cc-module-row .mod-menu li { padding: 0; margin: 0; }
.cc-gc-tag-page .cc-module-row .mod-menu a { display: inline-block; color: #624275; padding: .5rem .85rem; border: 1px solid #e1d6e9; border-radius: 99px; font-size: .8rem; text-decoration: none; }
.cc-gc-tag-page .cc-module-row .mod-menu .current > a { background: #5a2c83; color: #fff; border-color: #5a2c83; }
.cc-gc-tag-page .com-tags-tag > h1 { padding: 2.5rem 2.5rem 1rem; margin: 0; color: #5a2c83; background: #f7f2fa; border-radius: 1.25rem 1.25rem 0 0; font-size: clamp(1.8rem,3vw,2.7rem); letter-spacing: -.035em; }
.cc-gc-tag-page .com-tags-tag__description { padding: 0 2.5rem 2rem; margin: 0 0 2rem; background: #f7f2fa; border-radius: 0 0 1.25rem 1.25rem; color: #726377; font-size: .95rem; line-height: 1.85; }
.cc-gc-tag-page .com-tags-tag__description p { margin: 0 0 .7rem; }
.cc-gc-tag-page .com-tags-tag__description a { color: #5a2c83; font-size: .85rem; font-weight: 700; text-underline-offset: .2em; }
.cc-gc-tag-page .com-tags-tag__category { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; border: 0; list-style: none; padding: 0; margin-top: 1.5rem; }
.cc-gc-tag-page .com-tags-tag__category > li { padding: 1.5rem; border: 1px solid #e7dfec; border-radius: .8rem; min-width: 0; background: #fff; }
.cc-gc-tag-page .com-tags-tag__category h3 { font-size: 1.08rem; line-height: 1.6; margin: 0; }
.cc-gc-tag-page .com-tags-tag__category h3 a { color: #5a2c83; text-decoration: none; }
.cc-gc-tag-page .com-tags-tag__category h3 a:hover { text-decoration: underline; }
.cc-gc-tag-page .com-tags-tag__category .tag-body { display: block; margin-top: .8rem; font-size: .85rem; color: #716776; line-height: 1.8; }
.cc-gc-tag-page .com-tags-tags__filter { display: flex; gap: .5rem; flex-wrap: wrap; }
.cc-gc-tag-page .com-tags-tags__filter input { min-width: 0; flex: 1 1 15rem; border: 1px solid #e3d9e9; padding: .65rem .9rem; border-radius: .6rem !important; }
.cc-gc-tag-page .com-tags-tags__filter .btn { flex: 0 0 auto; padding: .65rem 1.15rem; border-radius: .6rem !important; font-size: .82rem; }
.cc-gc-tag-page .com-tags-tags__filter .btn-primary { background: #5a2c83; border-color: #5a2c83; color: #fff; }
.cc-gc-tag-page .com-tags-tags__filter .btn-primary:hover { background: #744792; border-color: #744792; }
@media (max-width: 1099.98px) {
 .cc-gca-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
 .cc-gca-current, .cc-gca-journal { flex-direction: column; align-items: flex-start; }
 .cc-gca-hero { grid-template-columns: 1.2fr 1fr; }
 .cc-gca-hero__copy { padding: 2rem; }
}
@media (max-width: 767.98px) {
 .cc-gca-hero { display: block; }
 .cc-gca-hero__copy { padding: 1.6rem; }
 .cc-gca-back { margin-bottom: 2rem; }
 .cc-gca-hero__image { min-height: 17rem; }
 .cc-gca-hero__image::after { background: linear-gradient(0deg,#21102ee6,transparent 90%); }
 .cc-gca-hero__date { left: 1.5rem; bottom: 3rem; font-size: 4.5rem; }
 .cc-gca-current { padding: 1.5rem; gap: 1.1rem; }
 .cc-gca-era__heading { align-items: start; flex-direction: column; gap: .8rem; }
 .cc-gca-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
 .cc-gca-era { padding: 1rem; border-radius: 1.15rem; }
 .cc-gc-archive-promo { grid-template-columns: 1fr; }
 .cc-gca-periods, .cc-gca-era, .cc-gca-card { scroll-margin-top: 2rem; }
 .cc-gc-tag-page .com-tags-tag__category { grid-template-columns: 1fr; }
 .cc-gc-tag-page .com-tags-tag > h1 { padding: 1.5rem 1.5rem 1rem; }
 .cc-gc-tag-page .com-tags-tag__description { padding: 0 1.5rem 1.5rem; }
 .cc-gc-tag-page .com-tags-tags__filter input { flex-basis: 100%; width: 100%; }
 .cc-home-news.view-category .cc-news-tools { width: calc(100% - 1rem); grid-template-columns: 1fr; margin-top: -3rem; }
 .cc-home-news.view-category .cc-news-tools .cc-news-search { width: 100%; margin: 0; }
 .cc-home-news.view-category .cc-news-dossier { min-height: 4rem; }
}
@media (max-width: 599.98px) {
 .cc-gca-grid { grid-template-columns: 1fr; grid-auto-rows: auto; }
 .cc-gca-card { min-height: 0; }
 .cc-gca-poster { aspect-ratio: 16/10; }
 .cc-gca-hero h1 { font-size: clamp(2rem,7.5vw,2.7rem); }
 .cc-gca-periods a { font-size: .78rem; padding: .55rem .8rem; }
 .cc-gca-journal h2 { font-size: 1.45rem; }
}

/* =========================================================
   Grand Choral news dossier — editorial blog layout
   Native Joomla tags continue to provide the yearly archive.
   ========================================================= */
body.cc-gc-tag-page .site-grid {
 background:
  radial-gradient(circle at 88% 4%,rgba(126,78,156,.11),transparent 25rem),
  linear-gradient(180deg,#f6f1f8 0,#fff 34rem);
}

body.cc-gc-tag-page .site-grid > .container-component {
 width: min(calc(100% - clamp(1.25rem,4vw,4rem)),82rem);
 max-width: 82rem;
 padding-top: clamp(1.25rem,3vw,2.5rem);
 padding-bottom: clamp(4rem,8vw,7rem);
}

.cc-gc-tag-page .cc-module-row[data-position="cc-main-top-01"] {
 margin-bottom: clamp(1.25rem,2.5vw,2rem);
}

.cc-gc-tag-page .cc-gc-year-nav {
 position: relative;
 display: block;
 padding: 1rem 1.05rem 1.05rem;
 color: #6c5d73;
 background: rgba(255,255,255,.94);
 border: 1px solid #e5dce9;
 border-radius: 1.1rem;
 box-shadow: 0 .7rem 2rem rgba(47,24,59,.055);
 backdrop-filter: blur(.8rem);
}

.cc-gc-tag-page .cc-gc-year-nav::before {
 content: 'Explorer par édition';
 display: block;
 margin: 0 0 .75rem .15rem;
 color: #4e355a;
 font-size: .66rem;
 font-weight: 800;
 letter-spacing: .1em;
 text-transform: uppercase;
}

.cc-gc-tag-page .cc-gc-year-nav .mod-menu {
 display: grid;
 grid-template-columns: repeat(17,minmax(0,1fr));
 gap: .35rem;
 margin: 0;
 padding: 0;
 overflow: visible;
}

.cc-gc-tag-page .cc-gc-year-nav .mod-menu li {
 min-width: 0;
 margin: 0;
 padding: 0;
}

.cc-gc-tag-page .cc-gc-year-nav .mod-menu li:first-child { grid-column: span 2; }

.cc-gc-tag-page .cc-gc-year-nav .mod-menu a {
 display: flex;
 width: 100%;
 min-height: 2.35rem;
 align-items: center;
 justify-content: center;
 padding: .5rem .25rem;
 color: #664974;
 background: #f5f1f7;
 border: 1px solid transparent;
 border-radius: .55rem;
 font-size: .73rem;
 font-weight: 700;
 line-height: 1;
 font-variant-numeric: tabular-nums;
 text-align: center;
 text-decoration: none;
 transition: color .18s,background-color .18s,border-color .18s,transform .18s;
}

.cc-gc-tag-page .cc-gc-year-nav .mod-menu a:hover {
 color: #4b285c;
 background: #eee5f2;
 border-color: #ddcee5;
 transform: translateY(-1px);
}

.cc-gc-tag-page .cc-gc-year-nav .mod-menu .current > a {
 color: #fff;
 background: #5a2c83;
 border-color: #5a2c83;
 box-shadow: 0 .35rem .85rem rgba(68,31,87,.2);
}

.cc-gc-tag-page .cc-gc-journal {
 width: 100%;
 margin: 0;
}

.cc-gc-tag-page .cc-gc-journal-hero {
 position: relative;
 display: grid;
 min-height: clamp(24rem,39vw,32rem);
 grid-template-columns: minmax(0,1.12fr) minmax(19rem,.88fr);
 color: #fff;
 background: #130a20;
 border: 1px solid rgba(113,76,137,.3);
 border-radius: clamp(1.2rem,2.5vw,2rem);
 box-shadow: 0 1.8rem 4.5rem rgba(37,15,49,.2);
 isolation: isolate;
 overflow: hidden;
}

.cc-gc-tag-page .cc-gc-journal-hero::after {
 position: absolute;
 z-index: 4;
 inset: 0;
 border: 1px solid rgba(255,255,255,.08);
 border-radius: inherit;
 content: '';
 pointer-events: none;
}

.cc-gc-tag-page .cc-gc-journal-hero__copy {
 position: relative;
 z-index: 3;
 display: flex;
 flex-direction: column;
 justify-content: center;
 padding: clamp(2rem,5vw,4.5rem);
 background:
  radial-gradient(circle at 15% 10%,rgba(120,73,154,.35),transparent 19rem),
  linear-gradient(105deg,rgba(18,8,30,.99),rgba(27,11,42,.94));
}

.cc-gc-tag-page .cc-gc-journal-hero__eyebrow {
 margin: 0 0 1.25rem;
 color: #d1afeb;
 font-size: .7rem;
 font-weight: 800;
 letter-spacing: .13em;
 text-transform: uppercase;
}

.cc-gc-tag-page .cc-gc-journal-hero h1 {
 max-width: 40rem;
 margin: 0;
 color: #fff;
 font-size: clamp(2.45rem,4.7vw,4.5rem);
 font-weight: 790;
 letter-spacing: -.055em;
 line-height: 1.02;
 text-wrap: balance;
}

.cc-gc-tag-page .cc-gc-journal-hero .com-tags-tag__description {
 max-width: 39rem;
 margin: 1.5rem 0 0;
 padding: 0;
 color: #d9cde0;
 background: transparent;
 border-radius: 0;
 font-size: .95rem;
 line-height: 1.8;
}

.cc-gc-tag-page .cc-gc-journal-hero .com-tags-tag__description p { margin: 0 0 1rem; }

.cc-gc-tag-page .cc-gc-journal-hero .com-tags-tag__description p:last-child {
 display: flex;
 gap: .55rem;
 flex-wrap: wrap;
 margin: .5rem 0 0;
 font-size: 0;
}

.cc-gc-tag-page .cc-gc-journal-hero .com-tags-tag__description a {
 display: inline-flex;
 align-items: center;
 min-height: 2.5rem;
 padding: .6rem .9rem;
 color: #f6eff9;
 background: rgba(255,255,255,.075);
 border: 1px solid rgba(221,197,236,.27);
 border-radius: 99px;
 font-size: .72rem;
 font-weight: 750;
 line-height: 1.2;
 text-decoration: none;
}

.cc-gc-tag-page .cc-gc-journal-hero .com-tags-tag__description a:hover {
 color: #1d0b2c;
 background: #d9b9ee;
 border-color: #d9b9ee;
}

.cc-gc-tag-page .cc-gc-journal-hero__visual {
 position: relative;
 z-index: 1;
 display: flex;
 min-width: 0;
 flex-direction: column;
 justify-content: flex-end;
 padding: clamp(1.75rem,3vw,3rem);
 background:
  linear-gradient(180deg,rgba(13,6,23,.06),rgba(14,6,24,.86)),
  linear-gradient(90deg,rgba(19,9,31,.85),transparent 48%),
  url('/images/evenements/grand-choral/2023/NDC23_Grand_choral_8.jpg') center 42% / cover no-repeat;
}

.cc-gc-tag-page .cc-gc-journal-hero__visual span {
 align-self: flex-start;
 margin-bottom: .8rem;
 padding: .38rem .65rem;
 color: #2a1536;
 background: #d9b9ee;
 border-radius: 99px;
 font-size: .63rem;
 font-weight: 850;
 letter-spacing: .11em;
 text-transform: uppercase;
}

.cc-gc-tag-page .cc-gc-journal-hero__visual strong {
 color: #fff;
 font-family: var(--cc-font-family, "Sora", sans-serif);
 font-size: clamp(2.2rem,4vw,4rem);
 font-weight: 400;
 letter-spacing: -.045em;
 line-height: .95;
 text-shadow: 0 .25rem 1.25rem rgba(0,0,0,.42);
}

.cc-gc-tag-page .cc-gc-journal-hero__visual small {
 margin-top: 1rem;
 color: #ded0e6;
 font-size: .67rem;
 letter-spacing: .05em;
}

.cc-gc-tag-page .cc-gc-blog { margin-top: clamp(2rem,4vw,3.5rem); }

.cc-gc-tag-page .cc-gc-blog-search {
 display: grid;
 grid-template-columns: minmax(12rem,.7fr) minmax(20rem,1.3fr);
 gap: 1.25rem;
 align-items: end;
 margin-bottom: clamp(1.75rem,3.5vw,3rem);
 padding: 1.15rem 1.25rem;
 background: #fff;
 border: 1px solid #e5dce9;
 border-radius: 1rem;
 box-shadow: 0 .7rem 2rem rgba(47,24,59,.055);
}

.cc-gc-tag-page .cc-gc-blog-search__heading span,
.cc-gc-tag-page .cc-gc-blog-search__heading strong { display: block; }

.cc-gc-tag-page .cc-gc-blog-search__heading span {
 margin-bottom: .2rem;
 color: #88738f;
 font-size: .62rem;
 font-weight: 800;
 letter-spacing: .1em;
 text-transform: uppercase;
}

.cc-gc-tag-page .cc-gc-blog-search__heading strong {
 color: #442c50;
 font-size: 1rem;
}

.cc-gc-tag-page .cc-gc-blog-search .com-tags-tags__filter {
 display: grid;
 grid-template-columns: minmax(0,1fr) auto auto;
 gap: .5rem;
}

.cc-gc-tag-page .cc-gc-blog-search .com-tags-tags__filter input {
 width: 100%;
 min-width: 0;
 padding: .7rem .9rem;
 color: #3a2d40;
 background: #faf8fb;
 border: 1px solid #dfd4e4;
 border-radius: .65rem !important;
 box-shadow: none;
 font-size: .82rem;
}

.cc-gc-tag-page .cc-gc-blog-search .btn {
 padding: .68rem 1rem;
 border-radius: .65rem !important;
 font-size: .76rem;
 font-weight: 750;
}

.cc-gc-tag-page .cc-gc-blog-search .btn-primary {
 color: #fff;
 background: #5a2c83;
 border-color: #5a2c83;
}

.cc-gc-tag-page .cc-gc-blog-grid {
 display: grid;
 grid-template-columns: repeat(3,minmax(0,1fr));
 gap: clamp(1rem,2vw,1.5rem);
 align-items: stretch;
}

.cc-gc-tag-page .cc-gc-story {
 display: flex;
 min-width: 0;
 height: 100%;
 flex-direction: column;
 background: #fff;
 border: 1px solid #e8e0eb;
 border-radius: 1.1rem;
 box-shadow: 0 .85rem 2.3rem rgba(49,28,59,.075);
 overflow: hidden;
 transition: transform .2s,box-shadow .2s,border-color .2s;
}

.cc-gc-tag-page .cc-gc-story:hover {
 border-color: #cdb7d8;
 box-shadow: 0 1.25rem 3rem rgba(49,28,59,.13);
 transform: translateY(-4px);
}

.cc-gc-tag-page .cc-gc-story--lead {
 display: grid;
 min-height: clamp(25rem,35vw,31rem);
 grid-column: 1 / -1;
 grid-template-columns: minmax(0,1.35fr) minmax(21rem,.85fr);
 background: #190c26;
 border-color: rgba(106,66,130,.48);
 box-shadow: 0 1.5rem 3.8rem rgba(35,14,46,.18);
}

.cc-gc-tag-page .cc-gc-story__media {
 display: block;
 aspect-ratio: 16 / 10;
 background: #1b1024;
 overflow: hidden;
}

.cc-gc-tag-page .cc-gc-story__media img {
 width: 100%;
 height: 100%;
 object-fit: cover;
 transition: transform .5s ease;
}

.cc-gc-tag-page .cc-gc-story__media img[src*="equipe_artistique/img.png"] {
 padding: 18%;
 object-fit: contain;
 background: linear-gradient(145deg,#efe6f3,#faf7fb);
}

.cc-gc-tag-page .cc-gc-story:hover .cc-gc-story__media img { transform: scale(1.025); }

.cc-gc-tag-page .cc-gc-story--lead .cc-gc-story__media {
 min-height: 100%;
 aspect-ratio: auto;
}

.cc-gc-tag-page .cc-gc-story__body {
 display: flex;
 min-width: 0;
 flex: 1;
 flex-direction: column;
 padding: 1.25rem 1.3rem 1.4rem;
}

.cc-gc-tag-page .cc-gc-story--lead .cc-gc-story__body {
 justify-content: center;
 padding: clamp(1.75rem,3.5vw,3.25rem);
}

.cc-gc-tag-page .cc-gc-story__meta {
 display: flex;
 gap: .42rem;
 align-items: center;
 margin-bottom: .85rem;
 color: #8a7891;
 font-size: .66rem;
 font-weight: 750;
 letter-spacing: .065em;
 text-transform: uppercase;
}

.cc-gc-tag-page .cc-gc-story--lead .cc-gc-story__meta { color: #c6afd2; }

.cc-gc-tag-page .cc-gc-story h2 {
 margin: 0;
 color: #452b51;
 font-size: clamp(1.08rem,1.5vw,1.3rem);
 font-weight: 780;
 letter-spacing: -.025em;
 line-height: 1.35;
 text-wrap: balance;
}

.cc-gc-tag-page .cc-gc-story h2 a { color: inherit; text-decoration: none; }
.cc-gc-tag-page .cc-gc-story h2 a:hover { color: #6d3d8d; }

.cc-gc-tag-page .cc-gc-story--lead h2 {
 color: #fff;
 font-size: clamp(1.75rem,3vw,2.8rem);
 line-height: 1.12;
}

.cc-gc-tag-page .cc-gc-story--lead h2 a:hover { color: #e1c6f2; }

.cc-gc-tag-page .cc-gc-story__excerpt {
 display: -webkit-box;
 margin: .9rem 0 1.3rem;
 color: #746979;
 font-size: .82rem;
 line-height: 1.75;
 overflow: hidden;
 -webkit-box-orient: vertical;
 -webkit-line-clamp: 4;
}

.cc-gc-tag-page .cc-gc-story--lead .cc-gc-story__excerpt {
 color: #d1c2d9;
 font-size: .88rem;
 line-height: 1.8;
 -webkit-line-clamp: 6;
}

.cc-gc-tag-page .cc-gc-story__read {
 display: inline-flex;
 justify-content: space-between;
 gap: 1rem;
 align-items: center;
 margin-top: auto;
 padding-top: .8rem;
 color: #653c78;
 border-top: 1px solid #eee8f1;
 font-size: .72rem;
 font-weight: 800;
 text-decoration: none;
}

.cc-gc-tag-page .cc-gc-story__read span:last-child { transition: transform .2s; }
.cc-gc-tag-page .cc-gc-story__read:hover span:last-child { transform: translateX(4px); }

.cc-gc-tag-page .cc-gc-story--lead .cc-gc-story__read {
 align-self: flex-start;
 min-width: 10rem;
 margin-top: .5rem;
 padding: .72rem 1rem;
 color: #21102e;
 background: #d9b9ee;
 border: 0;
 border-radius: 99px;
}

.cc-gc-tag-page .cc-gc-story.is-unpublished { opacity: .68; }

.cc-gc-tag-page .com-tags-tag__pagination {
 display: flow-root;
 margin-top: 2.5rem;
 padding-top: 1.5rem;
 border-top: 1px solid #e2d8e7;
}

.cc-gc-tag-page .com-tags-tag__pagination .page-link {
 color: #624275;
 background: #fff;
 border-color: #e1d6e9;
}

.cc-gc-tag-page .com-tags-tag__pagination .active .page-link {
 color: #fff;
 background: #5a2c83;
 border-color: #5a2c83;
}

@media (max-width: 991.98px) {
 .cc-gc-tag-page .cc-gc-year-nav .mod-menu { grid-template-columns: repeat(9,minmax(0,1fr)); }
 .cc-gc-tag-page .cc-gc-journal-hero { grid-template-columns: minmax(0,1.15fr) minmax(16rem,.85fr); }
 .cc-gc-tag-page .cc-gc-blog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .cc-gc-tag-page .cc-gc-story--lead { grid-template-columns: minmax(0,1.15fr) minmax(19rem,.85fr); }
}

@media (max-width: 767.98px) {
 body.cc-gc-tag-page .site-grid > .container-component { width: min(calc(100% - 1rem),82rem); }
 .cc-gc-tag-page .cc-gc-year-nav { padding: .85rem; }
 .cc-gc-tag-page .cc-gc-year-nav::before { margin: 0 0 .65rem .1rem; }
 .cc-gc-tag-page .cc-gc-year-nav .mod-menu { gap: .3rem; }
 .cc-gc-tag-page .cc-gc-year-nav .mod-menu a { min-height: 2.25rem; padding: .45rem .2rem; font-size: .7rem; }
 .cc-gc-tag-page .cc-gc-journal-hero { display: block; min-height: 0; }
 .cc-gc-tag-page .cc-gc-journal-hero__copy { min-height: 25rem; padding: 2rem 1.5rem; }
 .cc-gc-tag-page .cc-gc-journal-hero__visual { min-height: 17rem; }
 .cc-gc-tag-page .cc-gc-blog-search { display: block; padding: 1rem; }
 .cc-gc-tag-page .cc-gc-blog-search__heading { margin-bottom: .8rem; }
 .cc-gc-tag-page .cc-gc-blog-search .com-tags-tags__filter { grid-template-columns: minmax(0,1fr) auto; }
 .cc-gc-tag-page .cc-gc-blog-search .btn-secondary { grid-column: 1 / -1; }
 .cc-gc-tag-page .cc-gc-story--lead { display: flex; min-height: 0; grid-column: 1 / -1; }
 .cc-gc-tag-page .cc-gc-story--lead .cc-gc-story__media { min-height: 0; aspect-ratio: 16 / 10; }
 .cc-gc-tag-page .cc-gc-story--lead .cc-gc-story__body { padding: 1.5rem; }
}

@media (max-width: 559.98px) {
 .cc-gc-tag-page .cc-gc-year-nav .mod-menu { grid-template-columns: repeat(5,minmax(0,1fr)); }
 .cc-gc-tag-page .cc-gc-year-nav .mod-menu li:first-child { grid-column: 1 / -1; }
 .cc-gc-tag-page .cc-gc-blog-grid { grid-template-columns: 1fr; }
 .cc-gc-tag-page .cc-gc-story--lead { grid-column: auto; }
 .cc-gc-tag-page .cc-gc-blog-search .com-tags-tags__filter { grid-template-columns: 1fr; }
 .cc-gc-tag-page .cc-gc-blog-search .btn { width: 100%; }
 .cc-gc-tag-page .cc-gc-journal-hero__copy { min-height: 23rem; }
 .cc-gc-tag-page .cc-gc-journal-hero h1 { font-size: clamp(2.15rem,11vw,3.3rem); }
}

/* =========================================================
   Grand Choral archives — immersive night redesign
   Echoes the editorial rhythm of /histoire while keeping the
   dedicated stage identity of the current Grand Choral page.
   ========================================================= */
.cc-gc-archive-page {
 --gca-night: #0d0718;
 --gca-night-soft: #171027;
 --gca-panel: rgba(27,17,44,.94);
 --gca-panel-deep: rgba(18,10,31,.97);
 --gca-line-night: rgba(207,180,230,.2);
 --gca-text-night: #f7f2fb;
 --gca-muted-night: #cbbdd5;
 --gca-accent-night: #c795ed;
 --gca-warm-night: #ff9f72;
}

.cc-gc-archive-page .site-grid {
 position: relative;
 overflow: clip;
 background:
  radial-gradient(circle at 8% 10%,rgba(100,56,165,.3),transparent 28rem),
  radial-gradient(circle at 95% 42%,rgba(42,92,196,.18),transparent 33rem),
  radial-gradient(circle at 43% 88%,rgba(177,64,119,.15),transparent 38rem),
  linear-gradient(180deg,#10091d 0%,var(--gca-night) 48%,#12091d 100%);
}

body.cc-gc-archive-page .site-grid > .container-component {
 position: relative;
 grid-column: full-start / full-end;
 width: 100%;
 max-width: none;
 padding-top: clamp(1.25rem,3.5vw,3rem);
 padding-bottom: clamp(4rem,9vw,8rem);
}

.cc-gc-archive-page .container-component::before {
 position: absolute;
 z-index: 0;
 top: -8rem;
 left: 50%;
 width: min(96rem,120vw);
 height: 40rem;
 content: '';
 background:
  linear-gradient(112deg,transparent 24%,rgba(142,106,215,.1) 43%,transparent 57%),
  linear-gradient(72deg,transparent 31%,rgba(71,133,235,.075) 48%,transparent 62%);
 pointer-events: none;
 transform: translateX(-50%);
}

.cc-gc-archive-page .container-component > .mod-breadcrumbs__wrapper {
 position: relative;
 z-index: 2;
 width: min(calc(100% - 2rem),88rem);
 margin-inline: auto;
 color: #b7a8c1;
}

.cc-gc-archive-page .container-component > main {
 position: relative;
 z-index: 1;
}

.cc-gc-archive-page .cc-gca {
 --gca-purple: var(--gca-accent-night);
 --gca-ink: var(--gca-text-night);
 --gca-muted: var(--gca-muted-night);
 --gca-line: var(--gca-line-night);
 display: flex;
 width: min(calc(100% - clamp(1.25rem,4vw,4rem)),92rem);
 max-width: 92rem;
 flex-direction: column;
 margin: 0 auto;
 color: var(--gca-text-night);
}

.cc-gc-archive-page .cc-gca-hero { order: 1; }
.cc-gc-archive-page .cc-gca-periods { order: 2; }
.cc-gc-archive-page .cc-gca-current { order: 3; }
.cc-gc-archive-page .cc-gca-intro { order: 4; }
.cc-gc-archive-page .cc-gca-era { order: 5; }
.cc-gc-archive-page .cc-gca-journal { order: 6; }
.cc-gc-archive-page .cc-gca-sources { order: 7; }

.cc-gc-archive-page .cc-gca-hero {
 position: relative;
 display: block;
 min-height: clamp(41rem,72vw,55rem);
 overflow: hidden;
 color: #fff;
 background: #10091d;
 border: 1px solid rgba(231,215,244,.22);
 border-radius: clamp(1.15rem,2.5vw,2rem);
 box-shadow: 0 2.2rem 6rem rgba(0,0,0,.5),0 0 4rem rgba(99,61,169,.16);
 isolation: isolate;
}

.cc-gc-archive-page .cc-gca-hero::after {
 position: absolute;
 z-index: 4;
 inset: 0;
 border: 1px solid rgba(255,255,255,.075);
 border-radius: inherit;
 box-shadow: inset 0 0 5rem rgba(17,8,29,.18);
 content: '';
 pointer-events: none;
}

.cc-gc-archive-page .cc-gca-hero__image {
 position: absolute;
 z-index: 0;
 inset: 0;
 min-height: 0;
 margin: 0;
 overflow: hidden;
}

.cc-gc-archive-page .cc-gca-hero__image::after {
 position: absolute;
 z-index: 1;
 inset: 0;
 content: '';
 background:
  linear-gradient(90deg,rgba(10,5,20,.96) 0%,rgba(10,5,20,.76) 35%,rgba(10,5,20,.22) 72%,rgba(10,5,20,.08) 100%),
  linear-gradient(180deg,rgba(7,3,16,.08) 30%,rgba(9,4,18,.93) 100%);
}

.cc-gc-archive-page .cc-gca-hero__image img {
 position: absolute;
 inset: 0;
 width: 100%;
 height: 100%;
 object-fit: cover;
 object-position: center 43%;
 transform: scale(1.012);
}

.cc-gc-archive-page .cc-gca-hero__image figcaption {
 position: absolute;
 z-index: 3;
 top: 1.25rem;
 right: 1.5rem;
 bottom: auto;
 color: rgba(239,228,246,.72);
 font-size: .63rem;
}

.cc-gc-archive-page .cc-gca-hero__copy {
 position: relative;
 z-index: 3;
 display: flex;
 width: min(64rem,100%);
 min-height: clamp(41rem,72vw,55rem);
 flex-direction: column;
 justify-content: center;
 padding: clamp(2rem,6vw,5rem) clamp(1.5rem,6vw,5rem) clamp(7.5rem,11vw,9rem);
}

.cc-gc-archive-page .cc-gca-back {
 align-self: flex-start;
 margin-bottom: clamp(2rem,5vw,4rem);
 color: #eadcf5 !important;
 font-size: .76rem;
 font-weight: 760;
 letter-spacing: .04em;
 text-decoration: none;
}

.cc-gc-archive-page .cc-gca-back:hover,
.cc-gc-archive-page .cc-gca-back:focus-visible {
 color: #fff !important;
 text-decoration: underline;
 text-decoration-color: var(--gca-warm-night);
 text-underline-offset: .25em;
}

.cc-gc-archive-page .cc-gca-hero .cc-gca-eyebrow {
 display: inline-flex;
 gap: .6rem;
 align-items: center;
 margin-bottom: 1rem;
 color: #eadcf5;
 font-size: .76rem;
 letter-spacing: .18em;
}

.cc-gc-archive-page .cc-gca-hero .cc-gca-eyebrow::before {
 width: 2.4rem;
 height: 1px;
 background: linear-gradient(90deg,var(--gca-warm-night),var(--gca-accent-night));
 content: '';
}

.cc-gc-archive-page .cc-gca-hero h1 {
 max-width: 13ch;
 margin: 0;
 color: #fff;
 font-size: clamp(3.8rem,8.8vw,8rem);
 font-weight: 870;
 letter-spacing: -.07em;
 line-height: .84;
 text-shadow: 0 .16em .6em rgba(14,4,30,.5);
}

.cc-gc-archive-page .cc-gca-hero h1 em {
 color: #d7b2f3;
 font-family: inherit;
 font-style: normal;
 font-weight: 870;
}

.cc-gc-archive-page .cc-gca-lead {
 max-width: 42rem;
 margin: 1.45rem 0 0;
 color: #eee6f4;
 font-size: clamp(1rem,2vw,1.2rem);
 line-height: 1.65;
}

.cc-gc-archive-page .cc-gca-hero__facts {
 display: grid;
 grid-template-columns: repeat(3,minmax(0,1fr));
 width: min(44rem,100%);
 margin: clamp(1.5rem,3.5vw,2.5rem) 0 0;
 padding: .85rem 0;
 overflow: hidden;
 background: rgba(16,8,29,.54);
 border: 1px solid rgba(233,218,245,.18);
 border-radius: 1rem;
 box-shadow: inset 0 1px rgba(255,255,255,.05);
 list-style: none;
 backdrop-filter: blur(13px);
}

.cc-gc-archive-page .cc-gca-hero__facts > div {
 display: flex;
 min-width: 0;
 flex-direction: column;
 gap: .2rem;
 justify-content: center;
 padding: .2rem 1rem;
}

.cc-gc-archive-page .cc-gca-hero__facts > div + div {
 border-left: 1px solid rgba(235,220,246,.16);
}

.cc-gc-archive-page .cc-gca-hero__facts dt {
 color: #fff;
 font-size: clamp(.98rem,1.8vw,1.2rem);
 font-weight: 840;
 line-height: 1.15;
}

.cc-gc-archive-page .cc-gca-hero__facts dd {
 margin: 0;
 color: #cdbfd7;
 font-size: .7rem;
 line-height: 1.3;
}

.cc-gc-archive-page .cc-gca-button {
 min-height: 2.9rem;
 padding: .8rem 1.3rem;
 color: #190d26 !important;
 background: linear-gradient(115deg,#f4d8ff,#c99df1 56%,#ffac86);
 border: 0;
 box-shadow: 0 .8rem 2rem rgba(131,76,189,.3);
 transition: transform .18s ease,box-shadow .18s ease,background .18s ease;
}

.cc-gc-archive-page .cc-gca-hero .cc-gca-button {
 align-self: flex-start;
 margin-top: 1.4rem;
}

.cc-gc-archive-page .cc-gca-button:hover,
.cc-gc-archive-page .cc-gca-button:focus-visible {
 color: #190d26 !important;
 background: linear-gradient(115deg,#fff,#ddbcf8 56%,#ffc5a9);
 box-shadow: 0 1rem 2.3rem rgba(142,89,199,.42);
 outline: none;
 transform: translateY(-2px);
}

.cc-gc-archive-page .cc-gca-hero__date {
 right: clamp(1.5rem,4vw,4rem);
 bottom: clamp(3rem,7vw,5.5rem);
 left: auto;
 z-index: 2;
 color: rgba(255,255,255,.82);
 font-size: clamp(5.5rem,13vw,12rem);
 text-align: right;
 text-shadow: 0 .15em .5em rgba(7,3,13,.42);
}

.cc-gc-archive-page .cc-gca-hero__date > span {
 margin-top: .9rem;
 color: rgba(239,228,246,.76);
 font-size: .78rem;
 font-weight: 650;
 letter-spacing: .08em;
 text-transform: uppercase;
}

.cc-gc-archive-page .cc-gca-periods {
 z-index: 6;
 display: grid;
 width: min(calc(100% - clamp(1.5rem,7vw,7rem)),78rem);
 grid-template-columns: auto minmax(0,1fr);
 gap: 1.25rem;
 align-items: center;
 margin: -3.1rem auto clamp(3.5rem,7vw,5.5rem);
 padding: .85rem 1rem .85rem 1.3rem;
 background: rgba(27,17,44,.92);
 border: 1px solid rgba(231,215,244,.24);
 border-radius: 1rem;
 box-shadow: 0 1.3rem 3.2rem rgba(0,0,0,.32),inset 0 1px rgba(255,255,255,.04);
 backdrop-filter: blur(18px);
}

.cc-gc-archive-page .cc-gca-periods > span {
 color: #cdbfd7;
 font-size: .72rem;
 font-weight: 800;
 letter-spacing: .1em;
 text-transform: uppercase;
}

.cc-gc-archive-page .cc-gca-periods > div {
 display: grid;
 grid-template-columns: repeat(4,minmax(0,1fr));
 gap: .45rem;
}

.cc-gc-archive-page .cc-gca-periods a {
 display: flex;
 min-height: 2.75rem;
 align-items: center;
 justify-content: center;
 padding: .6rem .8rem;
 color: #f4edf8;
 background: rgba(255,255,255,.045);
 border: 1px solid rgba(224,204,238,.16);
 font-size: .78rem;
 text-align: center;
}

.cc-gc-archive-page .cc-gca-periods a:hover,
.cc-gc-archive-page .cc-gca-periods a:focus-visible {
 color: #fff;
 background: rgba(199,149,237,.2);
 border-color: rgba(215,180,240,.52);
 outline: none;
}

.cc-gc-archive-page .cc-gca-current {
 width: min(calc(100% - 2rem),76rem);
 margin: 0 auto clamp(4rem,8vw,6rem);
 padding: clamp(1.5rem,3.5vw,2.5rem);
 color: var(--gca-text-night);
 background:
  radial-gradient(circle at 8% 20%,rgba(241,30,211,.12),transparent 18rem),
  linear-gradient(135deg,rgba(29,17,47,.97),rgba(14,8,25,.98));
 border: 1px solid var(--gca-line-night);
 border-radius: 1.3rem;
 box-shadow: 0 1.5rem 4rem rgba(0,0,0,.27),inset 0 1px rgba(255,255,255,.03);
}

.cc-gc-archive-page .cc-gca-current::before {
 width: .3rem;
 background: linear-gradient(180deg,var(--gca-warm-night),var(--gca-accent-night));
}

.cc-gc-archive-page .cc-gca-current .cc-gca-eyebrow {
 color: var(--gca-accent-night);
}

.cc-gc-archive-page .cc-gca-current h2 {
 color: #fff;
 font-size: clamp(1.8rem,4vw,3.1rem);
 letter-spacing: -.04em;
}

.cc-gc-archive-page .cc-gca-current p:last-child {
 color: var(--gca-muted-night);
 font-size: .95rem;
}

.cc-gc-archive-page .cc-gca-text-link {
 min-height: 2.75rem;
 align-items: center;
 padding: .7rem 1rem;
 color: #f3e9f9;
 border: 1px solid rgba(221,197,239,.3);
 border-radius: 999px;
}

.cc-gc-archive-page .cc-gca-text-link:hover,
.cc-gc-archive-page .cc-gca-text-link:focus-visible {
 color: #160b22;
 background: #d8b1f4;
 border-color: #d8b1f4;
 outline: none;
 text-decoration: none;
}

.cc-gc-archive-page .cc-gca-intro {
 max-width: 62rem;
 margin: 0 auto clamp(1rem,3vw,2rem);
 color: #d7cadf;
 font-size: clamp(1.05rem,2vw,1.24rem);
 line-height: 1.8;
 text-align: center;
 text-wrap: balance;
}

.cc-gc-archive-page .cc-gca-era {
 width: min(100%,84rem);
 margin: clamp(4rem,9vw,7rem) auto 0;
 padding: 0;
 overflow: visible;
 color: var(--gca-text-night);
 background: transparent;
 border: 0;
 border-radius: 0;
 box-shadow: none;
}

.cc-gc-archive-page .cc-gca-era::before {
 top: -3.4rem;
 right: 0;
 color: rgba(211,176,239,.055);
 font-size: clamp(6rem,16vw,15rem);
}

.cc-gc-archive-page .cc-gca-era::after {
 inset: -2rem -3rem;
 z-index: -1;
 background:
  radial-gradient(circle at 94% 15%,rgba(121,73,163,.16),transparent 24rem),
  linear-gradient(112deg,transparent 8%,rgba(255,255,255,.025) 8.2%,transparent 25%);
}

.cc-gc-archive-page .cc-gca-era__heading {
 margin-bottom: clamp(1.5rem,3vw,2.25rem);
 padding: 0 .25rem 1.4rem;
 border-bottom-color: rgba(215,184,232,.22);
}

.cc-gc-archive-page .cc-gca-era__heading .cc-gca-eyebrow {
 color: var(--gca-accent-night);
}

.cc-gc-archive-page .cc-gca-era__heading h2 {
 color: #fff;
 font-size: clamp(2rem,4vw,3.4rem);
 font-weight: 850;
 letter-spacing: -.055em;
}

.cc-gc-archive-page .cc-gca-era__heading > a {
 color: #cfbfd6;
}

.cc-gc-archive-page .cc-gca-grid {
 grid-template-columns: repeat(3,minmax(0,1fr));
 grid-auto-rows: 1fr;
 gap: clamp(.85rem,1.5vw,1.2rem);
}

.cc-gc-archive-page .cc-gca-card {
 min-height: 445px;
 padding-bottom: 1.2rem;
 background: linear-gradient(145deg,rgba(30,19,47,.98),rgba(18,11,30,.99));
 border: 1px solid rgba(225,204,239,.16);
 border-radius: 1.1rem;
 box-shadow: 0 1rem 2.8rem rgba(0,0,0,.29),inset 0 1px rgba(255,255,255,.025);
}

.cc-gc-archive-page .cc-gca-card:hover {
 border-color: rgba(223,191,239,.44);
 box-shadow: 0 1.5rem 3.4rem rgba(0,0,0,.4),0 0 2rem rgba(106,62,160,.1);
 transform: translateY(-4px);
}

.cc-gc-archive-page .cc-gca-poster {
 aspect-ratio: 16/10;
 padding: 1rem;
 background:
  radial-gradient(ellipse at 50% 115%,rgba(132,74,159,.54),transparent 48%),
  linear-gradient(145deg,#2b1937,#100917 72%);
 border-bottom: 1px solid rgba(225,204,239,.12);
}

.cc-gc-archive-page .cc-gca-poster img {
 filter: drop-shadow(0 .7rem .9rem rgba(0,0,0,.42));
 transition: transform .55s cubic-bezier(.2,.65,.25,1);
}

.cc-gc-archive-page .cc-gca-card:hover .cc-gca-poster img {
 transform: scale(1.018);
}

.cc-gc-archive-page .cc-gca-card__copy {
 margin: -1.15rem .8rem 0;
 padding: 1rem 1rem .35rem;
 background: linear-gradient(145deg,rgba(38,24,56,.98),rgba(24,14,39,.98));
 border: 1px solid rgba(225,204,239,.12);
 border-bottom: 0;
 border-radius: .85rem .85rem 0 0;
 box-shadow: 0 -.3rem 1.2rem rgba(8,4,14,.2);
}

.cc-gc-archive-page .cc-gca-year {
 color: #190d26;
 background: linear-gradient(115deg,#e7c9f8,#c99df1 65%,#ffb18e);
 border: 0;
 box-shadow: 0 .3rem .8rem rgba(0,0,0,.18);
}

.cc-gc-archive-page .cc-gca-card h3 {
 color: #fff;
 font-size: 1.04rem;
}

.cc-gc-archive-page .cc-gca-artists {
 color: #cbbdd5;
}

.cc-gc-archive-page .cc-gca-description {
 color: #d7cedd;
}

.cc-gc-archive-page .cc-gca-news-link,
.cc-gc-archive-page .cc-gca-video-link {
 color: #dbc1ee;
 border-top-color: rgba(225,204,239,.14);
}

.cc-gc-archive-page .cc-gca-shop-link {
 color: #f5edf9;
 background: linear-gradient(135deg,rgba(199,149,237,.15),rgba(255,159,114,.1));
 border-color: rgba(218,186,239,.24);
 box-shadow: inset 0 1px rgba(255,255,255,.03),0 .45rem 1rem rgba(0,0,0,.14);
}

.cc-gc-archive-page .cc-gca-shop-link strong { color: #fff; }
.cc-gc-archive-page .cc-gca-shop-link small { color: #bcaec5; }
.cc-gc-archive-page .cc-gca-shop-link__arrow { color: #d4b4e8; }

.cc-gc-archive-page .cc-gca-shop-link:hover,
.cc-gc-archive-page .cc-gca-shop-link:focus-visible {
 color: #fff;
 background: linear-gradient(135deg,rgba(199,149,237,.27),rgba(255,159,114,.18));
 border-color: rgba(222,190,242,.5);
 box-shadow: 0 .75rem 1.6rem rgba(0,0,0,.25),0 0 1.3rem rgba(121,72,159,.1);
}

.cc-gc-archive-page .cc-gca-news-link:hover,
.cc-gc-archive-page .cc-gca-video-link:hover {
 color: #fff;
}

.cc-gc-archive-page .cc-gca-video-link__icon {
 color: #190d26;
 background: linear-gradient(135deg,#ddbaf5,#ffae88);
}

.cc-gc-archive-page .cc-gca-video-link strong {
 color: #f2e9f7;
}

.cc-gc-archive-page .cc-gca-video-link small {
 color: #b6a8bf;
}

.cc-gc-archive-page .cc-gca-video-link__arrow {
 color: #c8a5df;
}

.cc-gc-archive-page .cc-gca-journal {
 width: min(calc(100% - 2rem),76rem);
 margin: clamp(5rem,11vw,9rem) auto 0;
 padding: clamp(1.75rem,4vw,3.5rem);
 color: var(--gca-text-night);
 background:
  radial-gradient(circle at 78% 20%,rgba(111,63,166,.24),transparent 22rem),
  linear-gradient(135deg,rgba(35,20,54,.98),rgba(17,10,29,.98));
 border: 1px solid var(--gca-line-night);
 border-radius: 1.4rem;
 box-shadow: 0 1.5rem 4rem rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.03);
}

.cc-gc-archive-page .cc-gca-journal::after {
 color: rgba(211,176,239,.06);
}

.cc-gc-archive-page .cc-gca-journal .cc-gca-eyebrow {
 color: var(--gca-warm-night);
}

.cc-gc-archive-page .cc-gca-journal h2 {
 color: #fff;
 font-size: clamp(2rem,4vw,3.2rem);
 font-weight: 850;
 letter-spacing: -.05em;
}

.cc-gc-archive-page .cc-gca-journal p:last-child {
 color: var(--gca-muted-night);
}

.cc-gc-archive-page .cc-gca-sources {
 color: #9889a3;
}

.cc-gc-archive-page .cc-gca-sources a {
 color: #cfa8e9;
}

@media (max-width: 1099.98px) {
 .cc-gc-archive-page .cc-gca-hero h1 { font-size: clamp(3.8rem,9vw,6.5rem); }
 .cc-gc-archive-page .cc-gca-hero__date { font-size: clamp(5rem,14vw,9rem); }
 .cc-gc-archive-page .cc-gca-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 767.98px) {
 .cc-gc-archive-page .container-component { padding-top: .8rem; }
 .cc-gc-archive-page .cc-gca { width: calc(100% - 1rem); }
 .cc-gc-archive-page .cc-gca-hero { min-height: 43rem; border-radius: 1rem; }
 .cc-gc-archive-page .cc-gca-hero__image::after {
  background: linear-gradient(0deg,rgba(10,5,20,.98) 0%,rgba(12,6,23,.76) 66%,rgba(10,5,20,.24) 100%);
 }
 .cc-gc-archive-page .cc-gca-hero__image img { object-position: 62% center; }
 .cc-gc-archive-page .cc-gca-hero__copy {
  min-height: 43rem;
  justify-content: flex-end;
  padding: 2rem 1.35rem 8.5rem;
 }
 .cc-gc-archive-page .cc-gca-back { margin-bottom: auto; }
 .cc-gc-archive-page .cc-gca-hero h1 { font-size: clamp(2.85rem,13vw,4.25rem); }
 .cc-gc-archive-page .cc-gca-lead { font-size: .94rem; }
 .cc-gc-archive-page .cc-gca-hero__facts { margin-top: 1.25rem; }
 .cc-gc-archive-page .cc-gca-hero__facts > div { padding-inline: .6rem; }
 .cc-gc-archive-page .cc-gca-hero__facts dt { font-size: .88rem; }
 .cc-gc-archive-page .cc-gca-hero__facts dd { font-size: .6rem; }
 .cc-gc-archive-page .cc-gca-hero__date { right: 1rem; bottom: 6.6rem; font-size: 4.5rem; opacity: .35; }
 .cc-gc-archive-page .cc-gca-hero__date > span,
 .cc-gc-archive-page .cc-gca-hero__image figcaption { display: none; }
 .cc-gc-archive-page .cc-gca-periods {
  width: calc(100% - 1.5rem);
  grid-template-columns: 1fr;
  gap: .7rem;
  margin-top: -4.75rem;
  padding: .8rem;
 }
 .cc-gc-archive-page .cc-gca-periods > span { padding-left: .25rem; }
 .cc-gc-archive-page .cc-gca-periods > div { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .cc-gc-archive-page .cc-gca-current { width: calc(100% - 1rem); align-items: flex-start; }
 .cc-gc-archive-page .cc-gca-text-link { align-self: stretch; justify-content: space-between; }
 .cc-gc-archive-page .cc-gca-intro { padding-inline: 1rem; text-align: left; }
 .cc-gc-archive-page .cc-gca-era { width: calc(100% - .5rem); }
 .cc-gc-archive-page .cc-gca-era__heading { align-items: flex-start; }
 .cc-gc-archive-page .cc-gca-era__heading h2 { font-size: clamp(2rem,9vw,2.8rem); }
 .cc-gc-archive-page .cc-gca-journal { width: calc(100% - 1rem); }
}

@media (max-width: 599.98px) {
 .cc-gc-archive-page .cc-gca-grid { grid-template-columns: 1fr; grid-auto-rows: auto; }
 .cc-gc-archive-page .cc-gca-card { min-height: 0; }
 .cc-gc-archive-page .cc-gca-poster { aspect-ratio: 16/10; }
 .cc-gc-archive-page .cc-gca-journal { display: block; }
 .cc-gc-archive-page .cc-gca-journal .cc-gca-button { margin-top: 1.25rem; }
}

/* =========================================================
   Grand Choral archives — one-edition timeline
   One horizontal story per year, inspired by /histoire.
   ========================================================= */
.cc-gc-archive-page .cc-gca-grid {
 position: relative;
 display: grid;
 grid-template-columns: minmax(0,1fr);
 grid-auto-rows: auto;
 gap: clamp(1rem,2vw,1.4rem);
 padding-block: .25rem;
}

.cc-gc-archive-page .cc-gca-grid::before {
 position: absolute;
 z-index: 0;
 top: 1rem;
 bottom: 1rem;
 left: 3.25rem;
 width: 1px;
 content: '';
 background: linear-gradient(180deg,rgba(231,201,248,.18),rgba(255,177,142,.65) 48%,rgba(199,149,237,.2));
}

.cc-gc-archive-page .cc-gca-card {
 position: relative;
 z-index: 1;
 display: grid;
 height: auto;
 min-height: 14.5rem;
 grid-template-columns: 6.5rem minmax(11rem,14rem) minmax(0,1fr) minmax(13.5rem,17.25rem);
 grid-template-rows: auto auto minmax(0,1fr);
 gap: .55rem clamp(1rem,2vw,1.6rem);
 align-items: start;
 padding: 1rem;
 overflow: visible;
 background: transparent;
 border: 0;
 border-radius: 0;
 box-shadow: none;
 transition: none;
}

.cc-gc-archive-page .cc-gca-card::before {
 position: absolute;
 z-index: -1;
 top: 2.45rem;
 left: 3.25rem;
 width: 4.2rem;
 height: 1px;
 content: '';
 background: linear-gradient(90deg,rgba(255,177,142,.72),rgba(215,184,232,.28));
}

.cc-gc-archive-page .cc-gca-card::after {
 position: absolute;
 z-index: -2;
 inset: 0 0 0 7.35rem;
 content: '';
 background:
  radial-gradient(circle at 13% 120%,rgba(118,65,151,.17),transparent 20rem),
  linear-gradient(145deg,rgba(30,19,47,.98),rgba(18,11,30,.99));
 border: 1px solid rgba(225,204,239,.16);
 border-radius: 1.1rem;
 box-shadow: 0 1rem 2.8rem rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.025);
 transition: border-color .2s,box-shadow .2s,transform .2s;
}

.cc-gc-archive-page .cc-gca-card:hover {
 border: 0;
 box-shadow: none;
 transform: none;
}

.cc-gc-archive-page .cc-gca-card:hover::after {
 border-color: rgba(223,191,239,.4);
 box-shadow: 0 1.4rem 3.3rem rgba(0,0,0,.34),0 0 2rem rgba(106,62,160,.09);
 transform: translateY(-2px);
}

.cc-gc-archive-page .cc-gca-card > * {
 position: relative;
 z-index: 1;
 min-width: 0;
}

.cc-gc-archive-page .cc-gca-card__copy {
 display: contents;
}

.cc-gc-archive-page .cc-gca-year {
 grid-column: 1;
 grid-row: 1 / 4;
 align-self: start;
 justify-self: center;
 justify-content: center;
 width: 5.35rem;
 margin: .55rem 0 0;
 padding: .85rem .35rem;
 border-radius: .85rem;
 font-size: 1.02rem;
 letter-spacing: -.02em;
}

.cc-gc-archive-page .cc-gca-poster {
 grid-column: 2;
 grid-row: 1 / 4;
 align-self: stretch;
 width: 100%;
 height: 100%;
 min-height: 12.5rem;
 max-height: 15rem;
 aspect-ratio: auto;
 padding: .75rem;
 border: 1px solid rgba(225,204,239,.12);
 border-radius: .8rem;
}

.cc-gc-archive-page .cc-gca-card h3 {
 grid-column: 3;
 grid-row: 1;
 margin: .35rem 0 0;
 font-size: clamp(1.2rem,1.8vw,1.55rem);
 line-height: 1.2;
}

.cc-gc-archive-page .cc-gca-artists {
 grid-column: 3;
 grid-row: 2;
 font-size: .82rem;
 line-height: 1.55;
}

.cc-gc-archive-page .cc-gca-description {
 grid-column: 3;
 grid-row: 3;
 align-self: start;
 margin: .2rem 0 0;
 padding: 0;
 font-size: .82rem;
 line-height: 1.72;
}

.cc-gc-archive-page .cc-gca-news-link,
.cc-gc-archive-page .cc-gca-video-link,
.cc-gc-archive-page .cc-gca-shop-link {
 grid-column: 4;
 width: 100%;
 margin: 0;
 align-self: start;
}

.cc-gc-archive-page .cc-gca-news-link {
 grid-row: 1;
 align-items: center;
 min-height: 2.65rem;
 padding: .6rem .75rem;
 background: rgba(255,255,255,.025);
 border: 1px solid rgba(225,204,239,.13);
 border-radius: .7rem;
}

.cc-gc-archive-page .cc-gca-video-link {
 grid-row: 2;
 padding: .55rem .65rem;
 background: rgba(255,255,255,.018);
 border: 1px solid rgba(225,204,239,.12);
 border-radius: .7rem;
}

.cc-gc-archive-page .cc-gca-shop-link {
 grid-row: 3;
 align-self: end;
}

@media (max-width: 1099.98px) {
 .cc-gc-archive-page .cc-gca-card {
  grid-template-columns: 5.8rem minmax(9.5rem,11.5rem) minmax(0,1fr);
  grid-template-rows: auto auto minmax(0,1fr);
 }

 .cc-gc-archive-page .cc-gca-grid::before { left: 2.9rem; }
 .cc-gc-archive-page .cc-gca-card::before { left: 2.9rem; width: 3.8rem; }
 .cc-gc-archive-page .cc-gca-card::after { left: 6.65rem; }
 .cc-gc-archive-page .cc-gca-year { width: 4.9rem; }

 .cc-gc-archive-page .cc-gca-news-link,
 .cc-gc-archive-page .cc-gca-video-link,
 .cc-gc-archive-page .cc-gca-shop-link {
  grid-column: 2 / 4;
  grid-row: auto;
 }
}

@media (max-width: 767.98px) {
 .cc-gc-archive-page .cc-gca-grid {
  gap: 1.8rem;
  padding-left: 0;
 }

 .cc-gc-archive-page .cc-gca-grid::before {
  top: .8rem;
  bottom: .8rem;
  left: .35rem;
 }

 .cc-gc-archive-page .cc-gca-card {
  min-height: 0;
  grid-template-columns: 1.35rem minmax(0,1fr);
  grid-template-rows: auto;
  gap: .75rem 0;
  padding: 0 0 1rem;
 }

 .cc-gc-archive-page .cc-gca-card::before {
  top: 1rem;
  left: .35rem;
  width: 1.35rem;
 }

 .cc-gc-archive-page .cc-gca-card::after {
  inset: 0 0 0 1.35rem;
  border-radius: .95rem;
 }

 .cc-gc-archive-page .cc-gca-year {
  position: relative;
  grid-column: 2;
  grid-row: 1;
  justify-self: start;
  width: auto;
  margin: .55rem 1rem 0;
  padding: .38rem .7rem;
  border-radius: 99px;
  font-size: .78rem;
  letter-spacing: .04em;
 }

 .cc-gc-archive-page .cc-gca-year::before {
  position: absolute;
  top: 50%;
  left: -1.9rem;
  width: .58rem;
  height: .58rem;
  content: '';
  background: var(--gca-warm-night);
  border: 3px solid #160d22;
  border-radius: 50%;
  box-shadow: 0 0 0 1px rgba(231,201,248,.42);
  transform: translateY(-50%);
 }

 .cc-gc-archive-page .cc-gca-poster {
  grid-column: 2;
  grid-row: 2;
  width: calc(100% - 1.5rem);
  height: auto;
  min-height: 0;
  max-height: none;
  margin-inline: .75rem;
  aspect-ratio: 16/10;
 }

 .cc-gc-archive-page .cc-gca-card h3,
 .cc-gc-archive-page .cc-gca-artists,
 .cc-gc-archive-page .cc-gca-description,
 .cc-gc-archive-page .cc-gca-news-link,
 .cc-gc-archive-page .cc-gca-video-link,
 .cc-gc-archive-page .cc-gca-shop-link {
  grid-column: 2;
  grid-row: auto;
  width: auto;
  margin-inline: 1rem;
 }

 .cc-gc-archive-page .cc-gca-card h3 {
  margin-top: .15rem;
  font-size: 1.18rem;
 }

 .cc-gc-archive-page .cc-gca-artists { line-height: 1.55; }
 .cc-gc-archive-page .cc-gca-description { margin-top: 0; }
 .cc-gc-archive-page .cc-gca-shop-link { margin-top: 0; }
}
