/* Activities listing and detail pages — version 2.3.0. */
.cs57-activities-page,
.cs57-activity-single {
	--activity-space: clamp(72px, 8vw, 122px);
	background: var(--ivory);
}

.cs57-activities-intro { padding: clamp(58px, 7vw, 96px) 0 clamp(44px, 5vw, 72px); }
.cs57-activities-intro .cs57-container { max-width: 1160px; margin-left: max(var(--page-pad), calc((100vw - var(--container)) / 2)); }
.cs57-activities-intro h1 { max-width: 1040px; margin-bottom: 24px; font-size: clamp(2.65rem, 4.6vw, 4.9rem); }
.cs57-activities-intro > .cs57-container > p:last-child { max-width: 810px; margin: 0; color: rgba(30, 32, 36, .68); font-size: clamp(1rem, 1.25vw, 1.16rem); }

.cs57-activities-catalog { padding-bottom: var(--activity-space); }
.cs57-activity-filters {
	display: flex;
	gap: 10px;
	overflow-x: auto;
	margin-bottom: clamp(36px, 5vw, 58px);
	padding: 7px;
	border: 1px solid var(--border);
	border-radius: 999px;
	background: rgba(255, 255, 255, .78);
	box-shadow: 0 12px 35px rgba(30, 32, 36, .06);
	scrollbar-width: thin;
}
.cs57-activity-filters button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 0 18px;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: rgba(30, 32, 36, .67);
	font-size: .82rem;
	font-weight: 780;
	line-height: 1.2;
	white-space: nowrap;
	cursor: pointer;
	transition: background 220ms, color 220ms, transform 220ms var(--ease);
}
.cs57-activity-filters button span { display: grid; place-items: center; min-width: 24px; height: 24px; margin-left: 8px; border-radius: 50%; background: rgba(30, 32, 36, .08); font-size: .7rem; }
.cs57-activity-filters button:hover { color: var(--ink); transform: translateY(-1px); }
.cs57-activity-filters button.is-active { background: var(--ink); color: var(--white); }
.cs57-activity-filters button.is-active span { background: rgba(255, 255, 255, .14); }

.cs57-activity-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 2.4vw, 32px); align-items: stretch; }
.cs57-activity-card {
	display: flex;
	min-width: 0;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid rgba(30, 32, 36, .09);
	border-radius: 26px;
	background: var(--white);
	box-shadow: 0 17px 45px rgba(30, 32, 36, .07);
	transition: transform 280ms var(--ease), box-shadow 280ms var(--ease);
}
.cs57-activity-card:hover { transform: translateY(-7px); box-shadow: 0 26px 60px rgba(30, 32, 36, .12); }
.cs57-activity-card[hidden] { display: none !important; }
.cs57-activity-card__image { display: block; overflow: hidden; aspect-ratio: 16 / 9; background: var(--beige); }
.cs57-activity-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform 650ms var(--ease); }
.cs57-activity-card:hover .cs57-activity-card__image img { transform: scale(1.035); }
.cs57-activity-card__body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: clamp(24px, 2.5vw, 32px); }
.cs57-activity-card h2,
.cs57-activity-card h3 { margin: 19px 0 14px; font-size: clamp(1.38rem, 1.65vw, 1.72rem); line-height: 1.14; }
.cs57-activity-card h2 a,
.cs57-activity-card h3 a { text-decoration: none; }
.cs57-activity-card__body > p { margin: 0 0 24px; color: rgba(30, 32, 36, .66); font-size: .92rem; line-height: 1.65; }
.cs57-activity-card .text-link { margin-top: auto; color: var(--turquoise-dark); font-size: .83rem; font-weight: 800; }

