.drawing-contest {
	--contest-blue: #0075bd;
	--contest-blue-dark: #005b94;
	--contest-green: #8fc43c;
	--contest-ink: #315168;
	--contest-muted: #637985;
	--contest-cream: #f5f8ee;
	color: var(--contest-ink);
	font-family: TisaLightItalic, sans-serif;
}

.drawing-contest *,
.drawing-contest *::before,
.drawing-contest *::after {
	box-sizing: border-box;
}

.drawing-contest h1,
.drawing-contest h2,
.drawing-contest h3,
.drawing-contest p {
	margin-top: 0;
}

.drawing-contest h1,
.drawing-contest h2,
.drawing-contest h3 {
	font-family: TisaBlack, sans-serif;
	font-weight: 400;
	line-height: 1.12;
}

.drawing-contest a {
	color: var(--contest-blue);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.contest-wrap {
	width: min(1120px, calc(100% - 40px));
	margin: 0 auto;
}

.contest-intro {
	/* Rendered height of the milk wave (2880×274, at least 900px wide). */
	--contest-milk-height: max(9.51vw, 86px);
	--contest-visual-lift: calc(var(--contest-milk-height) * .15);
	position: relative;
	overflow: hidden;
	background: #0275bd;
	color: #fff;
}

.contest-intro__art {
	position: absolute;
	z-index: 0;
	left: 0;
	bottom: var(--contest-visual-lift);
	/* The bottle reaches the image's right edge; 42% keeps it clear of the 54%-wide copy,
	   545px keeps it ~700px tall (image is 849×1092). */
	width: min(42%, 545px);
	pointer-events: none;
}

.contest-intro__visual {
	display: block;
	width: 100%;
	height: auto;
}

/* Floating doodles from the homepage hero, placed relative to the bottle image. */
.contest-intro__icon {
	position: absolute;
	display: block;
	height: auto;
}

.contest-intro__icon--bubbles {
	top: 8%;
	left: 42%;
	width: clamp(34px, 7.5%, 46px);
}

.contest-intro__icon--croissant {
	top: 12%;
	left: 13%;
	width: clamp(38px, 8.5%, 54px);
}

.contest-intro__icon--heart {
	top: 25%;
	left: 6%;
	width: clamp(20px, 4.2%, 26px);
}

.contest-intro__icon--heart-outline {
	top: 62%;
	left: 43%;
	width: clamp(20px, 4.2%, 26px);
}

.contest-intro__icon--flower {
	top: 75%;
	left: 32%;
	width: clamp(20px, 4.2%, 26px);
}

/* Centred in the gap between the bottle (545px) and the copy, which starts at 50vw - 48px. */
.contest-intro__icon--heart-side {
	top: 30%;
	left: calc(100% + 25vw - 308px);
	width: 24px;
}

.contest-intro__icon--flower-side {
	top: 60%;
	left: calc(100% + 25vw - 322px);
	width: 26px;
}

.contest-intro::after {
	content: none;
}

.contest-intro__milk {
	position: absolute;
	z-index: 1;
	left: 50%;
	bottom: -1px;
	display: block;
	width: max(100%, 900px);
	max-width: none;
	height: auto;
	pointer-events: none;
	transform: translateX(-50%);
}

.contest-intro__layout {
	position: relative;
	z-index: 2;
	display: flex;
	width: min(1200px, calc(100% - 40px));
	min-height: 570px;
	align-items: center;
	justify-content: flex-end;
	margin: 0 auto;
	padding: 48px 0 calc(var(--contest-milk-height) * .87 + 48px);
}

.contest-intro__copy {
	position: relative;
	z-index: 1;
	width: min(100%, 650px, 54%);
}

.contest-eyebrow {
	margin-bottom: 12px;
	color: #78a72f;
	font-family: TisaBold, sans-serif;
	font-size: 15px;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.contest-intro .contest-eyebrow,
.contest-section__heading--light .contest-eyebrow {
	color: var(--contest-green);
}

.contest-intro__title {
	position: relative;
}

/* Sits beside the short last lines of the title ("DOMAĆEG / MLEKA"). */
.contest-intro__badge {
	position: absolute;
	right: 0;
	bottom: 0;
	display: block;
	width: clamp(84px, 9vw, 132px);
	height: auto;
	transform-origin: 50% 100%;
	animation: contest-badge-wobble 1.6s ease-in-out infinite alternate;
}

/* Gentler take on the homepage "10" wobble. */
@keyframes contest-badge-wobble {
	from {
		transform: rotate(-4deg);
	}

	to {
		transform: rotate(8deg);
	}
}

.contest-intro h1 {
	margin-bottom: 19px;
	color: #fff;
	font-size: clamp(43px, 6.8vw, 78px);
	text-transform: uppercase;
}

.contest-intro__text {
	max-width: 620px;
	margin-bottom: 13px;
	font-size: clamp(17px, 1.55vw, 20px);
	line-height: 1.48;
}

.contest-intro__text--secondary {
	margin-bottom: 18px;
}

.contest-deadline {
	margin-bottom: 24px;
	font-family: TisaBold, sans-serif;
	font-size: 18px;
}

.contest-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 18px 24px;
}

.contest-button {
	display: inline-flex;
	min-height: 50px;
	align-items: center;
	justify-content: center;
	gap: 9px;
	padding: 12px 24px;
	border: 2px solid transparent;
	border-radius: 999px;
	background: var(--contest-green);
	color: #fff !important;
	font-family: TisaBold, sans-serif;
	font-size: 17px;
	text-align: center;
	text-decoration: none !important;
	transition: transform .2s ease, box-shadow .2s ease;
}

.contest-button:hover,
.contest-button:focus-visible {
	box-shadow: 0 8px 20px rgb(22 57 75 / 20%);
	transform: translateY(-2px);
}

.contest-button:focus-visible,
.contest-text-link:focus-visible,
.contest-voting__dates a:focus-visible {
	outline: 3px solid #f5cb54;
	outline-offset: 4px;
}

.contest-button--blue {
	background: var(--contest-blue);
}

.contest-button--green {
	background: var(--contest-green);
}

.contest-text-link {
	color: #fff !important;
	font-family: TisaBold, sans-serif;
	font-size: 16px;
	text-decoration: none;
}

.contest-text-link span {
	margin-left: 4px;
}

.contest-facts {
	position: relative;
	z-index: 2;
	background: #fff;
	box-shadow: 0 10px 24px rgb(49 81 104 / 7%);
}

.contest-facts__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: stretch;
}

