@font-face {
	font-family: "Inter";
	font-style: normal;
	font-weight: 300 900;
	font-display: swap;
	src: url("/wp-content/themes/twentytwentyfourLab/assets/fonts/inter/Inter-VariableFont_slnt,wght.woff2") format("woff2");
}

@font-face {
	font-family: "Cardo";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("/wp-content/themes/twentytwentyfourLab/assets/fonts/cardo/cardo_normal_400.woff2") format("woff2");
}

@font-face {
	font-family: "Cardo";
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url("/wp-content/themes/twentytwentyfourLab/assets/fonts/cardo/cardo_italic_400.woff2") format("woff2");
}

@font-face {
	font-family: "Cardo";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("/wp-content/themes/twentytwentyfourLab/assets/fonts/cardo/cardo_normal_700.woff2") format("woff2");
}

:root {
	--t28-gold: #dea724;
	--t28-teal: #307682;
	--content-width: 1092px;
	--page-padding: 32px;
}

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

html,
body {
	height: 100%;
}

body {
	margin: 0;
	font-family: "Inter", sans-serif;
	line-height: 1.5;
	color: #111;
	background: #fff;
}

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

/* Listing thumbnails */
.wp-block-post-featured-image .size-lab28-thumb {
	width: 300px;
	height: 300px;
	max-width: 100%;
	object-fit: cover;
}

.wp-site-blocks>header figure.wp-block-image {
	margin-bottom: 0;
}

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

a:hover {
	text-decoration: underline;
}

/* Typography */
.wp-site-blocks>main h2 {
	font-size: 1.4rem;
	border-left: 4px solid var(--t28-teal);
	padding-left: 0.6rem;
	margin: 0 0 0.8rem;
}

.wp-site-blocks>main h3 {
	font-size: 1.2rem;
	margin: 1.2rem 0 0.6rem;
}

/* Lab28 listing layout */
.lab28-listing .wp-block-post-template {
	display: grid;
	gap: 2.5rem;
}

.lab28-listing-item {
	margin: 0;
}

.lab28-listing-inner {
	display: grid;
	grid-template-columns: minmax(0, 360px) minmax(0, 1fr);
	gap: 2rem;
	align-items: start;
}

.lab28-listing-media {
	width: 100%;
	aspect-ratio: 16 / 9;
	border-radius: 0;
	overflow: hidden;
	background: transparent;
}

.lab28-listing-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.lab28-listing-content {
	display: flex;
	flex-direction: column;
	gap: 0.9rem;
	margin-top: 0;
	padding-top: 0;
}

.lab28-listing-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	font-size: 0.85rem;
	letter-spacing: 0.02em;
	color: #666;
	margin-top: 0.6rem;
	opacity: 0.8;
}

.lab28-listing-title {
	font-size: 2.1rem;
	line-height: 1.2;
	margin: 0;
}

.lab28-listing-title a {
	color: inherit;
	text-decoration: none;
}

.lab28-listing-title a:hover {
	text-decoration: underline;
}

.lab28-listing-excerpt {
	margin: 0;
	font-size: 1rem;
	color: #444;
}

.lab28-listing-fun {
	margin: 0;
	font-size: 0.96rem;
	font-style: italic;
	color: #2f3f44;
}

@media (max-width: 980px) {
	.lab28-listing-inner {
		grid-template-columns: 1fr;
	}
}

/* Layout */
.wp-site-blocks>header {
	background: var(--t28-gold);
	color: #fff;
	width: 100%;
}


.wp-site-blocks>header a {
	color: #fff;
}

.wp-site-blocks>header a:hover {
	color: var(--t28-teal);
}

/* Align header content to main width */
.wp-site-blocks>header .wp-block-group.alignwide,
.wp-site-blocks>header .wp-block-group {
	max-width: var(--content-width);
	margin-left: auto;
	margin-right: auto;
	padding-left: 0;
	padding-right: 0;
	height: 100px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-wrap: nowrap;
	gap: 20px;
}
.wp-site-blocks>header > .wp-block-group.alignwide {
	padding-left: var(--page-padding);
	padding-right: var(--page-padding);
;
}

.wp-site-blocks>header .wp-block-group.alignwide>.wp-block-group,
.wp-site-blocks>header .wp-block-group>.wp-block-group {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 20px;
	width: 100%;
	margin: 0;
}

.wp-site-blocks>header .wp-block-group.alignwide>.wp-block-group>.wp-block-group,
.wp-site-blocks>header .wp-block-group>.wp-block-group>.wp-block-group {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
}

.wp-site-blocks>header .is-layout-flex {
	align-items: center;
	justify-content: flex-start;
}

.wp-site-blocks>header .is-content-justification-space-between,
.wp-site-blocks>header .is-content-justification-right,
.wp-site-blocks>header .items-justified-right {
	justify-content: flex-start !important;
}

.wp-site-blocks>header .has-global-padding {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.wp-site-blocks>header .wp-block-navigation {
	margin-left: 20px;
}

.wp-site-blocks>header .wp-block-site-logo img,
.wp-site-blocks>header img {
	height: 48px;
	width: auto;
}

.wp-site-blocks>header .wp-block-site-title {
	font-family: "Cardo", serif;
	font-size: 1.5rem;
	line-height: 1;
	white-space: nowrap;
}

.wp-site-blocks>header .wp-block-site-title {
	display: none;
}

.wp-site-blocks>header .wp-block-site-tagline {
	margin-left: 12px;
	white-space: nowrap;
}

.wp-site-blocks>header .wp-block-navigation,
.wp-site-blocks>header .wp-block-navigation__container {
	white-space: nowrap;
}

.wp-site-blocks>main {
	max-width: var(--content-width);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--page-padding);
	padding-right: var(--page-padding);
}

.wp-site-blocks>footer {
	background: #000;
	color: #fff;
	width: 100%;
}

.wp-site-blocks>footer a {
	color: #fff;
}

.wp-site-blocks>footer a:hover {
	color: var(--t28-gold);
}

.wp-site-blocks>footer .wp-block-group.alignwide,
.wp-site-blocks>footer .wp-block-group {
	max-width: var(--content-width);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--page-padding);
	padding-right: var(--page-padding);
}

@media (max-width: 1200px) {
	:root {
		--content-width: 960px;
		--page-padding: 28px;
	}
}

@media (max-width: 992px) {
	:root {
		--content-width: 820px;
		--page-padding: 24px;
	}
}

@media (max-width: 768px) {
	:root {
		--content-width: 100%;
		--page-padding: 20px;
	}
}

@media (max-width: 720px) {

	.wp-site-blocks>header .wp-block-group.alignwide,
	.wp-site-blocks>header .wp-block-group {
		height: auto;
		padding-top: 8px;
		padding-bottom: 8px;
		flex-wrap: wrap;
		gap: 12px;
	}

	.wp-site-blocks>header .wp-block-group.alignwide>.wp-block-group,
	.wp-site-blocks>header .wp-block-group>.wp-block-group {
		flex-wrap: wrap;
		gap: 12px;
	}

	.wp-site-blocks>header .wp-block-navigation {
		margin-left: 0;
		width: 100%;
	}

	.wp-site-blocks>header .wp-block-site-title {
		font-size: 1.2rem;
	}

	.wp-site-blocks>header .wp-block-site-logo img,
	.wp-site-blocks>header img {
		height: 24px;
	}
}

@media (max-width: 576px) {
	:root {
		--page-padding: 16px;
	}
}

h1,
h2,
h3,
h4,
h5,
h6,
.wp-block-heading {
	font-family: "Cardo", serif;
}
