/* =========================================================================
   Black Panthers Cup: stili delle singole pagine
   ========================================================================= */

/* --- Home: apertura ------------------------------------------------------ */

.bpc-hero {
	height: 100svh;
	min-height: 720px;
}

.bpc-hero__rays {
	position: absolute;
	inset: -30%;
	background: repeating-conic-gradient(from 0deg at 50% 62%, rgba(255, 214, 170, 0.045) 0 3deg, transparent 3deg 11deg);
	pointer-events: none;
	animation: bpc-spin 160s linear infinite;
}

@keyframes bpc-spin {
	to {
		transform: rotate(360deg);
	}
}

.bpc-hero__year {
	top: 16%;
	color: transparent;
	font-family: var(--bpc-font-display);
	font-size: 36vw;
	line-height: 0.8;
	text-align: center;
	-webkit-text-stroke: 2px rgba(255, 255, 255, 0.16);
}

.bpc-hero__panther {
	top: 8%;
	right: -6%;
	width: 46vw;
	opacity: 0.1;
}

.bpc-hero__far {
	bottom: 23%;
	height: 30%;
}

.bpc-hero__near {
	bottom: 16%;
	height: 24%;
}

.bpc-hero__glow {
	position: absolute;
	right: 0;
	bottom: 8%;
	left: 0;
	height: 62%;
	background: var(--bpc-grad-glow);
	pointer-events: none;
}

.bpc-hero__lake {
	bottom: -4%;
	height: 26%;
	background: linear-gradient(180deg, transparent 0 22%, #a92c0e 50%, #5e1406 100%);
}

.bpc-hero__lake img {
	position: absolute;
	left: 0;
	width: 100%;
}

.bpc-hero__wave-one {
	top: 0;
	height: 45%;
}

.bpc-hero__wave-two {
	top: 18%;
	height: 45%;
}

.bpc-hero__lake .bpc-hero__wave-line {
	top: 30%;
	height: 18%;
	opacity: 0.8;
}

.bpc-hero__copy {
	top: calc(var(--bpc-header-height) + 3.5vh);
	z-index: 3;
	padding: 0 var(--bpc-gutter);
	text-align: center;
}

.bpc-hero__kicker {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 4px 14px;
	color: var(--bpc-white);
}

.bpc-hero__kicker .bpc-script {
	color: var(--bpc-ink);
	font-size: 30px;
	line-height: 1;
}

.bpc-hero__title {
	margin-top: 10px;
	font-size: clamp(54px, 8.8vw, 176px);
	text-shadow: 0 10px 40px rgba(90, 20, 0, 0.35);
}

.bpc-js .bpc-hero__title .bpc-mask[data-bpc-reveal] > span {
	transition-duration: 1.2s;
}

.bpc-hero__subtitle {
	margin-top: 10px;
	font-size: clamp(14px, 1.3vw, 19px);
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.bpc-hero__dates {
	margin-top: 12px;
	color: var(--bpc-ink);
	font-family: var(--bpc-font-display);
	font-size: clamp(24px, 2.6vw, 42px);
	line-height: 1;
	text-transform: uppercase;
}

.bpc-hero__athletes {
	bottom: 0;
	z-index: 4;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	height: min(56vh, 600px);
}

.bpc-hero__athletes .bpc-hero__athlete {
	flex: none;
	width: auto;
	max-width: none;
	height: 100%;
	filter: drop-shadow(0 22px 30px rgba(60, 10, 0, 0.45));
	animation: bpc-rise 1.4s var(--bpc-ease-out) both;
}

.bpc-hero__athletes .bpc-hero__athlete--girls {
	height: 96%;
	margin-right: -4%;
}

.bpc-hero__athlete--boy {
	animation-delay: 0.12s;
}

.bpc-hero__bottom {
	position: absolute;
	right: 0;
	bottom: 30px;
	left: 0;
	z-index: 6;
}

.bpc-hero__bottom-inner {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
}

.bpc-hero__timer-label {
	margin-bottom: 8px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
	text-transform: uppercase;
}

.bpc-hero__actions {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 14px;
}

.bpc-hero__scroll-hint {
	position: absolute;
	bottom: 8px;
	left: 50%;
	z-index: 7;
	width: 2px;
	height: 44px;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.25);
	transform: translateX(-50%);
}

.bpc-hero__scroll-hint::after {
	content: "";
	position: absolute;
	top: -50%;
	left: 0;
	width: 100%;
	height: 50%;
	background: var(--bpc-white);
	animation: bpc-drip 1.8s var(--bpc-ease-in) infinite;
}

@keyframes bpc-drip {
	to {
		top: 110%;
	}
}

@media (max-width: 980px) {
	.bpc-hero__timer {
		display: none;
	}

	.bpc-hero__bottom-inner {
		justify-content: center;
	}

	.bpc-hero__actions {
		align-items: center;
	}

	.bpc-hero__athletes {
		height: min(50vh, 520px);
	}
}

@media (max-width: 560px) {
	.bpc-hero {
		min-height: 680px;
	}

	.bpc-hero__kicker .bpc-script {
		font-size: 24px;
	}

	.bpc-hero__title {
		font-size: min(12.4vw, 54px);
	}

	.bpc-hero__athletes {
		height: min(42svh, 400px);
		margin-bottom: 96px;
	}

	.bpc-hero__actions .bpc-chip {
		font-size: 12px;
		letter-spacing: 0.08em;
	}
}

/* --- Home: presentazione e numeri --------------------------------------- */

.bpc-home-intro {
	padding-top: clamp(110px, 13vw, 180px);
}

.bpc-home-intro__timer {
	display: none;
}

.bpc-home-intro__body {
	display: grid;
	grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
	gap: clamp(30px, 5vw, 80px);
	align-items: start;
	margin-top: clamp(30px, 4vw, 56px);
}

.bpc-light {
	font-family: var(--bpc-font-display);
	font-size: clamp(28px, 3.3vw, 54px);
	line-height: 1;
	text-transform: uppercase;
}

.bpc-light p + p {
	margin-top: 0.6em;
}

.bpc-light strong {
	color: var(--bpc-orange);
	font-weight: 400;
}

.bpc-light__word {
	font-style: normal;
	opacity: 0.14;
	transition: opacity 0.35s;
}

.bpc-light__word.is-on {
	opacity: 1;
}

.bpc-home-intro__media {
	position: sticky;
	top: calc(var(--bpc-header-height) + 40px);
	aspect-ratio: 4 / 5;
	overflow: hidden;
	border-radius: var(--bpc-radius-l);
}

.bpc-home-intro__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	will-change: transform;
}

