/*
Theme Name: COBA Delegate 2026 V5
Theme URI: https://cobadelegate.com/
Author: COBA
Description: Native WordPress theme with aligned PDF-faithful header, complete PDF links and external presentation titles. No page builder required.
Version: 5.0.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: coba-delegate-2026
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

:root {
	--coba-navy: #092867;
	--coba-blue: #0b8ccc;
	--coba-orange: #ffad4e;
	--coba-ink: #34404b;
	--coba-muted: #84888e;
	--coba-soft: #aeb3b8;
	--coba-paper: #fdfdfc;
	--coba-line: #cdd1d4;
	--coba-card-radius: 0px;
	--coba-max-width: 1540px;
	--coba-gutter: clamp(18px, 3vw, 42px);
	--coba-font: "Avenir Next", Avenir, "Helvetica Neue", Helvetica, Arial, sans-serif;
}

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

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--coba-paper);
	color: var(--coba-ink);
	font-family: var(--coba-font);
	font-size: 16px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

a {
	color: inherit;
	text-decoration: none;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
	outline: 3px solid var(--coba-orange);
	outline-offset: 4px;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus {
	top: 12px;
	left: 12px;
	z-index: 10000;
	display: block;
	width: auto;
	height: auto;
	margin: 0;
	padding: 10px 16px;
	clip: auto;
	background: var(--coba-paper);
	color: var(--coba-navy);
	font-weight: 800;
}

.site-main {
	width: min(100%, calc(var(--coba-max-width) + (var(--coba-gutter) * 2)));
	margin-inline: auto;
	padding: clamp(24px, 3vw, 48px) var(--coba-gutter) 0;
}

/* Event hero */

.event-hero {
	display: grid;
	grid-template-columns: minmax(500px, 0.82fr) minmax(0, 1.3fr);
	gap: clamp(48px, 6vw, 100px);
	align-items: start;
}

.event-hero__identity {
	display: grid;
	min-width: 0;
	grid-template-columns: minmax(150px, 0.9fr) minmax(220px, 1fr);
	grid-template-rows: auto auto;
	gap: 18px 22px;
}

.event-hero__badge-panel {
	display: grid;
	place-items: center;
	min-width: 0;
	padding: 18px;
	aspect-ratio: 587 / 447;
	background: #ffad50;
	overflow: hidden;
}

.event-hero__badge-panel img {
	width: min(56%, 128px);
	max-height: 142px;
	object-fit: contain;
}

.event-wordmark {
	display: flex;
	min-width: 0;
	margin: 0;
	flex-direction: column;
	justify-content: center;
	letter-spacing: -0.055em;
	line-height: 0.8;
}

.event-wordmark__organization,
.event-wordmark__primary,
.event-wordmark__secondary {
	display: block;
	font-size: clamp(46px, 4.1vw, 72px);
}

.event-wordmark__organization {
	color: #001f60;
	font-weight: 900;
	line-height: 0.78;
}

.event-wordmark__name {
	display: block;
	min-width: 0;
	line-height: 0.8;
}

.event-wordmark__primary {
	color: #0082cc;
	font-weight: 500;
}

.event-wordmark__secondary {
	color: #ffad50;
	font-weight: 300;
}

.event-year {
	min-width: 0;
	aspect-ratio: 587 / 527;
	background: #001f60;
	overflow: hidden;
}

.event-year img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.event-date {
	display: flex;
	min-width: 0;
	flex-direction: column;
	justify-content: center;
	color: #001f60;
	font-size: clamp(27px, 3vw, 50px);
	font-weight: 850;
	letter-spacing: -0.055em;
	line-height: 0.92;
}

.event-date strong {
	margin-bottom: 8px;
	color: #ffad50;
	font-size: 1.16em;
	font-weight: 800;
}

.event-hero__media {
	min-width: 0;
	margin: 0;
	background: #e7eaed;
	overflow: hidden;
}

.event-hero__media img {
	width: 100%;
	height: auto;
	aspect-ratio: 1800 / 854;
	object-fit: cover;
	object-position: center;
}

@media (min-width: 961px) {
	.event-hero__media {
		align-self: stretch;
	}

	.event-hero__media img {
		height: 100%;
		aspect-ratio: auto;
	}
}

/* Presentation grid */

.presentations {
	padding-top: clamp(34px, 4vw, 62px);
}

.section-heading {
	margin-bottom: clamp(30px, 3.5vw, 52px);
}

.section-heading h2 {
	display: flex;
	margin: 0;
	flex-wrap: wrap;
	gap: 0 0.28em;
	color: var(--coba-ink);
	font-size: clamp(24px, 2.2vw, 38px);
	font-weight: 850;
	letter-spacing: -0.045em;
	line-height: 1;
}

