/* Fonts and tokens */
@font-face {
	font-family: "Montserrat";
	src: url("../fonts/montserrat-latin.woff2") format("woff2");
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
}

@font-face {
	font-family: "Playfair Display";
	src: url("../fonts/playfair-latin.woff2") format("woff2");
	font-style: normal;
	font-weight: 500 800;
	font-display: swap;
}

:root {
	--red: #d0101c;
	--wine: #5b0b12;
	--ink: #151012;
	--blush: #fff4f0;
	--line: #e7dedb;
	--max: 1180px;
}

/* Reset and shared elements */
* {
	box-sizing: border-box;
}
html {
	scroll-behavior: smooth;
}
body {
	margin: 0;
	color: var(--ink);
	background: #fff;
	font: 400 16px/1.65 "Montserrat", Arial, sans-serif;
}
img, svg, iframe {
	max-width: 100%;
}
img {
	height: auto;
}
a {
	color: var(--wine);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}
a:hover {
	color: var(--red);
}
button, input {
	font: inherit;
}
button {
	cursor: pointer;
}
a, button, input {
	touch-action: manipulation;
}
:focus-visible {
	outline: 3px solid var(--red);
	outline-offset: 3px;
}
.container {
	width: min(calc(100% - 2.5rem), var(--max));
	margin-inline: auto;
	min-width: 0;
}
.skip-link {
	position: absolute;
	z-index: 1000;
	left: 1rem;
	top: -5rem;
	background: #fff;
	padding: .7rem;
}
.skip-link:focus {
	top: 1rem;
}
.button, .search-form button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	border: 0;
	border-radius: 5px;
	background: var(--red);
	color: #fff;
	padding: .6rem 1rem;
	text-decoration: none;
	font-size: .85rem;
	font-weight: 700;
}
.button:hover, .search-form button:hover {
	background: var(--wine);
	color: #fff;
}
.button-outline {
	background: transparent;
	color: var(--wine);
	border: 2px solid var(--wine);
}
.wordmark {
	display: inline-flex;
	flex-direction: column;
	min-width: 0;
	color: var(--wine);
	line-height: 1.05;
	white-space: nowrap;
}
.wordmark strong {
	font: 700 1.38rem/1.1 "Playfair Display", Georgia, serif;
}
.wordmark small {
	font: 700 .56rem/1.2 "Montserrat", Arial, sans-serif;
	letter-spacing: .18em;
	text-transform: uppercase;
	margin-top: .25rem;
}
.wordmark-light {
	color: #fff;
}

/* Header and navigation */
.topbar {
	background: var(--ink);
	color: #fff;
	font-size: .75rem;
}
.topbar .container {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: .32rem 0;
}
.topbar a {
	color: #fff;
}
.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: #fff;
	box-shadow: 0 2px 15px #15101214;
}
.admin-bar .site-header {
	top: 32px;
}
.header-inner {
	display: flex;
	align-items: center;
	gap: 1.2rem;
	min-height: 76px;
	position: relative;
}
.brand {
	flex: none;
	text-decoration: none;
}
.desktop-nav {
	min-width: 0;
	margin-left: auto;
}
.desktop-nav ul, .nav-drawer ul, .site-footer ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.desktop-nav ul {
	display: flex;
	align-items: center;
	gap: clamp(.5rem, 1vw, 1rem);
}
.desktop-nav a {
	position: relative;
	display: block;
	color: var(--ink);
	text-decoration: none;
	white-space: nowrap;
	font-size: .78rem;
	font-weight: 600;
	padding: .7rem 0;
}
.desktop-nav a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 100%;
	bottom: .38rem;
	height: 2px;
	background: var(--red);
	transition: right .2s;
}
.desktop-nav a:hover::after, .desktop-nav .current-menu-item a::after {
	right: 0;
}
.desktop-nav .current-menu-item a {
	color: var(--red);
}
.search-toggle, .menu-toggle {
	display: inline-grid;
	place-items: center;
	flex: none;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 4px;
	background: transparent;
	color: var(--ink);
}
.search-toggle:hover, .menu-toggle:hover {
	background: var(--blush);
}
.header-search {
	position: absolute;
	top: calc(100% - 5px);
	right: 5rem;
	z-index: 102;
	width: min(350px, calc(100vw - 2rem));
	padding: .7rem;
	background: #fff;
	box-shadow: 0 8px 20px #0002;
}
.header-search[hidden], .nav-drawer[hidden], .drawer-backdrop[hidden] {
	display: none;
}
.search-form {
	display: flex;
	align-items: stretch;
	width: 100%;
	min-width: 0;
	gap: .3rem;
}
.search-form label {
	position: absolute;
	clip-path: inset(50%);
	width: 1px;
	height: 1px;
	overflow: hidden;
}
.search-form input {
	width: 100%;
	min-width: 0;
	border: 1px solid var(--line);
	border-radius: 4px;
	padding: .55rem;
}
.menu-toggle {
	display: none;
}

