body.hk {
	margin: 0;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

body.hk > main,
body.hk #content {
	flex: 1 0 auto;
}

.skip-link {
	position: absolute;
	left: 1rem;
	top: 1rem;
	z-index: 100;
	background: var(--hk-ink);
	color: #fff;
	padding: .75rem 1rem;
	border-radius: 2px;
}

.hk [hidden] {
	display: none !important;
}

.hks-hp {
	position: absolute !important;
	left: -10000px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.crumbs-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: .25rem;
}

.crumbs-list li + li::before {
	content: "/";
	margin-right: .25rem;
	color: var(--hk-ink-500);
}

.site-notice {
	padding: .875rem 0;
	font-weight: 600;
	font-size: .9375rem;
}

.site-notice.is-ok {
	background: #e7f4ea;
	color: #14532d;
}

.site-notice.is-error {
	background: #fdecea;
	color: #7f1d1d;
}

.navbar-brand .brand-logo {
	max-width: 220px;
}

.main-nav {
	list-style: none;
	margin-bottom: 0;
}

.search-panel .search-terms {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem;
	margin-top: 1rem;
}

.search-group-title {
	font-size: .8125rem;
	color: var(--hk-ink-500);
	margin-right: .25rem;
}

.benefit svg {
	color: var(--hk-orange-600);
}

.top5-feature-cover img {
	display: block;
	height: auto;
}

.top5-title .link-card {
	color: #fff;
}

.top5-title .link-card:hover {
	color: #fff;
	text-decoration: underline;
}

.top5-thumb {
	height: auto;
}

.book-cover,
.hero-cover,
.hero-spread,
.hero-cover-solo,
.series-cover,
.preview-img,
.club-shot,
.rank-cover {
	height: auto;
}

.book-cover {
	height: auto;
	aspect-ratio: 2 / 3;
}

.hero-photo,
.news-img,
.news-lead-img {
	height: auto;
}

.news-cover-wrap img {
	height: 100%;
	width: auto;
	max-width: 70%;
	object-fit: contain;
}

.news-cover-mark {
	font-family: var(--hk-display);
	font-weight: 800;
	font-size: 4rem;
	color: rgba(19, 19, 26, .18);
}

.store-covers img {
	height: auto;
}

.about-collage img {
	height: auto;
}

.series-hero-covers img {
	height: auto;
}

.series-hero-image {
	width: 100%;
	height: auto;
	border-radius: 2px;
	box-shadow: var(--hk-shadow-book);
}

.series-card-art img {
	height: auto;
}

.award-card img,
.prize-card img {
	height: auto;
}

.nf-art {
	height: auto;
}

.qr {
	height: auto;
}

.status-out::before {
	background: #9a9aa6;
}

.book-people,
.specs,
.meta-row,
.stats {
	margin-bottom: 0;
}

.book-people dd,
.specs dd,
.meta-row dd,
.stats dd {
	margin: 0;
}

.stats dt {
	font-weight: 800;
}

.book-series-pill:hover {
	color: var(--hk-ink);
	border-color: var(--hk-ink);
}

.book-figure {
	text-align: center;
}

.book-thumb-btn img {
	height: 96px;
}

.prose-first > p:first-of-type::first-letter,
.bio-first > p:first-of-type::first-letter {
	float: left;
	font-family: var(--hk-display);
	font-weight: 800;
	font-size: 4.25rem;
	line-height: .85;
	color: var(--hk-blue-700);
	padding: .375rem .625rem 0 0;
}

.prose a {
	color: var(--hk-blue-700);
	text-decoration: underline;
	text-decoration-color: var(--hk-orange-500);
	text-underline-offset: 4px;
}

.prose a:hover {
	color: var(--hk-blue-900);
}

.prose ul,
.prose ol {
	margin: 0 0 1.25em;
	padding-left: 1.25em;
}

.prose li {
	margin-bottom: .375em;
}

.prose h3 {
	font-family: var(--hk-display);
	font-weight: 700;
	font-size: 1.375rem;
	line-height: 1.2;
	margin: 2rem 0 .75rem;
}

.prose img {
	max-width: 100%;
	height: auto;
	border-radius: 2px;
}

.prose figure {
	margin: 2rem 0;
}

.prose figcaption,
.prose .wp-element-caption {
	font-size: .8125rem;
	color: var(--hk-ink-500);
	margin-top: .75rem;
	font-family: var(--hk-body);
}

.prose blockquote,
.prose .wp-block-quote,
.prose .wp-block-pullquote {
	border-left: 3px solid var(--hk-orange-500);
	padding: .25rem 0 .25rem 1.5rem;
	margin: 2rem 0;
	font-size: 1.375rem;
	line-height: 1.5;
	color: var(--hk-ink);
	text-align: left;
}

