/*
 * Responsive layout integrity for TOP v2.
 *
 * This layer corrects component-owned widths that previously overflowed at
 * intermediate desktop sizes. Header and footer are intentionally out of scope.
 */

body.home .shiso-v2 .shiso-v2-hero__grid > *,
body.home .shiso-v2 .shiso-v2-knowledge-grid > *,
body.home .shiso-v2 .shiso-v2-knowledge-list,
body.home .shiso-v2 .shiso-v2-knowledge-list article,
body.home .shiso-v2 .shiso-v2-knowledge-list article > div {
	min-width: 0;
}

body.home .shiso-v2 .shiso-v2-journey-scroll {
	width: 100%;
	min-width: 0;
}

body.home .shiso-v2 .shiso-v2-journey-scroll:focus-visible {
	outline: 3px solid rgba(99, 0, 199, 0.35);
	outline-offset: 4px;
}

/*
 * fidelity-3 fixes the journey at 1045px above 1100px. Keep that approved
 * maximum, but let the component shrink to the width of its grid column.
 */
@media (min-width: 921px) {
	body.home .shiso-v2 .shiso-v2-journey {
		width: min(1045px, 100%) !important;
		max-width: 100% !important;
		min-width: 0 !important;
		justify-self: start;
	}
}

/*
 * The two-column knowledge layout needs roughly 1217px of content width.
 * Preserve the established single-column composition until that space exists.
 */