.cs57-status { display: inline-flex; align-items: center; gap: 8px; color: var(--ink); font-size: .67rem; font-weight: 850; letter-spacing: .1em; line-height: 1.3; text-transform: uppercase; }
.cs57-status::before { content: ""; width: 9px; height: 9px; flex: none; border-radius: 50%; background: var(--turquoise-dark); box-shadow: 0 0 0 5px rgba(35, 111, 106, .1); }
.cs57-status--upcoming::before { background: var(--coral-warm); box-shadow: 0 0 0 5px rgba(242, 115, 94, .12); }
.cs57-status--finished::before { background: #85898a; box-shadow: 0 0 0 5px rgba(133, 137, 138, .12); }

.cs57-activity-single__hero { padding: clamp(48px, 6vw, 86px) 0 var(--activity-space); }
.cs57-activity-single__hero-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(42px, 7vw, 110px); align-items: center; }
.cs57-activity-single__heading h1 { max-width: 780px; margin: 24px 0; font-size: clamp(2.45rem, 3.6vw, 3.85rem); overflow-wrap: anywhere; }
.cs57-activity-single__heading > p { max-width: 680px; margin: 0; color: rgba(30, 32, 36, .68); font-size: clamp(1rem, 1.2vw, 1.15rem); }
.cs57-activity-single__media { position: relative; overflow: hidden; margin: 0; aspect-ratio: 16 / 9; border-radius: clamp(26px, 3vw, 44px); background: var(--beige); box-shadow: 0 30px 80px rgba(30, 32, 36, .15); }
.cs57-activity-single__media::after { content: ""; position: absolute; inset: 0; border: 1px solid rgba(255, 255, 255, .3); border-radius: inherit; pointer-events: none; }
.cs57-activity-single__media img { width: 100%; height: 100%; object-fit: cover; }

.cs57-activity-single__content-section { padding: var(--activity-space) 0; background: var(--beige); }
.cs57-activity-single__content-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .55fr); gap: clamp(54px, 8vw, 132px); align-items: start; }
.cs57-activity-single__content h2,
.cs57-activity-practical h2 { margin-bottom: 30px; font-size: clamp(2rem, 3vw, 3.25rem); }
.cs57-activity-single__prose { max-width: 880px; }
.cs57-activity-single__prose p { margin-bottom: 22px; color: rgba(30, 32, 36, .74); font-size: clamp(1rem, 1.08vw, 1.08rem); line-height: 1.82; }
.cs57-activity-single__prose p:last-child { margin-bottom: 0; }
.cs57-activity-practical { position: sticky; top: 125px; padding: clamp(28px, 3vw, 40px); border-radius: 28px; background: var(--white); box-shadow: 0 18px 50px rgba(30, 32, 36, .08); }
.cs57-activity-practical .section-label { margin-bottom: 14px; }
.cs57-activity-practical h2 { margin-bottom: 24px; }
.cs57-activity-practical dl { margin: 0 0 28px; }
.cs57-activity-practical dl > div { padding: 17px 0; border-top: 1px solid var(--border); }
.cs57-activity-practical dt { margin-bottom: 5px; color: rgba(30, 32, 36, .5); font-size: .69rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.cs57-activity-practical dd { margin: 0; color: var(--ink); font-size: .92rem; line-height: 1.5; }

.cs57-activity-gallery { padding: var(--activity-space) 0; }
.cs57-activity-gallery__header { margin-bottom: clamp(38px, 5vw, 64px); }
.cs57-activity-gallery__header h2 { margin: 0; font-size: clamp(2.25rem, 3.4vw, 3.7rem); }
.cs57-activity-gallery__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(12px, 1.7vw, 22px); }
.cs57-activity-gallery__grid figure { grid-column: span 4; overflow: hidden; margin: 0; border-radius: 22px; background: var(--beige); }
.cs57-activity-gallery__grid figure:first-child { grid-column: span 7; }
.cs57-activity-gallery__grid figure:nth-child(2) { grid-column: span 5; }
.cs57-activity-gallery__grid img { width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform 650ms var(--ease); }
.cs57-activity-gallery__grid figure:hover img { transform: scale(1.025); }