/* Hero */
.hero {
	background: linear-gradient(180deg, #ff8a80 0%, #ffd9cc 100%);
	position: relative;
	overflow: hidden;
}
.hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: url("../low-poly.svg") center/cover no-repeat;
	opacity: .48;
	pointer-events: none;
}
.hero-grid {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, .6fr);
	align-items: center;
	min-height: 400px;
	gap: 2rem;
	padding-block: 1.5rem;
}
.hero-copy {
	min-width: 0;
}
.hero h1 {
	font: 700 clamp(2.3rem, 4.6vw, 4.25rem)/1.07 "Playfair Display", Georgia, serif;
	max-width: 760px;
	margin: .6rem 0 1rem;
}
.hero h1 em {
	display: block;
	color: var(--wine);
	font-style: normal;
}
.hero p {
	max-width: 570px;
}
.eyebrow {
	color: var(--wine);
	font-size: .8rem;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .8rem;
	margin-top: 1.5rem;
}
.hero-image {
	text-align: center;
}
.hero-image img {
	display: block;
	width: auto;
	max-width: 100%;
	max-height: 340px;
	margin-inline: auto;
	object-fit: contain;
	border-radius: 16px;
	box-shadow: 0 16px 35px #5b0b1233;
}

/* Banner da abertura */
.hero-banner {
	padding-top: 1.5rem;
}
.hero-banner picture, .hero-banner img {
	display: block;
	width: 100%;
	height: auto;
}
.hero-banner img {
	border-radius: 9px;
}
.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

/* Sections and news cards */
.section-space {
	padding-block: 3rem;
}
.section-title {
	font: 700 clamp(1.7rem, 3vw, 2.3rem)/1.2 "Playfair Display", Georgia, serif;
	margin: 0 0 1.5rem;
	padding-left: 1rem;
	border-left: 5px solid var(--red);
}
.section-heading {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
}
.news-feature-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
	grid-template-rows: repeat(4, auto);
	gap: 1rem 2rem;
}
.news-card {
	min-width: 0;
}
.news-feature-grid .news-card:not(.featured) {
	display: grid;
	grid-template-columns: 112px minmax(0, 1fr);
	gap: .8rem;
	align-items: center;
	border-bottom: 1px solid var(--line);
	padding-bottom: .8rem;
}
.news-feature-grid .featured {
	grid-row: 1 / span 4;
}
.news-feature-grid .featured .card-media {
	aspect-ratio: 1.55;
}
.card-media {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1.6;
	min-width: 0;
	background: var(--blush);
	border-radius: 9px;
	overflow: hidden;
}
.card-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.news-card.portrait .card-media img {
	object-fit: contain;
}
.card-fallback {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 180px;
	width: 100%;
	background: var(--wine) url("../low-poly.svg") center/cover;
	padding: 1rem;
}
.card-fallback .wordmark {
	color: #fff;
}
.card-body {
	min-width: 0;
}
.card-body time, .article-meta {
	font-size: .76rem;
	color: #5e5353;
}
.card-body h3 {
	font: 700 1.1rem/1.3 "Playfair Display", Georgia, serif;
	margin: .35rem 0;
	overflow-wrap: anywhere;
}
.card-body h3 a {
	text-decoration: none;
	color: var(--ink);
}
.featured .card-body h3 {
	font-size: clamp(1.5rem, 2.5vw, 2rem);
}
.featured .card-body p {
	margin: .5rem 0;
}
.card-category {
	color: var(--red);
	text-transform: uppercase;
	font-weight: 800;
	font-size: .72rem;
	letter-spacing: .06em;
}
.ad-area {
	margin-block: 2rem;
	text-align: center;
	max-width: 100%;
	overflow: hidden;
}
.ad-area img {
	max-width: 100%;
	height: auto;
}
.card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.2rem;
}

