/* --------------------------------------------------------------------------
 * Homepage hero
 * ----------------------------------------------------------------------- */
.review-v3 .home-main.rx3-home {
	margin: 0;
	padding: 0;
	background: var(--rx3-bg);
}

.review-v3 .rx3-hero {
	position: relative;
	isolation: isolate;
	display: grid;
	align-items: end;
	min-height: max(720px, 100svh);
	overflow: hidden;
	background:
		radial-gradient(circle at 74% 28%, rgba(237,91,145,.18), transparent 36rem),
		linear-gradient(135deg, #111116, #050506 70%);
}

.review-v3 .rx3-hero__media {
	position: absolute;
	z-index: -3;
	inset: 0;
}

.review-v3 .rx3-hero__picture {
	display: block;
	width: 100%;
	height: 100%;
}

.review-v3 .rx3-hero__media img {
	display: block;
	width: 100%;
	height: 112%;
	object-fit: cover;
	object-position: center;
	filter: saturate(.9) contrast(1.02) brightness(.74);
	transform: translate3d(0, var(--rx3-hero-y, 0px), 0) scale(1.02);
	will-change: transform;
}

.review-v3 .rx3-hero::before {
	content: "";
	position: absolute;
	z-index: -2;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(5,5,7,.93) 0%, rgba(5,5,7,.64) 39%, rgba(5,5,7,.18) 70%, rgba(5,5,7,.52) 100%),
		linear-gradient(0deg, rgba(5,5,7,.96) 0%, transparent 52%);
}

.review-v3 .rx3-hero::after {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 0;
	background: radial-gradient(circle at 30% 50%, transparent 20%, rgba(0,0,0,.18) 70%);
	pointer-events: none;
}

.review-v3 .rx3-hero__inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(230px, .65fr);
	gap: clamp(2rem, 6vw, 7rem);
	align-items: end;
	width: min(calc(100% - 3rem), var(--rx3-max));
	margin-inline: auto;
	padding: clamp(9rem, 19vh, 13rem) 0 clamp(3rem, 7vh, 5.5rem);
}

.review-v3 .rx3-hero__kicker {
	display: flex;
	align-items: center;
	gap: .8rem;
	margin: 0 0 1.5rem;
	color: var(--rx3-accent-2);
	font-size: .68rem;
	font-weight: 850;
	letter-spacing: .2em;
	text-transform: uppercase;
}

.review-v3 .rx3-hero__kicker::before {
	content: "";
	width: 44px;
	height: 1px;
	background: currentColor;
}

.review-v3 .rx3-hero__title {
	max-width: 9.5ch;
	margin: 0;
	font-family: Georgia, "Yu Mincho", "Hiragino Mincho ProN", serif;
	font-size: clamp(4rem, 8.8vw, 9.2rem);
	font-weight: 500;
	line-height: .88;
	letter-spacing: -.065em;
	text-wrap: balance;
}

.review-v3 .rx3-hero__deck {
	max-width: 680px;
	margin: 1.7rem 0 0;
	color: rgba(255,255,255,.72);
	font-size: clamp(.95rem, 1.4vw, 1.12rem);
	line-height: 1.9;
}

.review-v3 .rx3-hero__rail {
	display: grid;
	gap: 1.6rem;
	align-self: end;
	padding: 1.4rem 0 1rem clamp(1.2rem, 3vw, 2.2rem);
	border-left: 1px solid rgba(255,255,255,.2);
}

