.jcw-front-page {
	--jcw-ink: #111315;
	--jcw-deep: #17110f;
	--jcw-paper: #f6f1e8;
	--jcw-cream: #f9f6f0;
	--jcw-gold: #c7a162;
	--jcw-gold-soft: #e7d4ad;
	--jcw-wine: #522824;
	--jcw-muted: #5f635f;
	--jcw-border: rgba(18, 15, 12, 0.12);
	--jcw-shadow: 0 24px 60px rgba(17, 19, 21, 0.12);
	background:
		radial-gradient(circle at top right, rgba(199, 161, 98, 0.16), transparent 28%),
		linear-gradient(180deg, #fbf7f0 0%, #f6f1e8 38%, #fffdf8 100%);
	color: var(--jcw-ink);
}

.jcw-payment-page {
	--jcw-ink: #111315;
	--jcw-deep: #17110f;
	--jcw-paper: #f6f1e8;
	--jcw-cream: #f9f6f0;
	--jcw-gold: #c7a162;
	--jcw-gold-soft: #e7d4ad;
	--jcw-wine: #522824;
	--jcw-muted: #5f635f;
	--jcw-border: rgba(18, 15, 12, 0.12);
	--jcw-shadow: 0 24px 60px rgba(17, 19, 21, 0.12);
	background:
		radial-gradient(circle at top right, rgba(199, 161, 98, 0.16), transparent 28%),
		linear-gradient(180deg, #fbf7f0 0%, #f6f1e8 38%, #fffdf8 100%);
	color: var(--jcw-ink);
}

.jcw-front-page .entry-hero-container-inner,
.jcw-front-page .content-area,
.jcw-payment-page .entry-hero-container-inner,
.jcw-payment-page .content-area {
	background: transparent;
}

.jcw-front-page .site-main,
.jcw-payment-page .site-main {
	padding: 0;
}

.jcw-front-page .entry-content-wrap,
.jcw-payment-page .entry-content-wrap {
	padding: 0;
}

.jcw-front-page .content-container,
.jcw-front-page .site-container,
.jcw-payment-page .content-container,
.jcw-payment-page .site-container {
	max-width: none;
}

.jcw-front-page .entry-header,
.jcw-payment-page .entry-header {
	display: none;
}

.jcw-site-main {
	display: block;
}

.jcw-shell {
	width: min(1180px, calc(100vw - 40px));
	margin: 0 auto;
}

.jcw-kicker {
	margin: 0 0 14px;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--jcw-wine);
}

.jcw-hero,
.jcw-story,
.jcw-impact,
.jcw-experience,
.jcw-scale,
.jcw-weekend,
.jcw-partners,
.jcw-practical,
.jcw-donation,
.jcw-access,
.jcw-final {
	padding: 88px 0;
}

.jcw-hero {
	padding-top: 54px;
}

.jcw-hero__grid,
.jcw-story__grid,
.jcw-impact__grid,
.jcw-scale__grid,
.jcw-partners__grid {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	gap: 42px;
	align-items: center;
}

.jcw-hero h1,
.jcw-story h2,
.jcw-impact h2,
.jcw-heading h2,
.jcw-scale h2,
.jcw-weekend h2,
.jcw-partners h2,
.jcw-final h2 {
	font-family: "Playfair Display", Georgia, serif;
	line-height: 1.05;
	letter-spacing: -0.03em;
	color: var(--jcw-deep);
	margin: 0;
}

.jcw-hero h1 {
	font-size: clamp(3.4rem, 6vw, 5.8rem);
	max-width: 12ch;
}

.jcw-story h2,
.jcw-impact h2,
.jcw-heading h2,
.jcw-scale h2,
.jcw-weekend h2,
.jcw-partners h2,
.jcw-final h2 {
	font-size: clamp(2rem, 3.6vw, 3.6rem);
}

.jcw-lead,
.jcw-story p,
.jcw-impact p,
.jcw-scale p,
.jcw-weekend p,
.jcw-partners p,
.jcw-final p,
.jcw-card p,
.jcw-info-card p,
.jcw-proof-bar p {
	font-size: 1.04rem;
	line-height: 1.8;
	color: var(--jcw-muted);
}

.jcw-meta {
	list-style: none;
	padding: 0;
	margin: 28px 0 0;
	display: grid;
	gap: 10px;
	color: var(--jcw-ink);
	font-weight: 600;
}

.jcw-meta--compact {
	margin-top: 24px;
	gap: 8px;
}

.jcw-meta li::before {
	content: "•";
	margin-right: 10px;
	color: var(--jcw-gold);
}

.jcw-actions,
.jcw-inline-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 32px;
}