/* Quick links, video, testimonials */
.quick-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.2rem;
}
.quick-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: .5rem;
	min-width: 0;
	padding: 1.35rem;
	border: 1px solid var(--line);
	border-radius: 10px;
	background: #fff;
	text-decoration: none;
	box-shadow: 0 3px 10px #00000008;
	transition: transform .2s, box-shadow .2s;
}
.quick-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 9px 22px #5b0b121a;
}
.quick-card strong {
	font: 700 1.25rem "Playfair Display", Georgia, serif;
}
.quick-card span {
	color: #514849;
	font-size: .83rem;
}
.quick-icon {
	color: var(--red);
}
.video-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.3rem;
}
.video-facade {
	display: block;
	border: 0;
	padding: 0;
	width: 100%;
	min-width: 0;
	overflow: hidden;
	border-radius: 9px;
	background: #fff;
	color: var(--ink);
	text-align: left;
}
.video-image {
	display: block;
	position: relative;
	aspect-ratio: 16/9;
	background: var(--ink);
}
.video-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.video-play {
	position: absolute;
	top: 50%;
	left: 50%;
	display: grid;
	place-items: center;
	width: 60px;
	height: 60px;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	background: var(--red);
	color: #fff;
	font-size: 1.35rem;
}
.video-title {
	display: block;
	padding: .7rem 0;
	font-weight: 700;
}
.video-grid iframe, .entry-content iframe {
	aspect-ratio: 16/9;
	width: 100%;
	height: auto;
}
.testimonials-section {
	background: var(--wine);
	color: #fff;
}
.testimonials-section .section-title {
	border-color: #ff8a80;
}
.carousel-controls {
	display: flex;
	gap: .5rem;
}
.carousel-controls button {
	width: 44px;
	height: 44px;
	border: 1px solid #ffffff88;
	border-radius: 50%;
	background: transparent;
	color: #fff;
}
.testimonials-scroll {
	display: flex;
	gap: 1rem;
	max-width: 100%;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding-bottom: 1rem;
}
.testimonial-card {
	flex: 0 0 min(350px, 85vw);
	min-width: 0;
	max-width: 100%;
	scroll-snap-align: start;
	border: 1px solid #ffffff55;
	border-radius: 10px;
	padding: 1.3rem;
	overflow-wrap: anywhere;
}
.quote-mark {
	display: block;
	height: 35px;
	color: #ffb4a8;
	font: 700 4rem/1 "Playfair Display", Georgia, serif;
}
.testimonial-card blockquote {
	margin: 1.3rem 0;
	max-width: 100%;
	overflow-wrap: anywhere;
}
.testimonial-author {
	display: flex;
	align-items: center;
	gap: .8rem;
}
.testimonial-author img {
	width: 54px;
	height: 54px;
	object-fit: cover;
	border-radius: 50%;
}
.testimonial-author h3 {
	font-size: .95rem;
}
.testimonials-section a {
	color: #fff;
}
.support-logos {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
}
.support-logos .widget {
	display: grid;
	place-items: center;
	padding: 1.2rem;
	border: 1px solid var(--line);
	border-radius: 8px;
	min-height: 110px;
}
.support-logos .widget-title {
	display: none;
}
.support-logos img {
	display: block;
	max-height: 72px;
	width: auto;
	object-fit: contain;
}

