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;
}

.nav-toggle-open,
.nav-toggle-close {
	display: inline-flex;
}

.nav-toggle-close,
.nav-toggle[aria-expanded="true"] .nav-toggle-open {
	display: none;
}

.nav-toggle[aria-expanded="true"] .nav-toggle-close {
	display: inline-flex;
}

@media (max-width: 991.98px) {
	.site-header .brand,
	.header-actions {
		min-height: 64px;
	}
}

.hk {
	--hk-heading: #1f2a44;
}

.bg-navy,
.bg-blue,
.top5,
.nf,
.club-card,
.newsletter-box,
.winner-box,
.xmas-hero {
	--hk-heading: currentColor;
}

.display-xl,
.display-lg,
.display-md,
.page-title,
.article-title,
.book-h1 {
	color: var(--hk-heading);
}

.accent,
.accent-light {
	font-family: inherit;
	font-style: normal;
	font-weight: inherit;
	color: var(--hk-orange-600);
	letter-spacing: inherit;
}

.accent-light {
	color: var(--hk-orange-500);
}

.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 > :where(img, .book3d) {
	display: block;
	height: auto;
}

.top5-num1 {
	z-index: 2;
}

.top5-num1 .num-sign {
	margin-right: .1em;
	font-family: var(--hk-body);
	font-size: .6em;
	font-weight: 700;
}

.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 > :where(img, .book3d) {
	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 > :where(img, .book3d) {
	height: auto;
}

.about-collage > :where(img, .book3d):not(.c1):not(.c2):not(.c3) {
	display: none;
}

.about-collage > :where(img, .book3d) {
	height: auto;
}

.series-hero-covers > :where(img, .book3d) {
	height: auto;
}

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

.series-card-art > :where(img, .book3d) {
	height: auto;
}

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

.award-count {
	display: flex;
	align-items: flex-end;
	gap: 1rem;
	margin-top: 1.5rem;
}

.award-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin-top: 2rem;
}

@media (min-width: 576px) and (max-width: 991.98px) {
	.award-card {
		flex-direction: row;
	}

	.award-card img {
		flex: 0 0 42%;
		width: 42%;
		height: auto;
		object-fit: cover;
	}
}

@media (max-width: 575.98px) {
	.award-count {
		margin-top: 1rem;
	}

	.award-count .award-num {
		font-size: 4.25rem;
	}

	.award-text {
		margin-top: 1rem;
		font-size: 1rem;
		line-height: 1.55;
	}

	.award-actions {
		flex-wrap: nowrap;
		gap: .75rem;
		margin-top: 1.25rem;
	}

	.award-actions .btn {
		flex: 1 1 0;
		min-width: 0;
		padding-right: .5rem;
		padding-left: .5rem;
		font-size: .8125rem;
	}

	.award-card img {
		aspect-ratio: 16 / 9;
	}

	.award-card-body {
		padding: 1.25rem;
		gap: .5rem;
	}

	.award-card-title {
		font-size: 1.375rem;
	}

	.award-card-text {
		font-size: .9375rem;
	}
}

.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;
}

.side-author-name {
	margin: 0 0 .5rem;
	font-family: var(--hk-display);
	font-weight: 800;
	font-size: 1.125rem;
	line-height: 1.25;
	color: var(--hk-heading);
}

.side-author-text {
	margin: 0 0 1rem;
	font-size: .9375rem;
	line-height: 1.6;
	color: var(--hk-ink-500);
}

.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;
}

.hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
}

.hero .display-xl {
	text-wrap: balance;
}

@media (min-width: 992px) {
	.hero .display-xl {
		font-size: clamp(2.75rem, .75rem + 3.25vw, 3.75rem);
	}
}

.hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin-top: 2rem;
}

@media (min-width: 992px) {
	.hero-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: 1fr auto auto 1fr;
		grid-template-areas: ". media" "text media" "actions media" ". media";
		column-gap: 3rem;
	}

	.hero-text {
		grid-area: text;
	}

	.hero-media {
		grid-area: media;
		align-self: center;
	}

	.hero-actions {
		grid-area: actions;
	}
}

.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;
}

.author-bio {
	max-width: 46rem;
	margin-top: 2rem;
}

.author-bio > p:last-child {
	margin-bottom: 0;
}

.author-art {
	margin: 0 0 1.5rem;
}

.author-art img {
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 26rem;
	margin: 0 auto;
}

.author-facts {
	padding: 1.75rem;
}

.author-count {
	display: flex;
	align-items: baseline;
	gap: .75rem;
	margin: 0 0 1.5rem;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid var(--hk-line);
}

.author-count-num {
	font-family: var(--hk-display);
	font-weight: 800;
	font-size: 3.5rem;
	line-height: 1;
	color: var(--hk-blue-700);
}

.author-facts-list {
	display: grid;
	gap: 1.125rem;
	margin: 0 0 1.25rem;
}

.author-facts-list dd {
	margin: 0;
}

.author-topics {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin-top: .5rem;
}

.author-topics .tag {
	min-height: 32px;
}

@media (min-width: 992px) {
	.author-head aside {
		position: sticky;
		top: 6rem;
		align-self: flex-start;
	}
}

@media (max-width: 767.98px) {
	.author-bio {
		margin-top: 1.25rem;
	}

	.author-facts {
		padding: 1.25rem;
	}

	.author-count-num {
		font-size: 2.75rem;
	}
}

.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-media {
		margin-top: 1.25rem;
	}

	.hero-actions {
		margin-top: 1.25rem;
	}

	.hero-art {
		min-height: 0;
		aspect-ratio: 16 / 10;
		max-width: 400px;
		margin: 0 auto;
	}

	.hero-cover {
		width: 36%;
	}

	.hero-spread {
		width: 66%;
	}

	.hero-cover-solo {
		width: 38%;
		max-width: 200px;
	}

	.hero-photo {
		max-width: 560px;
		display: block;
		margin: 0 auto;
		aspect-ratio: 16 / 9;
	}

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

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

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

	.about-collage .c1 {
		order: 1;
	}

	.about-collage .c2 {
		order: 2;
	}

	.about-collage .c3 {
		order: 3;
	}

	.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: 1.5rem 0 4.5rem;
	}

	.hero .display-xl {
		margin-top: .75rem;
		font-size: clamp(1.875rem, 1.25rem + 2.5vw, 2.75rem);
	}

	.hero .lede {
		margin-top: .75rem;
		font-size: 1rem;
		line-height: 1.5;
	}

	.hero-controls .container {
		min-height: 56px;
	}

	.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 > :where(img, .book3d) {
		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;
	}

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

	.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) {
	.hero-actions .btn {
		flex: 1 1 auto;
		justify-content: center;
	}

	.author-card {
		flex-direction: column;
		align-items: flex-start;
		gap: .625rem;
		height: 100%;
		padding: .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;
	}
}