.jcw-actions--center {
	justify-content: center;
}

.jcw-button,
.jcw-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.jcw-button {
	min-height: 54px;
	padding: 0 22px;
	border-radius: 999px;
	font-weight: 700;
	letter-spacing: 0.01em;
	box-shadow: 0 16px 30px rgba(17, 19, 21, 0.08);
}

.jcw-button:hover,
.jcw-link:hover {
	transform: translateY(-2px);
}

.jcw-button--gold {
	background: linear-gradient(135deg, #d4b379 0%, #b9894a 100%);
	color: #fff;
}

.jcw-button--gold:hover {
	background: linear-gradient(135deg, #ddb982 0%, #ac7e43 100%);
	color: #fff;
}

.jcw-button--ghost {
	background: rgba(17, 19, 21, 0.04);
	color: var(--jcw-ink);
	border: 1px solid rgba(17, 19, 21, 0.12);
}

.jcw-button--soft {
	background: rgba(82, 40, 36, 0.08);
	color: var(--jcw-wine);
}

.jcw-button--dark {
	background: var(--jcw-deep);
	color: #fff;
}

.jcw-button--ghost-light {
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
	border: 1px solid rgba(255, 255, 255, 0.28);
}

.jcw-button--soft-light {
	background: rgba(255, 255, 255, 0.16);
	color: #fff;
}

.jcw-link {
	color: var(--jcw-wine);
	font-weight: 700;
}

.jcw-hero-card,
.jcw-highlight,
.jcw-weekend__card,
.jcw-info-card,
.jcw-card {
	border: 1px solid var(--jcw-border);
	box-shadow: var(--jcw-shadow);
}

.jcw-hero-card {
	position: relative;
	overflow: hidden;
	border-radius: 36px;
	background: #000;
}

.jcw-hero-card img,
.jcw-impact__media img,
.jcw-scale__visual img,
.jcw-partners__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.jcw-hero-card__note {
	position: absolute;
	left: 22px;
	right: 22px;
	bottom: 22px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.jcw-hero-card__note span {
	padding: 10px 14px;
	border-radius: 999px;
	background: rgba(17, 19, 21, 0.72);
	backdrop-filter: blur(10px);
	color: #fff;
	font-size: 0.9rem;
	font-weight: 700;
}

.jcw-proof-bar {
	padding: 0 0 32px;
}

.jcw-proof-bar__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}

.jcw-proof-bar__grid > div {
	padding: 24px;
	border-radius: 24px;
	background: rgba(255, 255, 255, 0.72);
	border: 1px solid var(--jcw-border);
}

.jcw-proof-bar strong {
	display: block;
	font-size: 1.04rem;
	margin-bottom: 10px;
	color: var(--jcw-deep);
}

.jcw-highlight {
	padding: 28px;
	border-radius: 28px;
	background: linear-gradient(180deg, rgba(199, 161, 98, 0.12), rgba(255, 255, 255, 0.96));
}

.jcw-highlight h3 {
	font-family: "Playfair Display", Georgia, serif;
	font-size: 1.8rem;
	margin: 0 0 12px;
}

.jcw-highlight ul,
.jcw-partners ul {
	margin: 22px 0 0;
	padding-left: 20px;
	display: grid;
	gap: 10px;
}

.jcw-impact {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(245, 238, 226, 0.96) 100%);
}

.jcw-impact__media {
	overflow: hidden;
	border-radius: 32px;
	box-shadow: var(--jcw-shadow);
	background: #fff;
}

.jcw-impact__media figcaption {
	padding: 10px 16px 14px;
	font-size: 0.9rem;
	line-height: 1.5;
	color: var(--jcw-muted);
	background: rgba(255, 255, 255, 0.96);
}

.jcw-heading {
	max-width: 760px;
	margin-bottom: 30px;
}

.jcw-cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}

.jcw-card {
	padding: 24px;
	border-radius: 24px;
	background: rgba(255, 255, 255, 0.8);
}