@media (min-width: 921px) and (max-width: 1240px) {
	body.home .shiso-v2 .shiso-v2-knowledge-grid {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	body.home .shiso-v2 .shiso-v2-knowledge-feature {
		width: min(680px, 100%);
		max-width: 680px;
	}
}

/*
 * Historical reference-matching nudges moved full-width release copy 4–5px
 * beyond its article. Restore the text to the article's own left edge.
 */
@media (min-width: 1001px) {
	body.home .shiso-v2 .shiso-v2-release.is-latest h3,
	body.home .shiso-v2 .shiso-v2-release.is-latest .shiso-v2-release__body > p:nth-of-type(2),
	body.home .shiso-v2 .shiso-v2-release:nth-child(2) h3,
	body.home .shiso-v2 .shiso-v2-release:nth-child(3) h3 {
		left: 0 !important;
		max-width: 100%;
	}
}

/*
 * The production cascade keeps the compact desktop release container narrower
 * than the local preview, while retaining a 298px timeline gutter. Between
 * tablet and wide desktop sizes this clips the release copy on the right.
 * Match the content gutter to the 278px SVG timeline and give the section the
 * same side margins already used by the <=1100px fidelity rules.
 */
@media (min-width: 921px) and (max-width: 1279px) {
	body.home .shiso-v2 .shiso-v2-releases > .shiso-v2-container {
		width: calc(100% - 64px) !important;
	}

	body.home .shiso-v2 .shiso-v2-release-list {
		box-sizing: border-box;
		width: 100% !important;
		padding-left: 278px !important;
	}
}

/*
 * Keep the desktop story intact on mobile. The four stages remain in one
 * connected row; the final Momentum Arc rules scale that row to the available
 * width so the full story stays visible without a horizontal gesture.
 */
@media (max-width: 760px) {
	body.home .shiso-v2 .shiso-v2-journey-scroll {
		overflow-x: auto;
		overflow-y: hidden;
		padding: 0 0 10px;
		overscroll-behavior-inline: contain;
		scroll-snap-type: inline proximity;
		scrollbar-color: rgba(99, 0, 199, 0.35) transparent;
		scrollbar-width: thin;
		-webkit-overflow-scrolling: touch;
	}

	body.home .shiso-v2 .shiso-v2-journey {
		width: 680px !important;
		max-width: none !important;
		min-height: 280px;
		margin-inline: 0;
		padding-top: 24px;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 8px;
	}

	body.home .shiso-v2 .shiso-v2-journey__track {
		display: block;
		top: 138px;
		right: 12%;
		left: 12%;
		height: 6px;
		background: linear-gradient(
			90deg,
			var(--shiso-v2-purple) 0%,
			var(--shiso-v2-green) 33%,
			var(--shiso-v2-blue) 66%,
			var(--shiso-v2-orange) 100%
		);
	}

	body.home .shiso-v2 .shiso-v2-journey__stage {
		min-width: 0;
		scroll-snap-align: start;
	}

	body.home .shiso-v2 .shiso-v2-journey__stage > p {
		min-height: 70px;
		margin-bottom: 12px;
		font-size: 14px;
		line-height: 1.4;
	}

	body.home .shiso-v2 .shiso-v2-journey__stage > p strong {
		font-size: 20px;
	}

	body.home .shiso-v2 .shiso-v2-journey__stage .shiso-v2-icon {
		width: 64px;
		height: 64px;
		font-size: 28px;
	}

	body.home .shiso-v2 .shiso-v2-journey__events {
		margin-top: 36px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 4px;
		font-size: 11px;
		line-height: 1.6;
	}

	body.home .shiso-v2 .shiso-v2-journey__events::before,
	body.home .shiso-v2 .shiso-v2-journey__events::after {
		display: block;
		top: -30px;
		height: 24px;
	}
}

/*
 * Keep the hero statement as live Japanese text.
 *
 * The desktop wave image used to contain a rasterized copy of the sentence,
 * which made the glyphs look crushed when the background was scaled. The
 * replacement image retains only the original waves; the existing DOM text is
 * rendered on top with restrained tracking for a natural Japanese rhythm.
 */
body.home .shiso-v2 .shiso-v2-hero__statement {
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.06em;
	line-break: strict;
	word-break: normal;
	text-wrap: balance;
	text-rendering: optimizeLegibility;
}

@media (min-width: 921px) {
	body.home .shiso-v2 .shiso-v2-hero {
		background-image: url("data:image/avif;base64,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");
	}

	body.home .shiso-v2 .shiso-v2-hero__statement {
		opacity: 1;
	}
}

@media (max-width: 920px) {
	body.home .shiso-v2 .shiso-v2-hero__statement {
		font-size: clamp(18px, 4.8vw, 21px);
		line-height: 1.65;
		letter-spacing: 0.04em;
	}
}

@media (max-width: 360px) {
	body.home .shiso-v2 .shiso-v2-hero__statement {
		letter-spacing: 0.02em;
	}
}

/*
 * Section headings share one reading axis.
 *
 * The small English kicker labels acted as editorial annotations rather than
 * useful navigation, so keep them out of the visual and accessibility trees.
 */
body.home .shiso-v2 .shiso-v2-section > .shiso-v2-container > .shiso-v2-kicker {
	display: none !important;
}

body.home .shiso-v2 .shiso-v2-section-heading {
	text-align: center !important;
}

body.home .shiso-v2 .shiso-v2-section-heading > h2,
body.home .shiso-v2 .shiso-v2-section-heading > p {
	margin-inline: auto !important;
	text-align: center !important;
}

/*
 * Knowledge is a compact internal-link directory, not a primary story.
 * Normalize the featured entry and the three list entries into four equal
 * tiles on desktop, then collapse them without changing their source order.
 */
body.home .shiso-v2 .shiso-v2-knowledge {
	padding-top: 76px !important;
	padding-bottom: 84px !important;
}

body.home .shiso-v2 .shiso-v2-knowledge .shiso-v2-section-heading {
	margin-bottom: 32px !important;
}

body.home .shiso-v2 .shiso-v2-knowledge-grid {
	display: grid !important;
	width: 100% !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	align-items: start;
	gap: 20px !important;
}

body.home .shiso-v2 .shiso-v2-knowledge-list {
	display: contents !important;
}

body.home .shiso-v2 .shiso-v2-knowledge-feature,
body.home .shiso-v2 .shiso-v2-knowledge-list article {
	display: flex !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	flex-direction: column;
	gap: 0 !important;
}

body.home .shiso-v2 .shiso-v2-knowledge-feature__media,
body.home .shiso-v2 .shiso-v2-knowledge-list__media {
	display: block;
	width: 100% !important;
	height: auto !important;
	overflow: hidden;
	border-radius: 8px;
	aspect-ratio: 16 / 9;
}

body.home .shiso-v2 .shiso-v2-knowledge :is(.shiso-v2-knowledge-feature__media, .shiso-v2-knowledge-list__media) img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

body.home .shiso-v2 .shiso-v2-knowledge-list article > div {
	display: flex;
	min-width: 0;
	flex-direction: column;
}

body.home .shiso-v2 .shiso-v2-knowledge-feature h3,
body.home .shiso-v2 .shiso-v2-knowledge-list h3 {
	min-width: 0;
	margin: 12px 0 0 !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	line-height: 1.65 !important;
	letter-spacing: 0.01em !important;
}

body.home .shiso-v2 .shiso-v2-knowledge h3 a {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

body.home .shiso-v2 .shiso-v2-knowledge .shiso-v2-nowrap {
	white-space: normal !important;
}

body.home .shiso-v2 .shiso-v2-knowledge .shiso-v2-pill {
	align-self: flex-start;
	margin-top: 10px;
	margin-bottom: -4px;
	font-size: 10px;
	line-height: 1.4;
}

body.home .shiso-v2 .shiso-v2-knowledge-feature > p,
body.home .shiso-v2 .shiso-v2-knowledge-feature > .shiso-v2-text-link,
body.home .shiso-v2 .shiso-v2-knowledge-list article > div > p,
body.home .shiso-v2 .shiso-v2-knowledge-list .shiso-v2-card-arrow {
	display: none !important;
}

@media (min-width: 641px) and (max-width: 900px) {
	body.home .shiso-v2 .shiso-v2-knowledge-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 640px) {
	body.home .shiso-v2 .shiso-v2-knowledge {
		padding-block: 60px !important;
	}

	body.home .shiso-v2 .shiso-v2-knowledge .shiso-v2-section-heading {
		margin-bottom: 26px !important;
	}

	body.home .shiso-v2 .shiso-v2-knowledge-grid {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 16px !important;
	}

	body.home .shiso-v2 .shiso-v2-knowledge-feature,
	body.home .shiso-v2 .shiso-v2-knowledge-list article {
		display: grid !important;
		grid-template-columns: 112px minmax(0, 1fr) !important;
		align-items: start;
		column-gap: 14px !important;
	}

	body.home .shiso-v2 .shiso-v2-knowledge-feature__media,
	body.home .shiso-v2 .shiso-v2-knowledge-list__media {
		grid-column: 1;
		grid-row: 1;
		aspect-ratio: 4 / 3;
	}

	body.home .shiso-v2 .shiso-v2-knowledge-feature h3,
	body.home .shiso-v2 .shiso-v2-knowledge-list article > div {
		grid-column: 2;
		grid-row: 1;
		margin-top: 0 !important;
	}

	body.home .shiso-v2 .shiso-v2-knowledge-feature h3,
	body.home .shiso-v2 .shiso-v2-knowledge-list h3 {
		margin-top: 0 !important;
		font-size: 14.5px !important;
		line-height: 1.55 !important;
	}

	body.home .shiso-v2 .shiso-v2-knowledge .shiso-v2-pill {
		margin-top: 0;
		margin-bottom: 5px;
	}
}

/*
 * Some wide-screen fidelity layers replaced section headings with raster
 * backgrounds. Keep the same live centered headings at every breakpoint.
 */
body.home .shiso-v2 .shiso-v2-interviews > .shiso-v2-container,
body.home .shiso-v2 .shiso-v2-releases > .shiso-v2-container,
body.home .shiso-v2 .shiso-v2-knowledge > .shiso-v2-container,
body.home .shiso-v2 .shiso-v2-news > .shiso-v2-container,
body.home .shiso-v2 #shiso-v2-platform .shiso-v2-section-heading {
	background-image: none !important;
}

body.home .shiso-v2 .shiso-v2-section-heading > * {
	opacity: 1 !important;
}

body.home .shiso-v2 .shiso-v2-knowledge {
	min-height: 0 !important;
}

body.home .shiso-v2 .shiso-v2-knowledge .shiso-v2-pill {
	display: none !important;
}

@media (min-width: 901px) and (max-width: 1023px) {
	body.home .shiso-v2 .shiso-v2-knowledge-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

/* Restore the live resource link when old wide-screen raster rules activate. */
@media (min-width: 1101px) {
	body.home .shiso-v2 .shiso-v2-knowledge .shiso-v2-resource-bar {
		border: 1px solid var(--shiso-v2-line) !important;
		padding: 25px 34px !important;
		background-color: rgb(250, 249, 252) !important;
		background-image: none !important;
		grid-template-columns: auto minmax(0, 1fr) auto !important;
	}

	body.home .shiso-v2 .shiso-v2-knowledge .shiso-v2-resource-bar > * {
		opacity: 1 !important;
		pointer-events: auto !important;
	}

	body.home .shiso-v2 .shiso-v2-knowledge .shiso-v2-resource-bar > a {
		position: static !important;
		width: auto !important;
		height: auto !important;
		inset: auto !important;
	}
}

/*
 * The hero already supplies the large wave that reaches the platform boundary.
 * Remove the second short wave from the next section so the decoration reads
 * as one continuous background treatment.
 */
@media (min-width: 921px) {
	body.home .shiso-v2 #shiso-v2-platform {
		background-image: none;
	}
}

/*
 * Approved Momentum Arc for the hero journey.
 * One rising visual path and one coordinate system are kept at every width;
 * narrow screens scale the same canvas instead of changing the story.
 */
body.home .shiso-v2 .shiso-v2-journey {
	position: relative !important;
	display: grid !important;
	width: min(1045px, 100%) !important;
	max-width: 100% !important;
	min-width: 0 !important;
	height: 430px !important;
	min-height: 430px !important;
	aspect-ratio: auto !important;
	margin: 32px 0 0 !important;
	padding: 0 !important;
	overflow: visible;
	background: none !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	align-items: start !important;
	gap: 0 !important;
}

body.home .shiso-v2 .shiso-v2-journey > * {
	opacity: 1 !important;
	pointer-events: auto !important;
}

body.home .shiso-v2 .shiso-v2-journey__track {
	position: absolute !important;
	z-index: 0;
	display: block !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	border-radius: 0 !important;
	background-color: transparent !important;
	background-image: url("../img/generated/front-page-v2-momentum-arc.png") !important;
	background-repeat: no-repeat !important;
	background-position: center top !important;
	background-size: 100% 360px !important;
	pointer-events: none !important;
}

body.home .shiso-v2 .shiso-v2-journey__stage {
	--shiso-v2-node-y: 0px;
	--shiso-v2-stage-color: currentColor;
	position: relative !important;
	z-index: 2;
	height: 430px !important;
	min-width: 0;
	scroll-snap-align: start;
	text-align: center;
}

body.home .shiso-v2 .shiso-v2-journey__stage--ma {
	--shiso-v2-node-y: 267px;
	--shiso-v2-stage-color: var(--shiso-v2-purple);
}

body.home .shiso-v2 .shiso-v2-journey__stage--sfa {
	--shiso-v2-node-y: 215px;
	--shiso-v2-stage-color: var(--shiso-v2-green);
}

body.home .shiso-v2 .shiso-v2-journey__stage--learning {
	--shiso-v2-node-y: 187px;
	--shiso-v2-stage-color: var(--shiso-v2-blue);
}

body.home .shiso-v2 .shiso-v2-journey__stage--srm {
	--shiso-v2-node-y: 124px;
	--shiso-v2-stage-color: var(--shiso-v2-orange);
}

body.home .shiso-v2 .shiso-v2-journey__stage > p {
	position: absolute !important;
	top: calc(var(--shiso-v2-node-y) - 94px) !important;
	right: 0;
	left: 0;
	min-height: 0 !important;
	margin: 0 !important;
	font-size: 16px !important;
	line-height: 1.35 !important;
}

body.home .shiso-v2 .shiso-v2-journey__stage > p strong {
	font-size: 22px !important;
}

body.home .shiso-v2 .shiso-v2-journey__stage--learning > p {
	top: calc(var(--shiso-v2-node-y) - 120px) !important;
}

body.home .shiso-v2 .shiso-v2-journey__stage--learning > p span {
	line-height: 1.25;
}

body.home .shiso-v2 .shiso-v2-journey__stage .shiso-v2-icon {
	position: absolute !important;
	top: calc(var(--shiso-v2-node-y) - 36px) !important;
	left: 50%;
	width: 72px !important;
	height: 72px !important;
	transform: translateX(-50%);
	background: #fff !important;
	box-shadow: 0 10px 26px rgba(44, 25, 88, 0.09) !important;
}

body.home .shiso-v2 .shiso-v2-journey__events {
	position: absolute !important;
	top: 358px !important;
	left: 50%;
	display: grid !important;
	width: min(178px, calc(100% - 16px)) !important;
	margin: 0 !important;
	transform: translateX(-50%);
	grid-template-columns: 1fr !important;
	gap: 9px !important;
	color: #30333a !important;
	font-size: 12px !important;
	line-height: 1.5 !important;
}

body.home .shiso-v2 .shiso-v2-journey__events::before {
	display: block !important;
	top: calc(var(--shiso-v2-node-y) - 322px) !important;
	left: 50% !important;
	height: calc(310px - var(--shiso-v2-node-y)) !important;
	border-left: 1px dashed var(--shiso-v2-stage-color) !important;
	opacity: 0.62;
}

body.home .shiso-v2 .shiso-v2-journey__events::after {
	display: none !important;
}

body.home .shiso-v2 .shiso-v2-journey__events > span {
	position: relative;
	display: block;
	padding-left: 16px;
	text-align: left;
	white-space: normal;
}

body.home .shiso-v2 .shiso-v2-journey__events > span::before {
	position: absolute;
	top: 0.55em;
	left: 1px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--shiso-v2-stage-color);
	content: "";
}