.club-card {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 240px;
	gap: 2.5rem;
	align-items: center;
	height: 100%;
	padding: 3rem;
	background: var(--hk-blue-900);
	color: #fff;
	border-radius: 4px;
	overflow: hidden;
	isolation: isolate;
}

.club-card::before {
	content: "";
	position: absolute;
	right: -120px;
	bottom: -160px;
	width: 460px;
	height: 460px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(245, 130, 32, .45), rgba(245, 130, 32, 0) 70%);
	z-index: -1;
}

.club-card .kicker {
	color: #c9d4f2;
}

.club-card .display-md {
	color: #fff;
}

.club-benefits {
	list-style: none;
	padding: 0;
	margin: 1.5rem 0 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .875rem 1.5rem;
	font-size: .9375rem;
	line-height: 1.4;
	color: #e3e8f7;
}

.club-benefits li {
	display: flex;
	gap: .75rem;
	align-items: flex-start;
}

.club-benefit-icon {
	flex: none;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--hk-orange-500);
	color: #fff;
}

.club-card .store-btn {
	background: #fff;
	color: var(--hk-ink);
}

.club-card .store-btn:hover {
	background: var(--hk-paper-2);
	color: var(--hk-ink);
}

.club-phone {
	position: relative;
	width: 240px;
	padding: 10px;
	background: #0b0b12;
	border-radius: 36px;
	box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .6), 0 0 0 1px rgba(255, 255, 255, .08);
	transform: rotate(4deg);
}

.club-phone-shot {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 28px;
}

.club-phone-screen {
	display: flex;
	flex-direction: column;
	gap: .75rem;
	min-height: 440px;
	padding: .75rem .875rem 1rem;
	background: var(--hk-paper);
	color: var(--hk-ink);
	border-radius: 28px;
	overflow: hidden;
}

.club-phone-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: .625rem;
	font-weight: 700;
}

.club-phone-notch {
	width: 64px;
	height: 18px;
	border-radius: 12px;
	background: #0b0b12;
}

.club-phone-brand {
	font-family: var(--hk-display);
	font-weight: 800;
	font-size: 1.125rem;
	letter-spacing: .02em;
	color: var(--hk-blue-700);
}

.club-phone-brand small {
	font-size: .625rem;
	font-weight: 700;
	color: var(--hk-orange-600);
	text-transform: uppercase;
	letter-spacing: .12em;
}

.club-phone-bonus {
	display: flex;
	align-items: center;
	gap: .625rem;
	padding: .75rem;
	border-radius: 12px;
	background: linear-gradient(135deg, var(--hk-orange-600), var(--hk-orange-500));
	color: #fff;
}

.club-phone-bonus strong {
	font-family: var(--hk-display);
	font-size: 1.5rem;
	line-height: 1;
}

.club-phone-bonus span {
	font-size: .6875rem;
	font-weight: 700;
	line-height: 1.2;
}

.club-phone-label {
	font-size: .6875rem;
	font-weight: 700;
	color: var(--hk-ink-500);
}

.club-phone-books {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .5rem;
}

.club-phone-books img {
	width: 100%;
	aspect-ratio: 2 / 3;
	object-fit: cover;
	border-radius: 4px;
	box-shadow: 0 4px 10px rgba(20, 20, 40, .18);
	display: block;
}

.club-phone-nav {
	display: flex;
	justify-content: space-around;
	margin-top: auto;
	padding-top: .5rem;
	border-top: 1px solid var(--hk-line);
}

.club-phone-nav span {
	width: 16px;
	height: 16px;
	border-radius: 4px;
	background: var(--hk-paper-3);
}

.club-phone-nav span:first-child {
	background: var(--hk-orange-500);
}

.club-side {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	height: 100%;
}

.club-side .store-card {
	height: auto;
	flex: 1 1 auto;
}

.radio-card {
	position: relative;
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1.25rem 1.5rem;
	background: var(--hk-ink);
	color: #fff;
	border-radius: 4px;
	overflow: hidden;
	isolation: isolate;
}

.radio-card:hover {
	color: #fff;
}

.radio-card::after {
	content: "";
	position: absolute;
	right: -50px;
	top: -50px;
	width: 160px;
	height: 160px;
	border-radius: 50%;
	border: 2px solid rgba(245, 130, 32, .35);
	box-shadow: 0 0 0 22px rgba(245, 130, 32, .08);
	z-index: -1;
}

.radio-card .radio-icon {
	width: 48px;
	height: 48px;
}

.radio-card .radio-title {
	font-size: 1.25rem;
}

.radio-play {
	flex: none;
	width: 44px;
	height: 44px;
	margin-left: auto;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--hk-cta);
	color: #fff;
	transition: transform .2s ease;
}

.radio-card:hover .radio-play {
	transform: scale(1.08);
}

@media (max-width: 1199.98px) {
	.club-card {
		grid-template-columns: minmax(0, 1fr) 200px;
		padding: 2.5rem;
		gap: 2rem;
	}

	.club-phone {
		width: 200px;
	}

	.club-phone-screen {
		min-height: 380px;
	}

	.club-benefits {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 767.98px) {
	.club-card {
		grid-template-columns: minmax(0, 1fr);
		padding: 2rem 1.5rem 0;
	}

	.club-phone {
		justify-self: center;
		width: 220px;
		margin-bottom: -120px;
		transform: none;
	}

	.club-card {
		padding-bottom: 0;
		max-height: none;
	}

	.club-phone-screen {
		min-height: 400px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.radio-play {
		transition: none;
	}
}

.club-poster {
	position: relative;
	justify-self: center;
	width: 240px;
	padding: 8px;
	background: #fff;
	border-radius: 22px;
	box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .65), 0 0 0 1px rgba(255, 255, 255, .1);
	transform: rotate(3deg);
}

.club-poster-img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 16px;
}