.cs57-related-activities { padding: var(--activity-space) 0; background: #e8efed; }
.cs57-related-activities__header { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: clamp(38px, 5vw, 62px); }
.cs57-related-activities__header h2 { margin: 0; font-size: clamp(2.15rem, 3vw, 3.35rem); }
.cs57-activity-grid--related .cs57-activity-card { background: rgba(255, 255, 255, .9); }

@media (max-width: 1050px) {
	.cs57-activity-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cs57-activity-single__hero-grid,
	.cs57-activity-single__content-grid { grid-template-columns: 1fr; }
	.cs57-activity-single__heading { max-width: 850px; }
	.cs57-activity-single__media { max-width: 950px; }
	.cs57-activity-practical { position: static; max-width: 620px; }
	.cs57-activity-grid--related .cs57-activity-card:last-child { display: none; }
}

@media (max-width: 700px) {
	.cs57-activities-page,
	.cs57-activity-single { --activity-space: 76px; }
	.cs57-activities-intro { padding-top: 46px; }
	.cs57-activities-intro h1,
	.cs57-activity-single__heading h1 { font-size: clamp(2.3rem, 10vw, 3.25rem); }
	.cs57-activity-filters { width: calc(100vw - var(--page-pad)); margin-right: calc(var(--page-pad) * -1); border-radius: 20px 0 0 20px; }
	.cs57-activity-grid { grid-template-columns: 1fr; }
	.cs57-activity-card { border-radius: 22px; }
	.cs57-activity-card__body { padding: 24px; }
	.cs57-activity-single__hero-grid { gap: 38px; }
	.cs57-activity-single__media { border-radius: 26px; }
	.cs57-activity-single__content-grid { gap: 50px; }
	.cs57-activity-gallery__grid { grid-template-columns: 1fr; }
	.cs57-activity-gallery__grid figure,
	.cs57-activity-gallery__grid figure:first-child,
	.cs57-activity-gallery__grid figure:nth-child(2) { grid-column: 1; }
	.cs57-related-activities__header { align-items: flex-start; flex-direction: column; }
	.cs57-related-activities__header .button { width: 100%; }
	.cs57-activity-grid--related .cs57-activity-card:last-child { display: flex; }
}

@media (prefers-reduced-motion: reduce) {
	.cs57-activity-card,
	.cs57-activity-card__image img,
	.cs57-activity-gallery__grid img { transition: none; }
}

@media print {
	.cs57-activity-filters,
	.cs57-related-activities,
	.cs57-activity-practical .button { display: none !important; }
	.cs57-activity-single__content-section { background: #fff; }
	.cs57-activity-practical { position: static; box-shadow: none; border: 1px solid #ccc; }
}

/* Editorial activity stories — each profile changes rhythm and composition. */
.activity-editorial{--activity-accent:var(--turquoise-dark);--activity-soft:#e7efed;background:var(--ivory)}
.activity-editorial--craft,.activity-editorial--cinema,.activity-editorial--stopmotion{--activity-accent:#b85f4d;--activity-soft:#f5e8e1}.activity-editorial--youth,.activity-editorial--play{--activity-accent:#537c49;--activity-soft:#edf1dd}.activity-editorial--digital,.activity-editorial--ai,.activity-editorial--ai-senior{--activity-accent:#276d73;--activity-soft:#dfecee}.activity-editorial--journey,.activity-editorial--exhibition{--activity-accent:#7b5943;--activity-soft:#efe5d8}.activity-editorial--solidarity{--activity-accent:#8c5f35;--activity-soft:#f2e7d1}
.activity-editorial__hero{padding:clamp(52px,7vw,100px) 0 clamp(80px,10vw,150px);background:linear-gradient(145deg,var(--ivory),var(--activity-soft))}.activity-editorial__hero-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(42px,7vw,105px);align-items:center}.activity-editorial__heading .section-label{margin-top:34px;color:var(--activity-accent)}.activity-editorial__heading h1{margin:18px 0 26px;font-size:clamp(2.65rem,5vw,5.6rem);line-height:.96}.activity-editorial__heading>p:last-child{max-width:670px;color:rgba(30,32,36,.68);font-size:1.08rem}.activity-editorial__hero-media{position:relative;overflow:hidden;margin:0;aspect-ratio:16/10;border-radius:clamp(28px,4vw,56px);box-shadow:0 35px 90px rgba(25,47,45,.2);transform:rotate(1.4deg)}.activity-editorial__hero-media img{width:100%;height:100%;object-fit:cover}
.activity-editorial__opening{padding:clamp(80px,10vw,150px) 0}.activity-editorial__opening-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(45px,8vw,140px)}.activity-editorial__opening h2{max-width:700px;font-size:clamp(2.3rem,4vw,4.4rem)}.activity-editorial__lead p{color:rgba(30,32,36,.74);font-size:1.08rem;line-height:1.85}.activity-editorial__lead p+p{margin-top:22px}
.activity-editorial__process{padding:clamp(72px,9vw,125px) 0;background:var(--activity-soft)}.activity-editorial__section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:52px}.activity-editorial__section-heading h2{max-width:720px;font-size:clamp(2.1rem,3.5vw,3.8rem)}.activity-timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:0;padding:0;list-style:none}.activity-timeline li{position:relative;min-height:150px;padding:24px 24px 24px 0;border-top:2px solid var(--activity-accent)}.activity-timeline li::before{content:"";position:absolute;top:-8px;left:0;width:14px;height:14px;border-radius:50%;background:var(--activity-accent)}.activity-timeline span{display:block;margin-bottom:22px;color:var(--activity-accent);font-size:.72rem;font-weight:900}.activity-timeline strong{display:block;max-width:180px;font:700 1.22rem/1.25 var(--font-serif)}
.activity-editorial__story{padding:clamp(84px,11vw,160px) 0}.activity-story-row{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(42px,8vw,130px);align-items:center;margin-bottom:clamp(85px,11vw,160px)}.activity-story-row--reverse{grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr)}.activity-story-row--reverse figure{order:-1}.activity-story-row__copy{max-width:620px}.activity-story-row__copy span{display:block;margin-bottom:22px;color:var(--activity-accent);font-weight:900}.activity-story-row__copy p{font:500 clamp(1.25rem,2vw,1.8rem)/1.65 var(--font-serif);color:rgba(30,32,36,.8)}.activity-story-row figure{overflow:hidden;margin:0;aspect-ratio:4/3;border-radius:34px;background:var(--activity-soft);box-shadow:0 25px 65px rgba(25,47,45,.12)}.activity-story-row img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}.activity-story-row:hover img{transform:scale(1.025)}
.activity-editorial__pillars{padding:clamp(75px,9vw,130px) 0;background:#163b39;color:#fff}.activity-editorial__pillars .section-label{color:var(--coral)}.activity-editorial__pillars h2{color:#fff}.activity-pillar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.activity-pillar-grid article{min-height:260px;padding:34px;border:1px solid rgba(255,255,255,.15);border-radius:28px;background:rgba(255,255,255,.06)}.activity-pillar-grid article>span{color:var(--coral);font-size:1.5rem}.activity-pillar-grid h3{margin:55px 0 14px;color:#fff;font-size:1.65rem}.activity-pillar-grid p{color:rgba(255,255,255,.7)}
.activity-visual-sequence{overflow:hidden;padding:clamp(80px,10vw,145px) 0}.activity-visual-sequence__track{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}.activity-visual-sequence figure{grid-column:span 4;overflow:hidden;margin:0;border-radius:24px}.activity-visual-sequence figure:nth-child(1){grid-column:span 7}.activity-visual-sequence figure:nth-child(2){grid-column:span 5}.activity-visual-sequence img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}.activity-visual-sequence--filmstrip .activity-visual-sequence__track,.activity-visual-sequence--cinematic .activity-visual-sequence__track,.activity-visual-sequence--travel .activity-visual-sequence__track{display:flex;width:max-content}.activity-visual-sequence--filmstrip figure,.activity-visual-sequence--cinematic figure,.activity-visual-sequence--travel figure{width:min(72vw,780px);flex:none}.activity-visual-sequence--shelves figure{grid-column:span 6}.activity-visual-sequence--exhibition figure{padding:18px;background:#fff;box-shadow:0 18px 50px rgba(20,35,34,.1)}
.activity-editorial__cta{padding:clamp(80px,10vw,140px) 0;background:var(--activity-soft)}.activity-editorial__cta-panel{display:grid;grid-template-columns:1.2fr .8fr auto;gap:40px;align-items:center;padding:clamp(34px,5vw,66px);border-radius:36px;background:var(--activity-accent);color:#fff}.activity-editorial__cta h2{color:#fff;font-size:clamp(2.2rem,3.6vw,3.8rem)}.activity-editorial__cta p,.activity-editorial__cta dd{color:rgba(255,255,255,.78)}.activity-editorial__cta dl{margin:0}.activity-editorial__cta dl>div+div{margin-top:16px}.activity-editorial__cta dt{color:var(--coral);font-size:.7rem;font-weight:900;text-transform:uppercase}.activity-editorial__cta dd{margin:4px 0 0}
@media(max-width:980px){.activity-editorial__hero-grid,.activity-editorial__opening-grid,.activity-story-row,.activity-story-row--reverse{grid-template-columns:1fr}.activity-story-row--reverse figure{order:0}.activity-editorial__cta-panel{grid-template-columns:1fr 1fr}.activity-editorial__cta-panel .button{grid-column:1/-1}.activity-pillar-grid{grid-template-columns:1fr 1fr}.activity-pillar-grid article:last-child{grid-column:1/-1}}
@media(max-width:650px){.activity-editorial__section-heading{display:block}.activity-timeline{grid-template-columns:1fr 1fr}.activity-pillar-grid,.activity-editorial__cta-panel{grid-template-columns:1fr}.activity-pillar-grid article:last-child,.activity-editorial__cta-panel .button{grid-column:auto}.activity-visual-sequence__track{display:flex;width:max-content}.activity-visual-sequence figure,.activity-visual-sequence figure:nth-child(1),.activity-visual-sequence figure:nth-child(2){width:82vw;flex:none}.activity-story-row{margin-bottom:85px}.activity-story-row figure{border-radius:24px}}
@media(prefers-reduced-motion:reduce){.activity-story-row img{transition:none}.activity-story-row:hover img{transform:none}}

/* Corrected activity detail distribution: full text first, then one gallery slider. */
.activity-editorial__reading {
	padding: clamp(82px, 10vw, 150px) 0;
	background: var(--ivory);
}

.activity-editorial__reading-grid {
	display: grid;
	grid-template-columns: minmax(240px, .42fr) minmax(0, .9fr);
	gap: clamp(42px, 7vw, 112px);
	align-items: start;
}

.activity-editorial__reading-aside {
	position: sticky;
	top: 112px;
	max-width: 360px;
}

.activity-editorial__reading-aside h2 {
	margin: 16px 0 30px;
	color: var(--ink);
	font-size: clamp(1.75rem, 2.4vw, 2.85rem);
	line-height: 1.08;
}

.activity-mini-path {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.activity-mini-path li {
	display: grid;
	grid-template-columns: 42px 1fr;
	gap: 14px;
	align-items: center;
	padding: 14px 0;
	border-top: 1px solid color-mix(in srgb, var(--activity-accent) 18%, transparent);
	color: rgba(30, 32, 36, .72);
	font-weight: 750;
	line-height: 1.35;
}

.activity-mini-path span {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 999px;
	background: var(--activity-accent);
	color: #fff;
	font-size: .72rem;
	font-weight: 900;
}

.activity-editorial__prose {
	max-width: 860px;
}

.activity-editorial__prose p {
	margin: 0;
	color: rgba(30, 32, 36, .78);
	font-size: clamp(1.05rem, 1.25vw, 1.18rem);
	line-height: 1.9;
}

.activity-editorial__prose p + p {
	margin-top: 1.25em;
}

.activity-gallery-slider {
	--gallery-per-view: 4;
	--gallery-gap: clamp(14px, 1.8vw, 24px);
	padding: clamp(78px, 10vw, 142px) 0;
	background: linear-gradient(180deg, var(--activity-soft), rgba(255, 255, 255, .68));
}

.activity-gallery-slider__header {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 28px;
	margin-bottom: clamp(30px, 4vw, 54px);
}

.activity-gallery-slider__header h2 {
	margin: 0 0 12px;
	font-size: clamp(2.05rem, 3.25vw, 3.6rem);
}

.activity-gallery-slider__header p:not(.section-label) {
	max-width: 640px;
	margin: 0;
	color: rgba(30, 32, 36, .68);
}

.activity-gallery-slider__controls {
	display: flex;
	gap: 10px;
	flex: none;
}

.activity-gallery-slider__controls button,
.activity-gallery-slider__pagination button,
.activity-lightbox button {
	border: 0;
	font: inherit;
	cursor: pointer;
}

.activity-gallery-slider__controls button {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border: 1px solid rgba(30, 32, 36, .16);
	border-radius: 999px;
	background: rgba(255, 255, 255, .78);
	color: var(--ink);
	box-shadow: 0 14px 35px rgba(25, 47, 45, .08);
	transition: transform 220ms var(--ease), background 220ms var(--ease), color 220ms var(--ease);
}

.activity-gallery-slider__controls button:hover,
.activity-gallery-slider__controls button:focus-visible {
	transform: translateY(-2px);
	background: var(--activity-accent);
	color: #fff;
	outline: none;
}

.activity-gallery-slider__viewport {
	overflow: hidden;
	border-radius: clamp(24px, 3vw, 38px);
	outline: none;
	touch-action: pan-y;
}

.activity-gallery-slider__viewport:focus-visible {
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--activity-accent) 28%, transparent);
}

.activity-gallery-slider__track {
	display: flex;
	gap: var(--gallery-gap);
	will-change: transform;
	transition: transform 520ms var(--ease);
}

.cs57-rtl .activity-gallery-slider__track {
	flex-direction: row-reverse;
}

.activity-gallery-slider__track.is-dragging {
	transition-duration: 1ms;
	cursor: grabbing;
}

.activity-gallery-slide {
	flex: 0 0 calc((100% - (var(--gallery-gap) * (var(--gallery-per-view) - 1))) / var(--gallery-per-view));
	min-width: 0;
	margin: 0;
}

.activity-gallery-slide button {
	display: block;
	width: 100%;
	padding: 0;
	overflow: hidden;
	border: 1px solid rgba(30, 32, 36, .1);
	border-radius: clamp(20px, 2.4vw, 30px);
	background: #fff;
	box-shadow: 0 24px 58px rgba(25, 47, 45, .12);
}

.activity-gallery-slide button:focus-visible {
	outline: 4px solid color-mix(in srgb, var(--activity-accent) 34%, transparent);
	outline-offset: 4px;
}

.activity-gallery-slide img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	height: auto;
	object-fit: cover;
	transition: transform 650ms var(--ease), filter 650ms var(--ease);
}