/* Top-aligned so every heading sits on the same line, however long the text below it. */
.contest-fact {
	display: grid;
	min-height: 74px;
	grid-template-columns: 44px 1fr;
	grid-template-rows: auto 1fr;
	align-content: start;
	column-gap: 13px;
	padding: 26px 22px 24px;
	border-right: 1px solid #e5ecdf;
}

.contest-fact:last-child {
	border-right: 0;
}

.contest-fact__icon {
	display: grid;
	width: 42px;
	height: 42px;
	grid-row: span 2;
	place-items: center;
	align-self: start;
	margin-top: -9px;
	border-radius: 50%;
	background: #eff6e2;
	color: var(--contest-blue);
	font-size: 23px;
}

.contest-fact__icon img {
	display: block;
	width: auto;
	height: 24px;
}

.contest-fact strong {
	align-self: start;
	margin-bottom: 3px;
	color: var(--contest-blue);
	font-family: TisaBold, sans-serif;
	font-size: 18px;
	line-height: 1.2;
}

.contest-fact > span:last-child {
	align-self: start;
	color: var(--contest-muted);
	font-size: 14px;
	line-height: 1.4;
}

.contest-section {
	padding: 86px 0;
}

.contest-section--white {
	background: #fff;
}

.contest-section--cream {
	background: var(--contest-cream);
}

.contest-section__heading {
	max-width: 760px;
	margin: 0 auto 42px;
	text-align: center;
}