@media (max-width: 1199.98px) {
	.club-poster {
		width: 200px;
	}
}

@media (max-width: 767.98px) {
	.club-poster {
		width: 220px;
		margin-bottom: 2rem;
		transform: none;
	}
}

.store-badges {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .625rem;
}

.store-badge {
	display: inline-flex;
	border-radius: 9px;
	transition: transform .2s ease, box-shadow .2s ease;
}

.store-badge img {
	display: block;
	width: auto;
	height: 48px;
}

.store-badge:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 18px -8px rgba(0, 0, 0, .45);
}

.store-badge:focus-visible {
	outline: 2px solid var(--hk-orange-500);
	outline-offset: 3px;
}

@media (max-width: 575.98px) {
	.store-badge img {
		height: 40px;
	}

	.site-footer {
		padding-top: 3rem;
	}

	.footer-bottom {
		margin-top: 2rem;
	}

	.club-card {
		gap: 1.5rem;
		padding: 2rem 1.25rem 0;
	}

	.club-benefits {
		gap: .625rem;
		margin-top: 1.25rem;
		font-size: .875rem;
	}

	.club-benefit-icon {
		width: 22px;
		height: 22px;
	}

	.club-poster {
		width: 200px;
		max-height: 200px;
		padding-bottom: 0;
		overflow: hidden;
		border-radius: 22px 22px 0 0;
		transform: none;
	}

	.club-poster-img {
		border-radius: 16px 16px 0 0;
	}

	.club-phone {
		width: 200px;
		margin-bottom: -180px;
	}

	.club-side {
		gap: 1rem;
	}

	.store-card {
		gap: 1.25rem;
	}

	.store-card-title {
		font-size: 1.375rem;
	}

	.store-covers {
		margin-top: 1rem;
	}

	.store-covers > :where(img, .book3d) {
		width: 64px;
	}

	.top5-feature {
		display: grid;
		grid-template-columns: 104px minmax(0, 1fr);
		column-gap: 1.25rem;
		align-items: center;
	}

	.top5-feature-body {
		display: contents;
	}

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

	.top5-feature .top5-num1 {
		top: -10px;
		left: -10px;
		width: 40px;
		height: 40px;
		font-size: .9375rem;
	}

	.top5-feature .top5-title {
		font-size: 1.375rem;
	}

	.top5-feature .top5-text,
	.top5-feature .btn {
		grid-column: 1 / -1;
	}

	.top5-feature .top5-text {
		margin: 1.25rem 0 1.25rem;
	}

	.top5-feature .btn {
		justify-self: start;
	}

	.about-collage > :where(img, .book3d),
	.about-collage .c3,
	.series-hero-covers > :where(img, .book3d) {
		width: 28%;
		max-width: 140px;
	}
}

.book-figure {
	position: relative;
}

.reader-launch {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	margin-top: 1.25rem;
	padding: .625rem 1.125rem;
	border: 0;
	border-radius: 999px;
	background: var(--hk-ink);
	color: #fff;
	font-weight: 700;
	font-size: .9375rem;
	white-space: nowrap;
	box-shadow: 0 10px 24px -8px rgba(0, 0, 0, .5);
	transition: background-color .2s ease, transform .2s ease;
}

.reader-launch:hover,
.reader-launch:focus-visible {
	background: var(--hk-cta);
	color: #fff;
	transform: translateY(-2px);
}

.reader-launch:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
}

.reader-launch-count {
	font-size: .8125rem;
	font-weight: 600;
	color: rgba(255, 255, 255, .7);
}

.reader-launch:hover .reader-launch-count {
	color: #fff;
}

.btn-link-reset {
	background: none;
	border: 0;
	padding: 0;
	cursor: pointer;
}

.page-row {
	grid-auto-columns: 168px;
	gap: 1.25rem;
	align-items: start;
}

.page-thumb {
	position: relative;
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	background: #fff;
	border-radius: 2px;
	box-shadow: var(--hk-shadow-book);
	cursor: zoom-in;
	scroll-snap-align: start;
	transition: transform .2s ease;
}

.page-thumb img {
	display: block;
	width: 100%;
	aspect-ratio: 2 / 3;
	object-fit: cover;
	border-radius: 2px;
	-webkit-user-drag: none;
}

.page-thumb.is-landscape {
	grid-column: span 2;
}

.page-thumb.is-landscape img {
	aspect-ratio: auto;
	height: 252px;
}

.page-thumb:hover {
	transform: translateY(-4px);
}

.page-thumb:focus-visible {
	outline: 2px solid var(--hk-blue-700);
	outline-offset: 3px;
}

.page-thumb-num {
	position: absolute;
	right: .5rem;
	bottom: .5rem;
	min-width: 28px;
	padding: .125rem .375rem;
	border-radius: 999px;
	background: rgba(19, 19, 26, .78);
	color: #fff;
	font-size: .75rem;
	font-weight: 700;
	text-align: center;
}

html.reader-open {
	overflow: hidden;
}

.reader {
	width: 100vw;
	height: 100vh;
	height: 100dvh;
	max-width: none;
	max-height: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: #0d0f17;
	color: #fff;
	overflow: hidden;
}

.reader[open] {
	display: grid;
	grid-template-rows: auto minmax(0, 1fr) auto;
}

.reader::backdrop {
	background: rgba(5, 6, 10, .9);
}