.activity-gallery-slide button:hover img,
.activity-gallery-slide button:focus-visible img {
	transform: scale(1.035);
	filter: saturate(1.05);
}

.activity-gallery-slider__pagination {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 24px;
}

.activity-gallery-slider__pagination button {
	width: 10px;
	height: 10px;
	padding: 0;
	border-radius: 999px;
	background: rgba(30, 32, 36, .24);
	transition: width 220ms var(--ease), background 220ms var(--ease);
}

.activity-gallery-slider__pagination button.is-active {
	width: 30px;
	background: var(--activity-accent);
}

.activity-gallery-slider__pagination button:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--activity-accent) 38%, transparent);
	outline-offset: 4px;
}

body.activity-lightbox-open {
	overflow: hidden;
}

.activity-lightbox[hidden] {
	display: none;
}

.activity-lightbox {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: grid;
	place-items: center;
	padding: clamp(16px, 4vw, 48px);
}

.activity-lightbox__overlay {
	position: absolute;
	inset: 0;
	background: rgba(10, 17, 18, .76);
	backdrop-filter: blur(12px);
}

.activity-lightbox__dialog {
	position: relative;
	z-index: 1;
	display: grid;
	place-items: center;
	width: min(1120px, 100%);
	max-height: calc(100vh - 42px);
}