@media (min-width: 761px) and (max-width: 920px) {
	body.home .shiso-v2 .shiso-v2-journey {
		width: min(720px, 100%) !important;
		margin-inline: auto !important;
	}
}

@media (max-width: 760px) {
	body.home .shiso-v2 .shiso-v2-journey-scroll {
		width: calc(100% + 16px) !important;
		max-width: none !important;
		margin-inline: -8px !important;
		overflow: visible !important;
		padding: 0 !important;
		overscroll-behavior-inline: auto;
		scroll-snap-type: none !important;
		scrollbar-width: none;
		-webkit-overflow-scrolling: auto;
	}

	body.home .shiso-v2 .shiso-v2-journey-scroll::-webkit-scrollbar {
		display: none;
	}

	body.home .shiso-v2 .shiso-v2-journey {
		--shiso-v2-mobile-track-offset: 24px;
		--shiso-v2-mobile-node-size: clamp(44px, 12cqi, 58px);
		--shiso-v2-mobile-node-radius: clamp(22px, 6cqi, 29px);
		--shiso-v2-mobile-events-y: clamp(220px, 50cqi, 320px);
		container-type: inline-size;
		width: 100% !important;
		max-width: 100% !important;
		height: clamp(350px, 60vw, 430px) !important;
		min-height: 350px !important;
		margin: 32px 0 0 !important;
	}

	body.home .shiso-v2 .shiso-v2-journey__track {
		background-position: center var(--shiso-v2-mobile-track-offset) !important;
		background-size: 100% auto !important;
	}

	body.home .shiso-v2 .shiso-v2-journey__stage {
		height: 100% !important;
		scroll-snap-align: none;
	}

	body.home .shiso-v2 .shiso-v2-journey__stage--ma {
		--shiso-v2-node-y: calc(32.38cqi + var(--shiso-v2-mobile-track-offset));
	}

	body.home .shiso-v2 .shiso-v2-journey__stage--sfa {
		--shiso-v2-node-y: calc(26.11cqi + var(--shiso-v2-mobile-track-offset));
	}

	body.home .shiso-v2 .shiso-v2-journey__stage--learning {
		--shiso-v2-node-y: calc(23.24cqi + var(--shiso-v2-mobile-track-offset));
	}

	body.home .shiso-v2 .shiso-v2-journey__stage--srm {
		--shiso-v2-node-y: calc(13.84cqi + var(--shiso-v2-mobile-track-offset));
	}

	body.home .shiso-v2 .shiso-v2-journey__stage > p {
		top: calc(var(--shiso-v2-node-y) - clamp(62px, 12cqi, 76px)) !important;
		padding-inline: 2px;
		font-size: clamp(10px, 2.8cqi, 13px) !important;
		line-height: 1.3 !important;
	}

	body.home .shiso-v2 .shiso-v2-journey__stage--srm > p {
		transform: translateX(-14px);
	}

	body.home .shiso-v2 .shiso-v2-journey__stage--learning > p {
		top: calc(var(--shiso-v2-node-y) - clamp(92px, 26cqi, 104px)) !important;
	}

	body.home .shiso-v2 .shiso-v2-journey__stage > p strong {
		font-size: clamp(15px, 4.2cqi, 20px) !important;
		line-height: 1.2 !important;
	}

	body.home .shiso-v2 .shiso-v2-journey__stage .shiso-v2-icon {
		top: calc(var(--shiso-v2-node-y) - var(--shiso-v2-mobile-node-radius)) !important;
		width: var(--shiso-v2-mobile-node-size) !important;
		height: var(--shiso-v2-mobile-node-size) !important;
		font-size: clamp(20px, 6cqi, 28px) !important;
	}

	body.home .shiso-v2 .shiso-v2-journey__stage .shiso-v2-icon .dashicons {
		width: 1em;
		height: 1em;
		font-size: inherit;
		line-height: 1;
	}

	body.home .shiso-v2 .shiso-v2-journey__events {
		top: var(--shiso-v2-mobile-events-y) !important;
		width: calc(100% - 4px) !important;
		gap: clamp(6px, 1.8cqi, 10px) !important;
		font-size: clamp(10px, 2.6cqi, 11px) !important;
		line-height: 1.45 !important;
	}

	body.home .shiso-v2 .shiso-v2-journey__events::before {
		top: calc(
			var(--shiso-v2-node-y) + var(--shiso-v2-mobile-node-radius) -
			var(--shiso-v2-mobile-events-y)
		) !important;
		height: calc(
			var(--shiso-v2-mobile-events-y) - var(--shiso-v2-node-y) -
			var(--shiso-v2-mobile-node-radius) - 12px
		) !important;
	}

	body.home .shiso-v2 .shiso-v2-journey__events > span {
		padding-left: clamp(8px, 2.4cqi, 13px);
	}

	body.home .shiso-v2 .shiso-v2-journey__events > span::before {
		left: 0;
		width: 4px;
		height: 4px;
	}

}