.reader-top {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: .75rem 1rem .75rem 1.5rem;
	border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.reader-title {
	flex: 1 1 auto;
	min-width: 0;
	font-family: var(--hk-display);
	font-weight: 700;
	font-size: 1rem;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.reader-count {
	flex: none;
	font-size: .875rem;
	font-weight: 600;
	color: #c8cbe0;
	font-variant-numeric: tabular-nums;
}

.reader-tools {
	display: flex;
	gap: .25rem;
	flex: none;
}

.reader-btn {
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: #fff;
	transition: background-color .2s ease;
}

.reader-btn:hover,
.reader-btn:focus-visible {
	background: rgba(255, 255, 255, .12);
}

.reader-btn:disabled {
	opacity: .35;
}

.reader:focus,
.reader:focus-visible {
	outline: 0;
}

.reader-close {
	margin-left: .5rem;
	background: rgba(255, 255, 255, .1);
}

.reader-stage {
	position: relative;
	overflow: hidden;
	touch-action: none;
	user-select: none;
}

.reader-stage.is-zoomed {
	cursor: grab;
}

.reader-stage.is-panning {
	cursor: grabbing;
}

.reader-view {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	padding: 1.5rem 5rem;
	transform: translate(var(--rx, 0px), var(--ry, 0px)) scale(var(--rs, 1));
	transform-origin: center center;
	will-change: transform;
}

.reader-view.is-animating {
	transition: transform .25s ease;
}

.reader-frame {
	flex: none;
	width: var(--book-w, 100%);
	filter: drop-shadow(0 18px 36px rgba(0, 0, 0, .55));
}

.reader-book {
	margin: 0 auto;
}

.reader-stage.is-zoomed .reader-book {
	pointer-events: none;
}

.reader-page {
	position: relative;
	overflow: hidden;
	background: #fff;
}

.reader-page img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	-webkit-user-drag: none;
	pointer-events: none;
}

.reader-page.is-left img,
.reader-page.is-right img {
	width: 200%;
	max-width: none;
	object-fit: fill;
}

.reader-page.is-right img {
	margin-left: -100%;
}

.reader-view.is-simple .reader-page {
	display: none;
	aspect-ratio: auto;
}

.reader-view.is-simple .reader-page.is-current {
	display: block;
}

.reader-view.is-simple .reader-page img {
	height: auto;
}

.reader-loader {
	position: absolute;
	inset: 0;
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	font-size: .875rem;
	color: #c4c8dc;
	pointer-events: none;
}

.reader-loader[hidden] {
	display: none;
}

.reader-spinner {
	width: 44px;
	height: 44px;
	border: 3px solid rgba(255, 255, 255, .14);
	border-top-color: var(--hk-cta);
	border-radius: 50%;
	animation: reader-spin .8s linear infinite;
}

.reader-page.is-loading::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 28px;
	height: 28px;
	margin: -14px 0 0 -14px;
	border: 3px solid rgba(19, 19, 26, .1);
	border-top-color: var(--hk-cta);
	border-radius: 50%;
	animation: reader-spin .8s linear infinite;
}