.contest-section__heading h2,
.contest-voting h2,
.contest-purpose h2,
.contest-rules h2 {
	margin-bottom: 14px;
	color: var(--contest-blue);
	font-size: clamp(34px, 4vw, 48px);
}

.contest-section__heading > p:last-child {
	margin-bottom: 0;
	color: var(--contest-muted);
	font-size: 18px;
	line-height: 1.55;
}

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

.contest-step {
	position: relative;
	min-height: 214px;
	padding: 28px 26px;
	border: 1px solid #e3eadc;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 8px 22px rgb(49 81 104 / 5%);
}

.contest-step__number {
	display: inline-block;
	margin-bottom: 17px;
	color: var(--contest-green);
	font-family: TisaBlack, sans-serif;
	font-size: 30px;
	line-height: 1;
}

.contest-step h3 {
	margin-bottom: 11px;
	color: var(--contest-blue);
	font-size: 22px;
}

.contest-step p {
	margin-bottom: 0;
	color: var(--contest-muted);
	font-size: 16px;
	line-height: 1.55;
}

.contest-section--white > .contest-wrap > .contest-button {
	display: flex;
	width: fit-content;
	margin: 0 auto;
}

.contest-eligibility-section {
	overflow: hidden;
	background: #84be32;
}

.contest-eligibility {
	display: grid;
	max-width: 1000px;
	grid-template-columns: minmax(0, 1fr) minmax(280px, .75fr);
	align-items: center;
	gap: 56px;
}

.contest-eligibility__copy h2 {
	margin-bottom: 18px;
	color: #fff;
	font-size: clamp(34px, 4vw, 48px);
}

.contest-eligibility__copy .contest-eyebrow {
	color: #fff;
}

.contest-eligibility__copy > p:not(.contest-eyebrow) {
	max-width: 600px;
	margin-bottom: 16px;
	color: #fff;
	font-size: 19px;
	line-height: 1.6;
}

.contest-eligibility__copy .contest-button {
	margin-top: 8px;
}

.contest-eligibility__cow {
	position: relative;
	width: min(100%, 340px);
	justify-self: center;
}

.contest-eligibility__cow > img {
	display: block;
	width: 100%;
	height: auto;
}

.contest-eligibility__art-tool {
	position: absolute;
	top: 35%;
	left: -2.2%;
	width: 22%;
	height: 28%;
	overflow: visible;
	filter: drop-shadow(1px 2px 1px rgb(34 53 60 / 20%));
	transform: rotate(-5deg);
	transform-origin: center;
}

.contest-eligibility__brush {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	overflow: visible;
	filter: drop-shadow(1px 2px 1px rgb(34 53 60 / 20%));
	pointer-events: none;
}