/* Keep the approved three-line hero copy and CTAs as crisp, selectable text. */
@media (min-width: 1101px) {
	body.home .shiso-v2 .shiso-v2-hero__copy {
		background-image: none !important;
	}

	body.home .shiso-v2 .shiso-v2-hero h1,
	body.home .shiso-v2 .shiso-v2-hero .shiso-v2-lead {
		opacity: 1 !important;
	}

	body.home .shiso-v2 .shiso-v2-hero h1 {
		margin-bottom: 34px !important;
	}

	body.home .shiso-v2 .shiso-v2-hero .shiso-v2-button--primary {
		width: 300px;
		min-width: 300px;
		height: auto;
		min-height: 72px;
		border: 0;
		border-radius: 12px;
		padding: 14px 30px;
		color: #fff !important;
		background: var(--shiso-v2-purple) !important;
		font-size: 16px !important;
		line-height: 1.5 !important;
		box-shadow: none;
	}

	body.home .shiso-v2 .shiso-v2-hero .shiso-v2-text-link {
		width: auto;
		height: auto;
		min-height: 0;
		color: var(--shiso-v2-purple) !important;
		background-image: none !important;
		font-size: 16px !important;
		line-height: 1.5 !important;
	}

	body.home .shiso-v2 .shiso-v2-hero .shiso-v2-button--primary > *,
	body.home .shiso-v2 .shiso-v2-hero .shiso-v2-text-link > * {
		opacity: 1 !important;
	}
}