.jcw-card h3,
.jcw-info-card h3 {
	font-family: "Playfair Display", Georgia, serif;
	font-size: 1.5rem;
	margin: 0 0 10px;
}

.jcw-scale__visual,
.jcw-partners__media {
	overflow: hidden;
	border-radius: 30px;
	box-shadow: var(--jcw-shadow);
}

.jcw-donation {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(246, 241, 232, 0.96));
}

.jcw-donation__grid {
	display: grid;
	grid-template-columns: 0.95fr 1.05fr;
	gap: 28px;
	align-items: stretch;
}

.jcw-donation__options {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.jcw-donation-card {
	border-radius: 30px;
	border: 1px solid var(--jcw-border);
	box-shadow: var(--jcw-shadow);
	background: linear-gradient(145deg, rgba(30, 22, 20, 0.98), rgba(72, 39, 34, 0.96));
	color: #fff;
	padding: 30px;
	display: flex;
	flex-direction: column;
}

.jcw-donation-card__amount {
	margin: 0 0 10px;
	font-size: 0.88rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--jcw-gold-soft);
}

.jcw-donation-card h3 {
	margin: 0 0 10px;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 1.9rem;
	color: #fff;
}

.jcw-donation-card p,
.jcw-donation-card .jcw-note {
	color: rgba(255, 255, 255, 0.82);
}

.jcw-donation-card__action {
	margin-top: auto;
	padding-top: 20px;
}

.jcw-donation-card__action .simpay-form-wrap {
	margin: 0;
}

.jcw-donation-card__action .simpay-checkout-form {
	display: block;
	margin: 0;
}

.jcw-donation-card__action .simpay-form-control {
	margin: 0;
}