.bpc-home-intro__action {
	margin-top: clamp(30px, 4vw, 50px);
}

.bpc-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: clamp(60px, 8vw, 110px);
	border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.bpc-stat {
	padding: 30px 24px 0 0;
	border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.bpc-stat + .bpc-stat {
	padding-left: 24px;
}

.bpc-stat:last-child {
	border-right: 0;
}

.bpc-stat__number {
	font-family: var(--bpc-font-display);
	font-size: clamp(60px, 7.6vw, 128px);
	line-height: 0.9;
}

.bpc-stat__number i {
	color: var(--bpc-orange);
	font-size: 0.5em;
	font-style: normal;
	vertical-align: top;
}

.bpc-stat__label {
	margin-top: 10px;
	color: var(--bpc-amber);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

@media (max-width: 980px) {
	.bpc-home-intro {
		padding-top: clamp(70px, 10vw, 110px);
	}

	.bpc-home-intro__timer {
		display: block;
		margin-bottom: clamp(44px, 8vw, 70px);
	}

	.bpc-home-intro__timer .bpc-eyebrow {
		margin-bottom: 10px;
	}

	.bpc-home-intro__timer .bpc-countdown {
		display: flex;
		justify-content: space-between;
		max-width: 420px;
		background: rgba(255, 255, 255, 0.06);
		box-shadow: none;
	}

	.bpc-home-intro__body {
		grid-template-columns: 1fr;
	}

	.bpc-home-intro__media {
		position: relative;
		top: 0;
		aspect-ratio: 4 / 3;
	}

	.bpc-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bpc-stat:nth-child(2) {
		border-right: 0;
	}

	.bpc-stat:nth-child(3) {
		padding-left: 0;
	}

	.bpc-stat:nth-child(n + 3) {
		margin-top: 26px;
	}
}

/* --- Home: programma a scorrimento orizzontale -------------------------- */

.bpc-hscroll {
	position: relative;
	height: calc(100vh + (var(--bpc-hscroll-panels, 5) * 46vh));
	background: var(--bpc-ink-2);
}

.bpc-hscroll__sticky {
	position: sticky;
	top: 0;
	display: flex;
	align-items: center;
	height: 100vh;
	overflow: hidden;
}

.bpc-hscroll__track {
	display: flex;
	align-items: center;
	gap: 26px;
	padding: 0 var(--bpc-gutter);
	will-change: transform;
}

.bpc-hscroll__intro {
	flex: 0 0 min(560px, 80vw);
	padding-right: 30px;
}

.bpc-hscroll__title {
	font-size: clamp(44px, 5.2vw, 88px);
}

.bpc-hscroll__title span {
	display: block;
}

.bpc-day-panel {
	position: relative;
	flex: 0 0 min(560px, 82vw);
	height: min(72vh, 640px);
	overflow: hidden;
	border-radius: var(--bpc-radius-l);
	background: var(--bpc-ink);
	box-shadow: var(--bpc-shadow-card);
}

.bpc-day-panel__photo {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.08);
	transition: transform 1.2s var(--bpc-ease-out);
}

.bpc-day-panel:hover .bpc-day-panel__photo {
	transform: scale(1.14);
}

.bpc-day-panel::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(19, 19, 18, 0.35) 0%, rgba(19, 19, 18, 0.05) 32%, rgba(19, 19, 18, 0.92) 100%);
}

.bpc-day-panel__content {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 28px;
}

.bpc-day-panel__number {
	font-family: var(--bpc-font-display);
	font-size: 120px;
	line-height: 0.8;
}

.bpc-day-panel__number small {
	display: block;
	margin-top: 12px;
	color: var(--bpc-amber);
	font-family: var(--bpc-font-body);
	font-size: 17px;
	font-weight: 700;
	letter-spacing: 0.16em;
	line-height: 1.2;
	text-transform: uppercase;
}

.bpc-day-panel__list li {
	display: flex;
	align-items: baseline;
	gap: 16px;
	padding: 12px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	font-size: 21px;
}

.bpc-day-panel__list b {
	flex: none;
	min-width: 108px;
	color: var(--bpc-orange);
	font-family: var(--bpc-font-display);
	font-size: 24px;
	font-weight: 400;
	text-transform: uppercase;
}

.bpc-day-panel--cta {
	background: var(--bpc-grad-scene);
}

.bpc-day-panel--cta::after {
	display: none;
}

.bpc-day-panel--cta .bpc-day-panel__content {
	align-items: flex-start;
	justify-content: center;
	gap: 24px;
}

.bpc-day-panel--cta .bpc-eyebrow {
	color: var(--bpc-ink);
}

.bpc-day-panel--cta .bpc-title {
	font-size: clamp(50px, 5.4vw, 88px);
}

.bpc-hscroll__hint {
	position: absolute;
	bottom: 54px;
	left: var(--bpc-gutter);
}

.bpc-hscroll__bar {
	position: absolute;
	right: var(--bpc-gutter);
	bottom: 40px;
	left: var(--bpc-gutter);
	height: 2px;
	background: rgba(255, 255, 255, 0.12);
}

.bpc-hscroll__bar::after {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--bpc-orange);
	transform: scaleX(var(--bpc-progress, 0));
	transform-origin: 0 50%;
}

.bpc-hscroll.is-static {
	height: auto;
	padding-block: clamp(70px, 9vw, 120px);
}

.bpc-hscroll.is-static .bpc-hscroll__sticky {
	position: relative;
	height: auto;
	overflow-x: auto;
	scroll-snap-type: x proximity;
}

.bpc-hscroll.is-static .bpc-day-panel {
	scroll-snap-align: center;
}