.prose blockquote p {
	margin-bottom: .5em;
}

.prose blockquote cite {
	display: block;
	font-size: .875rem;
	font-style: normal;
	color: var(--hk-ink-500);
}

.prose .wp-block-separator,
.prose hr {
	border: 0;
	border-top: 1px solid var(--hk-line);
	margin: 2.5rem 0;
	opacity: 1;
}

.prose .winner-box p {
	margin: 0;
}

.prose .winner-box .label {
	margin-bottom: .25rem;
}

.prose .nom-list {
	padding-left: 0;
}

.prose .nom-list li {
	margin: 0;
}

.nom-list li em {
	font-style: normal;
	color: var(--hk-ink-500);
}

.prose .wp-block-table table {
	width: 100%;
	border-collapse: collapse;
	font-family: var(--hk-body);
	font-size: 1rem;
}

.prose .wp-block-table td,
.prose .wp-block-table th {
	border-bottom: 1px solid var(--hk-line);
	padding: .625rem .5rem;
	text-align: left;
}

.prose .wp-block-button__link {
	background: var(--hk-cta);
	color: #fff;
	text-decoration: none;
	border-radius: 2px;
	font-family: var(--hk-body);
	font-weight: 700;
	font-size: .9375rem;
	padding: .875rem 1.25rem;
	display: inline-flex;
}

.prose .wp-block-button__link:hover {
	background: var(--hk-cta-hover);
	color: #fff;
}

.alignwide {
	margin-left: auto;
	margin-right: auto;
}

.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.alignleft {
	float: left;
	margin: .5rem 1.5rem 1rem 0;
}

.alignright {
	float: right;
	margin: .5rem 0 1rem 1.5rem;
}

.about-text p {
	margin: 0 0 1.25em;
}

.about-text p:last-child {
	margin-bottom: 0;
}

.page-intro p {
	margin: 0;
}

.filter-group .is-extra {
	display: none;
}

.filter-group.is-expanded .is-extra {
	display: flex;
}

.hk .form-check .form-check-label {
	cursor: pointer;
}

.chip {
	text-decoration: none;
}

.chip:hover {
	color: var(--hk-blue-900);
}

.pagination-hk .page-link.dots {
	border-color: transparent;
	background: transparent;
}

.az-btn {
	text-decoration: none;
}

.az-btn.is-disabled {
	color: #b9b2a2;
	background: transparent;
	border-color: transparent;
	cursor: default;
}

.avatar-photo {
	overflow: hidden;
	background: var(--hk-paper-3);
}

.avatar-photo img,
.author-avatar-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.author-avatar-photo {
	overflow: hidden;
	background: var(--hk-paper-3);
}

.side-book-cover {
	width: 72px;
	height: auto;
	flex: none;
	box-shadow: var(--hk-shadow-book);
	border-radius: 2px;
}

.side-book .book-title {
	font-size: 1.0625rem;
}

.post-nav .text-end {
	margin-left: auto;
}

.search-summary {
	font-family: var(--hk-body);
	font-weight: 400;
}

.form-result {
	margin: .75rem 0 0;
	font-weight: 700;
}

.form-error {
	color: #b42318;
}

.newsletter-box .form-error {
	color: #ffd7c2;
}

.nl-note {
	font-size: .8125rem;
	color: #c9d4f2;
	margin-top: .5rem;
}

.was-validated .form-control:invalid,
.was-validated .form-select:invalid {
	border-color: #b42318;
}

.newsletter-box .was-validated .nl-input:invalid {
	box-shadow: 0 0 0 .2rem rgba(255, 140, 100, .6);
}

.site-footer address {
	font-style: normal;
}

.site-footer address a {
	color: var(--hk-ink-700);
	text-decoration: none;
	display: inline-block;
	padding: .3125rem 0;
}

.site-footer address a:hover {
	color: var(--hk-blue-700);
	text-decoration: underline;
}

.share .copied {
	white-space: nowrap;
}

.page-links {
	margin-top: 2rem;
}

.hero .carousel-item {
	transition: transform .6s ease-in-out;
}

.radio-btn svg {
	flex: none;
}

@media (max-width: 991.98px) {
	.search-panel {
		position: static;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hero .carousel-item {
		transition: none;
	}

	html {
		scroll-behavior: auto;
	}
}

.stat-num {
	white-space: nowrap;
	font-size: clamp(1.625rem, 1.2rem + 1vw, 2.25rem);
}

.search-field input:focus,
.search-field input:focus-visible,
.big-search input:focus,
.big-search input:focus-visible {
	outline: 0;
	box-shadow: none;
}

.badge-hk {
	white-space: nowrap;
}

.news-meta {
	flex-wrap: wrap;
	row-gap: .25rem;
}

.stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.5rem;
}