.jcw-donation-card__action .jcw-button,
.jcw-donation-card__action .simpay-payment-btn {
	width: 100%;
	min-height: 58px;
	padding: 0 24px;
	border: 0;
	border-radius: 999px;
	background: linear-gradient(135deg, #d4b379 0%, #b9894a 100%);
	box-shadow: 0 18px 36px rgba(0, 0, 0, 0.18);
	color: #fff;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.01em;
}

.jcw-donation-card__action .jcw-button:hover,
.jcw-donation-card__action .simpay-payment-btn:hover {
	background: linear-gradient(135deg, #ddb982 0%, #ac7e43 100%);
}

.jcw-donation-card__action .simpay-errors {
	margin-top: 16px;
	color: #fff;
}

.jcw-weekend__card {
	display: grid;
	grid-template-columns: 1.2fr 0.8fr;
	gap: 28px;
	padding: 34px;
	border-radius: 32px;
	background: linear-gradient(135deg, #241916 0%, #59312b 54%, #8d6946 100%);
}

.jcw-weekend__card--reservation {
	align-items: start;
}

.jcw-weekend__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

.jcw-weekend__card .jcw-kicker,
.jcw-weekend__card h2,
.jcw-weekend__card p,
.jcw-weekend__card .jcw-note {
	color: #fff;
}

.jcw-weekend__actions {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
}

.jcw-reservation-form {
	padding: 24px;
	border-radius: 28px;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.16);
	backdrop-filter: blur(10px);
}

.jcw-reservation-form .wpforms-container {
	margin: 0;
}

.jcw-reservation-form .wpforms-field-container {
	display: grid;
	gap: 14px;
}

.jcw-reservation-form .wpforms-field {
	padding: 0;
	margin: 0;
}

.jcw-reservation-form .wpforms-field-label,
.jcw-reservation-form .wpforms-field-label-inline {
	color: #fff;
	font-weight: 700;
}

.jcw-reservation-form .wpforms-field input[type="text"],
.jcw-reservation-form .wpforms-field input[type="email"],
.jcw-reservation-form .wpforms-field input[type="number"],
.jcw-reservation-form .wpforms-field textarea,
.jcw-reservation-form .wpforms-field select {
	min-height: 54px;
	border: 1px solid rgba(255, 255, 255, 0.24);
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.96);
	color: var(--jcw-deep);
	padding: 0 16px;
}

.jcw-reservation-form .wpforms-field textarea {
	min-height: 140px;
	padding: 14px 16px;
}

.jcw-reservation-form .wpforms-field input::placeholder,
.jcw-reservation-form .wpforms-field textarea::placeholder {
	color: rgba(23, 17, 15, 0.55);
}

.jcw-reservation-form .wpforms-field-radio ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.jcw-reservation-form .wpforms-field-radio ul li {
	margin: 0;
}

.jcw-reservation-form .wpforms-submit-container {
	margin: 18px 0 0;
	padding: 0;
}

.jcw-reservation-form .wpforms-submit {
	width: 100%;
	min-height: 58px;
	padding: 0 24px;
	border: 0;
	border-radius: 999px;
	background: linear-gradient(135deg, #d4b379 0%, #b9894a 100%);
	box-shadow: 0 18px 36px rgba(0, 0, 0, 0.18);
	color: #fff;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.01em;
}

.jcw-reservation-form .wpforms-submit:hover {
	background: linear-gradient(135deg, #ddb982 0%, #ac7e43 100%);
}

.jcw-reservation-form .wpforms-confirmation-container-full,
.jcw-reservation-form .wpforms-error-container {
	margin: 0;
	border-radius: 20px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
}

.jcw-reservation-form .wpforms-error {
	color: #fff;
}

.jcw-note {
	font-size: 0.9rem;
	opacity: 0.8;
	margin-top: 14px;
}

.jcw-practical {
	background: rgba(255, 255, 255, 0.84);
}

.jcw-info-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}

.jcw-info-card {
	padding: 24px;
	border-radius: 24px;
	background: #fff;
}

.jcw-access {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(246, 241, 232, 0.9) 100%);
}

.jcw-access__grid {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	gap: 28px;
	align-items: stretch;
}

.jcw-access__map,
.jcw-access__copy {
	border-radius: 28px;
	overflow: hidden;
	border: 1px solid var(--jcw-border);
	box-shadow: var(--jcw-shadow);
	background: #fff;
}

.jcw-access__map iframe {
	display: block;
	width: 100%;
	min-height: 420px;
	border: 0;
}

.jcw-access__copy {
	padding: 30px;
}

.jcw-logistics {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
	margin-top: 26px;
}

.jcw-logistics__item {
	padding: 18px;
	border-radius: 18px;
	background: linear-gradient(180deg, rgba(249, 246, 240, 0.96), rgba(245, 237, 226, 0.88));
	border: 1px solid rgba(17, 19, 21, 0.08);
}

.jcw-logistics__item h3 {
	margin: 0 0 10px;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 1.35rem;
	color: var(--jcw-deep);
}

.jcw-logistics__item p {
	margin: 0;
	font-size: 0.98rem;
	line-height: 1.7;
	color: var(--jcw-muted);
}

.jcw-final {
	background:
		linear-gradient(180deg, rgba(23, 17, 15, 0.92), rgba(36, 24, 21, 0.97)),
		url("../images/hero-cars.jpg") center/cover no-repeat;
	color: #fff;
}

.jcw-final__inner {
	max-width: 860px;
	text-align: center;
}

.jcw-final .jcw-kicker,
.jcw-final h2,
.jcw-final p {
	color: #fff;
}

.jcw-payment-main {
	padding: 72px 0 88px;
}

.jcw-payment-shell {
	width: min(1120px, calc(100vw - 40px));
	margin: 0 auto;
}

.jcw-payment-card {
	padding: 36px;
	border-radius: 32px;
	border: 1px solid var(--jcw-border);
	box-shadow: var(--jcw-shadow);
	background: rgba(255, 255, 255, 0.84);
}

.jcw-payment-card--dark {
	background: linear-gradient(145deg, rgba(30, 22, 20, 0.98), rgba(72, 39, 34, 0.96));
	color: #fff;
}

.jcw-payment-card--dark .jcw-kicker,
.jcw-payment-card--dark h1,
.jcw-payment-card--dark p,
.jcw-payment-card--dark li {
	color: #fff;
}

.jcw-payment-card--dark .jcw-kicker {
	color: rgba(231, 212, 173, 0.92);
}

.jcw-payment-grid {
	display: grid;
	grid-template-columns: 1.08fr 0.92fr;
	gap: 24px;
	align-items: start;
}

.jcw-payment-card h1,
.jcw-payment-card h2 {
	margin: 0;
	font-family: "Playfair Display", Georgia, serif;
	line-height: 1.05;
	letter-spacing: -0.03em;
	color: var(--jcw-deep);
}

.jcw-payment-card h1 {
	font-size: clamp(2.4rem, 4vw, 4.2rem);
}

.jcw-payment-card h2 {
	font-size: clamp(1.7rem, 2.6vw, 2.3rem);
	margin-bottom: 12px;
}

.jcw-payment-card p,
.jcw-payment-card li {
	font-size: 1rem;
	line-height: 1.8;
	color: var(--jcw-muted);
}

.jcw-payment-card ul {
	margin: 22px 0 0;
	padding-left: 20px;
	display: grid;
	gap: 10px;
}

.jcw-payment-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 28px;
}