.contest-section--blue {
	background:
		radial-gradient(ellipse at 4% 92%, rgb(143 196 61 / 15%), transparent 26%),
		linear-gradient(140deg, #006ba9 0%, #087fbd 100%);
}

.contest-section__heading--light h2,
.contest-section__heading--light > p:last-child {
	color: #fff;
}

.contest-section__heading--light > p:last-child {
	opacity: .88;
}

.contest-prizes {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
	gap: 20px;
}

.contest-prize {
	display: flex;
	min-height: 400px;
	flex-direction: column;
	align-items: center;
	padding: 25px 24px 27px;
	border: 1px solid rgb(255 255 255 / 54%);
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 12px 26px rgb(0 47 77 / 15%);
	text-align: center;
}

.contest-prize--first {
	border: 3px solid #c8e89a;
	transform: translateY(-8px);
}

.contest-prize__topline {
	display: flex;
	min-height: 30px;
	align-items: center;
	justify-content: center;
}

.contest-prize__place {
	padding: 7px 14px;
	border-radius: 999px;
	background: #eff6e2;
	color: #638f2b;
	font-family: TisaBold, sans-serif;
	font-size: 13px;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.contest-prize__icon {
	display: grid;
	width: 116px;
	height: 116px;
	flex: 0 0 116px;
	place-items: center;
	margin: 14px 0 12px;
	border-radius: 50%;
	background: #eff6e2;
	color: var(--contest-blue);
}

.contest-prize__icon svg,
.contest-prize__icon img {
	display: block;
	width: 72px;
	height: 72px;
	object-fit: contain;
}

.contest-prize__icon--first {
	background: #edf5dd;
	color: #73a52e;
}

.contest-prize__icon--first,
.contest-prize__icon--finalists {
	color: var(--contest-green);
}

.contest-prize h3 {
	max-width: 290px;
	margin-bottom: 16px;
	color: var(--contest-blue);
	font-size: 23px;
	text-wrap: balance;
}

.contest-prize__detail {
	width: 100%;
	margin-top: auto;
	padding-top: 14px;
	border-top: 1px solid #e7ecdf;
}

.contest-prize__detail p {
	margin-bottom: 0;
	color: var(--contest-muted);
	font-size: 15px;
	line-height: 1.5;
}

.contest-audience-note {
	display: flex;
	max-width: 850px;
	align-items: flex-start;
	gap: 14px;
	margin: 32px auto 0;
	padding: 17px 20px;
	border: 1px solid rgb(255 255 255 / 26%);
	border-radius: 14px;
	background: rgb(255 255 255 / 10%);
	color: #fff;
}

.contest-audience-note__icon {
	display: grid;
	width: 25px;
	height: 25px;
	flex: 0 0 25px;
	place-items: center;
	border: 1px solid #d5efaf;
	border-radius: 50%;
	color: #d5efaf;
	font-family: Arial, sans-serif;
	font-size: 15px;
	font-weight: 700;
}

.contest-audience-note p {
	margin: 0;
	font-size: 16px;
	line-height: 1.5;
}

.contest-voting {
	background: #fff;
}

.contest-voting__layout {
	display: grid;
	grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
	align-items: center;
	gap: clamp(30px, 5vw, 68px);
}

.contest-voting h2 {
	max-width: 650px;
}

.contest-voting__layout > div:first-child > p:not(.contest-eyebrow) {
	color: var(--contest-muted);
	font-size: 17px;
	line-height: 1.65;
}

.contest-voting__visual {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
}

.contest-voting__visual > img {
	display: block;
	width: min(100%, 590px);
	height: auto;
}

.contest-voting__phone-screen {
	position: absolute;
	top: 46.2%;
	left: 24.5%;
	width: 27%;
	height: 49.1%;
	overflow: hidden;
	border: 2px solid #111;
	border-radius: 9% / 3.5%;
	background: #fff;
	text-decoration: none !important;
	box-shadow: 0 1px 3px rgb(0 0 0 / 24%);
}

.contest-voting__phone-screen:focus-visible {
	outline: 3px solid #f5cb54;
	outline-offset: 3px;
}

.contest-voting__phone-screen img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.contest-voting__dates {
	padding: 24px;
	border: 1px solid #e2ead7;
	border-radius: 20px;
	margin-top: 24px;
	background: #fff;
	box-shadow: 0 10px 24px rgb(49 81 104 / 7%);
}

.contest-voting__date {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	padding: 0 0 20px;
}

.contest-voting__date + .contest-voting__date {
	padding-top: 18px;
	border-top: 1px solid #e5ecdf;
}

.contest-voting__date > span {
	padding-top: 5px;
	color: var(--contest-muted);
	font-size: 14px;
}

.contest-voting__date strong {
	color: var(--contest-blue);
	font-family: TisaBold, sans-serif;
	font-size: 18px;
	text-align: right;
}

.contest-voting__date small {
	font-size: 15px;
}

.contest-voting__dates > a {
	display: block;
	padding: 13px 15px;
	border-radius: 999px;
	background: var(--contest-blue);
	color: #fff;
	font-family: TisaBold, sans-serif;
	text-align: center;
	text-decoration: none;
}

.contest-timeline {
	position: relative;
	width: min(100%, 820px);
	max-width: 820px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

.contest-timeline::before {
	position: absolute;
	top: 12px;
	bottom: 14px;
	left: 8px;
	width: 2px;
	background: #dce8ca;
	content: "";
}

.contest-timeline li {
	position: relative;
	display: grid;
	grid-template-columns: 245px 1fr;
	gap: 18px;
	padding: 0 0 22px 34px;
}

.contest-timeline li::before {
	position: absolute;
	top: 6px;
	left: 2px;
	width: 14px;
	height: 14px;
	border: 3px solid #fff;
	border-radius: 50%;
	background: var(--contest-green);
	box-shadow: 0 0 0 1px var(--contest-green);
	content: "";
}

.contest-timeline time {
	color: var(--contest-blue);
	font-family: TisaBold, sans-serif;
	font-size: 17px;
}

.contest-timeline li > span {
	color: var(--contest-muted);
	font-size: 16px;
	line-height: 1.5;
}

.contest-timeline__actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-top: 16px;
}

.contest-timeline__place {
	display: inline-flex;
	min-height: 48px;
	align-items: center;
	gap: 8px;
	padding: 10px 17px;
	border-radius: 999px;
	background: #eff6e2;
	color: #527d21;
	font-family: TisaBold, sans-serif;
	text-decoration: none !important;
}

.contest-timeline__place:hover,
.contest-timeline__place:focus-visible {
	background: #fff;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

.contest-timeline__place svg {
	width: 20px;
	height: 20px;
	flex: 0 0 20px;
}

.contest-timeline__place span {
	margin-right: 5px;
	color: var(--contest-blue);
}

#vazni-datumi {
	background: #84be32;
}

#vazni-datumi .contest-section__heading .contest-eyebrow,
#vazni-datumi .contest-section__heading h2,
#vazni-datumi .contest-section__heading > p:last-child,
#vazni-datumi .contest-timeline time,
#vazni-datumi .contest-timeline li > span {
	color: #fff;
}

#vazni-datumi .contest-timeline::before {
	background: rgb(255 255 255 / 55%);
}