@keyframes reader-spin {
	to {
		transform: rotate(360deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	.reader-spinner,
	.reader-page.is-loading::before {
		animation-duration: 2.4s;
	}
}

.reader-nav {
	position: absolute;
	top: 50%;
	z-index: 2;
	width: 56px;
	height: 56px;
	margin-top: -28px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .12);
	color: #fff;
	transition: background-color .2s ease, opacity .2s ease;
}

.reader-nav:hover,
.reader-nav:focus-visible {
	background: var(--hk-cta);
}

.reader-nav:disabled {
	opacity: 0;
	pointer-events: none;
}

.reader-prev {
	left: 1rem;
}

.reader-next {
	right: 1rem;
}

.reader-hint {
	padding: .625rem 1rem .875rem;
	font-size: .75rem;
	color: #9ea3bf;
	text-align: center;
}

@media (max-width: 767.98px) {
	.page-row {
		grid-auto-columns: 128px;
		gap: .875rem;
	}

	.page-thumb.is-landscape img {
		height: 192px;
	}

	.reader-top {
		padding: .5rem .5rem .5rem 1rem;
		gap: .5rem;
	}

	.reader-title {
		display: none;
	}

	.reader-count {
		flex: 1 1 auto;
	}

	.reader-view {
		padding: .75rem;
	}

	.reader-nav {
		width: 44px;
		height: 44px;
		margin-top: -22px;
		background: rgba(13, 15, 23, .55);
	}

	.reader-prev {
		left: .5rem;
	}

	.reader-next {
		right: .5rem;
	}

	.reader-hint {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.store-badge,
	.page-thumb,
	.reader-view.is-animating {
		transition: none;
	}
}

.nf-book {
	display: flex;
	max-width: 640px;
	margin-left: auto;
	background: #fff;
	border-radius: 2px;
	box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .6);
	transform: rotate(-2deg);
	transition: transform .3s ease;
}

.nf-book:hover {
	transform: rotate(0);
}

.nf-book img {
	display: block;
	width: 50%;
	height: auto;
	aspect-ratio: 2 / 3;
	object-fit: cover;
}

.nf-book img:first-child {
	border-right: 1px solid rgba(0, 0, 0, .12);
	box-shadow: inset -12px 0 18px -14px rgba(0, 0, 0, .35);
}

@media (prefers-reduced-motion: reduce) {
	.nf-book {
		transition: none;
	}
}

.xmas {
	--xmas-green: #0f3b2c;
	--xmas-green-2: #164d3a;
	--xmas-red: #b3202c;
	--xmas-gold: #e7b24a;
}

.xmas-hero {
	position: relative;
	overflow: hidden;
	padding: 1rem 0 5rem;
	background: radial-gradient(120% 90% at 85% 10%, var(--xmas-green-2), var(--xmas-green) 60%);
	color: #fff;
	isolation: isolate;
}

.xmas-hero .crumbs,
.xmas-hero .crumbs a {
	color: rgba(255, 255, 255, .7);
}

.xmas-snow {
	position: absolute;
	inset: 0;
	z-index: -1;
	overflow: hidden;
	pointer-events: none;
}

.xmas-flakes {
	--tile: 360px;
	--sway: 14px;
	position: absolute;
	top: calc(var(--tile) * -1);
	bottom: 0;
	left: -2rem;
	right: -2rem;
	background-repeat: repeat;
	animation: xmas-fall 30s linear infinite;
	will-change: transform;
}

.xmas-flakes-far {
	--tile: 240px;
	--sway: 8px;
	background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><defs><path id='a' d='M0 0V-10M0-6l-2.6-2.6M0-6l2.6-2.6M0-3.2l-1.7-1.7M0-3.2l1.7-1.7'/><g id='f' fill='none' stroke='%23fff' stroke-width='1.3' stroke-linecap='round'><use href='%23a'/><use href='%23a' transform='rotate(60)'/><use href='%23a' transform='rotate(120)'/><use href='%23a' transform='rotate(180)'/><use href='%23a' transform='rotate(240)'/><use href='%23a' transform='rotate(300)'/></g></defs><use href='%23f' transform='translate(100 140) scale(.45)' opacity='.8'/><use href='%23f' transform='translate(212 206) scale(.4)' opacity='.7'/><use href='%23f' transform='translate(40 92) scale(.35)' opacity='.6'/><circle cx='20' cy='30' r='1.6' fill='%23fff' opacity='.9'/><circle cx='122' cy='78' r='1.2' fill='%23fff' opacity='.7'/><circle cx='196' cy='148' r='1.8' fill='%23fff' opacity='.8'/><circle cx='64' cy='192' r='1.1' fill='%23fff' opacity='.9'/><circle cx='170' cy='22' r='1.4' fill='%23fff' opacity='.6'/><circle cx='150' cy='226' r='1' fill='%23fff' opacity='.7'/></svg>");
	opacity: .4;
	animation-duration: 42s;
}

.xmas-flakes-mid {
	background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='360' height='360'><defs><path id='a' d='M0 0V-10M0-6l-2.6-2.6M0-6l2.6-2.6M0-3.2l-1.7-1.7M0-3.2l1.7-1.7'/><g id='f' fill='none' stroke='%23fff' stroke-width='1.3' stroke-linecap='round'><use href='%23a'/><use href='%23a' transform='rotate(60)'/><use href='%23a' transform='rotate(120)'/><use href='%23a' transform='rotate(180)'/><use href='%23a' transform='rotate(240)'/><use href='%23a' transform='rotate(300)'/></g></defs><use href='%23f' transform='translate(50 40) scale(.9)' opacity='.9'/><use href='%23f' transform='translate(190 112) scale(.7)' opacity='.7'/><use href='%23f' transform='translate(300 62) scale(1.1)' opacity='.85'/><use href='%23f' transform='translate(120 222) scale(.8)' opacity='.8'/><use href='%23f' transform='translate(262 250) scale(1)' opacity='.9'/><use href='%23f' transform='translate(42 312) scale(.6)' opacity='.6'/><use href='%23f' transform='translate(328 322) scale(.7)' opacity='.7'/><circle cx='150' cy='30' r='1.6' fill='%23fff' opacity='.8'/><circle cx='96' cy='130' r='1.3' fill='%23fff' opacity='.7'/><circle cx='222' cy='330' r='1.5' fill='%23fff' opacity='.8'/><circle cx='330' cy='170' r='1.2' fill='%23fff' opacity='.6'/></svg>");
	opacity: .45;
	animation-duration: 30s;
	animation-delay: -9s;
}

.xmas-flakes-near {
	--tile: 560px;
	--sway: 22px;
	background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='560' height='560'><defs><path id='a' d='M0 0V-10M0-6l-2.6-2.6M0-6l2.6-2.6M0-3.2l-1.7-1.7M0-3.2l1.7-1.7'/><g id='f' fill='none' stroke='%23fff' stroke-width='1.3' stroke-linecap='round'><use href='%23a'/><use href='%23a' transform='rotate(60)'/><use href='%23a' transform='rotate(120)'/><use href='%23a' transform='rotate(180)'/><use href='%23a' transform='rotate(240)'/><use href='%23a' transform='rotate(300)'/></g></defs><use href='%23f' transform='translate(90 120) scale(2)' opacity='.9'/><use href='%23f' transform='translate(380 70) scale(1.6)' opacity='.75'/><use href='%23f' transform='translate(470 330) scale(2.2)' opacity='.85'/><use href='%23f' transform='translate(200 420) scale(1.7)' opacity='.8'/></svg>");
	opacity: .28;
	animation-duration: 24s;
	animation-delay: -5s;
}

@media (max-width: 575.98px) {
	.xmas-flakes-near {
		display: none;
	}
}

@keyframes xmas-fall {
	0% {
		transform: translate3d(0, 0, 0);
	}

	25% {
		transform: translate3d(var(--sway), calc(var(--tile) * .25), 0);
	}

	50% {
		transform: translate3d(0, calc(var(--tile) * .5), 0);
	}

	75% {
		transform: translate3d(calc(var(--sway) * -1), calc(var(--tile) * .75), 0);
	}

	100% {
		transform: translate3d(0, var(--tile), 0);
	}
}

.xmas-kicker {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	padding: .375rem .875rem;
	border: 1px solid rgba(231, 178, 74, .6);
	border-radius: 999px;
	color: var(--xmas-gold);
	font-weight: 700;
	font-size: .875rem;
}

.xmas-kicker::before {
	content: "✦";
}

.xmas-title {
	font-family: var(--hk-display);
	font-weight: 800;
	font-size: clamp(2.5rem, 1.6rem + 3.6vw, 4.75rem);
	line-height: 1;
	letter-spacing: -.02em;
	margin: 1.25rem 0 0;
}

.accent-xmas {
	font-style: normal;
	color: var(--xmas-gold);
}

.xmas-intro {
	max-width: 540px;
	margin: 1.25rem 0 0;
	font-size: 1.125rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, .85);
}

.xmas-count {
	margin: 1.5rem 0 0;
	font-size: .875rem;
	color: rgba(255, 255, 255, .6);
}

.btn-xmas {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	background: var(--xmas-red);
	border-color: var(--xmas-red);
	color: #fff;
}

.btn-xmas:hover,
.btn-xmas:focus-visible {
	background: #95141f;
	border-color: #95141f;
	color: #fff;
}

@media (prefers-reduced-motion: reduce) {
	.xmas-flakes {
		animation: none;
	}
}

.xmas-hero-img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 4px;
	box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .6);
}

.xmas-hero {
	padding-top: 2.5rem;
}

.xmas-hang {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 0;
	z-index: 0;
	pointer-events: none;
}

.xmas-bauble {
	position: absolute;
	top: 0;
	width: 2px;
	background: rgba(231, 178, 74, .55);
	transform-origin: top center;
	animation: xmas-swing 5s ease-in-out infinite alternate;
}