.stats > div {
	min-width: 0;
}

.article-figure img {
	height: auto;
}

.prose-first > p:first-of-type::after,
.bio-first > p:first-of-type::after {
	content: "";
	display: table;
	clear: both;
}

.map-link {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	min-height: 44px;
	font-weight: 700;
	font-size: .9375rem;
	color: var(--hk-blue-700);
	text-decoration: none;
	border-bottom: 1.5px solid currentColor;
}

.map-link:hover {
	color: var(--hk-blue-900);
}

@media (max-width: 991.98px) {
	.hero-art {
		min-height: 0;
		aspect-ratio: 4 / 3;
		max-width: 480px;
		margin: 1rem auto 0;
	}

	.hero-cover {
		width: 42%;
	}

	.hero-spread {
		width: 72%;
	}

	.hero-cover-solo {
		width: 50%;
		max-width: 260px;
	}

	.hero-photo {
		max-width: 560px;
		display: block;
		margin: 0 auto;
	}

	.about-collage,
	.series-hero-covers {
		min-height: 0;
		display: flex;
		justify-content: center;
		align-items: flex-end;
		padding: 1rem 0 .5rem;
	}

	.about-collage img,
	.series-hero-covers img {
		position: static;
		width: 34%;
		max-width: 200px;
		margin: 0 -4%;
	}

	.about-collage .c1,
	.series-hero-covers .sh1 {
		z-index: 1;
	}

	.about-collage .c3,
	.series-hero-covers .sh3 {
		z-index: 1;
	}

	.book-main-cover {
		max-width: 300px;
	}

	.book-thumbs {
		flex-wrap: nowrap;
		overflow-x: auto;
		justify-content: flex-start;
		padding-bottom: .375rem;
		scrollbar-width: thin;
	}

	.book-thumb-btn {
		flex: none;
	}

	.club-shot {
		height: 360px;
	}
}

@media (max-width: 767.98px) {
	.stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.25rem 1rem;
		padding-top: 1.5rem;
		margin-top: 1.75rem;
	}

	.page-head {
		padding-bottom: 1.75rem;
	}

	.crumbs {
		padding: .875rem 0;
	}

	.crumbs-list {
		flex-wrap: nowrap;
		overflow: hidden;
	}

	.crumbs-list li {
		flex: none;
		white-space: nowrap;
	}

	.crumbs-list li:last-child {
		flex: 1 1 auto;
		min-width: 0;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.section-head {
		margin-bottom: 1.5rem;
		row-gap: .5rem;
	}

	.hero-slide {
		padding: 2rem 0 5.5rem;
	}

	.hero .lede {
		margin-top: 1rem;
	}

	.series-hero {
		padding-bottom: 2.5rem;
	}

	.series-tile {
		min-height: 168px;
	}

	.series-name {
		margin-top: 2.25rem;
		font-size: 1rem;
	}

	.series-num {
		font-size: 1.75rem;
	}

	.club-shot {
		height: 280px;
	}

	.news-lead-img {
		aspect-ratio: 3 / 2;
	}

	.news-cover-wrap {
		padding: .875rem;
	}

	.news-card {
		display: grid;
		grid-template-columns: 104px minmax(0, 1fr);
		column-gap: 1rem;
		align-items: start;
	}

	.news-card > :first-child {
		grid-row: 1 / span 3;
	}

	.news-card .news-img,
	.news-card .news-cover-wrap {
		aspect-ratio: 3 / 4;
	}

	.news-card .news-cover-wrap {
		padding: .5rem;
	}

	.news-card .news-cover-wrap img {
		max-width: 100%;
	}

	.news-card .news-meta {
		margin-top: 0;
	}

	.news-card .news-title {
		font-size: 1.0625rem;
		margin-top: .375rem;
	}

	.news-card .news-excerpt {
		display: none;
	}

	.series-card-art {
		height: 140px;
		padding-top: 1rem;
	}

	.series-card-body {
		padding: .875rem;
	}

	.series-card-title {
		font-size: 1.0625rem;
	}

	.series-card-meta {
		font-size: .75rem;
	}

	.az {
		flex-wrap: nowrap;
		overflow-x: auto;
		margin: 0 -1.25rem;
		padding: 0 1.25rem .5rem;
		scrollbar-width: thin;
	}

	.az-btn {
		flex: none;
	}

	.az-letter {
		font-size: 2rem;
		margin: 1.75rem 0 .75rem;
	}

	.author-card {
		padding: .75rem;
		gap: .75rem;
	}

	.avatar-sm {
		width: 44px;
		height: 44px;
		font-size: .9375rem;
	}

	.author-meta {
		display: -webkit-box;
		-webkit-line-clamp: 1;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}

	.author-avatar {
		width: 104px;
		height: 104px;
		font-size: 2.25rem;
	}

	.hk .row.g-4 {
		--bs-gutter-x: 1rem;
	}

	.card-book .book-title {
		font-size: .9375rem;
	}

	.card-price {
		font-size: 1rem;
	}

	.card-soon,
	.card-buy {
		font-size: .75rem;
	}

	.card-book-foot {
		padding-top: .5rem;
	}

	.book-author {
		font-size: .8125rem;
	}

	.vol {
		width: 30px;
		height: 30px;
		font-size: .8125rem;
	}

	.book-row {
		grid-auto-columns: 42%;
		gap: 1rem;
	}

	.book-hero {
		padding-bottom: 3rem;
	}

	.book-main-cover {
		max-width: 240px;
	}

	.buy-box {
		padding: 1.25rem;
	}

	.prose {
		font-size: 1.0625rem;
	}

	.top5-feature-cover {
		width: 140px;
	}

	.top5-title {
		font-size: 1.625rem;
	}

	.award-num {
		font-size: 5.5rem;
	}

	.timeline .tl-item {
		padding-bottom: 1.5rem;
	}

	.feature-news-body {
		padding: 1.25rem;
	}

	.side-card {
		padding: 1.25rem;
	}

	.store-card {
		padding: 1.5rem;
	}

	.radio-band {
		gap: .75rem 1rem;
	}

	.results-bar {
		margin-bottom: 1.25rem;
	}
}