.review-v3 .rx3-hero__rail-label {
	margin: 0;
	color: var(--rx3-text-dim);
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: .63rem;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.review-v3 .rx3-hero__rail-copy {
	margin: 0;
	font-family: Georgia, "Yu Mincho", serif;
	font-size: clamp(1.35rem, 2.4vw, 2.1rem);
	line-height: 1.38;
}

.review-v3 .rx3-hero__scroll {
	display: inline-flex;
	align-items: center;
	gap: .75rem;
	justify-self: start;
	color: rgba(255,255,255,.76);
	font-size: .65rem;
	font-weight: 850;
	letter-spacing: .16em;
	text-decoration: none;
	text-transform: uppercase;
}

.review-v3 .rx3-hero__scroll::after {
	content: "";
	width: 54px;
	height: 1px;
	background: currentColor;
	transition: width .25s ease;
}

.review-v3 .rx3-hero__scroll:hover::after {
	width: 84px;
}

.review-v3 .rx3-hero__notice {
	position: absolute;
	right: 0;
	bottom: 1.2rem;
	max-width: min(520px, 40vw);
	margin: 0;
	color: rgba(255,255,255,.48);
	font-size: .62rem;
	line-height: 1.55;
	text-align: right;
}

/* --------------------------------------------------------------------------
 * Home latest reviews
 * ----------------------------------------------------------------------- */
.review-v3 .rx3-reviews {
	position: relative;
	padding: clamp(5rem, 10vw, 10rem) 0;
	background: var(--rx3-bg);
}

.review-v3 .rx3-reviews__inner {
	width: min(calc(100% - 3rem), var(--rx3-max));
	margin-inline: auto;
}

.review-v3 .rx3-section-head {
	display: grid;
	grid-template-columns: minmax(120px, .4fr) minmax(0, 1.6fr) auto;
	gap: clamp(1rem, 4vw, 4rem);
	align-items: end;
	margin-bottom: clamp(2.5rem, 5vw, 5rem);
	padding-bottom: 1.4rem;
	border-bottom: 1px solid var(--rx3-line);
}

.review-v3 .rx3-section-head__eyebrow {
	margin: 0;
	color: var(--rx3-accent);
	font-size: .66rem;
	font-weight: 850;
	letter-spacing: .2em;
	text-transform: uppercase;
}

.review-v3 .rx3-section-head__title {
	max-width: 10ch;
	margin: 0;
	font-family: Georgia, "Yu Mincho", "Hiragino Mincho ProN", serif;
	font-size: clamp(3rem, 6.4vw, 7.4rem);
	font-weight: 500;
	line-height: .9;
	letter-spacing: -.06em;
}

.review-v3 .rx3-section-head__meta {
	margin: 0 0 .25rem;
	color: var(--rx3-text-dim);
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: .62rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	white-space: nowrap;
}

.review-v3 .rx3-review-grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 1.8rem);
}

.review-v3 .rx3-review-card {
	position: relative;
	grid-column: span 4;
	display: grid;
	min-width: 0;
	margin: 0;
	border: 1px solid var(--rx3-line);
	border-radius: var(--rx3-radius);
	background: var(--rx3-panel);
	overflow: clip;
	box-shadow: none;
	transition: transform .35s cubic-bezier(.2,.7,.2,1), border-color .25s ease, box-shadow .35s ease;
}

.review-v3 .rx3-review-card:hover {
	transform: translateY(-7px);
	border-color: rgba(237,91,145,.38);
	box-shadow: 0 28px 70px rgba(0,0,0,.3);
}

.review-v3 .rx3-review-card.is-featured {
	grid-column: 1 / -1;
	grid-template-columns: minmax(0, 1.35fr) minmax(360px, .65fr);
	min-height: clamp(570px, 58vw, 800px);
	background: #060607;
}

.review-v3 .rx3-review-card__media {
	position: relative;
	display: block;
	min-height: 0;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background:
		radial-gradient(circle at 40% 30%, rgba(237,91,145,.2), transparent 30%),
		#26252b;
}

.review-v3 .rx3-review-card.is-featured .rx3-review-card__media {
	aspect-ratio: auto;
	height: 100%;
}

.review-v3 .rx3-review-card__image,
.review-v3 .rx3-review-card__placeholder {
	display: block;
	width: 100%;
	height: 100%;
	min-height: inherit;
	object-fit: cover;
	background: linear-gradient(145deg, #28262b, #17171b);
}

.review-v3 .rx3-review-card__image {
	transform: scale(1.001);
	transition: transform .65s cubic-bezier(.2,.7,.2,1), filter .35s ease;
}

.review-v3 .rx3-review-card:hover .rx3-review-card__image {
	transform: scale(1.04);
	filter: saturate(1.04) contrast(1.02);
}

.review-v3 .rx3-review-card__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 58%, rgba(5,5,7,.44));
	pointer-events: none;
}