/* Partners and footer */
.sponsors {
	background: #faf6f4;
	padding: 2.5rem 0;
}
.sponsors-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
}
.sponsor-group {
	flex: 1 1 180px;
	min-width: 0;
}
.sponsor-group h3 {
	font-size: .85rem;
}
.sponsor-group img {
	max-height: 85px;
	width: auto;
	object-fit: contain;
}
.site-footer {
	background: var(--ink);
	color: #fff;
	padding: 3rem 0 1rem;
}
.site-footer a {
	color: #fff;
}
.footer-grid {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr;
	gap: 2rem;
}
.site-footer li {
	margin-bottom: .4rem;
}
.copyright {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	border-top: 1px solid #ffffff30;
	margin-top: 2rem;
	padding-top: 1rem;
	font-size: .75rem;
}

/* Page bands and legacy content */
.page-band {
	background: var(--blush) url("../low-poly.svg") center/cover;
	padding: 1.8rem 0;
}
.page-band h1 {
	font: 700 clamp(2rem, 4vw, 3rem)/1.14 "Playfair Display", Georgia, serif;
	max-width: 900px;
	margin: .4rem 0;
	overflow-wrap: anywhere;
}
.page-main {
	padding-block: 2.5rem 4rem;
	min-height: 40vh;
}
.page-content > .entry-content {
	max-width: 820px;
}
.page-content > .editions-extra {
	max-width: 820px;
	margin-top: 3rem;
}
.editions-extra img {
	max-width: min(100%, 560px);
	border-radius: 8px;
}
.breadcrumb {
	font-size: .75rem;
	color: #635454;
	overflow-wrap: anywhere;
}
.breadcrumb span {
	margin-inline: .3rem;
}
.entry-content {
	min-width: 0;
	max-width: 100%;
	overflow-wrap: anywhere;
}
.entry-content p {
	margin: 0 0 1.25rem;
}
.entry-content img, .entry-content figure, .entry-content video {
	max-width: 100% !important;
	height: auto !important;
}
.entry-content table {
	display: block;
	width: 100% !important;
	max-width: 100%;
	overflow-x: auto;
	border-collapse: collapse;
}
.entry-content td, .entry-content th {
	border: 1px solid var(--line);
	padding: .6rem;
	width: auto !important;
}
.entry-content tr:nth-child(even) {
	background: #fff8f5;
}
.entry-content [style*="color: #ff0000"], .entry-content [style*="color:#ff0000"] {
	color: var(--red) !important;
}
.entry-content [style*="text-align: center"]:is(h2,h3,h4), .entry-content [align="center"]:is(h2,h3,h4) {
	text-align: left !important;
	color: var(--wine);
	font-family: "Playfair Display", Georgia, serif;
}
.entry-content .alignleft {
	float: left;
	margin: 0 1.3rem 1rem 0;
}
.entry-content .alignright {
	float: right;
	margin: 0 0 1rem 1.3rem;
}
.entry-content .aligncenter {
	display: block;
	margin-inline: auto;
}
.year-nav {
	display: flex;
	gap: .7rem;
	flex-wrap: wrap;
	margin-bottom: 2rem;
}
.year-nav a {
	padding: .5rem .8rem;
	border: 1px solid var(--line);
	border-radius: 4px;
}
.award-year {
	max-width: 100%;
	overflow: hidden;
	margin-bottom: 1rem;
	border: 1px solid var(--line);
	border-radius: 8px;
	padding: 1rem;
}
.award-year summary {
	font-weight: 700;
	font-size: 1.4rem;
	cursor: pointer;
}
.award-year .entry-content {
	max-width: 100%;
	overflow: hidden;
}
.award-year .award-original-title {
	display: none;
}
.award-year img {
	max-width: 100% !important;
	height: auto !important;
}
.category-columns {
	columns: 2;
	column-gap: 3rem;
}
.category-columns > * {
	break-inside: avoid;
}
.contact-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.2rem;
	margin-bottom: 1.5rem;
}
.contact-card {
	min-width: 0;
	padding: 1.4rem;
	border: 1px solid var(--line);
	border-radius: 10px;
	overflow-wrap: anywhere;
}
.navigation.pagination {
	margin-top: 2rem;
}
.nav-links {
	display: flex;
	gap: .8rem;
	flex-wrap: wrap;
}
.nav-links a, .nav-links .current {
	padding: .5rem .8rem;
	border: 1px solid var(--line);
	border-radius: 4px;
}