.bpc-hscroll.is-static .bpc-hscroll__hint,
.bpc-hscroll.is-static .bpc-hscroll__bar {
	display: none;
}

@media (max-width: 560px) {
	.bpc-day-panel__number {
		font-size: 92px;
	}

	.bpc-day-panel__list li {
		font-size: 19px;
	}

	.bpc-day-panel__list b {
		min-width: 92px;
		font-size: 21px;
	}
}

/* --- Home: categorie ------------------------------------------------------ */

.bpc-cat-list {
	position: relative;
	border-bottom: 1.5px solid var(--bpc-ink);
}

.bpc-cat {
	position: relative;
	isolation: isolate;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto 56px;
	align-items: center;
	gap: 24px;
	padding: 16px 8px;
	border-top: 1.5px solid var(--bpc-ink);
	color: var(--bpc-ink);
}

.bpc-cat::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--bpc-orange);
	transform: scaleY(0);
	transform-origin: 50% 100%;
	transition: transform 0.45s var(--bpc-ease-out);
}

.bpc-cat:hover,
.bpc-cat:focus-visible {
	color: var(--bpc-white);
}

.bpc-cat:hover::before,
.bpc-cat:focus-visible::before {
	transform: scaleY(1);
}

.bpc-cat__name {
	font-family: var(--bpc-font-display);
	font-size: clamp(42px, 5.4vw, 84px);
	line-height: 0.9;
	transition: transform 0.45s var(--bpc-ease-out);
}

.bpc-cat:hover .bpc-cat__name {
	transform: translateX(20px);
}

.bpc-cat__tags {
	display: flex;
	gap: 8px;
}