.xmas-bauble::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -28px;
	width: 30px;
	height: 30px;
	margin-left: -15px;
	border-radius: 50%;
	background: radial-gradient(circle at 32% 30%, rgba(255, 255, 255, .85), rgba(255, 255, 255, 0) 32%), var(--ball, var(--xmas-red));
	box-shadow: 0 6px 14px rgba(0, 0, 0, .35);
}

.xmas-bauble::before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -2px;
	width: 10px;
	height: 6px;
	margin-left: -5px;
	border-radius: 2px;
	background: var(--xmas-gold);
	z-index: 1;
}

.xmas-bauble-1 { left: 52%; height: 70px; --ball: var(--xmas-red); animation-delay: -1s; }
.xmas-bauble-2 { left: 58%; height: 40px; --ball: var(--xmas-gold); animation-delay: -3s; }
.xmas-bauble-3 { left: 64%; height: 96px; --ball: #2e6fd1; animation-delay: -2s; }
.xmas-bauble-4 { left: 72%; height: 30px; --ball: #f2efe7; animation-delay: -4s; }
.xmas-bauble-5 { left: 81%; height: 82px; --ball: var(--xmas-red); animation-delay: -.5s; }
.xmas-bauble-6 { left: 89%; height: 44px; --ball: var(--xmas-gold); animation-delay: -2.5s; }
.xmas-bauble-7 { left: 96%; height: 104px; --ball: #2e6fd1; animation-delay: -3.5s; }

@keyframes xmas-swing {
	from {
		transform: rotate(-4deg);
	}

	to {
		transform: rotate(4deg);
	}
}

.xmas-hero .container {
	position: relative;
	z-index: 1;
}

.xmas-scene {
	position: relative;
	width: 34em;
	height: 44em;
	margin: 0 auto;
	font-size: 11px;
}

.xmas-star {
	position: absolute;
	top: 0;
	left: 50%;
	z-index: 3;
	width: 5em;
	height: 5em;
	margin-left: -2.5em;
	background: var(--xmas-gold);
	clip-path: polygon(50% 0, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
	filter: drop-shadow(0 0 12px rgba(231, 178, 74, .9));
	animation: xmas-glow 2.4s ease-in-out infinite alternate;
}

@keyframes xmas-glow {
	from {
		opacity: .8;
	}

	to {
		opacity: 1;
	}
}

.xmas-tier {
	position: absolute;
	left: 50%;
	clip-path: polygon(50% 0, 100% 100%, 0 100%);
	background: linear-gradient(160deg, #2f8a5c, #1d6a44 55%, #134d31);
}

.xmas-tier-1 {
	top: 3.5em;
	width: 16em;
	height: 13em;
	margin-left: -8em;
	z-index: 2;
}

.xmas-tier-2 {
	top: 10em;
	width: 24em;
	height: 15em;
	margin-left: -12em;
	z-index: 1;
}

.xmas-tier-3 {
	top: 17.5em;
	width: 32em;
	height: 17em;
	margin-left: -16em;
}

.xmas-trunk {
	position: absolute;
	top: 34.5em;
	left: 50%;
	width: 4em;
	height: 3.5em;
	margin-left: -2em;
	background: #5b3a22;
	border-radius: 0 0 .4em .4em;
}

.xmas-ball {
	position: absolute;
	z-index: 3;
	width: 1.8em;
	height: 1.8em;
	border-radius: 50%;
	background: radial-gradient(circle at 32% 30%, rgba(255, 255, 255, .9), rgba(255, 255, 255, 0) 35%), var(--ball, var(--xmas-red));
	box-shadow: 0 .3em .6em rgba(0, 0, 0, .35);
}

.xmas-ball-1 { top: 11em; left: 15em; --ball: var(--xmas-red); }
.xmas-ball-2 { top: 14em; left: 19em; --ball: var(--xmas-gold); }
.xmas-ball-3 { top: 19.5em; left: 12em; --ball: #2e6fd1; }
.xmas-ball-4 { top: 21em; left: 20.5em; --ball: var(--xmas-red); }
.xmas-ball-5 { top: 23.5em; left: 9em; --ball: var(--xmas-gold); }
.xmas-ball-6 { top: 27em; left: 16em; --ball: #f2efe7; }
.xmas-ball-7 { top: 29.5em; left: 23em; --ball: var(--xmas-red); }
.xmas-ball-8 { top: 31em; left: 6.5em; --ball: #2e6fd1; }
.xmas-ball-9 { top: 25.5em; left: 21.5em; --ball: var(--xmas-gold); }

.xmas-ball-2,
.xmas-ball-5,
.xmas-ball-9 {
	animation: xmas-twinkle 1.8s ease-in-out infinite alternate;
}

.xmas-ball-5 {
	animation-delay: -.6s;
}

.xmas-ball-9 {
	animation-delay: -1.2s;
}

@keyframes xmas-twinkle {
	from {
		filter: brightness(.85);
	}

	to {
		filter: brightness(1.25) drop-shadow(0 0 .5em rgba(231, 178, 74, .8));
	}
}

.xmas-hero:has(.xmas-scene) {
	padding-bottom: 0;
}

.xmas-art:has(.xmas-scene) {
	align-self: flex-end;
}

.xmas-copy {
	position: relative;
	z-index: 4;
}

@media (min-width: 992px) {
	.xmas-hero:has(.xmas-scene) .xmas-copy {
		padding-bottom: 4rem;
	}
}

.xmas-ground {
	position: absolute;
	left: -30%;
	right: -30%;
	bottom: -2px;
	z-index: 3;
	height: 9em;
	clip-path: polygon(0% 100%, 2.5% 99.6%, 5% 98.8%, 7.5% 97.7%, 10% 95.9%, 12.5% 93.4%, 15% 89.8%, 17.5% 85.1%, 20% 79.2%, 22.5% 71.9%, 25% 63.5%, 27.5% 54.3%, 30% 44.5%, 32.5% 34.8%, 35% 25.6%, 37.5% 17.3%, 40% 10.6%, 42.5% 5.4%, 45% 2.1%, 47.5% 0.4%, 50% 0%, 52.5% 0.4%, 55% 2.1%, 57.5% 5.4%, 60% 10.6%, 62.5% 17.3%, 65% 25.6%, 67.5% 34.8%, 70% 44.5%, 72.5% 54.3%, 75% 63.5%, 77.5% 71.9%, 80% 79.2%, 82.5% 85.1%, 85% 89.8%, 87.5% 93.4%, 90% 95.9%, 92.5% 97.7%, 95% 98.8%, 97.5% 99.6%, 100% 100%, 100% 100%, 0 100%);
	background: linear-gradient(#fff, #eef2ef 50%, var(--hk-paper) 90%);
}

.xmas-present {
	position: absolute;
	bottom: 1.4em;
	z-index: 4;
	width: 7.5em;
	display: block;
	transform-origin: 50% 100%;
}

.xmas-present::before {
	content: "";
	position: absolute;
	left: -15%;
	right: -15%;
	bottom: -1em;
	z-index: -1;
	height: 2em;
	background: radial-gradient(closest-side, rgba(20, 50, 60, .45), rgba(20, 50, 60, 0));
}

.xmas-present .book3d {
	--book-turn: -28deg;
	--book-depth: 22%;
	--book-perspective: 40em;
	aspect-ratio: 2 / 3;
	border-radius: .1em .3em .3em .1em;
}

.xmas-present-1 {
	left: 50%;
	margin-left: -3.75em;
	z-index: 5;
}

.xmas-present-2 {
	left: 3em;
	bottom: 2.2em;
	transform: rotate(-5deg);
}

.xmas-present-3 {
	right: 3em;
	bottom: 2.2em;
	transform: rotate(5deg);
}

.xmas-bow {
	position: absolute;
	top: -1.1em;
	left: 50%;
	width: 4em;
	height: 2em;
	margin-left: -2em;
}

.xmas-bow::before,
.xmas-bow::after {
	content: "";
	position: absolute;
	top: 0;
	width: 1.8em;
	height: 1.8em;
	border: .4em solid var(--xmas-red);
	border-radius: 50% 50% 0 50%;
	transform: rotate(-20deg);
}

.xmas-bow::before {
	left: 0;
}

.xmas-bow::after {
	right: 0;
	border-radius: 50% 50% 50% 0;
	transform: rotate(20deg);
}

@media (max-width: 991.98px) {
	.xmas-scene {
		font-size: 9px;
		height: 42em;
	}
}

@media (max-width: 575.98px) {
	.xmas-scene {
		font-size: 8px;
	}

	.xmas-bauble-3,
	.xmas-bauble-5 {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.xmas-bauble,
	.xmas-star,
	.xmas-ball {
		animation: none;
	}
}

.nl-input,
.nl-btn {
	height: 52px;
}

.nl-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding-top: 0;
	padding-bottom: 0;
}

@media (max-width: 991.98px) {
	.xmas-hero {
		padding-top: 4.5rem;
	}

	.xmas-bauble {
		height: 26px;
	}

	.xmas-bauble::after {
		width: 22px;
		height: 22px;
		margin-left: -11px;
		bottom: -20px;
	}

	.xmas-bauble-1,
	.xmas-bauble-2,
	.xmas-bauble-3 {
		display: none;
	}

	.xmas-bauble-4 { left: 8%; }
	.xmas-bauble-5 { left: 36%; height: 18px; }
	.xmas-bauble-6 { left: 64%; height: 30px; }
	.xmas-bauble-7 { left: 90%; height: 14px; }
}

.cookie-bar {
	padding-right: 3.25rem;
}

.cookie-close {
	position: absolute;
	top: .625rem;
	right: .625rem;
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--hk-ink-500);
}

.cookie-close:hover,
.cookie-close:focus-visible {
	background: var(--hk-paper-2);
	color: var(--hk-ink);
}

.cookie-fab {
	position: fixed;
	left: 1.25rem;
	bottom: 1.25rem;
	z-index: 50;
	width: 48px;
	height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--hk-line);
	border-radius: 50%;
	background: #fff;
	color: var(--hk-ink);
	box-shadow: 0 10px 24px -8px rgba(0, 0, 0, .35);
	transition: transform .2s ease;
}

.cookie-fab:hover,
.cookie-fab:focus-visible {
	transform: translateY(-2px);
	color: var(--hk-blue-700);
}

.cookie-fab[hidden] {
	display: none;
}

@media (prefers-reduced-motion: reduce) {
	.cookie-fab {
		transition: none;
	}
}

@media (max-width: 767.98px) {
	.reader-launch {
		margin-top: 1rem;
		padding: .5rem .875rem;
		font-size: .8125rem;
		gap: .375rem;
	}

	.reader-launch-count {
		font-size: .75rem;
	}
}

.wp-block-embed {
	margin: 2rem 0;
}

.wp-block-embed__wrapper {
	position: relative;
}

.wp-block-embed.is-type-video iframe {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	border: 0;
	border-radius: 2px;
	background: var(--hk-ink);
}

.chart-head .page-intro {
	max-width: 40rem;
}

.chart-podium,
.chart-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

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

.chart-podium.is-four {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (min-width: 992px) {
	.chart-podium.is-four .chart-card-num {
		font-size: 4.5rem;
	}

	.chart-podium.is-four .chart-card-cover {
		width: 66%;
	}
}

.chart-card {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 2rem 1.75rem 1.5rem;
	background: #fff;
	border: 1px solid var(--hk-line);
	border-radius: 2px;
}

.chart-card.is-first {
	background: var(--hk-blue-900);
	border-color: var(--hk-blue-900);
	color: #fff;
}

.chart-card-num {
	position: absolute;
	top: 1.25rem;
	left: 1.5rem;
	z-index: 2;
	font-family: var(--hk-display);
	font-weight: 800;
	font-size: 5.5rem;
	line-height: .8;
	color: var(--hk-cta);
}

.chart-card.is-first .chart-card-num {
	color: var(--hk-orange-500);
}

.chart-card-cover {
	position: relative;
	display: block;
	width: 58%;
	margin: 1.5rem auto 1.75rem;
}

.chart-card-cover .chart-cover {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 2 / 3;
	object-fit: cover;
	box-shadow: var(--hk-shadow-book);
	border-radius: 1px;
	transition: transform .25s ease;
}

.chart-card-cover .sale-flag {
	left: auto;
	right: -.375rem;
}

.chart-card:hover .chart-cover {
	transform: translateY(-4px);
}

.chart-card-body {
	display: flex;
	flex: 1;
	flex-direction: column;
}

.chart-title {
	font-family: var(--hk-display);
	font-weight: 700;
	font-size: 1.125rem;
	line-height: 1.25;
	color: var(--hk-ink);
	text-decoration: none;
}

.chart-card .chart-title {
	font-size: 1.3125rem;
}

.chart-title:hover {
	color: var(--hk-ink);
	text-decoration: underline;
}

.chart-author {
	margin-top: .25rem;
	font-size: .875rem;
	color: var(--hk-ink-500);
}

.chart-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-top: auto;
	padding-top: 1.25rem;
}

.chart-card-body .chart-author {
	margin-bottom: 1.25rem;
}

.chart-foot {
	border-top: 1px solid var(--hk-line);
}

.chart-price {
	font-family: var(--hk-display);
	font-weight: 800;
	font-size: 1.25rem;
	white-space: nowrap;
}

.chart-state {
	font-size: .8125rem;
	font-weight: 700;
	color: var(--hk-ink-500);
}

.chart-card.is-first .chart-title,
.chart-card.is-first .chart-title:hover,
.chart-card.is-first .chart-price {
	color: #fff;
}

.chart-card.is-first .chart-author,
.chart-card.is-first .chart-state,
.chart-card.is-first .price-old {
	color: rgba(255, 255, 255, .7);
}

.chart-card.is-first .chart-foot {
	border-top-color: rgba(255, 255, 255, .2);
}

.chart-card.is-first .chart-price.is-sale {
	color: var(--hk-orange-500);
}

.chart-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 3rem;
	border-top: 1px solid var(--hk-line);
}

.chart-row {
	display: grid;
	grid-template-columns: 3rem 56px minmax(0, 1fr) auto;
	align-items: center;
	gap: 1.25rem;
	padding: 1rem 0;
	border-bottom: 1px solid var(--hk-line);
}

.chart-row-num {
	font-family: var(--hk-display);
	font-weight: 300;
	font-size: 2rem;
	line-height: 1;
	color: var(--hk-ink-500);
}

.chart-row-cover .chart-cover {
	display: block;
	width: 56px;
	height: auto;
	aspect-ratio: 2 / 3;
	object-fit: cover;
	box-shadow: 0 4px 12px rgba(0, 0, 0, .18);
	border-radius: 1px;
}

.chart-row-side {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: .125rem;
}

.chart-row-side .chart-price {
	font-size: 1.0625rem;
}

.chart-row-side .card-buy {
	min-height: 32px;
}

@media (max-width: 991.98px) {
	.chart-podium {
		gap: 1rem;
	}

	.chart-podium.is-four {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.chart-card {
		padding: 1.5rem 1.25rem 1.25rem;
	}

	.chart-card-num {
		font-size: 4rem;
		left: 1rem;
	}

	.chart-card-cover {
		width: 70%;
	}

	.chart-list {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 767.98px) {
	.chart-podium,
	.chart-podium.is-four {
		grid-template-columns: minmax(0, 1fr);
	}

	.chart-card {
		display: grid;
		grid-template-columns: 104px minmax(0, 1fr);
		gap: 1.125rem;
		padding: 1.25rem;
	}

	.chart-card-num {
		top: 1.125rem;
		left: auto;
		right: 1.25rem;
		font-size: 3rem;
	}

	.chart-card .chart-title {
		display: block;
		padding-right: 2.5rem;
	}

	.chart-card-cover {
		width: 100%;
		margin: 0;
	}

	.chart-card .chart-title {
		font-size: 1.125rem;
	}

	.chart-card-body .chart-author {
		margin-bottom: .75rem;
	}

	.chart-foot {
		padding-top: .75rem;
	}

	.chart-row {
		grid-template-columns: 2rem 48px minmax(0, 1fr);
		gap: .875rem;
	}

	.chart-row-num {
		font-size: 1.5rem;
	}

	.chart-row-cover .chart-cover {
		width: 48px;
	}

	.chart-row-side {
		grid-column: 3;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		margin-top: -.5rem;
	}
}

:where(.book3d) {
	display: block;
}

.book3d {
	--book-turn: -18deg;
	--book-depth: 12%;
	--book-perspective: 75em;
}

.book3d-body {
	position: relative;
	display: block;
	height: 100%;
	border-radius: inherit;
	transform: perspective(var(--book-perspective)) rotateY(var(--book-turn));
	transform-style: preserve-3d;
	transition: transform .5s cubic-bezier(.2, .7, .2, 1);
}

.book3d-body img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: inherit;
	background: #fff;
	box-shadow: var(--book-shadow, 0 .35em .8em -.4em rgba(0, 0, 0, .28));
}

.book3d-body::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: inherit;
	background: linear-gradient(115deg, transparent 30%, rgba(255, 255, 255, .14) 45%, transparent 60%);
	transform: translateZ(.5px);
	pointer-events: none;
}

.book3d-body::after {
	content: "";
	position: absolute;
	top: 1.2%;
	right: 0;
	width: var(--book-depth);
	height: 97.6%;
	transform-origin: right center;
	transform: rotateY(-90deg);
	background:
		linear-gradient(90deg, rgba(70, 45, 30, .5) 0 4%, transparent 4%),
		repeating-linear-gradient(90deg, rgba(120, 100, 70, .14) 0 1px, transparent 1px 3px),
		linear-gradient(90deg, #e9e2d2, #fbf8f1 45%, #ddd4c1);
}

a:not(.series-card, .series-tile, .top5-item):hover .book3d,
.book-card:hover .book3d,
.chart-card:hover .book3d {
	--book-turn: -8deg;
}

.book3d.book3d {
	background: none;
	box-shadow: none;
	border: 0;
}

.top5-feature-cover > .book3d {
	--book-shadow: 0 12px 24px -8px rgba(0, 0, 0, .4);
}

.news-cover-wrap > .book3d .book3d-body img {
	width: auto;
	max-width: 100%;
	object-fit: contain;
}

@media (prefers-reduced-motion: reduce) {
	.book3d-body {
		transition: none;
	}
}

.no-book3d .book3d-body {
	transform: none;
	transition: none;
}

.no-book3d .book3d-body::before,
.no-book3d .book3d-body::after {
	display: none;
}
