.authors-page {
	padding-top: 3rem;
	padding-bottom: 4rem;
	min-height: 50vh;
}
.author-profile {
	display: flex;
	align-items: flex-start;
	gap: 2rem;
	margin: 0 0 3rem;
	max-width: 1000px;
}
.author-profile__photo {
	flex: 0 0 220px;
}
.author-profile__photo img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 8px;
}
.author-profile__details {
	min-width: 0;
	flex: 1;
}
.author-profile__bio {
	line-height: 1.8;
	overflow-wrap: anywhere;
}
.author-profile__website {
	color: var(--color-primary);
	font-weight: 700;
}
@media (max-width: 600px) {
	.author-profile {
		flex-direction: column;
		gap: 1rem;
	}
	.author-profile__photo {
		flex-basis: auto;
		width: min(220px, 100%);
	}
}
.authors-page h1 {
	font-size: clamp(24px, 5vw, 36px);
}
.authors-page .author-books-heading {
	font-size: clamp(1.19rem, 2.1vw, 1.89rem);
}
.authors-back {
	display: inline-block;
	margin-bottom: 1rem;
	color: var(--color-primary);
}
.author-site-search {
	display: flex;
	gap: 0.6rem;
	max-width: 720px;
	margin: 1.5rem 0 2.5rem;
}
.author-site-search input {
	min-width: 0;
	flex: 1;
	padding: 0.85rem 1rem;
	border: 1px solid var(--color-border);
	border-radius: 4px;
	font: inherit;
}
.author-site-search button {
	padding: 0.85rem 1.4rem;
	border: 0;
	border-radius: 4px;
	background: var(--color-primary);
	color: #fff;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}
.author-site-search button:hover {
	background: var(--color-primary-dark);
}
.author-site-search :focus-visible,
.authors-page a:focus-visible {
	outline: 2px solid var(--color-primary);
	outline-offset: 3px;
}
.authors-directory {
	margin: 0;
	padding: 0;
	list-style: none;
}
.authors-directory-columns {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 2rem;
}
.authors-directory-column { min-width: 0; }
.authors-letter-group + .authors-letter-group {
	margin-top: 2rem;
}
.authors-page .authors-letter-heading {
	margin: 0 0 1rem;
	font-size: 1.25rem;
	color: #000;
	text-decoration: underline;
	text-underline-offset: 0.25em;
}
.authors-directory li {
	margin: 0 0 0.75rem;
}
.authors-directory a,
.authors-directory a:visited,
.authors-directory a:hover,
.authors-directory a:focus,
.authors-directory a:active {
	color: #000;
	text-decoration: none;
	overflow-wrap: anywhere;
}
.authors-directory a:hover {
	text-decoration: underline;
}
.authors-books-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.25rem;
}
.authors-pagination {
	margin-top: 2rem;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}
.site-search-results article {
	padding: 1.5rem 0;
	border-bottom: 1px solid var(--color-border);
}
.site-search-results h2 {
	font-size: 1.5rem;
}
.site-search-results a {
	color: var(--color-primary);
}
@media (max-width: 800px) {
	.authors-directory-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.authors-directory,
	.authors-books-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 480px) {
	.authors-directory-columns { grid-template-columns: 1fr; }
	.authors-directory {
		grid-template-columns: 1fr;
	}
	.author-site-search {
		flex-wrap: wrap;
	}
	.author-site-search input {
		flex-basis: 100%;
	}
	.authors-books-grid {
		gap: 0.75rem;
	}
}