.bpc-cat__tags span {
	display: inline-flex;
	align-items: center;
	height: 34px;
	padding: 0 14px;
	border: 1.5px solid currentColor;
	border-radius: var(--bpc-radius-pill);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.bpc-cat__go {
	display: grid;
	place-items: center;
	width: 56px;
	height: 56px;
	border: 1.5px solid currentColor;
	border-radius: 50%;
	font-size: 20px;
	transition: transform 0.45s var(--bpc-ease-out), background 0.3s, border-color 0.3s;
}

.bpc-cat:hover .bpc-cat__go {
	border-color: var(--bpc-ink);
	background: var(--bpc-ink);
	transform: rotate(-45deg);
}

.bpc-follow {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 5;
	width: 280px;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	border-radius: var(--bpc-radius-l);
	box-shadow: var(--bpc-shadow-card);
	opacity: 0;
	scale: 0.6;
	pointer-events: none;
	transition: opacity 0.3s, scale 0.45s var(--bpc-ease-out);
}

.bpc-follow.is-on {
	opacity: 1;
	scale: 1;
}

.bpc-follow img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (max-width: 980px) {
	.bpc-cat {
		grid-template-columns: minmax(0, 1fr) auto 48px;
		gap: 14px;
	}

	.bpc-cat__go {
		width: 48px;
		height: 48px;
	}

	.bpc-follow {
		display: none;
	}
}

@media (max-width: 560px) {
	.bpc-cat__tags {
		flex-direction: column;
		gap: 4px;
	}

	.bpc-cat__tags span {
		height: 26px;
		padding: 0 10px;
		font-size: 11px;
	}
}

/* --- Home: experience, Memorial, loghi ------------------------------------ */

.bpc-clip {
	position: relative;
	overflow: hidden;
	border-radius: var(--bpc-radius-l);
	background: var(--bpc-ink);
}

.bpc-clip__media {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.bpc-memorial {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	gap: 60px;
	align-items: end;
}

.bpc-memorial__script {
	display: block;
	margin-bottom: -0.12em;
	margin-left: 0.1em;
	color: var(--bpc-ink);
	font-size: clamp(56px, 7vw, 110px);
	line-height: 1;
	transform: rotate(-6deg);
	transform-origin: 0 100%;
}

.bpc-js .bpc-memorial__script[data-bpc-reveal].is-in {
	transform: rotate(-6deg);
}

.bpc-memorial__name {
	font-size: clamp(76px, 11vw, 190px);
	line-height: 0.84;
	transform: translateX(calc((var(--bpc-scrub, 0.5) - 0.5) * -12%));
}

.bpc-memorial__text p {
	font-size: 21px;
	line-height: 1.5;
}

.bpc-memorial__text p + p {
	margin-top: 22px;
}

.bpc-home-memorial__panther {
	bottom: -20%;
	left: -8%;
	width: 56vw;
	opacity: 0.1;
}

.bpc-home-teams + .bpc-home-partners {
	padding-top: 0;
}

.bpc-home-teams .bpc-section-head,
.bpc-home-partners .bpc-section-head {
	margin-bottom: clamp(24px, 3vw, 40px);
}

@media (max-width: 980px) {
	.bpc-memorial {
		grid-template-columns: 1fr;
		gap: 30px;
	}
}

/* --- Programma ------------------------------------------------------------ */

.bpc-program {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: clamp(30px, 6vw, 90px);
}

.bpc-program__aside {
	position: sticky;
	top: calc(var(--bpc-header-height) + 60px);
	align-self: start;
}

.bpc-program__title {
	font-size: clamp(40px, 4.6vw, 76px);
}

.bpc-program__title span {
	display: block;
}

.bpc-bigday {
	position: relative;
	height: clamp(170px, 19vw, 280px);
	margin-top: 30px;
	overflow: hidden;
}

.bpc-bigday span {
	position: absolute;
	top: 0;
	left: 0;
	color: var(--bpc-orange);
	font-family: var(--bpc-font-display);
	font-size: clamp(170px, 19vw, 280px);
	line-height: 1;
	transform: translateY(100%);
	transition: transform 0.7s var(--bpc-ease-out);
}

.bpc-bigday span.is-on {
	transform: none;
}

.bpc-bigday span.is-up {
	transform: translateY(-100%);
}

.bpc-bigday__label {
	min-height: 20px;
	margin-top: 6px;
	color: var(--bpc-amber);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.bpc-schedule {
	position: relative;
	padding-left: 44px;
}

.bpc-schedule::before,
.bpc-schedule::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 10px;
	width: 2px;
	background: rgba(255, 255, 255, 0.12);
}

.bpc-schedule::after {
	background: var(--bpc-orange);
	transform: scaleY(var(--bpc-scrub, 0));
	transform-origin: 50% 0;
}

.bpc-schedule__day {
	position: relative;
	padding: 0 0 clamp(60px, 8vw, 110px);
}

.bpc-schedule__day:last-child {
	padding-bottom: 0;
}

.bpc-schedule__day::before {
	content: "";
	position: absolute;
	top: 10px;
	left: -41px;
	z-index: 1;
	width: 16px;
	height: 16px;
	border: 2px solid var(--bpc-orange);
	border-radius: 50%;
	background: var(--bpc-ink-2);
	transition: background 0.3s, transform 0.4s var(--bpc-ease-spring);
}

.bpc-schedule__day.is-active::before {
	background: var(--bpc-orange);
	transform: scale(1.25);
}

.bpc-schedule__date {
	margin-bottom: 8px;
	font-size: 15px;
	letter-spacing: 0.18em;
}

.bpc-schedule__title {
	font-size: clamp(40px, 4vw, 62px);
	line-height: 0.95;
}

.bpc-schedule__photo {
	margin-top: 24px;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: var(--bpc-radius-l);
}

.bpc-schedule__photo img {
	width: 100%;
	height: 118%;
	object-fit: cover;
}

.bpc-schedule__list {
	margin-top: 6px;
}

.bpc-schedule__item {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr);
	gap: 20px;
	align-items: baseline;
	padding: 20px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.bpc-schedule__time {
	color: var(--bpc-orange);
	font-family: var(--bpc-font-display);
	font-size: 32px;
	line-height: 1;
	text-transform: uppercase;
}

.bpc-schedule__text {
	font-size: 22px;
}

.bpc-program-countdown .bpc-end-cta__row {
	align-items: center;
}

@media (max-width: 860px) {
	.bpc-program {
		grid-template-columns: 1fr;
	}

	.bpc-program__aside {
		position: relative;
		top: 0;
	}

	.bpc-bigday,
	.bpc-bigday__label {
		display: none;
	}

	.bpc-schedule__item {
		grid-template-columns: 110px minmax(0, 1fr);
		gap: 14px;
	}

	.bpc-schedule__time {
		font-size: 26px;
	}

	.bpc-schedule__text {
		font-size: 20px;
	}
}

/* --- Pacchetti ------------------------------------------------------------ */

.bpc-packages {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	perspective: 1200px;
}

.bpc-package {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 26px 24px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: var(--bpc-radius-l);
	background: var(--bpc-ink);
	transform-style: preserve-3d;
	transition: transform 0.5s var(--bpc-ease-out), border-color 0.3s;
	will-change: transform;
}

.bpc-js .bpc-package[data-bpc-reveal] {
	transition: opacity 0.9s var(--bpc-ease-out) var(--bpc-delay, 0s), transform 0.9s var(--bpc-ease-out) var(--bpc-delay, 0s), border-color 0.3s;
}

.bpc-package:hover {
	border-color: var(--bpc-orange);
}

.bpc-package.is-featured {
	border-color: transparent;
	background: var(--bpc-grad-scene);
	box-shadow: 0 24px 60px rgba(233, 78, 27, 0.3);
}

.bpc-package__ribbon {
	position: absolute;
	top: 18px;
	right: 18px;
}

.bpc-package__ribbon span {
	display: inline-flex;
	align-items: center;
	height: 28px;
	padding: 0 12px;
	border-radius: var(--bpc-radius-pill);
	background: var(--bpc-white);
	color: var(--bpc-ink);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.bpc-package__name {
	padding-right: 70px;
	font-family: var(--bpc-font-display);
	font-size: 40px;
	font-weight: 400;
	line-height: 1;
	text-transform: uppercase;
}

.bpc-package__subtitle {
	min-height: 72px;
	margin-top: 8px;
	color: rgba(255, 255, 255, 0.75);
	font-size: 17px;
	line-height: 1.4;
}

.bpc-package.is-featured .bpc-package__subtitle {
	color: rgba(255, 255, 255, 0.9);
}

.bpc-package__price {
	margin-top: 22px;
	font-family: var(--bpc-font-display);
	font-size: 76px;
	line-height: 1;
}

.bpc-package__currency {
	margin-right: 4px;
	color: var(--bpc-amber);
	font-size: 0.4em;
	vertical-align: top;
}

.bpc-package.is-featured .bpc-package__currency {
	color: var(--bpc-ink);
}

.bpc-package__period {
	display: block;
	margin-top: 6px;
	color: rgba(255, 255, 255, 0.7);
	font-family: var(--bpc-font-body);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.3;
	text-transform: uppercase;
}

.bpc-package.is-featured .bpc-package__period {
	color: rgba(255, 255, 255, 0.88);
}

.bpc-package__features {
	flex: 1;
	margin-top: 20px;
}

.bpc-package__features li {
	padding: 9px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	font-size: 17px;
}

.bpc-package.is-featured .bpc-package__features li {
	border-color: rgba(255, 255, 255, 0.28);
}

.bpc-package__feature {
	display: flex;
	align-items: baseline;
	gap: 10px;
}

.bpc-package__feature .bpc-icon {
	position: relative;
	top: 0.12em;
	color: var(--bpc-orange);
	font-size: 17px;
}

.bpc-package.is-featured .bpc-package__feature .bpc-icon {
	color: var(--bpc-ink);
}

.bpc-package__foot {
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1.5px dashed rgba(255, 255, 255, 0.3);
}

.bpc-package__foot .bpc-button {
	display: flex;
	justify-content: space-between;
}

.bpc-package__footnote {
	margin-top: 12px;
	color: rgba(255, 255, 255, 0.7);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-align: center;
	text-transform: uppercase;
}

.bpc-packages-more {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px 40px;
	margin-top: clamp(50px, 7vw, 90px);
	padding-top: clamp(30px, 4vw, 50px);
	border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.bpc-packages-more__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 22px;
}

.bpc-packages-more__actions > span {
	color: var(--bpc-dim);
}

@media (max-width: 1080px) {
	.bpc-packages {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bpc-package__subtitle {
		min-height: 0;
	}
}

@media (max-width: 560px) {
	.bpc-packages {
		grid-template-columns: 1fr;
	}
}

/* --- Iscrizioni ----------------------------------------------------------- */

.bpc-registration__layout {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
	gap: clamp(28px, 4vw, 60px);
	align-items: start;
}

.bpc-registration__intro {
	margin-bottom: clamp(40px, 5vw, 64px);
	padding: clamp(22px, 3vw, 36px);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--bpc-radius-l);
	background: rgba(255, 255, 255, 0.04);
	color: rgba(255, 255, 255, 0.82);
	font-size: 18px;
}

.bpc-registration__intro strong {
	color: var(--bpc-white);
}

.bpc-steps-form {
	display: flex;
	flex-direction: column;
	scroll-margin-top: calc(var(--bpc-header-height) + 20px);
}

.bpc-steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
	margin-bottom: 44px;
}

.bpc-steps__item {
	position: relative;
	padding-top: 16px;
	color: rgba(255, 255, 255, 0.5);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1.25;
	text-transform: uppercase;
	transition: color 0.3s;
}

.bpc-steps__item::before,
.bpc-steps__item::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 4px;
	border-radius: 4px;
	background: rgba(255, 255, 255, 0.12);
}

.bpc-steps__item::after {
	background: var(--bpc-orange);
	transform: scaleX(0);
	transform-origin: 0 50%;
	transition: transform 0.6s var(--bpc-ease-out);
}

.bpc-steps__item.is-current,
.bpc-steps__item.is-done {
	color: var(--bpc-white);
}

.bpc-steps__item.is-current::after,
.bpc-steps__item.is-done::after {
	transform: scaleX(1);
}

.bpc-steps__box {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 2px 8px;
}

.bpc-steps__number {
	font-family: var(--bpc-font-display);
	font-size: 22px;
	font-weight: 400;
	letter-spacing: 0;
}

.bpc-steps__item.is-done .bpc-steps__number {
	color: var(--bpc-orange);
}

.bpc-step:not([hidden]) {
	animation: bpc-pane-in 0.6s var(--bpc-ease-out) both;
}

.bpc-steps-form.is-back .bpc-step:not([hidden]) {
	animation-name: bpc-pane-back;
}

@keyframes bpc-pane-in {
	from {
		opacity: 0;
		transform: translateX(50px);
	}
}

@keyframes bpc-pane-back {
	from {
		opacity: 0;
		transform: translateX(-50px);
	}
}

.bpc-step__title {
	margin-bottom: 26px;
	font-size: clamp(36px, 4.2vw, 60px);
}

.bpc-step__lead {
	color: rgba(255, 255, 255, 0.7);
}

.bpc-team-counts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px 22px;
}