/* The English eyebrow was intentionally removed from the approved hero at every width. */
body.home .shiso-v2 .shiso-v2-hero .shiso-v2-eyebrow {
	display: none !important;
}

/* Give the approved three-line headline stronger presence across the mobile layout. */
@media (max-width: 760px) {
	body.home .shiso-v2 #shiso-v2-hero-title {
		font-size: 58px !important;
	}
}

/*
 * Prevent the Momentum Arc from entering an undersized desktop column.
 * At intermediate widths, keep the approved four-stage canvas at the same
 * readable tablet width and stack it below the hero copy.
 */
@media (min-width: 921px) and (max-width: 1279px) {
	body.home .shiso-v2 .shiso-v2-hero {
		height: auto !important;
		min-height: 0 !important;
	}

	body.home .shiso-v2 .shiso-v2-hero__grid {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 0 !important;
	}

	body.home .shiso-v2 .shiso-v2-hero__copy {
		max-width: 720px;
		margin-inline: auto;
		text-align: center !important;
	}

	body.home .shiso-v2 .shiso-v2-actions {
		justify-content: center !important;
	}

	body.home .shiso-v2 .shiso-v2-journey {
		width: min(720px, 100%) !important;
		margin: 40px auto 0 !important;
	}
}

/*
 * At tablet and compact laptop widths, use two columns for copy and actions.
 * Keep the Momentum Arc on its own full-width row so the four connected
 * stages remain spacious and read as one continuous, right-rising journey.
 */