#vazni-datumi .contest-timeline li::before {
	border-color: #84be32;
	background: #fff;
	box-shadow: 0 0 0 1px #fff;
}

#vazni-datumi .contest-timeline__place {
	background: #fff;
	color: #527d21;
}

.contest-calendar-button {
	min-height: 48px;
}

.contest-timeline__place:focus-visible {
	outline: 3px solid #fff;
	outline-offset: 3px;
}

.contest-exhibition {
	background: #0075bd;
}

.contest-exhibition .contest-section__heading {
	max-width: 1120px;
	margin-bottom: 30px;
	text-align: center;
}

.contest-exhibition .contest-section__heading .contest-eyebrow {
	color: var(--contest-green);
}

.contest-exhibition .contest-section__heading h2 {
	color: #fff;
}

.contest-exhibition__content {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
	align-items: center;
	gap: clamp(24px, 5vw, 72px);
	max-width: 1120px;
	margin: 0 auto;
}

.contest-exhibition__copy {
	min-width: 0;
	padding: 10px 0;
}

.contest-exhibition__date-label {
	margin: 0 0 10px;
	background: var(--contest-green);
	color: #fff;
	width: fit-content;
	padding: 8px 14px;
	border-radius: 999px;
	font-family: TisaBold, sans-serif;
	font-size: 13px;
	letter-spacing: .07em;
	text-transform: uppercase;
}

.contest-exhibition__date {
	margin: 0 0 5px;
	color: #fff;
	font-family: TisaBlack, sans-serif;
	font-size: clamp(29px, 3.2vw, 42px);
	line-height: 1.2;
}

.contest-exhibition__venue {
	margin: 0 0 22px;
	color: var(--contest-green);
	font-family: TisaBold, sans-serif;
	font-size: 16px;
	line-height: 1.4;
}