.bpc-team-count {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 8px 8px 8px 18px;
	border: 1.5px solid rgba(255, 255, 255, 0.14);
	border-radius: var(--bpc-radius-m);
	background: rgba(255, 255, 255, 0.05);
	transition: border-color 0.25s, background 0.25s;
}

.bpc-team-count.is-filled {
	border-color: var(--bpc-orange);
	background: rgba(233, 78, 27, 0.1);
}

.bpc-team-count .bpc-label {
	margin: 0;
	color: var(--bpc-white);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.bpc-team-count .bpc-form__error {
	display: none;
}

.bpc-counter .bpc-field[aria-invalid="true"] {
	color: var(--bpc-danger);
}

.bpc-package-options__label {
	margin-bottom: 12px;
}

.bpc-package-options__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.bpc-package-option {
	position: relative;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 22px 22px 20px;
	overflow: hidden;
	border: 1.5px solid rgba(255, 255, 255, 0.14);
	border-radius: var(--bpc-radius-l);
	background: rgba(255, 255, 255, 0.04);
	text-align: left;
	transition: border-color 0.3s, transform 0.3s var(--bpc-ease-out);
}

.bpc-package-option::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--bpc-grad-scene);
	opacity: 0;
	transition: opacity 0.35s;
}

.bpc-package-option:hover {
	border-color: rgba(255, 255, 255, 0.4);
	transform: translateY(-2px);
}

.bpc-package-option[aria-pressed="true"] {
	border-color: transparent;
}

.bpc-package-option[aria-pressed="true"]::before {
	opacity: 1;
}

.bpc-package-option__name {
	padding-right: 40px;
	font-family: var(--bpc-font-display);
	font-size: 34px;
	line-height: 1;
	text-transform: uppercase;
}

.bpc-package-option__text {
	margin-top: 6px;
	color: rgba(255, 255, 255, 0.78);
	font-size: 16px;
	line-height: 1.35;
}

.bpc-package-option__price {
	margin-top: auto;
	padding-top: 14px;
	font-family: var(--bpc-font-display);
	font-size: 40px;
	line-height: 1;
}

.bpc-package-option__price em {
	display: block;
	margin-top: 4px;
	color: rgba(255, 255, 255, 0.78);
	font-family: var(--bpc-font-body);
	font-size: 13px;
	font-style: normal;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.3;
	text-transform: uppercase;
}

.bpc-package-option__check {
	position: absolute;
	top: 18px;
	right: 18px;
	width: 28px;
	height: 28px;
	border: 1.5px solid rgba(255, 255, 255, 0.4);
	border-radius: 50%;
	transition: background 0.3s, border-color 0.3s;
}

.bpc-package-option[aria-pressed="true"] .bpc-package-option__check {
	border-color: var(--bpc-white);
	background: var(--bpc-white);
	animation: bpc-pop 0.4s var(--bpc-ease-spring);
}

.bpc-package-option[aria-pressed="true"] .bpc-package-option__check::after {
	content: "";
	position: absolute;
	top: 5px;
	left: 9px;
	width: 7px;
	height: 12px;
	border: solid var(--bpc-orange);
	border-width: 0 3px 3px 0;
	transform: rotate(45deg);
}

.bpc-payment {
	padding: 22px 24px;
	border-radius: var(--bpc-radius-l);
	background: var(--bpc-grad-scene);
	font-size: 19px;
	line-height: 1.5;
}

.bpc-payment p + p {
	margin-top: 12px;
}