/* Article */
.single-grid {
	display: grid;
	grid-template-columns: minmax(0, 720px) minmax(0, 1fr);
	gap: 3rem;
}
.article, .single-aside {
	min-width: 0;
}
.article-category a {
	color: var(--red);
	font-weight: 800;
	text-transform: uppercase;
	font-size: .75rem;
}
.article-meta {
	margin: .5rem 0 1.5rem;
}
.single-lead {
	margin: 1.5rem 0;
}
.single-lead img {
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	border-radius: 8px;
}
.single-lead figcaption {
	font-size: .75rem;
	color: #645757;
}
.article .entry-content {
	font-size: 1.06rem;
	line-height: 1.8;
}
.single-aside {
	position: sticky;
	top: 100px;
	align-self: start;
}
.single-aside h2, .share h2 {
	font: 700 1.25rem "Playfair Display", Georgia, serif;
}
.vote-box {
	background: var(--red);
	color: #fff;
	padding: 1.3rem;
	border-radius: 9px;
}
.vote-box .button {
	background: #fff;
	color: var(--wine);
}
.share {
	display: flex;
	align-items: center;
	gap: .8rem;
	flex-wrap: wrap;
	border-top: 1px solid var(--line);
	padding-top: 1rem;
	margin: 2rem 0 2.5rem;
}
.share h2 {
	width: 100%;
	margin: 0;
}
.share h2 + a {
	margin-left: -7px;
}
.share a {
	display: inline-grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 4px;
	transition: transform .15s ease;
}
.share a:hover {
	transform: translateY(-2px);
}
.share button {
	height: 44px;
	padding: .4rem .9rem;
	border: 1px solid var(--wine);
	border-radius: 4px;
	background: none;
	color: var(--wine);
}
.single-aside .wpp-list {
	padding-left: 1.3rem;
}
.single-aside .wpp-list li {
	margin-bottom: .7rem;
	overflow-wrap: anywhere;
}