.contest-exhibition__illustration {
	position: relative;
	display: flex;
	min-height: 480px;
	align-items: center;
	justify-content: center;
	width: 100%;
}

.contest-exhibition__illustration > img {
	display: block;
	width: min(100%, 490px);
	max-height: 520px;
	object-fit: contain;
}

.contest-exhibition__trophy {
	position: absolute;
	top: 17%;
	left: 61%;
	width: 18%;
	height: auto;
	overflow: visible;
	filter: drop-shadow(0 3px 2px rgb(52 42 21 / 24%));
	transform: rotate(12deg);
	transform-origin: 50% 90%;
}

.contest-exhibition__details {
	max-width: 660px;
}

.contest-exhibition__details p {
	margin-bottom: 14px;
	color: rgb(255 255 255 / 90%);
	font-size: 16px;
	line-height: 1.6;
}

.contest-exhibition__details p:last-child {
	margin-bottom: 0;
}

.contest-exhibition__details .contest-exhibition__duration {
	padding-top: 13px;
	border-top: 1px solid rgb(255 255 255 / 25%);
	color: #fff;
	font-family: TisaBold, sans-serif;
}

.contest-purpose {
	display: grid;
	grid-template-columns: .8fr 1.2fr;
	align-items: center;
	gap: 60px;
}

.contest-purpose h2 {
	margin-bottom: 0;
}

.contest-purpose > div:last-child p {
	margin-bottom: 13px;
	color: var(--contest-muted);
	font-size: 18px;
	line-height: 1.6;
}

.contest-purpose > div:last-child strong {
	color: var(--contest-ink);
	font-family: TisaBold, sans-serif;
}

.contest-purpose > div:last-child a {
	color: var(--contest-blue);
	font-family: TisaBold, sans-serif;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.contest-purpose > div:last-child a:focus-visible {
	outline: 3px solid var(--contest-green);
	outline-offset: 3px;
}

.contest-purpose > div:last-child p:last-child {
	margin-bottom: 0;
}

.contest-purpose__partner {
	display: block;
	width: 135px;
	height: 46px;
	margin-top: 18px;
	background-color: rgb(0 117 189 / var(--tw-bg-opacity, 1));
	-webkit-mask: url("assets/sos-decija-sela-logo.svg") center / contain no-repeat;
	mask: url("assets/sos-decija-sela-logo.svg") center / contain no-repeat;
}

.contest-rules {
	background: #fff;
}

.contest-rules__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(270px, .65fr);
	align-items: center;
	gap: 60px;
}

.contest-rules__layout > div:first-child > p:last-child {
	max-width: 670px;
	margin-bottom: 0;
	color: var(--contest-muted);
	font-size: 18px;
	line-height: 1.6;
}

.contest-rules__actions {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
}

.contest-rules__actions p {
	margin: 5px 0 0;
	color: var(--contest-muted);
	font-size: 15px;
}

.contest-rules__actions p a {
	font-family: TisaBold, sans-serif;
}

.contest-contact {
	overflow: hidden;
	background: #84be32;
	color: #fff;
}

.contest-contact__layout {
	display: grid;
	width: min(1260px, calc(100% - 32px));
	min-height: 390px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: end;
	gap: 24px;
	margin: 0 auto;
	padding: 64px 32px 48px;
}

.contest-contact__cow {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	order: 2;
}

.contest-contact__cow img {
	display: block;
	width: min(100%, 430px);
	max-height: 370px;
	object-fit: contain;
	object-position: bottom;
}

.contest-contact__copy {
	display: flex;
	flex-direction: column;
	align-items: center;
	order: 1;
	padding: 0 12px 28px;
	text-align: center;
}

.contest-contact__copy h2 {
	margin-bottom: 12px;
	color: #fff;
	font-size: clamp(36px, 5vw, 68px);
	line-height: 1.08;
	text-shadow: 0 3px 8px rgb(0 0 0 / 12%);
}

.contest-contact__curve {
	display: block;
	width: 112px;
	height: auto;
	margin: 12px 0 18px;
}