.bpc-payment a {
	color: var(--bpc-white);
	font-weight: 700;
	text-decoration: underline;
}

.bpc-steps-form__nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: 40px;
	padding-top: 28px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.bpc-steps-form__prev {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-right: auto;
	color: rgba(255, 255, 255, 0.7);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	transition: color 0.2s;
}

.bpc-steps-form__prev:hover {
	color: var(--bpc-white);
}

.bpc-steps-form__prev .bpc-icon {
	transform: rotate(180deg);
}

.bpc-steps-form__next,
.bpc-steps-form__submit {
	margin-left: auto;
}

.bpc-steps-form .bpc-form__message {
	order: 9;
}

.bpc-steps-form .bpc-form__message[data-state="success"] {
	order: -1;
	margin: 0 0 30px;
	font-size: 21px;
}

.bpc-recap {
	position: sticky;
	top: calc(var(--bpc-header-height) + 24px);
}

.bpc-recap__card {
	overflow: hidden;
	border-radius: var(--bpc-radius-l);
	box-shadow: var(--bpc-shadow-card);
}

.bpc-recap__head {
	padding: 26px 26px 22px;
}

.bpc-recap__head .bpc-eyebrow {
	position: relative;
	color: var(--bpc-ink);
}

.bpc-recap__panther {
	top: -20px;
	right: -30px;
	width: 200px;
	opacity: 0.14;
}

.bpc-recap__team {
	position: relative;
	min-height: 36px;
	margin-top: 8px;
	font-size: 34px;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
	word-break: break-word;
}

.bpc-recap__tags {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	min-height: 28px;
	margin-top: 12px;
}