@media (min-width: 921px) and (max-width: 1279px) {
	body.home .shiso-v2 .shiso-v2-hero {
		height: auto !important;
		min-height: 900px !important;
	}

	body.home .shiso-v2 .shiso-v2-hero__grid {
		width: min(1040px, calc(100% - 48px)) !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 0 !important;
	}

	body.home .shiso-v2 .shiso-v2-hero__copy {
		display: grid;
		width: min(920px, 100%);
		max-width: 920px;
		margin-inline: auto;
		grid-template-columns: minmax(0, 1fr) 300px;
		grid-template-areas:
			"title actions"
			"lead actions";
		column-gap: 56px;
		row-gap: 18px;
		align-items: center;
		text-align: left !important;
	}

	body.home .shiso-v2 .shiso-v2-hero h1 {
		grid-area: title;
		margin-bottom: 0 !important;
	}

	body.home .shiso-v2 .shiso-v2-lead {
		grid-area: lead;
		margin-bottom: 0 !important;
		font-size: 16px !important;
		white-space: nowrap;
	}

	body.home .shiso-v2 .shiso-v2-actions {
		grid-area: actions;
		justify-content: flex-start !important;
		align-self: center;
		margin: 0 !important;
	}

	body.home .shiso-v2 .shiso-v2-journey {
		width: min(920px, 100%) !important;
		max-width: 920px !important;
		margin: 40px auto 0 !important;
	}
}