.review-v3 .rx3-review-card__badge {
	position: absolute;
	z-index: 2;
	top: 1rem;
	left: 1rem;
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	padding: .5rem .68rem;
	border: 1px solid rgba(255,255,255,.24);
	border-radius: 999px;
	background: rgba(10,10,12,.62);
	backdrop-filter: blur(12px);
	color: #fff;
	font-size: .66rem;
	font-weight: 850;
	letter-spacing: .06em;
}

.review-v3 .rx3-review-card__badge.is-god {
	border-color: rgba(223,181,111,.5);
	color: #f1cf95;
}

.review-v3 .rx3-review-card__body {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	min-width: 0;
	padding: clamp(1.3rem, 2.4vw, 2rem);
}

.review-v3 .rx3-review-card.is-featured .rx3-review-card__body {
	justify-content: flex-end;
	padding: clamp(2rem, 4vw, 4.2rem);
}

.review-v3 .rx3-review-card__date {
	margin: 0;
	color: var(--rx3-text-dim);
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: .64rem;
	letter-spacing: .1em;
}

.review-v3 .rx3-review-card__title {
	margin: 0;
	font-family: Georgia, "Yu Mincho", "Hiragino Mincho ProN", serif;
	font-size: clamp(1.45rem, 2.3vw, 2.4rem);
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -.035em;
	text-wrap: pretty;
}

.review-v3 .rx3-review-card.is-featured .rx3-review-card__title {
	max-width: 10ch;
	font-size: clamp(3rem, 5vw, 6rem);
	line-height: .95;
	letter-spacing: -.055em;
}

.review-v3 .rx3-review-card__title a {
	text-decoration: none;
}

.review-v3 .rx3-review-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: .45rem;
	align-items: center;
}

.review-v3 .rx3-chip {
	display: inline-flex;
	align-items: center;
	min-width: 0;
	max-width: 100%;
	min-height: 28px;
	padding: .35rem .62rem;
	border: 1px solid rgba(255,255,255,.15);
	border-radius: 999px;
	color: rgba(255,255,255,.68);
	font-size: .66rem;
	font-weight: 720;
	line-height: 1.25;
	text-decoration: none;
	overflow-wrap: anywhere;
	white-space: normal;
}

.review-v3 .rx3-chip.is-actress {
	border-color: rgba(237,91,145,.36);
	color: #ffabc8;
}

.review-v3 .rx3-chip.is-rating {
	border-color: rgba(223,181,111,.42);
	color: #edc889;
}

@media (max-width: 1100px) {
	.review-v3 a.rx3-chip,
	.review-v3 button.rx3-chip {
		min-height: 44px;
		padding-block: .55rem;
	}
}

.review-v3 .rx3-review-card__tags {
	display: flex;
	flex-wrap: wrap;
	gap: .35rem;
	min-width: 0;
}

.review-v3 .rx3-review-card__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .8rem;
	min-width: 0;
	margin-top: auto;
	padding-top: 1rem;
	border-top: 1px solid var(--rx3-line);
}

.review-v3 .rx3-review-card__link {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	gap: .65rem;
	font-size: .67rem;
	font-weight: 850;
	letter-spacing: .12em;
	text-decoration: none;
	text-transform: uppercase;
}

.review-v3 .rx3-review-card__link::after {
	content: "↗";
	color: var(--rx3-accent);
	font-size: 1rem;
	transition: transform .2s ease;
}

.review-v3 .rx3-review-card__link:hover::after {
	transform: translate(2px,-2px);
}

/* Watch-later controls remain readable on both dark card variants. */
.review-v3 .rx3-review-card button {
	max-width: 100%;
}

.review-v3 .rx3-review-card .dkjmf-watch-later {
	flex: 0 0 auto;
	min-width: 44px;
	min-height: 44px;
	margin-left: auto;
	border-color: #dca8ba;
	background: #fff7f9;
	color: #8e3152;
	white-space: nowrap;
	transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease;
}