.section-heading h2 em {
	color: var(--coba-soft);
	font-style: normal;
	font-weight: 800;
}

.presentation-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(34px, 3.2vw, 52px) clamp(20px, 2vw, 32px);
}

.presentation-card {
	min-width: 0;
	margin: 0;
	container-type: inline-size;
}

.presentation-card__link {
	position: relative;
	display: block;
	width: 100%;
}

.presentation-card__frame {
	position: relative;
	display: flex;
	width: 100%;
	aspect-ratio: 3296 / 2530;
	padding: 4.25%;
	padding: 4.25cqw;
	border: 1px solid #b9bdc0;
	background: #fff;
	flex-direction: column;
	overflow: hidden;
	isolation: isolate;
}

.presentation-card__outside-title {
	display: block;
	max-width: 18ch;
	margin-top: 3.25%;
	margin-top: 3.25cqw;
	color: #86878a;
	font-size: 14px;
	font-size: max(13px, 4.85cqw);
	font-weight: 900;
	letter-spacing: -0.035em;
	line-height: 0.92;
	text-transform: uppercase;
}

.presentation-card__visual {
	display: grid;
	grid-template-columns: 21.75% minmax(0, 1fr);
	gap: 1.65%;
	min-height: 0;
	aspect-ratio: 2.218 / 1;
}

.presentation-card__rail {
	display: grid;
	grid-template-rows: 1fr 1fr;
	gap: 3.7%;
	min-width: 0;
}

.presentation-card__badge {
	display: grid;
	min-width: 0;
	min-height: 0;
	place-items: center;
	background: #d1d2d0;
	overflow: hidden;
}

.presentation-card__badge img {
	width: 78%;
	height: 84%;
	object-fit: contain;
	filter: grayscale(1);
}

.presentation-card__year-art {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.presentation-card__photo {
	min-height: 0;
	background: #e7e8e8;
	overflow: hidden;
}

.presentation-card__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.presentation-card__details {
	display: grid;
	grid-template-columns: 42% minmax(0, 1fr);
	gap: 2%;
	gap: 2cqw;
	align-items: start;
	margin-top: 2.5%;
	margin-top: 2.5cqw;
}

.presentation-card__wordmark {
	width: 54%;
	color: #b1b4b6;
	letter-spacing: -0.065em;
	line-height: 0.84;
}

.presentation-card__wordmark strong,
.presentation-card__wordmark span {
	display: block;
}

.presentation-card__wordmark strong {
	color: #8a8f92;
	font-size: 17px;
	font-size: max(14px, 5cqw);
	font-weight: 900;
	line-height: 0.78;
}

.presentation-card__wordmark span {
	max-width: 8ch;
	font-size: 10px;
	font-size: max(8px, 2.9cqw);
	font-weight: 400;
}

.presentation-card h3 {
	justify-self: end;
	width: 96%;
	margin: 0;
	color: var(--card-accent);
	font-size: 14px;
	font-size: max(12px, 4.1cqw);
	font-weight: 850;
	letter-spacing: -0.045em;
	line-height: 0.96;
	text-align: right;
	text-wrap: balance;
	text-transform: uppercase;
}

.presentation-card__footer {
	display: grid;
	grid-template-columns: 42% minmax(0, 1fr);
	gap: 2%;
	gap: 2cqw;
	align-items: end;
	margin-top: auto;
}

.presentation-card__date {
	display: flex;
	margin: 0;
	color: #a7aaac;
	flex-direction: column;
	font-size: 9px;
	font-size: max(8.5px, 2.65cqw);
	font-weight: 650;
	letter-spacing: -0.035em;
	line-height: 0.88;
}

.presentation-card__date strong {
	margin-bottom: 1px;
	margin-bottom: 0.35cqw;
	color: #797e81;
	font-size: 1.05em;
	font-weight: 850;
}

.presentation-card__presenter {
	align-self: end;
	display: flex;
	margin: 0;
	color: #8a8f92;
	flex-direction: column;
	font-size: 9px;
	font-size: max(8.5px, 2.45cqw);
	font-weight: 500;
	letter-spacing: -0.025em;
	line-height: 1.08;
	text-align: right;
	text-wrap: balance;
}

.presentation-card__presenter-label {
	display: block;
	margin-bottom: 0.4cqw;
	color: #8a8f92;
	font-size: 0.78em;
	font-weight: 600;
	line-height: 1;
}

.presentation-card__presenter-line {
	display: block;
}

.presentation-card__presenter-line strong {
	color: var(--card-accent);
	font-weight: 800;
}

.presentation-card__presenter-line span {
	color: #8a8f92;
	font-weight: 500;
}

/* Sponsors */

.sponsors {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(200px, 248px);
	gap: clamp(42px, 7vw, 110px);
	align-items: end;
	padding: clamp(72px, 8vw, 124px) 0 clamp(50px, 6vw, 92px);
}

.sponsors h2 {
	margin: 0 0 clamp(34px, 4vw, 62px);
	color: var(--coba-muted);
	font-size: clamp(23px, 2.1vw, 35px);
	font-weight: 850;
	letter-spacing: -0.035em;
	line-height: 1;
}

.sponsor-grid {
	display: grid;
	grid-template-columns: repeat(10, minmax(0, 1fr));
	gap: clamp(20px, 2.6vw, 40px) clamp(16px, 2.2vw, 34px);
	align-items: center;
}

.sponsor-logo {
	display: grid;
	grid-column: span 2;
	place-items: center;
	min-width: 0;
	min-height: 84px;
	padding: 8px;
}

.sponsor-logo:nth-child(3),
.sponsor-logo:nth-child(4) {
	grid-column: span 3;
}

.sponsor-logo img {
	width: 100%;
	height: 84px;
	object-fit: contain;
}

.sponsor-logo span {
	color: var(--coba-navy);
	font-size: 17px;
	font-weight: 800;
	text-align: center;
}

.sponsors__qr a {
	display: block;
	color: var(--coba-muted);
}

.sponsors__qr img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
}