/*
 * Collapse the unused desktop-only tail left after the hero statement was
 * removed. Keep the wave starting at the same visual point, but shorten its
 * vertical canvas so the platform heading follows the journey naturally.
 */
@media (min-width: 1280px) {
	body.home .shiso-v2 .shiso-v2-hero {
		height: auto !important;
		min-height: 720px !important;
		background-size: 100% 150px !important;
	}

	body.home .shiso-v2 #shiso-v2-platform {
		padding-top: 72px !important;
	}
}
/* Interview section: Japanese-first editorial heading selected for TOP v2. */
body.home .shiso-v2 #shiso-v2-interviews {
    padding-top: clamp(48px, 4vw, 64px) !important;
    background: #fbfaff;
}

body.home .shiso-v2 #shiso-v2-interviews > .shiso-v2-container {
    background-image: none !important;
}

body.home .shiso-v2 .shiso-v2-interview-intro {
    max-width: 980px;
    margin: 0 auto 28px;
    text-align: center;
}

body.home .shiso-v2 .shiso-v2-interview-intro__title {
    margin: 0;
    color: #15151a;
    font-size: clamp(60px, 5.55vw, 80px);
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.08;
    text-wrap: balance;
}

body.home .shiso-v2 .shiso-v2-interview-intro__message {
    margin: 18px 0 0;
    color: #15151a;
    font-size: clamp(30px, 2.8vw, 40px);
    font-weight: 800;
    letter-spacing: 0.01em;
    line-height: 1.4;
    text-wrap: balance;
}