/* Responsive layout */
@media (max-width: 1100px) {
		.header-inner {
		gap: .6rem;
	}
		.desktop-nav {
		display: none;
	}
		.search-toggle {
		margin-left: auto;
	}
		.menu-toggle {
		display: inline-grid;
	}
		.drawer-backdrop {
		position: fixed;
		inset: 0;
		background: #15101288;
		z-index: 100;
	}
		.nav-drawer {
		position: absolute;
		top: 100%;
		right: 0;
		z-index: 101;
		width: min(380px, 100vw);
		max-width: 100%;
		padding: 1.2rem;
		background: #fff;
		box-shadow: 0 10px 22px #0003;
	}
		.nav-drawer li {
		margin: .4rem 0;
	}
		.nav-drawer nav a {
		display: block;
		min-height: 44px;
		color: var(--ink);
		font-weight: 600;
		text-decoration: none;
	}
		.nav-drawer .search-form {
		margin: .8rem 0;
	}
		.nav-drawer .button {
		width: 100%;
	}
		.vote-header {
		display: none;
	}
		.single-grid {
		gap: 2rem;
	}
}
@media (max-width: 800px) {
		.news-feature-grid {
		grid-template-columns: 1fr;
		grid-template-rows: none;
	}
		.news-feature-grid .featured {
		grid-row: auto;
	}
		.quick-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
		.video-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
		.card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
		.support-logos {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
		.single-grid {
		grid-template-columns: 1fr;
	}
		.single-aside {
		position: static;
	}
}
@media (max-width: 600px) {
		.container {
		width: min(calc(100% - 1.5rem), var(--max));
	}
		.admin-bar .site-header {
		top: 46px;
	}
		.header-inner {
		min-height: 65px;
	}
		.wordmark strong {
		font-size: 1.1rem;
	}
		.wordmark small {
		font-size: .46rem;
	}
		.hero-grid {
		grid-template-columns: 1fr;
		gap: 1rem;
		padding-block: 2rem;
	}
		.hero h1 {
		font-size: 2.1rem;
	}
		.hero-image img {
		max-height: 190px;
	}
		.section-space {
		padding-block: 2.2rem;
	}
		.news-feature-grid .news-card:not(.featured) {
		grid-template-columns: 95px minmax(0, 1fr);
	}
		.card-grid, .video-grid, .contact-grid {
		grid-template-columns: 1fr;
	}
		.quick-grid {
		gap: .6rem;
	}
		.quick-card {
		padding: .9rem;
	}
		.support-logos {
		gap: .6rem;
	}
		.footer-grid {
		grid-template-columns: 1fr;
	}
		.copyright {
		display: block;
	}
		.copyright span {
		display: block;
	}
		.category-columns {
		columns: 1;
	}
		.entry-content .alignleft, .entry-content .alignright {
		float: none;
		margin: 1rem auto;
	}
		.topbar {
		font-size: .65rem;
	}
}
@media (prefers-reduced-motion: reduce) {
		html {
		scroll-behavior: auto;
	}
		*, *::before, *::after {
		animation-duration: .01ms !important;
		transition-duration: .01ms !important;
	}
}

/* Awards introduction */
.awards-intro {
	display: flow-root;
	margin-bottom: 1.5rem;
}
.awards-intro .wp-caption,
.awards-intro figure,
.awards-intro > img {
	float: right;
	width: min(220px, 40%) !important;
	max-width: 220px !important;
	margin: 0 0 1rem 1.5rem;
}
.awards-intro .wp-caption img,
.awards-intro figure img {
	width: 100%;
	height: auto;
}
.awards-intro .awards-opening {
	font: 500 1rem/1.7 "Montserrat", Arial, sans-serif;
	color: var(--ink);
	text-align: left;
}
@media (max-width: 600px) {
	.awards-intro .wp-caption,
	.awards-intro figure,
	.awards-intro > img {
		float: none;
		width: 180px !important;
		margin: 0 auto 1rem;
	}
}

/* Contact cards */
.contact-card p {
	margin: .3rem 0;
}
.contact-logo img {
	display: block;
	max-width: 170px;
	max-height: 100px;
	width: auto;
	height: auto;
	object-fit: contain;
}

/* Categories */
.categories-intro {
	margin: 0 0 1.5rem;
	font-size: 1.05rem;
}
.categories-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .8rem;
}
.category-item {
	min-width: 0;
	padding: 1rem 1.2rem;
	border: 1px solid var(--line);
	border-radius: 8px;
	background: #fff;
	overflow-wrap: anywhere;
}
.category-item strong,
.category-item small {
	display: block;
}
.category-item strong {
	font: 700 1.08rem/1.4 "Playfair Display", Georgia, serif;
}
.category-item small {
	margin-top: .35rem;
	color: #62585a;
	font-size: .82rem;
}
@media (max-width: 600px) {
	.categories-grid {
		grid-template-columns: 1fr;
	}
}