.activity-lightbox__dialog img {
	display: block;
	max-width: 100%;
	max-height: min(78vh, 760px);
	width: auto;
	height: auto;
	border-radius: clamp(18px, 2.5vw, 34px);
	box-shadow: 0 32px 95px rgba(0, 0, 0, .4);
	object-fit: contain;
}

.activity-lightbox__close,
.activity-lightbox__nav {
	position: absolute;
	z-index: 2;
	display: grid;
	place-items: center;
	border-radius: 999px;
	background: rgba(255, 255, 255, .94);
	color: var(--ink);
	box-shadow: 0 18px 42px rgba(0, 0, 0, .22);
}

.activity-lightbox__close {
	top: -14px;
	right: -14px;
	width: 48px;
	height: 48px;
	font-size: 1.7rem;
	line-height: 1;
}

.cs57-rtl .activity-lightbox__close {
	right: auto;
	left: -14px;
}

.activity-lightbox__nav {
	top: 50%;
	width: 54px;
	height: 54px;
	transform: translateY(-50%);
	font-size: 1.35rem;
}

.activity-lightbox__nav--prev { left: -22px; }
.activity-lightbox__nav--next { right: -22px; }
.cs57-rtl .activity-lightbox__nav--prev { left: auto; right: -22px; }
.cs57-rtl .activity-lightbox__nav--next { right: auto; left: -22px; }