body.home .shiso-v2 .shiso-v2-interview-intro__lead {
    max-width: 760px;
    margin: 14px auto 0;
    color: #30313a;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.9;
    text-wrap: pretty;
}

body.home .shiso-v2 .shiso-v2-interview-intro__break {
    display: none;
}

@media (max-width: 1279px) {
    body.home .shiso-v2 #shiso-v2-interviews {
        padding-top: 56px !important;
    }

    body.home .shiso-v2 .shiso-v2-interview-intro {
        margin-bottom: 32px;
    }

    body.home .shiso-v2 .shiso-v2-interview-intro__title {
        font-size: clamp(56px, 5.4vw, 68px);
    }

    body.home .shiso-v2 .shiso-v2-interview-intro__message {
        font-size: clamp(28px, 3.35vw, 32px);
    }

    body.home .shiso-v2 .shiso-v2-interview-intro__lead {
        max-width: 640px;
        font-size: 16px;
        line-height: 1.85;
    }
}

@media (max-width: 767px) {
    body.home .shiso-v2 #shiso-v2-interviews {
        padding-top: 48px !important;
    }

    body.home .shiso-v2 .shiso-v2-interview-intro {
        max-width: 100%;
        margin-bottom: 28px;
    }

    body.home .shiso-v2 .shiso-v2-interview-intro__title {
        font-size: 42px;
        line-height: 1.12;
        white-space: nowrap;
    }

    body.home .shiso-v2 .shiso-v2-interview-intro__message {
        margin-top: 16px;
        font-size: 26px;
        line-height: 1.5;
    }

    body.home .shiso-v2 .shiso-v2-interview-intro__lead {
        margin-top: 12px;
        font-size: 15px;
        line-height: 1.8;
    }

    body.home .shiso-v2 .shiso-v2-interview-intro__break {
        display: initial;
    }
}

@media (max-width: 360px) {
    body.home .shiso-v2 .shiso-v2-interview-intro__title {
        font-size: 38px;
    }
}
/* Trust strip: use literal, recognizable icons for the associated claims. */
body.home .shiso-v2 .shiso-v2-trust__icon-asset {
    display: block;
    width: 34px;
    height: 44px;
    background-color: currentColor;
}

body.home .shiso-v2 .shiso-v2-trust__icon-asset--japan {
    -webkit-mask: url('../img/icons/japan-map.svg') center / contain no-repeat;
    mask: url('../img/icons/japan-map.svg') center / contain no-repeat;
}

body.home .shiso-v2 .shiso-v2-trust__icon .fa-credit-card {
    font-size: 0.92em;
    line-height: 1;
}

/*
 * Keep the full desktop navigation on one row at compact desktop widths.
 * Elementor's fixed 32px item spacing exceeds the available menu column until
 * roughly 1600px, so scale only that spacing while preserving the wide layout.
 */
@media (min-width: 1280px) and (max-width: 1599px) {
    body.home .elementor-479 .elementor-element.elementor-element-1af7993 {
        --e-nav-menu-horizontal-menu-item-margin: clamp(3px, calc(3.75vw - 45px), 16px);
    }

    body.home .elementor-479 .elementor-element.elementor-element-1af7993 .elementor-nav-menu--main > .elementor-nav-menu {
        flex-wrap: nowrap;
    }
}