.bpc-recap__tags span {
	display: inline-flex;
	align-items: center;
	height: 28px;
	padding: 0 11px;
	border-radius: var(--bpc-radius-pill);
	background: var(--bpc-ink);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.bpc-recap__body {
	padding: 22px 26px 26px;
	background: var(--bpc-ink);
}

.bpc-recap__line,
.bpc-recap__teams li {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	font-size: 18px;
}

.bpc-recap__line span:first-child:not(:last-child),
.bpc-recap__teams li span:first-child {
	color: rgba(255, 255, 255, 0.66);
}

.bpc-recap__line--price {
	color: var(--bpc-amber);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.bpc-recap__teams li {
	animation: bpc-fade-up 0.4s var(--bpc-ease-out);
}

.bpc-recap__teams b {
	font-family: var(--bpc-font-display);
	font-size: 22px;
	font-weight: 400;
	line-height: 1;
}

.bpc-recap__note {
	margin-top: 14px;
	color: var(--bpc-dim);
	font-size: 14px;
}

.bpc-help {
	margin-top: 16px;
	padding: 20px 22px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--bpc-radius-l);
	font-size: 17px;
	line-height: 1.6;
}

.bpc-help__title {
	margin-bottom: 4px;
	color: var(--bpc-orange);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.bpc-help a {
	color: var(--bpc-white);
}

.bpc-help a:hover {
	color: var(--bpc-amber);
}

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

	.bpc-recap {
		position: relative;
		top: 0;
	}
}

@media (max-width: 620px) {
	.bpc-team-counts,
	.bpc-package-options__grid {
		grid-template-columns: 1fr;
	}

	.bpc-steps__label {
		display: none;
	}

	.bpc-steps__item.is-current .bpc-steps__label {
		display: inline;
	}
}

/* --- Contatti ------------------------------------------------------------- */

.bpc-contact__inner {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: clamp(30px, 6vw, 90px);
	align-items: start;
}

.bpc-contact__list {
	margin-top: clamp(30px, 4vw, 50px);
	border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.bpc-contact__list > div {
	padding: 20px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.bpc-contact__list dt {
	color: var(--bpc-amber);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.bpc-contact__list dd {
	margin-top: 4px;
	font-size: clamp(22px, 2.2vw, 30px);
	font-weight: 700;
	line-height: 1.2;
	word-break: break-word;
}

.bpc-contact__list a {
	color: var(--bpc-white);
}

.bpc-contact__list a:hover {
	color: var(--bpc-orange);
}

@media (max-width: 860px) {
	.bpc-contact__inner {
		grid-template-columns: 1fr;
	}
}

/* --- Mission --------------------------------------------------------------- */

.bpc-mission__layout {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	gap: clamp(30px, 5vw, 80px);
	align-items: start;
}

.bpc-mission__body {
	color: rgba(255, 255, 255, 0.82);
}

.bpc-mission__body > p:first-child {
	color: var(--bpc-white);
	font-size: clamp(22px, 2.1vw, 30px);
	line-height: 1.35;
}

.bpc-prose--titled p > strong:first-child {
	display: block;
	margin-bottom: 6px;
	color: var(--bpc-orange);
	font-size: 1.25em;
	letter-spacing: 0.04em;
	line-height: 1.1;
	text-transform: uppercase;
}

.bpc-prose--titled p > strong:first-child + br {
	display: none;
}

.bpc-prose--titled p:has(> strong:first-child) {
	margin-top: 1.6em;
	padding-top: 1.4em;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.bpc-mission__media {
	position: sticky;
	top: calc(var(--bpc-header-height) + 60px);
	aspect-ratio: 4 / 5;
	overflow: hidden;
	border-radius: var(--bpc-radius-l);
}

.bpc-mission__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (max-width: 860px) {
	.bpc-mission__layout {
		grid-template-columns: 1fr;
	}

	.bpc-mission__media {
		position: relative;
		top: 0;
		aspect-ratio: 4 / 3;
	}
}

/* --- Partners --------------------------------------------------------------- */

.bpc-partners-group {
	padding-block: clamp(44px, 6vw, 80px);
	border-bottom: 1px solid var(--bpc-line-ink);
	text-align: center;
}

.bpc-partners-group:last-child {
	border-bottom: 0;
}

.bpc-partners-group--dark {
	border-bottom: 0;
	background: var(--bpc-ink);
}

.bpc-partners-group__title {
	margin-bottom: clamp(24px, 3vw, 40px);
	font-size: clamp(30px, 3.6vw, 54px);
}

.bpc-logo-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: clamp(20px, 3vw, 40px) var(--bpc-logo-space, 50px);
}

.bpc-logo-row__item {
	display: flex;
	flex: 0 1 calc((100% - (var(--bpc-logo-per-view) - 1) * var(--bpc-logo-space, 50px)) / var(--bpc-logo-per-view));
	align-items: center;
	justify-content: center;
	height: var(--bpc-logo-height, 100px);
}

.bpc-logo-row__item img {
	width: auto;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	transition: transform 0.45s var(--bpc-ease-out);
}

.bpc-logo-row__item:hover img {
	transform: scale(1.08);
}

.bpc-logo-row--few .bpc-logo-row__item {
	flex-basis: min(100%, 360px);
}

@media (max-width: 767px) {
	.bpc-logo-row {
		--bpc-logo-space: 22px;
	}

	.bpc-logo-row__item {
		flex-basis: calc((100% - 3 * var(--bpc-logo-space)) / 4);
		height: min(var(--bpc-logo-height, 100px), 70px);
	}

	.bpc-logo-row--few .bpc-logo-row__item {
		flex-basis: min(100%, 240px);
		height: min(var(--bpc-logo-height, 100px), 110px);
	}
}

/* --- Gallery ---------------------------------------------------------------- */

.bpc-photo-grid {
	display: flex;
	gap: 14px;
}

.bpc-photo-grid__column {
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	gap: 14px;
	min-width: 0;
}

.bpc-photo-grid__link {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: var(--bpc-radius-l);
}

.bpc-photo-grid__link img {
	width: 100%;
	transition: transform 1s var(--bpc-ease-out);
}

.bpc-photo-grid__link::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(233, 78, 27, 0) 40%, rgba(233, 78, 27, 0.55));
	opacity: 0;
	transition: opacity 0.4s;
}

.bpc-photo-grid__link:hover img {
	transform: scale(1.08);
}

.bpc-photo-grid__link:hover::after {
	opacity: 1;
}

@media (max-width: 980px) {
	.bpc-photo-grid {
		flex-wrap: wrap;
	}

	.bpc-photo-grid__column {
		flex-basis: calc(50% - 7px);
	}
}

@media (max-width: 560px) {
	.bpc-photo-grid {
		flex-direction: column;
	}

	.bpc-photo-grid__column {
		display: contents;
	}
}

/* --- Albo d'oro ------------------------------------------------------------ */

.bpc-winners {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 clamp(24px, 4vw, 60px);
}

.bpc-winners p {
	padding: 16px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	color: rgba(255, 255, 255, 0.82);
	font-size: 19px;
	line-height: 1.45;
}

.bpc-winners p > strong:first-child {
	margin-right: 4px;
	color: var(--bpc-amber);
	font-size: 14px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.bpc-winners p strong {
	color: var(--bpc-white);
}

@media (max-width: 700px) {
	.bpc-winners {
		grid-template-columns: 1fr;
	}
}

/* --- Articoli -------------------------------------------------------------- */

.bpc-page-hero--cover .bpc-page-hero__title {
	max-width: 22em;
	font-size: clamp(30px, 4.2vw, 64px);
	line-height: 1.02;
	text-shadow: 0 6px 30px rgba(0, 0, 0, 0.45);
}

.bpc-page-hero .bpc-title--plain.bpc-page-hero__title {
	max-width: 22em;
	font-size: clamp(30px, 4.2vw, 64px);
	line-height: 1.02;
}

.bpc-page-hero__eyebrow {
	margin-bottom: 12px;
}

.bpc-scene .bpc-page-hero__eyebrow {
	color: var(--bpc-ink);
}

.bpc-post {
	padding-block: clamp(50px, 7vw, 100px);
}

.bpc-post__author {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 30px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.bpc-post__avatar {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	object-fit: cover;
}

.bpc-post__lead {
	margin-bottom: 30px;
	font-size: clamp(22px, 2.2vw, 28px);
	font-weight: 700;
	line-height: 1.3;
}

.bpc-post__content figure,
.bpc-post__content .wp-block-image {
	margin-block: 1.4em;
}

.bpc-post-gallery {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-block: 1.6em;
}

.bpc-post-gallery__row {
	display: flex;
	gap: 10px;
}

.bpc-post-gallery__item {
	position: relative;
	flex: var(--bpc-ratio) 1 0;
	overflow: hidden;
	border-radius: var(--bpc-radius-m);
}

.bpc-prose .bpc-post-gallery__item img {
	width: 100%;
	height: 100%;
	border-radius: 0;
	object-fit: cover;
	transition: transform 0.8s var(--bpc-ease-out);
}

.bpc-post-gallery__item:hover img {
	transform: scale(1.08);
}

.bpc-post-nav {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	margin-top: clamp(40px, 6vw, 70px);
	padding-top: 28px;
	border-top: 1.5px solid var(--bpc-ink);
}

.bpc-post-nav__item--next {
	text-align: right;
}

.bpc-post-nav a {
	display: inline-flex;
	align-items: center;
	gap: 16px;
	color: var(--bpc-ink);
	transition: color 0.2s;
}

.bpc-post-nav a:hover {
	color: var(--bpc-orange);
}

.bpc-post-nav__arrow {
	flex: none;
	width: 12px;
	height: 20px;
	transition: transform 0.4s var(--bpc-ease-out);
}

.bpc-post-nav__item--next .bpc-post-nav__arrow {
	transform: rotate(180deg);
}

.bpc-post-nav__item--prev a:hover .bpc-post-nav__arrow {
	transform: translateX(-5px);
}

.bpc-post-nav__item--next a:hover .bpc-post-nav__arrow {
	transform: rotate(180deg) translateX(-5px);
}

.bpc-post-nav__text {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.bpc-post-nav__label {
	color: var(--bpc-orange);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.bpc-post-nav__title {
	font-size: 19px;
	font-weight: 700;
	line-height: 1.2;
}

.bpc-related {
	position: relative;
	padding-block: var(--bpc-section-space);
	background: var(--bpc-grad-dark);
}

.bpc-post-list__empty {
	color: var(--bpc-dim);
	font-size: 21px;
}

@media (max-width: 620px) {
	.bpc-post-nav {
		grid-template-columns: 1fr;
	}

	.bpc-post-nav__item--next {
		text-align: left;
	}

	.bpc-post-nav__item--next a {
		flex-direction: row-reverse;
	}

	.bpc-post-gallery__row {
		flex-wrap: wrap;
	}

	.bpc-post-gallery__item {
		flex-basis: 40%;
	}
}

/* --- Pagine di testo -------------------------------------------------------- */

.bpc-text-page__action {
	margin-top: clamp(30px, 4vw, 50px);
}

.bpc-plain-page {
	min-height: 70vh;
	padding-block: calc(var(--bpc-header-height) + clamp(30px, 5vw, 60px)) clamp(60px, 8vw, 110px);
}

.bpc-plain-page::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: var(--bpc-header-height);
	background: var(--bpc-ink-2);
}

.bpc-plain-page .bpc-title {
	margin-bottom: 24px;
	color: var(--bpc-ink);
}

/* --- Live ------------------------------------------------------------------ */

.bpc-live-access__intro {
	font-size: clamp(21px, 2.1vw, 28px);
	line-height: 1.4;
}

.bpc-live-access__intro strong {
	color: var(--bpc-orange);
}

.bpc-live-access__form {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
	margin-top: 34px;
}

.bpc-live-access__form .bpc-form__group {
	width: 100%;
}

.bpc-live-access__form .bpc-form__message {
	width: 100%;
	margin-top: 0;
}

.bpc-live-access__action {
	margin-top: 30px;
}

.bpc-live-hub {
	display: flex;
	align-items: flex-end;
	min-height: 86svh;
	padding: calc(var(--bpc-header-height) + 60px) 0 clamp(50px, 7vw, 90px);
	background: var(--bpc-ink-2) var(--bpc-live-photo) 50% 30% / cover no-repeat;
}

.bpc-live-hub::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(19, 19, 18, 0.6) 0%, rgba(19, 19, 18, 0.3) 35%, rgba(19, 19, 18, 0.94) 100%);
}

.bpc-live-hub__inner {
	position: relative;
}

.bpc-live-hub__title {
	max-width: 14em;
	margin-top: 18px;
	font-size: clamp(40px, 6vw, 100px);
}

.bpc-live-hub__categories {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 34px;
}

.bpc-live-hub__empty {
	margin-top: 24px;
	color: var(--bpc-dim);
	font-size: 21px;
}

.bpc-live-sponsors {
	padding-block: 26px;
}

.bpc-live-category__back {
	margin-bottom: 26px;
}

.bpc-live-category__back .bpc-link {
	color: var(--bpc-ink);
}

.bpc-live-category__empty {
	font-size: 21px;
}

@media (max-width: 767px) {
	.bpc-live-hub {
		background-image: var(--bpc-live-photo-mobile);
	}
}

/* --- Conferma email e pagina non trovata ---------------------------------- */

.bpc-check-mail {
	display: flex;
	align-items: center;
	min-height: 100svh;
	padding: calc(var(--bpc-header-height) + 40px) 0 80px;
}

.bpc-check-mail__panther {
	top: 6%;
	right: -8%;
	width: 56vw;
	opacity: 0.1;
}

.bpc-check-mail__card {
	position: relative;
	z-index: 2;
	padding: clamp(28px, 5vw, 56px);
	border-radius: var(--bpc-radius-l);
	background: rgba(19, 19, 18, 0.9);
	box-shadow: var(--bpc-shadow-card);
	font-size: 20px;
	line-height: 1.5;
}

.bpc-check-mail__card p {
	margin-top: 14px;
}

.bpc-check-mail__badge {
	display: grid;
	place-items: center;
	width: 84px;
	height: 84px;
	margin-bottom: 24px;
	border-radius: 50%;
	background: var(--bpc-orange);
	font-size: 36px;
	animation: bpc-pop 0.6s var(--bpc-ease-spring);
}

.bpc-check-mail__hint {
	color: var(--bpc-dim);
	font-size: 17px;
}

.bpc-check-mail__card hr {
	height: 0;
	margin: 30px 0;
	border: 0;
	border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.bpc-not-found {
	display: flex;
	align-items: flex-end;
	min-height: 100svh;
	padding: calc(var(--bpc-header-height) + 60px) 0 clamp(70px, 9vw, 120px);
}

.bpc-not-found__panther {
	top: 10%;
	right: -6%;
	width: 50vw;
	opacity: 0.1;
}

.bpc-not-found__far {
	bottom: 16%;
	height: 30%;
}

.bpc-not-found__near {
	bottom: 6%;
	height: 24%;
}

.bpc-not-found__code {
	position: absolute;
	top: 12%;
	right: 0;
	left: 0;
	color: transparent;
	font-family: var(--bpc-font-display);
	font-size: 42vw;
	line-height: 0.8;
	text-align: center;
	pointer-events: none;
	-webkit-text-stroke: 2px rgba(255, 255, 255, 0.18);
}

.bpc-not-found__inner {
	position: relative;
	z-index: 2;
}

.bpc-not-found .bpc-eyebrow {
	margin-bottom: 14px;
	color: var(--bpc-ink);
}

.bpc-not-found__title {
	font-size: clamp(50px, 8.4vw, 150px);
	line-height: 0.88;
}

.bpc-not-found__title .bpc-mask:nth-child(even) > span {
	color: var(--bpc-ink);
}

.bpc-not-found__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 34px;
}

/* --- Riduci movimento ------------------------------------------------------ */

@media (prefers-reduced-motion: reduce) {
	.bpc-hero__rays,
	.bpc-hero__athlete,
	.bpc-hero__scroll-hint::after,
	.bpc-step:not([hidden]),
	.bpc-check-mail__badge,
	.bpc-recap__teams li {
		animation: none;
	}

	.bpc-light__word {
		opacity: 1;
		transition: none;
	}

	.bpc-memorial__name {
		transform: none;
	}

	.bpc-bigday span,
	.bpc-package,
	.bpc-cat::before,
	.bpc-cat__name,
	.bpc-day-panel__photo {
		transition: none;
	}

	.bpc-follow {
		display: none;
	}
}