.contest-contact__copy p {
	max-width: 520px;
	margin-bottom: 8px;
	color: #fff;
	font-size: clamp(18px, 2vw, 25px);
	line-height: 1.5;
}

.contest-contact__email {
	color: #fff !important;
	font-family: TisaBold, sans-serif;
	font-size: clamp(18px, 2vw, 25px);
	text-decoration: underline;
	text-underline-offset: 4px;
	overflow-wrap: anywhere;
}

.contest-contact__email:focus-visible {
	outline: 3px solid #fff;
	outline-offset: 5px;
}

@media (max-width: 1499px) {
	/* No room between the bottle and the copy below this width. */
	.contest-intro__icon--side {
		display: none;
	}
}

@media (max-width: 1023px) {
	/* Four facts get too narrow in one row; switch to 2×2. */
	.contest-facts__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.contest-fact:nth-child(2n) {
		border-right: 0;
	}

	.contest-fact:nth-child(-n + 2) {
		border-bottom: 1px solid #e5ecdf;
	}
}

@media (max-width: 900px) {
	.contest-intro__layout {
		min-height: 500px;
	}

	.contest-fact {
		padding-right: 12px;
		padding-left: 12px;
	}

	.contest-steps,
	.contest-prizes {
		gap: 14px;
	}

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

	.contest-prize {
		padding-right: 17px;
		padding-left: 17px;
	}

	.contest-voting__layout,
	.contest-rules__layout {
		gap: 34px;
	}

	.contest-voting__visual > img {
		width: min(100%, 500px);
	}

	.contest-exhibition__content {
		grid-template-columns: minmax(0, 1.08fr) minmax(280px, .92fr);
		gap: 28px;
	}

	.contest-exhibition__illustration {
		min-height: 390px;
	}

	.contest-exhibition__illustration > img {
		max-height: 420px;
	}

	.contest-contact__layout {
		min-height: 340px;
		padding-right: 16px;
		padding-left: 16px;
	}

	.contest-contact__cow img {
		max-height: 320px;
	}
}

