:root {
	--dhc-charcoal: #383735;
	--dhc-light: #DBDBDB;
	--dhc-red: #DF0024;
	--dhc-white: #fff;
	--dhc-black: #181817;
}

.dhc-campaign,
.dhc-campaign * {
	box-sizing: border-box;
}

.dhc-campaign {
	width: 100%;
	margin: 0;
	background: var(--dhc-charcoal);
	color: var(--dhc-light);
	font-family: "Alegreya Sans", Arial, sans-serif;
	line-height: 1.55;
	overflow: hidden;
}

.dhc-campaign h1,
.dhc-campaign h2,
.dhc-campaign h3,
.dhc-campaign legend {
	font-family: "Bitter", Georgia, serif;
	line-height: 1.1;
}

.dhc-wrap {
	width: min(1180px, 92vw);
	margin: 0 auto;
}

.dhc-hero {
	padding: 92px 0 66px;
	background:
		linear-gradient(115deg, rgba(56, 55, 53, .97), rgba(56, 55, 53, .76)),
		var(--dhc-hero-image, none) center / cover;
}

.dhc-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.18fr) minmax(320px, .82fr);
	gap: 48px;
	align-items: center;
}

.dhc-kicker {
	display: inline-block;
	color: var(--dhc-red);
	font-weight: 900;
	letter-spacing: .14em;
	text-transform: uppercase;
	font-size: .86rem;
	margin-bottom: 15px;
}

.dhc-hero h1 {
	color: var(--dhc-white);
	font-size: clamp(2.8rem, 6vw, 5.8rem);
	text-transform: uppercase;
	margin: 0 0 20px;
}

.dhc-lead {
	color: var(--dhc-light);
	font-size: clamp(1.08rem, 2vw, 1.3rem);
	max-width: 760px;
}

.dhc-no-purchase {
	background: var(--dhc-light);
	color: var(--dhc-charcoal);
	border-left: 7px solid var(--dhc-red);
	padding: 18px 20px;
	font-weight: 700;
	margin: 24px 0;
}

.dhc-no-purchase--light {
	background: #f2f2f2;
}

.dhc-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 11px 24px;
	border: 2px solid var(--dhc-red);
	border-radius: 6px;
	background: var(--dhc-red);
	color: var(--dhc-white) !important;
	text-decoration: none !important;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: .04em;
	cursor: pointer;
	transition: transform .18s ease, background-color .18s ease, color .18s ease;
}

.dhc-button:hover,
.dhc-button:focus {
	background: var(--dhc-white);
	border-color: var(--dhc-white);
	color: var(--dhc-charcoal) !important;
	transform: translateY(-2px);
}

.dhc-summary-card {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	background: rgba(24, 24, 23, .94);
	border: 1px solid rgba(219, 219, 219, .24);
	border-top: 8px solid var(--dhc-red);
	border-radius: 12px;
	padding: 30px;
	box-shadow: 0 25px 70px rgba(0, 0, 0, .34);
}

.dhc-status-badge {
	grid-column: 1 / -1;
	justify-self: start;
	background: var(--dhc-red);
	color: var(--dhc-white);
	border-radius: 999px;
	padding: 5px 11px;
	font-size: .78rem;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: .06em;
}

.dhc-summary-card__metric {
	background: #292827;
	border: 1px solid rgba(219, 219, 219, .14);
	border-radius: 8px;
	padding: 18px;
}

.dhc-summary-card__metric strong,
.dhc-summary-card__metric span {
	display: block;
}

.dhc-summary-card__metric strong {
	color: var(--dhc-red);
	font-size: clamp(1.35rem, 2.6vw, 2rem);
}

.dhc-summary-card__metric span {
	color: var(--dhc-light);
	font-size: .78rem;
	text-transform: uppercase;
	letter-spacing: .06em;
}

.dhc-section {
	padding: 74px 0;
}

.dhc-section h2 {
	color: var(--dhc-white);
	font-size: clamp(2rem, 4vw, 3.5rem);
	margin: 0 0 20px;
}

.dhc-section--light {
	background: var(--dhc-light);
	color: var(--dhc-charcoal);
}

.dhc-section--light h2,
.dhc-section--light h3,
.dhc-section--light legend {
	color: var(--dhc-charcoal);
}

.dhc-steps {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 17px;
}