.jcw-payment-receipt {
	margin-top: 28px;
	padding-top: 24px;
	border-top: 1px solid rgba(17, 19, 21, 0.12);
}

.jcw-payment-receipt .simpay-payment-receipt-wrap {
	padding: 0;
	background: transparent;
}

.jcw-payment-receipt .simpay-payment-receipt-wrap p,
.jcw-payment-receipt .simpay-payment-receipt-wrap li,
.jcw-payment-receipt .simpay-payment-receipt-wrap strong {
	color: var(--jcw-ink);
}

.jcw-payment-receipt .simpay-payment-receipt-wrap a {
	color: var(--jcw-wine);
	font-weight: 700;
}

.jcw-payment-note {
	padding: 18px 20px;
	border-radius: 20px;
	background: linear-gradient(180deg, rgba(249, 246, 240, 0.96), rgba(245, 237, 226, 0.88));
	border: 1px solid rgba(17, 19, 21, 0.08);
}

.jcw-participation-grid {
	display: grid;
	grid-template-columns: 0.92fr 1.08fr;
	gap: 24px;
	align-items: start;
}

.jcw-participation-card {
	padding: 36px;
	border-radius: 32px;
	border: 1px solid var(--jcw-border);
	box-shadow: var(--jcw-shadow);
	background: rgba(255, 255, 255, 0.84);
}

.jcw-participation-card--dark {
	background: linear-gradient(145deg, rgba(30, 22, 20, 0.98), rgba(72, 39, 34, 0.96));
	color: #fff;
}

.jcw-participation-card--dark .jcw-kicker,
.jcw-participation-card--dark h1,
.jcw-participation-card--dark h2,
.jcw-participation-card--dark p,
.jcw-participation-card--dark li,
.jcw-participation-card--dark strong {
	color: #fff;
}

.jcw-participation-card--dark ul,
.jcw-participation-card--dark ul li::marker {
	color: #fff;
}

.jcw-participation-card h1,
.jcw-participation-card h2 {
	margin: 0;
	font-family: "Playfair Display", Georgia, serif;
	line-height: 1.05;
	letter-spacing: -0.03em;
	color: var(--jcw-deep);
}

.jcw-participation-card h1 {
	font-size: clamp(2.4rem, 4vw, 4.2rem);
}

.jcw-participation-card h2 {
	font-size: clamp(1.7rem, 2.6vw, 2.3rem);
	margin-bottom: 12px;
}

.jcw-participation-card p,
.jcw-participation-card li,
.jcw-participation-card label,
.jcw-participation-card legend {
	font-size: 1rem;
	line-height: 1.8;
	color: var(--jcw-muted);
}

.jcw-participation-form {
	display: grid;
	gap: 18px;
}

.jcw-participation-form__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	align-items: start;
}

.jcw-participation-field {
	display: grid;
	gap: 8px;
}

.jcw-participation-field--full {
	grid-column: 1 / -1;
}

.jcw-participation-field label,
.jcw-participation-field legend {
	font-weight: 700;
	color: var(--jcw-deep);
}

.jcw-participation-field input[type="text"],
.jcw-participation-field input[type="email"],
.jcw-participation-field input[type="number"] {
	min-height: 54px;
	padding: 0 16px;
	font-size: 16px;
	border-radius: 16px;
	border: 1px solid rgba(17, 19, 21, 0.14);
	background: #fff;
	color: var(--jcw-deep);
}

.jcw-participation-choice-group {
	display: grid;
	gap: 12px;
	padding: 18px;
	border-radius: 22px;
	background: linear-gradient(180deg, rgba(249, 246, 240, 0.96), rgba(245, 237, 226, 0.88));
	border: 1px solid rgba(17, 19, 21, 0.08);
}