@media (max-width: 640px) {
	.contest-intro {
		--contest-mobile-drop: 32px;
	}

	.contest-wrap {
		width: min(100% - 32px, 480px);
	}

	.contest-intro__layout {
		width: min(100% - 32px, 480px);
		min-height: auto;
		padding: 40px 0 8px;
	}

	.contest-intro__copy {
		position: static;
		width: 100%;
		text-align: center;
	}

	/* No room beside the centred title; drop the badge next to the bottle cap below the copy. */
	.contest-intro__title {
		position: static;
	}

	.contest-intro__badge {
		top: calc(100% + 12px + var(--contest-mobile-drop));
		right: -8px;
		bottom: auto;
		width: 88px;
	}

	.contest-intro h1 {
		font-size: clamp(39px, 11vw, 57px);
	}

	.contest-intro__text {
		font-size: 16px;
	}

	.contest-deadline {
		font-size: 16px;
	}

	.contest-actions {
		justify-content: center;
		flex-direction: column;
		gap: 14px;
	}

	.contest-button {
		min-height: 47px;
		padding: 11px 20px;
		font-size: 16px;
	}

	.contest-intro {
		background: #0275bd;
	}

	/* Back in the flow, so the bottle sits under the copy and dips into the milk.
	   The drop moves it lower and sinks it deeper by the same amount, so the banner keeps its height. */
	.contest-intro__art {
		position: relative;
		bottom: auto;
		width: min(85%, 360px);
		margin-top: var(--contest-mobile-drop);
		margin-bottom: calc(var(--contest-milk-height) * .3 - var(--contest-mobile-drop));
	}

	.contest-facts__grid {
		grid-template-columns: 1fr;
		padding-top: 8px;
		padding-bottom: 8px;
	}

	.contest-fact {
		min-height: 78px;
		padding: 20px 8px 14px;
		border-right: 0;
		border-bottom: 1px solid #e5ecdf;
	}

	.contest-fact:last-child {
		border-bottom: 0;
	}

	.contest-section {
		padding: 62px 0;
	}

	.contest-section__heading {
		margin-bottom: 30px;
	}

	.contest-section__heading h2,
	.contest-voting h2,
	.contest-purpose h2,
	.contest-rules h2 {
		font-size: 34px;
	}

	.contest-section__heading > p:last-child {
		font-size: 16px;
	}

	.contest-steps,
	.contest-prizes {
		grid-template-columns: 1fr;
		gap: 15px;
	}

	.contest-eligibility {
		grid-template-columns: 1fr;
		gap: 20px;
		text-align: center;
	}

	.contest-eligibility__copy > p:not(.contest-eyebrow) {
		margin-right: auto;
		margin-left: auto;
		font-size: 16px;
	}

	.contest-eligibility__cow {
		width: min(78%, 280px);
	}

	.contest-step {
		min-height: 0;
		padding: 23px 22px;
	}

	.contest-step__number {
		margin-bottom: 12px;
	}

	.contest-prize {
		min-height: 360px;
	}

	.contest-prize--first {
		transform: none;
	}

	.contest-audience-note {
		margin-top: 22px;
		padding: 15px;
	}

	.contest-audience-note p {
		font-size: 15px;
	}

	.contest-voting__layout,
	.contest-purpose,
	.contest-rules__layout {
		grid-template-columns: 1fr;
		gap: 26px;
	}

	.contest-voting__visual {
		width: min(100%, 440px);
		margin: -6px auto 0;
	}

	.contest-voting__visual > img {
		width: 100%;
	}

	.contest-exhibition__content {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.contest-exhibition__copy {
		padding-top: 0;
	}

	.contest-exhibition__illustration {
		min-height: 0;
		height: 320px;
	}

	.contest-exhibition__illustration > img {
		width: min(100%, 330px);
		max-height: 320px;
	}

	.contest-exhibition__details {
		padding: 0;
	}

	.contest-exhibition__trophy {
		top: 14%;
		left: 61%;
		width: 19%;
	}

	.contest-voting__layout > div:first-child > p:not(.contest-eyebrow),
	.contest-purpose > div:last-child p,
	.contest-rules__layout > div:first-child > p:last-child {
		font-size: 16px;
	}

	.contest-voting__dates {
		padding: 20px;
	}

	.contest-timeline li {
		grid-template-columns: 1fr;
		gap: 3px;
		padding-bottom: 20px;
	}

	.contest-timeline time {
		font-size: 16px;
	}

	.contest-timeline li > span {
		font-size: 15px;
	}

	.contest-timeline__actions {
		align-items: stretch;
		flex-direction: column;
		gap: 10px;
		margin-left: 34px;
	}

	.contest-timeline__place {
		width: 100%;
		justify-content: center;
		padding-right: 14px;
		padding-left: 14px;
	}

	.contest-calendar-button {
		width: 100%;
		white-space: nowrap;
	}

	.contest-timeline__place {
		font-size: 14px;
	}

	.contest-rules__actions {
		align-items: stretch;
	}

	.contest-rules__actions .contest-button {
		width: 100%;
	}

	.contest-contact__layout {
		width: min(100% - 32px, 480px);
		min-height: 0;
		grid-template-columns: 1fr;
		gap: 12px;
		padding: 48px 0 30px;
	}

	.contest-contact__cow {
		order: 1;
	}

	.contest-contact__cow img {
		width: min(80%, 300px);
		max-height: 250px;
	}

	.contest-contact__copy {
		order: 2;
		padding: 0 0 10px;
	}

	.contest-contact__copy h2 {
		font-size: 40px;
	}

	.contest-contact__curve {
		width: 90px;
		margin: 8px 0 13px;
	}

	.contest-contact__copy p,
	.contest-contact__email {
		font-size: 18px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.contest-button {
		transition: none;
	}

	.contest-intro__icon,
	.contest-intro__badge {
		animation: none;
	}
}