.sponsors__qr strong {
	display: block;
	margin-top: 18px;
	font-size: clamp(17px, 1.5vw, 23px);
	font-weight: 850;
	letter-spacing: -0.025em;
	line-height: 1.05;
}

/* General inner content */

.content-shell,
.presentation-single {
	width: min(100% - (var(--coba-gutter) * 2), 1080px);
	min-height: 75dvh;
	margin-inline: auto;
	padding: clamp(48px, 7vw, 110px) 0;
}

.entry-card {
	padding: 30px 0;
	border-bottom: 1px solid var(--coba-line);
}

.entry-card__title {
	margin: 0;
	color: var(--coba-navy);
	font-size: clamp(28px, 4vw, 48px);
	letter-spacing: -0.04em;
}

.entry-card__excerpt {
	max-width: 65ch;
	color: #5f6870;
}

.presentation-single__back {
	display: inline-block;
	margin-bottom: 42px;
	color: var(--coba-blue);
	font-weight: 800;
}

.presentation-single__header {
	max-width: 900px;
	margin-bottom: 38px;
}

.presentation-single__header > span {
	display: block;
	margin-bottom: 12px;
	color: var(--coba-orange);
	font-size: 15px;
	font-weight: 900;
	letter-spacing: 0.1em;
}

.presentation-single__header h1 {
	margin: 0;
	color: var(--coba-navy);
	font-size: clamp(42px, 7vw, 84px);
	font-weight: 900;
	letter-spacing: -0.065em;
	line-height: 0.94;
}

.presentation-single__header p {
	max-width: 65ch;
	margin: 22px 0 10px;
	color: #5d6872;
	font-size: clamp(18px, 2vw, 23px);
}

.presentation-single__header strong {
	color: var(--coba-blue);
}

.presentation-single__image {
	margin: 0;
	background: #e7eaed;
}

.presentation-single__image img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.presentation-single__content {
	max-width: 760px;
	padding: 38px 0;
	font-size: 18px;
}

.presentation-single__button {
	display: inline-flex;
	min-height: 50px;
	margin-top: 18px;
	padding: 0 22px;
	background: var(--coba-navy);
	color: #f8f8f5;
	align-items: center;
	font-weight: 850;
	white-space: nowrap;
}

.site-footer {
	width: min(100%, calc(var(--coba-max-width) + (var(--coba-gutter) * 2)));
	margin-inline: auto;
	padding: 0 var(--coba-gutter) 24px;
}

.site-footer__inner {
	padding-top: 20px;
	border-top: 1px solid #e2e4e5;
	color: var(--coba-muted);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
}

.site-footer__inner p {
	margin: 0;
}

/* Interaction */