/* Regulation */
.regulation-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 280px);
	align-items: center;
	gap: 2rem;
}
.regulation-grid h2 {
	font: 700 2rem/1.2 "Playfair Display", Georgia, serif;
}
.regulation-grid img {
	width: 100%;
	max-width: 280px;
	border-radius: 12px;
	box-shadow: 0 12px 28px #5b0b1222;
}
@media (max-width: 600px) {
	.regulation-grid {
		grid-template-columns: 1fr;
	}
	.regulation-grid img {
		width: min(230px, 100%);
		margin-inline: auto;
	}
}

/* Editions */
.editions-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: start;
}
.editions-extra {
	margin-top: 2rem;
}
.editions-extra img,
.editions-extra iframe {
	max-width: 100% !important;
	height: auto !important;
}
@media (max-width: 600px) {
	.editions-grid {
		grid-template-columns: 1fr;
	}
}

/* Full testimonials */
.testimonials-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.2rem;
}
.testimonials-grid .testimonial-card {
	width: auto;
	max-width: none;
	border-color: var(--line);
	background: #fff;
}
.testimonials-grid .testimonial-author img {
	width: 88px;
	height: 88px;
	flex: none;
}
.testimonials-grid .testimonial-author h2 {
	font: 700 1.35rem/1.2 "Playfair Display", Georgia, serif;
}
.testimonials-grid .entry-content {
	margin-top: 1rem;
}
@media (max-width: 600px) {
	.testimonials-grid {
		grid-template-columns: 1fr;
	}
}

/* Post metadata and sidebar news */
.post-band h1 {
	font-size: clamp(1.9rem, 3.6vw, 2.75rem);
}
.post-band .article-meta {
	margin: .4rem 0 0;
}
.post-band .article-category {
	margin-top: .8rem;
}
.sidebar-news {
	list-style: none;
	margin: 0;
	padding: 0;
}
.sidebar-news li {
	margin-bottom: .9rem;
}
.sidebar-news a {
	display: grid;
	grid-template-columns: 74px minmax(0, 1fr);
	align-items: center;
	gap: .65rem;
	font-size: .85rem;
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none;
}
.sidebar-news-media {
	display: block;
	width: 74px;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 5px;
	background: var(--blush);
}
.sidebar-news-media img,
.sidebar-news-media .card-fallback {
	width: 100%;
	height: 100%;
	min-height: 0;
	object-fit: cover;
}
.sidebar-news-media .wordmark {
	display: none;
}

/* Round 2 media and partner refinements */
.news-feature-grid .featured .card-media {
	aspect-ratio: 16 / 9;
}
.news-feature-grid .featured.landscape .card-media img {
	object-fit: cover;
	object-position: top;
}
.news-feature-grid {
	gap: .45rem 2rem;
}
.card-media .card-fallback {
	min-height: 0;
	height: 100%;
	align-self: stretch;
}
.video-grid {
	align-items: start;
}
.video-image img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.video-facade {
	border-radius: 9px;
}
.sponsors-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.2rem;
}
.sponsor-group {
	min-width: 0;
}
.sponsor-group .widget {
	display: grid;
	place-items: center;
	min-height: 112px;
	padding: 1rem;
	margin-bottom: .6rem;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 8px;
}
.sponsor-group img {
	max-height: 78px;
	max-width: 100%;
	width: auto;
	height: auto;
}
.footer-grid {
	align-items: start;
}
.site-footer a {
	text-decoration: none;
}
.site-footer a:hover,
.site-footer a:focus-visible {
	text-decoration: underline;
}
.site-footer nav ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .25rem 1rem;
}
@media (max-width: 600px) {
	.sponsors-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: .7rem;
	}
}

/* Content edited directly in the page editor */
.home-free,
.regulation-free,
.contact-free,
.edition-story {
	padding-block: 1.5rem;
	max-width: 900px;
}
.edition-story {
	border-top: 1px solid var(--line);
}
.edition-story h2 {
	font: 700 1.7rem/1.2 "Playfair Display", Georgia, serif;
}