.book-main-cover {
	height: auto;
}

@media (max-width: 767.98px) {
	.club-shot {
		height: auto;
		max-width: 300px;
		margin: 0 auto;
		object-fit: contain;
	}
}

@media (max-width: 991.98px) {
	.news-cover-wrap.is-lead,
	.news-lead-img {
		aspect-ratio: 16 / 9;
	}
}

.search-field input::-webkit-search-cancel-button,
.search-field input::-webkit-search-decoration,
.big-search input::-webkit-search-cancel-button,
.big-search input::-webkit-search-decoration {
	-webkit-appearance: none;
	appearance: none;
	display: none;
}

.author-card > span:last-child {
	min-width: 0;
}

@media (max-width: 767.98px) {

	main > .container + .section {
		padding-top: 2rem;
	}

	main > .container + .container.py-5,
	main > .container + section.container.py-5 {
		padding-top: 2rem !important;
	}
}

.card-soon {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}

@media (max-width: 767.98px) {
	.nf .big-search input {
		font-size: 1.125rem;
	}

	.nf .btn {
		flex: 1 1 auto;
	}

	.nf-code {
		font-size: 5rem;
	}
}

.price-group {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: baseline;
	column-gap: .375rem;
}

.is-sale {
	color: var(--hk-cta);
}

.price-old {
	font-size: .8125rem;
	font-weight: 600;
	color: var(--hk-ink-500);
	white-space: nowrap;
}

.price .price-group {
	column-gap: .75rem;
}

.price .price-old {
	font-family: var(--hk-body);
	font-size: 1.125rem;
}

.badge-sale {
	background: var(--hk-cta);
}

.sale-flag {
	position: absolute;
	top: .625rem;
	left: -.375rem;
	z-index: 1;
}

.sale-note {
	margin-top: .5rem;
	font-size: .875rem;
	font-weight: 700;
	color: var(--hk-cta);
}

@media (max-width: 767.98px) {
	.price-old {
		font-size: .75rem;
	}
}

@supports (initial-letter: 3) or (-webkit-initial-letter: 3) {
	.prose-first > p:first-of-type::first-letter,
	.bio-first > p:first-of-type::first-letter {
		float: none;
		-webkit-initial-letter: 3;
		initial-letter: 3;
		font-size: inherit;
		line-height: inherit;
		padding: 0;
		margin-right: .625rem;
	}
}

@media (max-width: 575.98px) {
	.author-card {
		flex-direction: column;
		align-items: flex-start;
		gap: .625rem;
		height: 100%;
		padding: .875rem;
	}

	.author-card .avatar-sm {
		width: 40px;
		height: 40px;
		font-size: .875rem;
	}

	.author-card > span:last-child {
		width: 100%;
	}

	.author-card .author-name {
		font-size: .9375rem;
		overflow-wrap: anywhere;
	}

	.author-card .author-meta {
		font-size: .75rem;
		line-height: 1.35;
		margin-top: .25rem;
		-webkit-line-clamp: 2;
	}
}