.dhc-step {
	background: var(--dhc-white);
	border-bottom: 5px solid var(--dhc-red);
	border-radius: 10px;
	padding: 24px;
	box-shadow: 0 12px 30px rgba(0, 0, 0, .08);
}

.dhc-step > span {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--dhc-red);
	color: var(--dhc-white);
	font-weight: 900;
	font-size: 1.2rem;
}

.dhc-step h3 {
	margin: 16px 0 10px;
	font-size: 1.16rem;
}

.dhc-step p {
	color: var(--dhc-charcoal);
	margin-bottom: 0;
}

.dhc-story,
.dhc-story p,
.dhc-impact-section p,
.dhc-rules,
.dhc-rules p,
.dhc-rules li {
	color: var(--dhc-light);
}

.dhc-impact-section {
	background: #2a2928;
}

.dhc-impact-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin-top: 30px;
}

.dhc-impact-grid > div {
	background: var(--dhc-charcoal);
	border: 1px solid rgba(219, 219, 219, .18);
	border-radius: 10px;
	padding: 24px;
	text-align: center;
}

.dhc-impact-grid strong,
.dhc-impact-grid span {
	display: block;
}

.dhc-impact-grid strong {
	color: var(--dhc-red);
	font-size: 2.1rem;
}

.dhc-impact-grid span {
	color: var(--dhc-light);
	font-size: .83rem;
	text-transform: uppercase;
	letter-spacing: .06em;
}

.dhc-entry-shell {
	max-width: 900px;
}

.dhc-entry-panel {
	background: var(--dhc-white);
	border-radius: 12px;
	padding: clamp(24px, 5vw, 46px);
	box-shadow: 0 12px 30px rgba(0, 0, 0, .09);
}

.dhc-form-error {
	background: #ffe5e9;
	border-left: 6px solid var(--dhc-red);
	color: var(--dhc-charcoal);
	padding: 15px;
	font-weight: 700;
	margin: 18px 0;
}

.dhc-closed {
	background: #f2f2f2;
	border: 2px solid var(--dhc-charcoal);
	padding: 22px;
}

.dhc-progress {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 7px;
	margin: 30px 0;
}

.dhc-progress span {
	display: grid;
	place-items: center;
	height: 8px;
	background: #b7b7b6;
	color: transparent;
	font-size: 0;
}

.dhc-progress span.is-active,
.dhc-progress span.is-complete {
	background: var(--dhc-red);
}

.dhc-step-panel {
	border: 0;
	margin: 0;
	padding: 0;
}

.dhc-step-panel[hidden] {
	display: none !important;
}

.dhc-step-panel legend {
	font-size: clamp(1.55rem, 3vw, 2.2rem);
	font-weight: 800;
	margin-bottom: 22px;
}

.dhc-form-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
}

.dhc-entry-form label {
	display: block;
	color: var(--dhc-charcoal);
	font-weight: 800;
	margin: 0 0 18px;
}

.dhc-entry-form input,
.dhc-entry-form select,
.dhc-entry-form textarea {
	width: 100%;
	min-height: 48px;
	margin-top: 7px;
	padding: 10px 12px;
	border: 2px solid #aaa9a7;
	border-radius: 5px;
	background: var(--dhc-white);
	color: var(--dhc-charcoal);
	font: inherit;
}

.dhc-entry-form input:focus,
.dhc-entry-form select:focus,
.dhc-entry-form textarea:focus {
	border-color: var(--dhc-red);
	outline: 3px solid rgba(223, 0, 36, .22);
}

.dhc-upload-zone {
	display: grid !important;
	place-items: center;
	min-height: 180px;
	padding: 24px;
	border: 3px dashed #9b9a98;
	border-radius: 9px;
	background: #f3f3f3;
	text-align: center;
}

.dhc-upload-zone.is-dragging {
	border-color: var(--dhc-red);
	background: #ffecef;
}

.dhc-upload-zone input[type="file"] {
	border: 0;
	background: transparent;
	max-width: 520px;
}

.dhc-upload-zone span {
	display: block;
	font-weight: 400;
	font-size: .92rem;
}

.dhc-check {
	display: grid !important;
	grid-template-columns: auto 1fr;
	gap: 10px;
	align-items: start;
	font-weight: 600 !important;
}

.dhc-check input[type="checkbox"] {
	width: 20px;
	height: 20px;
	min-height: auto;
	margin: 2px 0 0;
	accent-color: var(--dhc-red);
}