.review-v3 .rx3-review-card .dkjmf-watch-later:hover,
.review-v3 .rx3-review-card .dkjmf-watch-later:focus-visible,
.review-v3 .rx3-review-card .dkjmf-watch-later.is-active {
	border-color: #c74472;
	background: #b43a65;
	color: #fff9fb;
}

.review-v3 .rx3-review-card .dkjmf-watch-later:hover,
.review-v3 .rx3-review-card .dkjmf-watch-later:focus-visible {
	transform: translateY(-1px);
}

/* --------------------------------------------------------------------------
 * Home extras / profile / series
 * ----------------------------------------------------------------------- */
.review-v3 .rx3-home-extras {
	padding: clamp(4rem, 8vw, 8rem) 0;
	border-top: 1px solid var(--rx3-line);
	background: #0f0f12;
}

.review-v3 .rx3-home-extras__inner {
	display: grid;
	gap: clamp(2rem, 4vw, 4rem);
	width: min(calc(100% - 3rem), var(--rx3-max));
	margin-inline: auto;
}

.review-v3 .dekajiri-label-shelves,
.review-v3 .dekajiri-label-shelves__list {
	display: grid;
	gap: clamp(1.5rem, 3vw, 2.5rem);
	min-width: 0;
}

.review-v3 .dekajiri-label-shelves__header {
	margin-bottom: 0;
}

.review-v3 .dekajiri-label-shelves__header .rx3-section-head__title {
	max-width: 14ch;
	font-size: clamp(2.1rem, 5vw, 5.4rem);
	line-height: 1;
}

.review-v3 .nf-label-slider .nf-series-slider__header h3 {
	margin: 0;
	color: var(--rx3-burgundy);
	font-family: Georgia, "Yu Mincho", "Hiragino Mincho ProN", serif;
	font-size: clamp(1.2rem, 2.8vw, 1.75rem);
	line-height: 1.35;
}

.review-v3 .nf-label-slider__comment {
	max-width: 54rem;
	color: #6f5d64;
	font-weight: 500;
	line-height: 1.7;
}

.review-v3 .nf-label-slider__count {
	white-space: nowrap;
}

@media (max-width: 600px) {
	.review-v3 .dekajiri-label-shelves,
	.review-v3 .dekajiri-label-shelves__list {
		gap: 1.25rem;
	}

	.review-v3 .dekajiri-label-shelves__header .rx3-section-head__title {
		max-width: none;
		font-size: clamp(1.8rem, 9vw, 2.7rem);
		line-height: 1.08;
	}

	.review-v3 .nf-label-slider__comment {
		font-size: .75rem;
		line-height: 1.65;
	}
}

.review-v3 .profile-card {
	display: grid;
	grid-template-columns: auto minmax(0,1fr);
	gap: 1.4rem 2rem;
	align-items: center;
	margin: 0;
	padding: clamp(1.5rem, 3vw, 2.6rem);
	border: 1px solid var(--rx3-line);
	border-radius: var(--rx3-radius);
	background: var(--rx3-panel);
	box-shadow: none;
	color: var(--rx3-text);
}

.review-v3 .profile-card__image {
	grid-row: 1 / span 3;
	width: 86px;
	height: 86px;
	overflow: hidden;
	border-radius: 50%;
}

.review-v3 .profile-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.review-v3 .profile-card__name {
	margin: 0;
	font-family: Georgia, "Yu Mincho", serif;
	font-size: 1.6rem;
}

.review-v3 .profile-card__bio {
	margin: 0;
	color: var(--rx3-text-dim);
	line-height: 1.8;
}

.review-v3 .profile-card__social {
	display: flex;
	flex-wrap: wrap;
	gap: .55rem;
}

.review-v3 .profile-card__social a {
	padding: .45rem .7rem;
	border: 1px solid var(--rx3-line);
	border-radius: 999px;
	text-decoration: none;
	font-size: .68rem;
}