.hk-carousel {
	position: relative;
}

.hk-carousel .book-row {
	scrollbar-width: none;
	scroll-padding-inline: .25rem;
}

.hk-carousel .book-row::-webkit-scrollbar {
	display: none;
}

.hk-carousel.is-scrollable .book-row {
	cursor: grab;
}

.hk-carousel .book-row.is-dragging {
	cursor: grabbing;
	scroll-snap-type: none;
	user-select: none;
}

.hk-carousel .book-row.is-dragging a {
	pointer-events: none;
}

.hk-carousel .book-row img {
	-webkit-user-drag: none;
}

.hk-carousel::before,
.hk-carousel::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 3.5rem;
	width: 4.5rem;
	z-index: 2;
	pointer-events: none;
	opacity: 0;
	transition: opacity .25s ease;
}

.hk-carousel::before {
	left: 0;
	background: linear-gradient(90deg, var(--hk-paper-2), rgba(242, 237, 228, 0));
}

.hk-carousel::after {
	right: 0;
	background: linear-gradient(270deg, var(--hk-paper-2), rgba(242, 237, 228, 0));
}

.hk-carousel.has-prev::before,
.hk-carousel.has-next::after {
	opacity: 1;
}

.carousel-ui {
	display: none;
	align-items: center;
	gap: 1.5rem;
	margin-top: 1rem;
}

.hk-carousel.is-scrollable .carousel-ui {
	display: flex;
}

.carousel-track {
	position: relative;
	flex: 1;
	height: 3px;
	background: var(--hk-paper-3);
	border-radius: 3px;
	overflow: hidden;
}

.carousel-thumb {
	position: absolute;
	inset: 0 auto 0 0;
	width: var(--thumb-size, 30%);
	transform: translateX(var(--thumb-pos, 0));
	background: var(--hk-ink);
	border-radius: 3px;
	transition: width .2s ease;
}

.carousel-nav {
	display: flex;
	gap: .5rem;
	flex: none;
}

.carousel-btn {
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--hk-ink);
	border-radius: 50%;
	background: transparent;
	color: var(--hk-ink);
	transition: background-color .2s ease, color .2s ease, opacity .2s ease;
}

.carousel-btn:hover:not(:disabled) {
	background: var(--hk-ink);
	color: #fff;
}

.carousel-btn:focus-visible {
	outline: 2px solid var(--hk-blue-700);
	outline-offset: 2px;
}

.carousel-btn:disabled {
	opacity: .3;
	cursor: default;
}

@media (max-width: 767.98px) {
	.hk-carousel::before,
	.hk-carousel::after {
		width: 2rem;
	}

	.carousel-ui {
		gap: 1rem;
	}

	.carousel-btn {
		width: 40px;
		height: 40px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.carousel-thumb,
	.carousel-btn,
	.hk-carousel::before,
	.hk-carousel::after {
		transition: none;
	}
}

@media (min-width: 768px) {
	.author-card .author-meta {
		display: block;
	}
}

.nf-caption {
	max-width: 640px;
	margin: 1.25rem 0 0 auto;
	text-align: right;
	font-size: .875rem;
	color: #aab6d8;
}

.nf-caption a {
	color: #fff;
	text-decoration: underline;
	text-decoration-color: var(--hk-orange-500);
	text-underline-offset: 3px;
}

.nf-caption a:hover {
	color: var(--hk-orange-500);
}

.book-tags {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	list-style: none;
	margin: 1.5rem 0 0;
	padding: 0;
}

.book-tags .tag {
	color: var(--hk-ink);
	text-decoration: none;
	background: #fff;
}

.tag-count {
	margin-left: .5rem;
	font-size: .75rem;
	color: var(--hk-ink-500);
}

.tag-cloud-block {
	margin-top: 3.5rem;
	padding-top: 2rem;
	border-top: 1px solid var(--hk-line);
}

.tag-cloud-block .book-tags {
	margin-top: 1rem;
}

.article-hero .article-figure {
	margin: 0;
}

.article-hero .article-figure img {
	aspect-ratio: auto;
	width: 100%;
	height: auto;
	max-height: 75vh;
	object-fit: contain;
	object-position: center;
}

.article-hero .article-head {
	max-width: none;
}

@media (max-width: 991.98px) {
	.article-hero .article-figure img {
		max-height: none;
	}
}