@media (prefers-reduced-motion: no-preference) {
	.presentation-card__link,
	.presentation-card__frame,
	.presentation-card__outside-title,
	.presentation-card__image,
	.sponsor-logo img,
	.sponsors__qr img,
	.presentation-single__button {
		transition-duration: 280ms;
		transition-property: transform, opacity, color, background-color, border-color, box-shadow;
		transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
	}

	.presentation-card__link:hover .presentation-card__image {
		transform: scale(1.025);
	}

	.presentation-card__link:hover .presentation-card__frame {
		border-color: var(--card-accent);
		box-shadow: 0 10px 28px rgb(9 40 103 / 0.09);
	}

	.presentation-card__link:hover {
		transform: translateY(-2px);
	}

	.presentation-card__link:hover .presentation-card__outside-title {
		color: var(--card-accent);
	}

	.sponsor-logo:hover img,
	.sponsors__qr a:hover img {
		transform: translateY(-3px);
	}

	.presentation-single__button:hover {
		background: var(--coba-blue);
		transform: translateY(-1px);
	}

	.presentation-card__link:active,
	.sponsors__qr a:active,
	.sponsor-logo:active,
	.presentation-single__button:active {
		transform: translateY(1px);
	}
}

/* Responsive layouts */

@media (max-width: 1280px) {
	.event-hero {
		grid-template-columns: minmax(430px, 0.82fr) minmax(0, 1.18fr);
		gap: 44px;
	}

	.event-hero__identity {
		grid-template-columns: minmax(132px, 0.9fr) minmax(210px, 1.1fr);
	}

	.presentation-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

}

@media (max-width: 960px) {
	.site-main {
		padding-top: 24px;
	}

	.event-hero {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.event-hero__identity {
		grid-template-columns: minmax(148px, 0.82fr) minmax(240px, 1.18fr);
		grid-template-rows: auto auto;
	}

	.event-wordmark__organization,
	.event-wordmark__primary,
	.event-wordmark__secondary {
		font-size: clamp(52px, 9.2vw, 78px);
	}

	.event-date {
		font-size: clamp(38px, 7vw, 58px);
	}

	.event-hero__media,
	.event-hero__media img {
		min-height: 0;
	}

	.event-hero__media img {
		aspect-ratio: 16 / 8;
	}

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

	.sponsors {
		grid-template-columns: minmax(0, 1fr) 190px;
		gap: 38px;
	}

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

	.sponsor-logo,
	.sponsor-logo:nth-child(3),
	.sponsor-logo:nth-child(4) {
		grid-column: span 1;
	}
}

@media (max-width: 680px) {
	:root {
		--coba-gutter: 18px;
	}

	.site-main {
		padding-top: 18px;
	}

	.event-hero {
		gap: 20px;
	}

	.event-hero__identity {
		grid-template-columns: 0.78fr 1.22fr;
		grid-template-rows: auto auto;
		gap: 12px;
	}

	.event-hero__badge-panel {
		padding: 13px;
	}

	.event-hero__badge-panel img {
		width: min(56%, 94px);
		max-height: 112px;
	}

	.event-wordmark__organization,
	.event-wordmark__primary,
	.event-wordmark__secondary {
		font-size: clamp(36px, 11vw, 52px);
	}

	.event-date {
		font-size: clamp(27px, 8.3vw, 40px);
	}

	.event-date strong {
		margin-bottom: 5px;
	}

	.event-hero__media img {
		aspect-ratio: 4 / 3;
		object-position: 60% center;
	}

	.presentations {
		padding-top: 36px;
	}

	.section-heading {
		margin-bottom: 28px;
	}

	.section-heading h2 {
		display: block;
		font-size: 27px;
		line-height: 0.98;
	}

	.section-heading h2 em {
		display: block;
		margin-top: 4px;
	}

	.presentation-grid {
		grid-template-columns: 1fr;
		gap: 42px;
	}

	.sponsors {
		grid-template-columns: 1fr;
		gap: 46px;
		padding-top: 76px;
	}

	.sponsor-grid {
		gap: 26px 18px;
	}

	.sponsor-logo {
		min-height: 74px;
		padding: 4px;
	}

	.sponsor-logo img {
		height: 72px;
	}

	.sponsors__qr {
		width: min(100%, 250px);
	}

	.sponsors__qr strong {
		font-size: 20px;
	}

	.presentation-single__header h1 {
		font-size: clamp(40px, 13vw, 62px);
	}
}

@media (max-width: 390px) {
	.event-hero__identity {
		grid-template-columns: 0.72fr 1.28fr;
		grid-template-rows: auto auto;
	}

	.event-date {
		font-size: clamp(24px, 8.3vw, 34px);
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

@media print {
	.site-main {
		width: 100%;
		padding: 0;
	}

	.presentation-grid {
		grid-template-columns: repeat(4, 1fr);
	}

	.site-footer {
		display: none;
	}
}