.jcw-participation-choice {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 16px;
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.72);
	border: 1px solid rgba(17, 19, 21, 0.08);
}

.jcw-participation-choice label {
	line-height: 1.5;
}

.jcw-participation-card ul {
	margin: 0;
	padding-left: 18px;
	display: grid;
	gap: 10px;
}

.jcw-participation-donation-options {
	display: grid;
	gap: 12px;
}

.jcw-participation-donation-options[hidden] {
	display: none;
}

.jcw-participation-help,
.jcw-participation-errors,
.jcw-participation-success {
	padding: 18px 20px;
	border-radius: 20px;
	border: 1px solid rgba(17, 19, 21, 0.08);
}

.jcw-participation-help,
.jcw-participation-success {
	background: linear-gradient(180deg, rgba(249, 246, 240, 0.96), rgba(245, 237, 226, 0.88));
}

.jcw-participation-errors {
	background: rgba(122, 28, 28, 0.06);
	border-color: rgba(122, 28, 28, 0.2);
}

.jcw-participation-errors ul {
	margin: 0;
	padding-left: 20px;
}

.jcw-participation-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

@media (max-width: 920px) {
	.jcw-participation-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 1080px) {
	.jcw-hero__grid,
	.jcw-story__grid,
	.jcw-impact__grid,
	.jcw-scale__grid,
	.jcw-partners__grid,
	.jcw-donation__grid,
	.jcw-donation__options,
	.jcw-access__grid,
	.jcw-payment-grid,
	.jcw-participation-grid,
	.jcw-weekend__grid,
	.jcw-weekend__card,
	.jcw-proof-bar__grid,
	.jcw-cards,
	.jcw-info-grid,
	.jcw-logistics {
		grid-template-columns: 1fr 1fr;
	}

	.jcw-cards {
		grid-template-columns: 1fr 1fr;
	}

	.jcw-weekend__actions {
		align-items: flex-start;
	}
}

@media (max-width: 767px) {
	.jcw-shell {
		width: min(100vw - 26px, 100%);
	}

	.jcw-payment-shell {
		width: min(100vw - 26px, 100%);
	}

	.jcw-hero,
	.jcw-story,
	.jcw-impact,
	.jcw-experience,
	.jcw-scale,
	.jcw-weekend,
	.jcw-partners,
	.jcw-practical,
	.jcw-donation,
	.jcw-final {
		padding: 64px 0;
	}

	.jcw-hero__grid,
	.jcw-story__grid,
	.jcw-impact__grid,
	.jcw-scale__grid,
	.jcw-partners__grid,
	.jcw-donation__grid,
	.jcw-donation__options,
	.jcw-access__grid,
	.jcw-weekend__grid,
	.jcw-participation-grid,
	.jcw-proof-bar__grid,
	.jcw-cards,
	.jcw-info-grid,
	.jcw-logistics,
	.jcw-weekend__card {
		grid-template-columns: 1fr;
	}

	.jcw-participation-form__grid {
		grid-template-columns: 1fr;
	}

	.jcw-hero h1 {
		max-width: none;
	}

	.jcw-proof-bar {
		padding-bottom: 12px;
	}

	.jcw-button {
		width: 100%;
	}

	.jcw-payment-main {
		padding: 54px 0 68px;
	}

	.jcw-payment-card {
		padding: 28px;
	}

	.jcw-participation-card {
		padding: 22px;
		border-radius: 24px;
	}

	.jcw-participation-card h1 {
		font-size: clamp(2rem, 10vw, 2.7rem);
	}

	.jcw-participation-card h2 {
		font-size: clamp(1.45rem, 7vw, 1.9rem);
	}

	.jcw-participation-card p,
	.jcw-participation-card li,
	.jcw-participation-card label,
	.jcw-participation-card legend {
		line-height: 1.65;
	}

	.jcw-participation-help,
	.jcw-participation-errors,
	.jcw-participation-success,
	.jcw-participation-choice-group {
		padding: 16px;
		border-radius: 18px;
	}

	.jcw-participation-choice {
		padding: 12px 14px;
		align-items: flex-start;
	}

	.jcw-participation-card .jcw-payment-actions,
	.jcw-participation-actions {
		display: grid;
		gap: 12px;
	}
}