.activity-lightbox button:hover,
.activity-lightbox button:focus-visible {
	background: var(--activity-accent);
	color: #fff;
	outline: none;
}

.activity-lightbox p {
	max-width: 860px;
	margin: 14px 0 0;
	color: rgba(255, 255, 255, .88);
	text-align: center;
}

.activity-lightbox__counter {
	font-size: .8rem;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.activity-editorial__cta-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: flex-end;
}

@media (max-width: 980px) {
	.activity-editorial__reading-grid {
		grid-template-columns: 1fr;
	}

	.activity-editorial__reading-aside {
		position: static;
		max-width: 760px;
	}

	.activity-mini-path {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.activity-gallery-slider {
		--gallery-per-view: 2;
	}
}

@media (max-width: 680px) {
	.activity-mini-path,
	.activity-editorial__cta-actions {
		grid-template-columns: 1fr;
	}

	.activity-gallery-slider {
		--gallery-per-view: 1;
	}

	.activity-gallery-slider__header {
		display: grid;
	}

	.activity-gallery-slider__controls {
		justify-content: flex-start;
	}

	.activity-lightbox__nav {
		top: auto;
		bottom: 16px;
		transform: none;
	}

	.activity-lightbox__nav--prev { left: 18px; }
	.activity-lightbox__nav--next { right: 18px; }
	.cs57-rtl .activity-lightbox__nav--prev { left: auto; right: 18px; }
	.cs57-rtl .activity-lightbox__nav--next { right: auto; left: 18px; }

	.activity-lightbox__close {
		top: 10px;
		right: 10px;
	}

	.cs57-rtl .activity-lightbox__close {
		right: auto;
		left: 10px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.activity-gallery-slider__track,
	.activity-gallery-slide img,
	.activity-gallery-slider__controls button,
	.activity-gallery-slider__pagination button {
		transition: none;
	}

	.activity-gallery-slide button:hover img,
	.activity-gallery-slide button:focus-visible img {
		transform: none;
	}
}