.dhc-form-actions {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	margin-top: 22px;
}

.dhc-text-button,
.dhc-no-thanks {
	border: 0;
	background: none;
	color: var(--dhc-charcoal) !important;
	font-weight: 800;
	text-decoration: underline !important;
	cursor: pointer;
}

.dhc-honeypot {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.dhc-confirmation {
	background: var(--dhc-light);
	color: var(--dhc-charcoal);
}

.dhc-confirmation__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 28px;
	align-items: start;
}

.dhc-confirmation-card,
.dhc-donation-card {
	background: var(--dhc-white);
	border-radius: 12px;
	padding: clamp(25px, 4vw, 40px);
	box-shadow: 0 12px 32px rgba(0, 0, 0, .09);
}

.dhc-confirmation-card h2,
.dhc-donation-card h2 {
	color: var(--dhc-charcoal);
}

.dhc-confirmation-icon {
	display: grid;
	place-items: center;
	width: 62px;
	height: 62px;
	border-radius: 50%;
	background: var(--dhc-red);
	color: var(--dhc-white);
	font-size: 2rem;
	font-weight: 900;
	margin-bottom: 20px;
}

.dhc-entry-id {
	background: #f2f2f2;
	border-left: 5px solid var(--dhc-red);
	padding: 14px;
}

.dhc-entry-id span,
.dhc-entry-id strong {
	display: block;
}

.dhc-entry-id strong {
	word-break: break-all;
}

.dhc-donation-card {
	border-top: 8px solid var(--dhc-red);
}

.dhc-donation-options {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
	margin: 24px 0;
}

.dhc-donation-option {
	position: relative;
	display: grid;
	place-items: center;
	min-height: 78px;
	border: 2px solid var(--dhc-charcoal);
	border-radius: 7px;
	color: var(--dhc-charcoal) !important;
	text-decoration: none !important;
	font-size: 1.2rem;
}

.dhc-donation-option:hover,
.dhc-donation-option:focus,
.dhc-donation-option.is-suggested {
	border-color: var(--dhc-red);
	background: var(--dhc-red);
	color: var(--dhc-white) !important;
}

.dhc-donation-option span {
	font-size: .7rem;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: .08em;
}

.dhc-no-thanks {
	display: block;
	text-align: center;
	margin: 18px 0;
}

.dhc-donation-legal {
	font-size: .88rem;
	color: #5e5d5a;
}

.dhc-rules {
	background: var(--dhc-black);
	border-top: 1px solid rgba(219, 219, 219, .15);
}

.dhc-rules__grid {
	display: grid;
	grid-template-columns: .75fr 1.25fr;
	gap: 50px;
}

.dhc-campaign-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.dhc-campaign-tile {
	background: #fff;
	border-bottom: 6px solid var(--dhc-red);
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .1);
}

.dhc-campaign-tile__image {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
}

.dhc-campaign-tile__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.dhc-campaign-tile__body {
	padding: 22px;
}

.dhc-campaign-tile__body h3 a {
	color: var(--dhc-charcoal);
	text-decoration: none;
}

@media (max-width: 940px) {
	.dhc-hero__grid,
	.dhc-confirmation__grid,
	.dhc-rules__grid {
		grid-template-columns: 1fr;
	}

	.dhc-summary-card {
		max-width: 650px;
	}

	.dhc-steps {
		grid-template-columns: 1fr 1fr;
	}

	.dhc-campaign-grid {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 620px) {
	.dhc-wrap {
		width: min(92vw, 560px);
	}

	.dhc-hero {
		padding: 58px 0 48px;
	}

	.dhc-hero h1 {
		font-size: clamp(2.45rem, 12vw, 3.7rem);
	}

	.dhc-section {
		padding: 52px 0;
	}

	.dhc-steps,
	.dhc-impact-grid,
	.dhc-form-grid,
	.dhc-campaign-grid {
		grid-template-columns: 1fr;
	}

	.dhc-summary-card,
	.dhc-donation-options {
		grid-template-columns: 1fr 1fr;
	}

	.dhc-form-actions {
		align-items: stretch;
		flex-direction: column-reverse;
	}

	.dhc-form-actions .dhc-button,
	.dhc-form-actions .dhc-text-button,
	.dhc-hero .dhc-button {
		width: 100%;
	}
}
