/* ==========================================================================
   Knowledge Leeds — additions on top of the Twenty Twenty theme.
   Everything here is prefixed kl- so the theme stylesheet stays untouched.
   ========================================================================== */

:root {
	--kl-accent: #cd2653;      /* Twenty Twenty primary */
	--kl-ink:    #000;
	--kl-muted:  #6d6d6d;
	--kl-line:   #dcd7ca;
	--kl-cream:  #f5efe0;
}

/* ------------------------------------------------------------------ hero */
.kl-hero {
	background-color: var(--kl-cream);
	padding: 6rem 0 5rem;
	text-align: center;
	border-bottom: 1px solid var(--kl-line);
}

.kl-hero-title {
	font-size: 3.6rem;
	font-weight: 700;
	letter-spacing: -.02em;
	line-height: 1.15;
	margin: 0 auto 1.5rem;
	max-width: 16em;
}

.kl-hero-text {
	font-size: 1.9rem;
	line-height: 1.5;
	color: var(--kl-muted);
	max-width: 34em;
	margin: 0 auto;
}

/* --------------------------------------------------------------- sections */
.kl-section { padding: 5rem 0 1rem; }

.kl-section-title {
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: -.015em;
	margin: 0 0 3rem;
	padding-bottom: 1.5rem;
	border-bottom: 2px solid var(--kl-ink);
}

/* ----------------------------------------------------------------- cards */
.kl-cards { display: grid; gap: 3rem; }

.kl-card {
	padding-bottom: 3rem;
	border-bottom: 1px solid var(--kl-line);
}

.kl-cards .kl-card:last-child { border-bottom: 0; padding-bottom: 0; }

.kl-card-title {
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -.015em;
	margin: 0 0 1.2rem;
}

.kl-card-title a {
	color: var(--kl-ink);
	text-decoration: none;
	box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);
}

.kl-card-title a:hover,
.kl-card-title a:focus {
	color: var(--kl-accent);
	box-shadow: inset 0 -2px 0 var(--kl-accent);
}

.kl-card-excerpt {
	font-size: 1.7rem;
	line-height: 1.6;
	color: var(--kl-muted);
	margin: 0 0 1.4rem;
}

.kl-card-more { margin: 0; }

.kl-card-more a {
	display: inline-block;
	font-size: 1.5rem;
	font-weight: 600;
	letter-spacing: .02em;
	text-transform: uppercase;
	color: var(--kl-accent);
	text-decoration: none;
	border-bottom: 2px solid currentColor;
	padding-bottom: .2rem;
}

.kl-card-more a:hover,
.kl-card-more a:focus { color: var(--kl-ink); }

/* --------------------------------------------------- related links footer */
.kl-related {
	margin-top: 5rem;
	padding-top: 3rem;
	border-top: 1px solid var(--kl-line);
}

.kl-related-title {
	font-size: 1.6rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--kl-muted);
	margin: 0 0 1.5rem;
}

.kl-related-list { list-style: none; margin: 0; padding: 0; }

.kl-related-list li { margin-bottom: .9rem; }

.kl-related-list a {
	font-size: 1.8rem;
	color: var(--kl-ink);
	text-decoration: none;
	box-shadow: inset 0 -1px 0 rgba(0,0,0,.2);
}

.kl-related-list a:hover,
.kl-related-list a:focus {
	color: var(--kl-accent);
	box-shadow: inset 0 -2px 0 var(--kl-accent);
}

/* ------------------------------------------------------------ article body */
.entry-content figure { margin: 3rem 0; }

.entry-content figure img {
	max-width: 100%;
	height: auto;
	display: block;
}

.entry-content figcaption {
	font-size: 1.5rem;
	color: var(--kl-muted);
	margin-top: 1rem;
}

/* company / stable logos sat oddly large in the original export */
.entry-content .wp-block-image img { max-width: 100%; height: auto; }

/* ---------------------------------------------------------------- 404 page */
.faux-button {
	display: inline-block;
	background: var(--kl-accent);
	color: #fff !important;
	padding: 1.4rem 2.4rem;
	border-radius: 4px;
	font-size: 1.6rem;
	font-weight: 600;
	text-decoration: none;
	margin-top: 1.5rem;
}

.faux-button:hover, .faux-button:focus { background: var(--kl-ink); }

/* -------------------------------------------------------------- responsive */
@media (min-width: 700px) {
	.kl-cards { grid-template-columns: repeat(2, 1fr); gap: 4rem 5rem; }
	.kl-card { border-bottom: 0; padding-bottom: 0; }
	.kl-cards .kl-card:last-child { padding-bottom: 0; }
}

@media (max-width: 699px) {
	.kl-hero { padding: 4rem 0 3.5rem; }
	.kl-hero-title { font-size: 2.8rem; }
	.kl-hero-text { font-size: 1.7rem; }
	.kl-section { padding: 3.5rem 0 1rem; }
	.kl-section-title { font-size: 2rem; margin-bottom: 2.5rem; }
	.kl-card-title { font-size: 1.9rem; }
}
