/*
Theme Name: 中信国産松茸
Author: 中信国産松茸
Description: 中信国産松茸の店舗案内、国産松茸の販売・買取情報を伝えるためのオリジナルブロックテーマです。
Version: 0.9.86
Requires at least: 6.7
Requires PHP: 7.4
Text Domain: chushin-matsutake
*/

/* Phase 2: header, hero and primary action cards. */
@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}

#shop-information {
	scroll-margin-top: 112px;
}

.chushin-header {
	position: relative;
	z-index: 10;
}

@media (max-width: 520px) {
	.chushin-hero-intro,
	.chushin-hero-copy > p:first-child {
		font-size: clamp(13px, 3.5vw, 18px) !important;
		white-space: nowrap;
	}

	.chushin-home-about-title .chushin-mobile-heading-line,
	.chushin-final-cta-title .chushin-mobile-heading-line {
		display: block;
	}

	/* Fallback for a Site Editor-saved front-page template without the new spans. */
	.chushin-about .chushin-section-title:not(.chushin-home-about-title) {
		font-size: 0 !important;
	}

	.chushin-about .chushin-section-title:not(.chushin-home-about-title)::before {
		display: block;
		color: inherit;
		content: "国産松茸を、\Aもっと身近に。";
		font-family: inherit;
		font-size: clamp(28px, 8vw, 32px);
		font-weight: inherit;
		line-height: 1.35;
		white-space: pre-line;
	}

	.chushin-store-title,
	.chushin-store .chushin-section-title {
		font-size: clamp(20px, 5.5vw, 28px) !important;
		white-space: nowrap;
	}

	.chushin-final-cta-title,
	.chushin-final-cta-inner > h2 {
		width: calc(100% + 24px);
		max-width: calc(100% + 24px);
		font-size: clamp(18px, 5vw, 26px) !important;
		line-height: 1.45 !important;
		text-align: left !important;
	}

	.chushin-knowledge-charm-title .chushin-mobile-heading-line,
	.chushin-knowledge-difference-title .chushin-mobile-heading-line,
	.chushin-knowledge-cap-title .chushin-mobile-heading-line,
	.chushin-knowledge-region-title .chushin-mobile-heading-line {
		display: block;
	}

	.chushin-knowledge-difference-title {
		font-size: clamp(26px, 7vw, 34px) !important;
	}

	.chushin-knowledge-selection-title,
	.chushin-knowledge-final-title {
		font-size: clamp(22px, 6.2vw, 30px) !important;
		line-height: 1.4 !important;
		text-wrap: balance;
	}

	.chushin-sell-hero-title .chushin-mobile-heading-line,
	.chushin-sell-experience-title .chushin-mobile-heading-line {
		display: block;
	}

	.chushin-sell-hero-title .chushin-mobile-heading-line {
		font-size: clamp(22px, 6.4vw, 32px);
		white-space: nowrap;
	}

	.chushin-sell-hero-title {
		font-size: clamp(26px, 7.5vw, 36px) !important;
		line-height: 1.4 !important;
	}

	.chushin-sell-experience-title {
		font-size: clamp(24px, 6.8vw, 32px) !important;
		line-height: 1.4 !important;
	}
}

/* Mobile full-bleed forest sections: escape the global body gutters only. */

/* Unified presentation for the four primary action cards. */
.chushin-home .chushin-action-grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px !important;
	align-items: stretch;
	background: transparent !important;
	border: 0;
}

.chushin-home .chushin-action-card {
	box-sizing: border-box;
	display: flex;
	min-width: 0;
	min-height: 330px;
	height: 100%;
	padding: 32px 24px !important;
	flex-direction: column;
	align-items: stretch;
	color: var(--wp--preset--color--ink);
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--border);
	box-shadow: 0 10px 28px rgba(37, 41, 35, .06);
}

.chushin-home .chushin-action-grid > .chushin-action-card {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
	align-self: stretch;
	transform: none;
}

.chushin-home .chushin-action-card--purchase {
	color: var(--wp--preset--color--white);
	background: var(--wp--preset--color--forest);
	border-color: var(--wp--preset--color--forest);
}

.chushin-home .chushin-action-card > * {
	width: 100%;
	margin-right: 0 !important;
	margin-left: 0 !important;
}

.chushin-home .chushin-action-card > p:first-child {
	min-height: 1.5em;
	margin-top: 0;
	margin-bottom: 18px;
}

.chushin-home .chushin-action-card > h2 {
	min-height: 1.5em;
	margin-top: 0;
	margin-bottom: 16px;
}

.chushin-home .chushin-action-card > p:not(:first-child) {
	margin-top: 0;
	margin-bottom: 20px;
}

.chushin-home .chushin-action-card > .wp-block-buttons {
	width: 100%;
	margin-top: auto !important;
	padding-top: 16px;
}

.chushin-home .chushin-action-card .wp-block-button,
.chushin-home .chushin-action-card .wp-block-button__link {
	box-sizing: border-box;
	width: 100%;
}

.chushin-home .chushin-action-card .wp-block-button__link {
	min-height: 50px;
	padding: 10px 14px;
	border-radius: 2px;
}

@media (max-width: 781px) {
	.chushin-home .chushin-action-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px !important;
	}

	.chushin-home .chushin-action-card {
		min-height: 310px;
		padding: 24px 16px !important;
	}
}

@media (max-width: 520px) {
	.chushin-home .chushin-action-card {
		padding: 22px 14px !important;
	}

	.chushin-home .chushin-action-card > p:first-child {
		margin-bottom: 14px;
	}

	.chushin-home .chushin-action-card > h2 {
		margin-bottom: 12px;
	}

	.chushin-home .chushin-action-card > p:not(:first-child) {
		margin-bottom: 14px;
	}

}

/* Let the existing alignfull footer background escape the global page gutters. */
footer.wp-block-template-part {
	width: calc(100% + var(--wp--preset--spacing--m) + var(--wp--preset--spacing--m));
	max-width: none;
	margin-right: calc(-1 * var(--wp--preset--spacing--m));
	margin-left: calc(-1 * var(--wp--preset--spacing--m));
}

footer.wp-block-template-part > .wp-block-group.alignfull {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	padding-right: var(--wp--preset--spacing--m);
	padding-left: var(--wp--preset--spacing--m);
	background-color: #173F32 !important;
}

/* Mobile header cascade lock. */
@media (max-width: 800px) {
	.chushin-header .chushin-header-actions {
		position: relative;
		min-height: 48px;
		justify-content: flex-end !important;
	}

	.chushin-header .chushin-brand {
		position: absolute;
		top: 50%;
		left: 50%;
		z-index: 1;
		width: max-content;
		max-width: calc(100% - 112px);
		margin: 0 !important;
		white-space: nowrap;
		transform: translate(-50%, -50%);
	}

	.chushin-header .wp-block-navigation {
		position: relative;
		z-index: 2;
		margin-left: auto;
	}
}

/* Full-width forest background for the mobile header. */
@media (max-width: 800px) {
	header.wp-block-template-part {
		box-sizing: border-box;
		width: calc(100% + var(--wp--preset--spacing--m) + var(--wp--preset--spacing--m));
		max-width: none;
		margin-right: calc(-1 * var(--wp--preset--spacing--m));
		margin-left: calc(-1 * var(--wp--preset--spacing--m));
		background-color: #173F32;
	}

	.chushin-header {
		width: 100%;
		max-width: none;
		margin-right: 0 !important;
		margin-left: 0 !important;
		color: var(--wp--preset--color--kinari);
		background-color: #173F32 !important;
		border-bottom-color: #173F32 !important;
	}

	.chushin-header .chushin-brand {
		color: var(--wp--preset--color--kinari);
	}

	.chushin-header .wp-block-navigation__responsive-container-open {
		color: var(--wp--preset--color--kinari);
		background: transparent;
		border: 0;
	}

	.chushin-header .wp-block-navigation__responsive-container-open:hover {
		color: var(--wp--preset--color--earth);
		background: transparent;
	}
}

/* Assigned photography. */
.chushin-content-photo {
	overflow: hidden;
}

.chushin-content-photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.chushin-wild-group-photo {
	max-width: 1200px;
	margin: clamp(3rem, 6vw, 5rem) auto;
	aspect-ratio: 3 / 2;
}

.chushin-selection-matsutake-photo {
	margin-top: clamp(2rem, 5vw, 3.5rem);
	aspect-ratio: 4 / 3;
}

.chushin-photo-band {
	padding: clamp(3rem, 6vw, 5rem) 24px;
}

.chushin-gift-photo,
.chushin-harvest-photo-wide {
	max-width: 1200px;
	margin: 0 auto;
	aspect-ratio: 3 / 2;
}

.chushin-gift-photo figcaption {
	margin-top: .75rem;
	color: var(--wp--preset--color--gray-green);
	font-size: .875rem;
	text-align: right;
}

.chushin-knowledge-photo .wp-block-cover__image-background {
	object-position: 35% 55%;
}

.chushin-harvest-photo .wp-block-cover__image-background {
	object-position: 50% 38%;
}

@media (max-width: 520px) {
	.chushin-photo-band {
		padding: 48px 22px !important;
	}

	.chushin-wild-group-photo,
	.chushin-selection-matsutake-photo,
	.chushin-gift-photo,
	.chushin-harvest-photo-wide {
		width: 100%;
		margin-right: 0;
		margin-left: 0;
		aspect-ratio: 4 / 3 !important;
	}

	.chushin-wild-group-photo {
		margin-top: 48px;
		margin-bottom: 48px;
	}

	.chushin-content-photo img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

/* Center the brand independently from the mobile menu button. */
@media (max-width: 800px) {
	.chushin-header .chushin-header-actions {
		position: relative;
		min-height: 48px;
		justify-content: flex-end !important;
	}

	.chushin-header .chushin-brand {
		position: absolute;
		top: 50%;
		left: 50%;
		z-index: 1;
		width: max-content;
		max-width: calc(100% - 112px);
		margin: 0 !important;
		white-space: nowrap;
		transform: translate(-50%, -50%);
	}

	.chushin-header .wp-block-navigation {
		position: relative;
		z-index: 2;
		margin-left: auto;
	}
}

/* Final mobile layout pass across all five public pages. */
@media (max-width: 520px) {
	*,
	*::before,
	*::after {
		box-sizing: border-box;
	}

	html,
	body,
	.wp-site-blocks {
		max-width: 100%;
	}

	:where(.wp-site-blocks) > * {
		margin-block-start: 0;
	}

	.chushin-home,
	.chushin-knowledge-page,
	.chushin-purpose-page,
	.chushin-about-page {
		--chushin-mobile-gutter: 22px;
	}

	/* One content-width rule for nested constrained and wide containers. */
	:where(.chushin-home, .chushin-knowledge-page, .chushin-purpose-page, .chushin-about-page)
		:where(.is-layout-constrained) > :where(
			.wp-block-group:not(.alignfull),
			.wp-block-columns,
			.wp-block-image,
			.wp-block-cover,
			.wp-block-details
		) {
		box-sizing: border-box;
		width: 100%;
		max-width: none;
		min-width: 0;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}

	:where(.chushin-home, .chushin-knowledge-page, .chushin-purpose-page, .chushin-about-page)
		:where(
			.chushin-action-grid,
			.chushin-sales-cards,
			.chushin-steps,
			.chushin-purpose-cards,
			.chushin-purpose-steps,
			.chushin-origin-cards,
			.chushin-sell-stats,
			.chushin-page-steps,
			.chushin-methods,
			.chushin-purchase-steps,
			.chushin-trust-grid,
			.chushin-values,
			.chushin-visit-actions,
			.chushin-knowledge-grid,
			.chushin-cap-cards,
			.chushin-region-cards,
			.chushin-faq
		) {
		box-sizing: border-box;
		width: 100%;
		max-width: none;
		min-width: 0;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}

	:where(.chushin-home, .chushin-knowledge-page, .chushin-purpose-page, .chushin-about-page)
		:where(
			.chushin-action-card,
			.chushin-info-card,
			.chushin-page-steps > .wp-block-column,
			.chushin-purpose-cards > .wp-block-column,
			.chushin-purpose-steps > .wp-block-column,
			.chushin-purchase-steps > .wp-block-column,
			.chushin-trust-grid > .wp-block-column,
			.chushin-values > .wp-block-column,
			.chushin-visit-actions > .wp-block-column
		) {
		box-sizing: border-box;
		width: 100%;
		max-width: none;
		min-width: 0;
	}

	.chushin-home > .alignfull,
	.chushin-knowledge-page > .alignfull,
	.chushin-purpose-page > .alignfull,
	.chushin-about-page > .alignfull {
		box-sizing: border-box;
		width: calc(100% + var(--wp--preset--spacing--m) + var(--wp--preset--spacing--m));
		max-width: none;
		margin-right: calc(-1 * var(--wp--preset--spacing--m)) !important;
		margin-left: calc(-1 * var(--wp--preset--spacing--m)) !important;
		padding-right: var(--chushin-mobile-gutter) !important;
		padding-left: var(--chushin-mobile-gutter) !important;
	}

	.chushin-section {
		padding-top: 56px !important;
		padding-bottom: 56px !important;
	}

	.chushin-experience,
	.chushin-purchase,
	.chushin-page-purchase,
	.chushin-purchase-flow,
	.chushin-selection-feature,
	.chushin-two-experiences,
	.chushin-purpose-final {
		padding-top: 64px !important;
		padding-bottom: 64px !important;
	}

	.chushin-section-title,
	.chushin-section > h2,
	.chushin-purpose-final h2 {
		font-size: clamp(1.75rem, 8vw, 2rem) !important;
		line-height: 1.35 !important;
		text-wrap: pretty;
		word-break: normal;
		overflow-wrap: break-word;
	}

	.chushin-hero-title,
	.chushin-subhero-title,
	.chushin-purpose-title,
	.chushin-knowledge-title,
	.chushin-about-title {
		font-size: clamp(2rem, 9.2vw, 2.375rem) !important;
		line-height: 1.35 !important;
		word-break: normal;
		overflow-wrap: break-word;
	}

	.chushin-home h3,
	.chushin-knowledge-page h3,
	.chushin-purpose-page h3,
	.chushin-about-page h3 {
		font-size: clamp(1.25rem, 5.8vw, 1.5rem) !important;
		line-height: 1.4 !important;
	}

	.chushin-home p,
	.chushin-home li,
	.chushin-knowledge-page p,
	.chushin-knowledge-page li,
	.chushin-purpose-page p,
	.chushin-purpose-page li,
	.chushin-about-page p,
	.chushin-about-page li {
		font-size: max(1rem, 16px);
		line-height: 1.8;
	}

	.chushin-eyebrow {
		margin-bottom: 12px !important;
		font-size: .875rem !important;
		line-height: 1.4 !important;
		letter-spacing: .14em;
	}

	.chushin-home .wp-block-button__link,
	.chushin-knowledge-page .wp-block-button__link,
	.chushin-purpose-page .wp-block-button__link,
	.chushin-about-page .wp-block-button__link {
		min-height: 50px;
		padding: .75rem 1rem;
		line-height: 1.35;
		text-align: center;
	}

	.chushin-hero-buttons,
	.chushin-subhero-buttons,
	.chushin-purpose-buttons,
	.chushin-final-buttons {
		gap: 12px !important;
	}

	.chushin-hero-buttons .wp-block-button,
	.chushin-subhero-buttons .wp-block-button,
	.chushin-purpose-buttons .wp-block-button,
	.chushin-final-buttons .wp-block-button,
	.chushin-hero-buttons .wp-block-button__link,
	.chushin-subhero-buttons .wp-block-button__link,
	.chushin-purpose-buttons .wp-block-button__link,
	.chushin-final-buttons .wp-block-button__link {
		width: 100%;
	}

	.chushin-photo-placeholder,
	.chushin-knowledge-photo,
	.chushin-food-photo,
	.chushin-about-main-photo,
	.chushin-harvest-photo,
	.chushin-selection-photo,
	.chushin-shop-photo,
	.chushin-sales-hero-photo {
		width: 100%;
		height: auto;
		min-height: 0 !important;
		aspect-ratio: 4 / 3 !important;
		overflow: hidden;
	}

	.chushin-hero .chushin-photo-placeholder {
		height: 320px;
		min-height: 320px !important;
		aspect-ratio: auto;
	}

	.chushin-photo-placeholder .wp-block-cover__image-background,
	.chushin-knowledge-photo .wp-block-cover__image-background,
	.chushin-food-photo .wp-block-cover__image-background,
	.chushin-about-main-photo .wp-block-cover__image-background,
	.chushin-harvest-photo .wp-block-cover__image-background,
	.chushin-selection-photo .wp-block-cover__image-background,
	.chushin-shop-photo .wp-block-cover__image-background,
	.chushin-sales-hero-photo .wp-block-cover__image-background {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
	}

	.chushin-photo-note {
		max-width: 15rem;
		padding: .875rem;
		font-size: .875rem !important;
		line-height: 1.6 !important;
	}

	/* TOP: keep the four primary actions as an even 2 x 2 grid. */
	.chushin-action-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: stretch;
	}

	.chushin-action-card {
		display: flex;
		min-height: 100%;
		padding: 24px 16px !important;
		flex-direction: column;
		align-items: stretch;
	}

	.chushin-action-card > .wp-block-buttons {
		width: 100%;
		margin-top: auto;
		padding-top: 12px;
	}

	.chushin-action-card .wp-block-button,
	.chushin-action-card .wp-block-button__link {
		width: 100%;
	}

	.chushin-action-card h2 {
		font-size: 1.2rem !important;
	}

	.chushin-action-card p {
		font-size: 1rem !important;
		line-height: 1.65;
	}

	.chushin-stat {
		padding: 24px !important;
		text-align: center;
	}

	.chushin-stat-number,
	.chushin-story-number,
	.chushin-trust-number {
		font-size: clamp(2.75rem, 14vw, 4rem) !important;
		line-height: 1.05 !important;
	}

	.chushin-info-card,
	.chushin-page-steps > .wp-block-column,
	.chushin-methods > .wp-block-column,
	.chushin-purchase-steps > .wp-block-column,
	.chushin-trust-grid > .wp-block-column,
	.chushin-purpose-cards > .wp-block-column,
	.chushin-purpose-steps > .wp-block-column,
	.chushin-values > .wp-block-column,
	.chushin-visit-actions > .wp-block-column {
		padding: 24px !important;
	}

	/* Knowledge page: compact repeated informational groups. */
	.chushin-knowledge-grid {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.chushin-knowledge-grid p {
		padding: 16px 12px;
		text-align: center;
	}

	.chushin-cap-cards {
		display: grid;
		grid-template-columns: 1fr;
	}

	.chushin-cap-cards > .wp-block-column {
		padding: 20px 22px;
	}

	.chushin-faq .wp-block-details {
		margin: 0;
		padding: 18px 0;
	}

	.chushin-faq summary {
		padding-right: 28px;
		font-size: 1.0625rem;
		line-height: 1.55;
	}

	.chushin-faq .wp-block-details p {
		margin-top: 14px;
		padding: 14px 16px;
		background: var(--wp--preset--color--kinari);
	}

	/* Buy and sell pages: clearer cards, steps and condition tags. */
	.chushin-purpose-cards,
	.chushin-purpose-steps,
	.chushin-origin-cards,
	.chushin-sell-stats,
	.chushin-page-steps,
	.chushin-methods,
	.chushin-purchase-steps,
	.chushin-trust-grid {
		display: grid;
		grid-template-columns: 1fr !important;
		gap: 1px !important;
	}

	.chushin-purpose-steps > .wp-block-column,
	.chushin-page-steps > .wp-block-column,
	.chushin-purchase-steps > .wp-block-column {
		min-height: 0;
	}

	.chushin-purpose-steps > .wp-block-column > p:first-child,
	.chushin-page-steps > .wp-block-column > p:first-child,
	.chushin-purchase-steps > .wp-block-column > p:first-child {
		margin-bottom: 8px;
		color: var(--wp--preset--color--gold);
		font-size: .875rem !important;
		font-weight: 700;
		letter-spacing: .08em;
	}

	.chushin-sell-types,
	.chushin-condition-list,
	.chushin-condition-tags,
	.chushin-products {
		gap: 8px !important;
	}

	.chushin-sell-types p,
	.chushin-condition-list p,
	.chushin-condition-tags p,
	.chushin-products p {
		padding: 10px 14px;
		font-size: 1rem !important;
		line-height: 1.4;
	}

	.chushin-sell-stats > .wp-block-column {
		padding: 28px 24px;
		text-align: center;
	}

	/* About page: preserve alternating visual rhythm and compact values. */
	.chushin-story-split {
		gap: 28px !important;
	}

	.chushin-professional .chushin-story-split-reverse {
		flex-direction: column-reverse;
	}

	.chushin-values {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1px !important;
	}

	.chushin-values > .wp-block-column {
		padding: 20px 16px !important;
	}

	.chushin-values h3 {
		font-size: 1.125rem !important;
	}

	.chushin-values p {
		font-size: .95rem !important;
		line-height: 1.65;
	}

	.chushin-shop-detail h3 + p,
	.chushin-shop-detail p {
		margin-block-start: 10px;
	}

	.chushin-map-placeholder {
		min-height: 240px;
		margin: 24px 0;
	}

	/* Shared footer: retain all essential details without excess height. */
	footer > .wp-block-group {
		padding-top: 44px !important;
		padding-bottom: 44px !important;
	}

	footer .wp-block-group > * {
		margin-block-start: 8px;
		margin-block-end: 0;
	}

	footer h2 {
		margin-bottom: 16px !important;
		font-size: 1.5rem !important;
	}

	footer p {
		font-size: 1rem !important;
		line-height: 1.7;
	}
}

/* About and access page. */
.chushin-about-hero{padding:clamp(3.5rem,7vw,6.5rem) 0}.chushin-about-hero-layout,.chushin-story-split{gap:clamp(2.5rem,6vw,6rem)!important}.chushin-about-title{font-size:clamp(2.75rem,5vw,4.25rem)!important;text-wrap:balance}.chushin-about-main-photo::before{background:linear-gradient(145deg,#d9c8b1,#76523b)!important}.chushin-harvest-photo::before{background:linear-gradient(145deg,#667068,#173f32)!important}.chushin-selection-photo::before{background:linear-gradient(145deg,#76523b,#252923)!important}.chushin-shop-photo::before{background:linear-gradient(145deg,#d9c8b1,#667068)!important}.chushin-story-narrow{max-width:850px}.chushin-story-copy{font-family:var(--wp--preset--font-family--serif);font-weight:600}.chushin-story-number{margin-bottom:.5rem;font-family:var(--wp--preset--font-family--serif);font-size:clamp(3rem,7vw,5.5rem);font-weight:600;line-height:1}.chushin-two-experiences{background-image:linear-gradient(135deg,rgba(255,255,255,.025),rgba(0,0,0,.16))}.chushin-values,.chushin-visit-actions{gap:1px!important;margin-top:2.5rem;background:var(--wp--preset--color--border)}.chushin-values>.wp-block-column,.chushin-visit-actions>.wp-block-column{padding:clamp(1.4rem,3vw,2.5rem);background:var(--wp--preset--color--white)}.chushin-products{gap:.75rem!important}.chushin-products p{margin:0;padding:.8rem 1.25rem;color:var(--wp--preset--color--forest);background:var(--wp--preset--color--earth);font-family:var(--wp--preset--font-family--serif);font-weight:600}.chushin-map-placeholder{min-height:340px;display:flex;align-items:center;justify-content:center;margin:2rem 0}.chushin-about-page .wp-block-button__link{min-height:48px;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:520px){.chushin-about-hero{padding:3rem 0 3.5rem}.chushin-about-title{font-size:clamp(2.15rem,10vw,2.75rem)!important;line-height:1.4!important}.chushin-about-main-photo,.chushin-harvest-photo,.chushin-selection-photo,.chushin-shop-photo{min-height:320px!important}.chushin-professional .chushin-story-split-reverse{flex-direction:column-reverse}.chushin-values,.chushin-visit-actions{display:grid;grid-template-columns:1fr}.chushin-visit-actions>.wp-block-column{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 18px;align-items:center;padding:20px 22px!important}.chushin-visit-actions h3,.chushin-visit-actions .wp-block-buttons{margin:0!important}.chushin-visit-actions .wp-block-buttons{justify-content:flex-end}.chushin-visit-actions .wp-block-button__link{min-width:132px;padding-inline:16px}.chushin-map-placeholder{min-height:260px}.chushin-about-page p{font-size:max(1rem,16px)}}

@media(max-width:340px){.chushin-visit-actions>.wp-block-column{grid-template-columns:1fr}.chushin-visit-actions .wp-block-buttons{justify-content:flex-start}.chushin-visit-actions .wp-block-button,.chushin-visit-actions .wp-block-button__link{width:100%}}

.chushin-map-embed {
	width: 100%;
	max-width: var(--wp--style--global--wide-size);
	margin: 2rem auto;
}

.chushin-map-embed iframe {
	display: block;
	width: 100%;
	height: 450px;
	border: 0;
}

.chushin-shop-map-layout {
	gap: clamp(2rem, 5vw, 5rem) !important;
	align-items: center !important;
}

.chushin-top-store-map-layout {
	gap: clamp(2rem, 5vw, 5rem) !important;
	align-items: center !important;
}

.chushin-top-store-map-layout > .wp-block-column {
	min-width: 0;
}

.chushin-purchase-title-line {
	display: block;
}

.chushin-purchase-mobile-line {
	display: inline;
}

.chushin-shop-map-layout > .wp-block-column {
	min-width: 0;
}

.chushin-shop-map-column .chushin-map-embed {
	margin: 0;
}

@media (max-width: 520px) {
	.chushin-map-embed {
		max-width: none;
		margin: 1.5rem 0;
	}

	.chushin-map-embed iframe {
		height: 330px;
	}
}

@media (max-width: 781px) {
	.chushin-shop-map-layout,
	.chushin-top-store-map-layout {
		flex-direction: column;
	}

	.chushin-shop-map-layout > .wp-block-column,
	.chushin-top-store-map-layout > .wp-block-column {
		width: 100%;
		flex-basis: 100% !important;
	}
}

/* Matsutake knowledge page. */
.chushin-knowledge-hero{padding:clamp(3.5rem,7vw,6.5rem) 0}.chushin-knowledge-hero-layout,.chushin-food-layout{gap:clamp(2.5rem,6vw,6rem)!important}.chushin-knowledge-title{font-size:clamp(3rem,7vw,5.5rem)!important}.chushin-knowledge-photo::before{background:linear-gradient(145deg,#667068,#173f32)!important}.chushin-food-photo::before{background:linear-gradient(145deg,#d9c8b1,#76523b)!important}.chushin-knowledge-points,.chushin-cap-cards,.chushin-region-cards{gap:1px!important;margin-top:2.5rem;background:var(--wp--preset--color--border)}.chushin-knowledge-points>.wp-block-column,.chushin-cap-cards>.wp-block-column,.chushin-region-cards>.wp-block-column{padding:clamp(1.4rem,3vw,2.5rem);background:var(--wp--preset--color--white)}.chushin-knowledge-grid{gap:1px!important;margin-top:2rem;padding:1px;background:var(--wp--preset--color--border)}.chushin-knowledge-grid p{height:100%;margin:0;padding:1.25rem;background:var(--wp--preset--color--white);font-family:var(--wp--preset--font-family--serif);font-weight:600}.chushin-selection-feature{background-image:linear-gradient(135deg,rgba(255,255,255,.025),rgba(0,0,0,.14))}.chushin-selection-copy{max-width:850px;font-family:var(--wp--preset--font-family--serif);font-weight:600}.chushin-condition-tags{gap:.75rem!important;margin:2rem 0}.chushin-condition-tags p{margin:0;padding:.75rem 1.2rem;color:var(--wp--preset--color--forest);background:var(--wp--preset--color--earth);font-weight:700}.chushin-storage-list{padding-left:1.4em}.chushin-storage-list li{margin-bottom:1rem}.chushin-faq .wp-block-details{padding:1.25rem 0;border-top:1px solid var(--wp--preset--color--border)}.chushin-faq .wp-block-details:last-child{border-bottom:1px solid var(--wp--preset--color--border)}.chushin-faq summary{color:var(--wp--preset--color--forest);font-family:var(--wp--preset--font-family--serif);font-size:1.125rem;font-weight:600;cursor:pointer}.chushin-knowledge-page .wp-block-button__link{min-height:48px;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:520px){.chushin-knowledge-hero{padding:3rem 0 3.5rem}.chushin-knowledge-title{font-size:clamp(2.75rem,14vw,4rem)!important}.chushin-knowledge-photo{min-height:320px!important}.chushin-knowledge-points,.chushin-cap-cards,.chushin-region-cards{display:grid;grid-template-columns:1fr}.chushin-food-photo{min-height:300px!important}.chushin-knowledge-page p,.chushin-knowledge-page li{font-size:max(1rem,16px)}}

@media (max-width: 520px) {
	.chushin-knowledge-page .chushin-knowledge-grid > p {
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center !important;
	}
}

/* Dedicated buy and sell pages. */
.chushin-purpose-hero{padding:clamp(4rem,9vw,8rem) 0}.chushin-purpose-hero-inner{max-width:900px;margin-left:0!important}.chushin-purpose-title{font-size:clamp(2.75rem,6vw,5rem)!important}.chushin-purpose-page .wp-block-button__link{min-height:48px;display:inline-flex;align-items:center;justify-content:center}.chushin-purpose-cards,.chushin-purpose-steps,.chushin-origin-cards,.chushin-sell-stats{gap:1px!important;margin-top:2.5rem;background:var(--wp--preset--color--border)}.chushin-purpose-cards>.wp-block-column,.chushin-purpose-steps>.wp-block-column,.chushin-sell-stats>.wp-block-column{padding:clamp(1.5rem,3vw,2.5rem);background:var(--wp--preset--color--white)}.chushin-purpose-split{gap:clamp(2.5rem,6vw,6rem)!important}.chushin-check-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;padding:1px;list-style:none;background:var(--wp--preset--color--border)}.chushin-check-list li{padding:1rem;background:var(--wp--preset--color--white)}.chushin-origin-cards{background:rgba(255,255,255,.25)}.chushin-origin-cards>.wp-block-column{padding:2rem;background:var(--wp--preset--color--forest)}.chushin-purpose-final .is-style-outline .wp-block-button__link{color:var(--wp--preset--color--white);border-color:var(--wp--preset--color--white)}.chushin-sell-copy{font-family:var(--wp--preset--font-family--serif);font-weight:600}.chushin-sell-types{gap:.75rem!important}.chushin-sell-types p{margin:0;padding:.8rem 1.25rem;color:var(--wp--preset--color--forest);background:var(--wp--preset--color--earth);font-weight:700}.chushin-sell-stats{max-width:760px}
@media (min-width:782px){.chushin-buy-page .chushin-purpose-hero-inner,.chushin-sell-page .chushin-purpose-hero-inner{box-sizing:border-box;width:100%;max-width:var(--wp--style--global--wide-size);margin-right:auto!important;margin-left:auto!important}}
@media(max-width:520px){.chushin-purpose-hero{padding:3.5rem 0}.chushin-purpose-title{font-size:clamp(2.25rem,11vw,3rem)!important;line-height:1.35!important}.chushin-purpose-buttons,.chushin-purpose-buttons .wp-block-button,.chushin-purpose-buttons .wp-block-button__link{width:100%}.chushin-purpose-cards,.chushin-purpose-steps,.chushin-origin-cards,.chushin-sell-stats{display:grid;grid-template-columns:1fr}.chushin-purpose-split{gap:2rem!important}.chushin-check-list{grid-template-columns:1fr}.chushin-purpose-page p{font-size:max(1rem,16px)}}

/* Sales and purchase page. */
.chushin-subhero{padding:clamp(3.5rem,7vw,6rem) 0}.chushin-subhero-layout{gap:clamp(2.5rem,6vw,5rem)!important}.chushin-subhero-title{font-size:clamp(2.5rem,4.4vw,3.75rem)!important;text-wrap:balance}.chushin-sales-hero-photo::before{background:linear-gradient(145deg,#d9c8b1,#76523b)!important}.chushin-sales-page .wp-block-button__link{min-height:48px;display:inline-flex;align-items:center;justify-content:center}.chushin-caution,.chushin-bordered-panel{padding:1.5rem;border:1px solid var(--wp--preset--color--border)}
.chushin-page-steps,.chushin-methods,.chushin-purchase-steps,.chushin-trust-grid{gap:1px!important;margin:2.5rem 0;background:var(--wp--preset--color--border)}.chushin-page-steps>.wp-block-column,.chushin-methods>.wp-block-column,.chushin-trust-grid>.wp-block-column{padding:clamp(1.35rem,2.5vw,2rem);background:var(--wp--preset--color--white)}.chushin-condition-list{gap:.75rem!important;margin:2rem 0}.chushin-condition-list p{margin:0;padding:.7rem 1.15rem;color:var(--wp--preset--color--forest);background:var(--wp--preset--color--earth);font-weight:700}.chushin-purchase-message{max-width:850px;font-family:var(--wp--preset--font-family--serif);font-weight:600}.chushin-purchase-steps{background:rgba(255,255,255,.25)}.chushin-purchase-steps>.wp-block-column{padding:clamp(1.25rem,2.5vw,2rem);background:var(--wp--preset--color--matsutake-brown)}.chushin-purchase-steps h3{font-family:var(--wp--preset--font-family--serif);font-size:1.25rem}.chushin-trust-number{margin:0;color:var(--wp--preset--color--matsutake-brown);font-family:var(--wp--preset--font-family--serif);font-size:clamp(2rem,4vw,3.25rem);font-weight:600;line-height:1.2}
@media(max-width:781px){.chushin-subhero-layout{gap:2rem!important}.chushin-sales-hero-photo{min-height:340px!important}.chushin-methods,.chushin-trust-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.chushin-subhero{padding:2.75rem 0 3.5rem}.chushin-subhero-title{font-size:clamp(2rem,9vw,2.45rem)!important;line-height:1.4!important}.chushin-subhero-buttons,.chushin-subhero-buttons .wp-block-button,.chushin-subhero-buttons .wp-block-button__link{width:100%}.chushin-sales-hero-photo{min-height:0!important;aspect-ratio:4/3}.chushin-sales-page .chushin-sales-cards,.chushin-page-steps,.chushin-purchase-steps{display:grid;grid-template-columns:1fr}.chushin-methods,.chushin-trust-grid{grid-template-columns:1fr}}

.chushin-brand {
	white-space: nowrap;
}

.chushin-logo {
	margin: 0;
	flex: 0 0 auto;
	line-height: 0;
}

.chushin-logo a,
.chushin-logo img {
	display: block;
}

.chushin-logo img {
	width: auto;
	height: 72px;
	max-width: 270px;
	object-fit: contain;
}

@media (max-width: 800px) {
	.chushin-logo img {
		content: url("/wp-content/themes/chushin-matsutake/assets/images/chushin-logo-white.png");
		width: auto;
		height: 46px;
		max-width: min(230px, calc(100vw - 136px));
	}
}

/* Keep major content photography readable on small screens. */
@media (max-width: 520px) {
	.chushin-mobile-fixed-title > span,
	.chushin-knowledge-page h2 > span,
	.chushin-knowledge-selection-title > span,
	.chushin-about-reason .chushin-section-title > span {
		display: block;
	}

	.chushin-sell-page .chushin-sell-consult-reason-title,
	.chushin-sell-page .chushin-sell-consult-reason-text {
		white-space: nowrap;
		font-size: clamp(20px, 5.7vw, 28px) !important;
	}

	.chushin-sell-page .chushin-sell-final-title,
	.chushin-sell-page .chushin-sell-final-text {
		white-space: nowrap;
		font-size: clamp(20px, 5.8vw, 28px) !important;
	}

	.chushin-about-page .chushin-about-title {
		font-size: clamp(1.625rem, 7.4vw, 2.25rem) !important;
	}

	.chushin-about-page .chushin-professional .chushin-section-title > span,
	.chushin-about-page .chushin-purpose-final h2 > span,
	.chushin-about-page .chushin-about-harvest-title span,
	.chushin-about-page .chushin-about-selection-title span,
	.chushin-about-page .chushin-about-final-title span {
		display: block;
	}

	.chushin-about-page .wp-block-group:has(> .chushin-values) > .chushin-section-title,
	.chushin-about-page .chushin-about-values-title {
		white-space: nowrap;
		font-size: clamp(1.45rem, 6.8vw, 2rem) !important;
	}

	.chushin-about-page .chushin-shop-detail .chushin-section-title,
	.chushin-about-page .chushin-about-store-title {
		white-space: nowrap;
		font-size: clamp(1.4rem, 6.4vw, 2rem) !important;
	}

	.chushin-about-page .chushin-purpose-final h2,
	.chushin-about-page .chushin-about-final-title {
		font-size: clamp(1.65rem, 7.4vw, 2rem) !important;
		line-height: 1.4;
	}

}

.chushin-header-actions {
	gap: clamp(1rem, 2vw, 2rem);
}

.chushin-line-button .wp-block-button__link,
.chushin-hero-buttons .wp-block-button__link,
.chushin-action-card .wp-block-button__link {
	min-height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.chushin-hero {
	min-height: min(760px, calc(100svh - 96px));
}

.chushin-hero-copy {
	max-width: 600px;
}

.chushin-hero-title {
	font-size: clamp(2.5rem, 3.7vw, 3.25rem) !important;
	line-height: 1.4 !important;
	letter-spacing: .02em;
}

.chushin-title-line {
	display: block;
}

.chushin-title-mobile-break {
	display: none;
}

@media (min-width: 1368px) {
	.chushin-home .chushin-hero-title {
		font-size: 3rem !important;
	}
}

.chushin-photo-placeholder {
	min-height: 560px;
	border-radius: 2px;
	overflow: hidden;
	box-shadow: 0 24px 60px rgba(23, 63, 50, .15);
}

.chushin-photo-placeholder::before {
	background: linear-gradient(145deg, #d9c8b1 0%, #76523b 100%) !important;
	opacity: 1 !important;
}

.chushin-hero .chushin-photo-placeholder .wp-block-cover__image-background {
	object-fit: cover;
	object-position: 50% 55%;
}

.chushin-photo-note {
	max-width: 16rem;
	padding: 1rem;
	border: 1px solid rgba(255, 255, 255, .65);
}

.chushin-action-grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px !important;
	background: var(--wp--preset--color--border);
	border: 1px solid var(--wp--preset--color--border);
}

.chushin-action-card {
	min-width: 0;
	height: 100%;
	background: var(--wp--preset--color--white);
}

.chushin-action-card--purchase {
	background: var(--wp--preset--color--forest);
	color: var(--wp--preset--color--white);
}

.chushin-action-card--purchase a {
	color: var(--wp--preset--color--white);
}

.chushin-section {
	padding-top: clamp(4rem, 8vw, 7.5rem);
	padding-bottom: clamp(4rem, 8vw, 7.5rem);
}

.chushin-section-title {
	font-size: clamp(2rem, 4vw, 2.625rem) !important;
	text-wrap: balance;
}

.chushin-eyebrow {
	font-weight: 700;
	letter-spacing: .16em;
}

.chushin-split,
.chushin-experience-layout {
	gap: clamp(2.5rem, 6vw, 6rem) !important;
}

.chushin-photo-placeholder--nature::before {
	background: linear-gradient(145deg, #667068, #173f32) !important;
}

.chushin-photo-placeholder--forest::before {
	background: linear-gradient(145deg, #76523b, #252923) !important;
}

.chushin-photo-placeholder--store::before {
	background: linear-gradient(145deg, #d9c8b1, #667068) !important;
}

.chushin-stats {
	gap: 1px !important;
	margin-bottom: 2rem;
	background: rgba(255,255,255,.22);
}

.chushin-stat {
	flex: 1 1 200px;
	padding: 1.75rem;
	background: var(--wp--preset--color--forest);
}

.chushin-stat-number {
	margin: 0;
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(2.4rem, 5vw, 4rem);
	font-weight: 600;
	line-height: 1.1;
}

.chushin-experience-copy,
.chushin-purchase-lead {
	font-family: var(--wp--preset--font-family--serif);
	font-weight: 600;
}

.chushin-two-cards,
.chushin-sales-cards,
.chushin-steps {
	gap: 1px !important;
	margin-top: 2.5rem;
	margin-bottom: 2.5rem;
	background: var(--wp--preset--color--border);
}

.chushin-info-card {
	padding: clamp(1.5rem, 3vw, 2.5rem);
	background: var(--wp--preset--color--white);
}

.chushin-steps {
	background: rgba(255,255,255,.25);
}

.chushin-steps > .wp-block-column {
	display: flex;
	box-sizing: border-box;
	min-width: 0;
	padding: clamp(1.25rem, 3vw, 2rem);
	flex-direction: column;
	background: var(--wp--preset--color--matsutake-brown);
}

.chushin-purchase .chushin-steps > .wp-block-column > h3 {
	margin-top: .75rem;
	margin-bottom: 1rem;
	line-height: 1.5;
}

.chushin-purchase .chushin-step-description {
	margin-top: auto;
	margin-bottom: 0;
	color: rgba(255, 255, 255, .88);
	font-family: var(--wp--preset--font-family--sans);
	font-size: max(1rem, var(--wp--preset--font-size--support));
	line-height: 1.8;
}

.chushin-final-cta-inner {
	padding: clamp(2.5rem, 6vw, 5rem);
}

@media (min-width: 521px) {
	.chushin-home .chushin-final-cta-title {
		font-size: clamp(18px, 3.1vw, 40px) !important;
		line-height: 1.4 !important;
		white-space: nowrap;
	}

	.chushin-home .chushin-final-cta-title > span {
		display: inline;
	}
}

.chushin-final-cta .is-style-outline .wp-block-button__link {
	color: var(--wp--preset--color--white);
	border-color: var(--wp--preset--color--white);
}

.chushin-home .wp-block-button__link {
	min-height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.chushin-mobile-menu-item {
	display: none !important;
}

.chushin-header .wp-block-navigation__responsive-container-open {
	min-width: 48px;
	min-height: 48px;
	align-items: center;
	justify-content: center;
	color: var(--wp--preset--color--kinari);
	background: var(--wp--preset--color--forest);
	border: 1px solid var(--wp--preset--color--forest);
	border-radius: 2px;
}

.chushin-header .wp-block-navigation__responsive-container-open:hover {
	color: var(--wp--preset--color--forest);
	background: var(--wp--preset--color--kinari);
}

.chushin-header .wp-block-navigation__responsive-container-open:focus-visible,
.chushin-header .wp-block-navigation__responsive-container-close:focus-visible {
	outline: 3px solid var(--wp--preset--color--gold);
	outline-offset: 3px;
}

@media (max-width: 1024px) {
	.chushin-header .chushin-line-button {
		display: none !important;
	}
}

@media (max-width: 960px) {
	.chushin-action-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1025px) {
	.chushin-header .chushin-line-button {
		display: flex;
		flex: 0 0 auto;
	}

	.chushin-header .chushin-line-button .wp-block-button__link {
		white-space: nowrap;
	}
}

@media (max-width: 800px) {
	.chushin-header {
		padding-top: 1rem !important;
		padding-bottom: 1rem !important;
	}

	.chushin-header-actions {
		flex-wrap: nowrap !important;
	}

	.chushin-header .wp-block-navigation__responsive-container-open {
		display: flex;
	}

	.chushin-header .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none !important;
	}

	.chushin-header .wp-block-navigation__responsive-container.is-menu-open {
		color: var(--wp--preset--color--ink);
		background: var(--wp--preset--color--kinari);
		padding: 1.25rem 1.5rem 2rem;
	}

	.chushin-header .wp-block-navigation__responsive-container-close {
		top: 1rem;
		right: 1.5rem;
		min-width: 48px;
		min-height: 48px;
		align-items: center;
		justify-content: center;
		color: var(--wp--preset--color--forest);
		border: 1px solid var(--wp--preset--color--forest);
		border-radius: 2px;
	}

	.chushin-header .wp-block-navigation__responsive-container-content {
		align-items: stretch !important;
		justify-content: flex-start !important;
		padding-top: 5.25rem !important;
	}

	.chushin-header .wp-block-navigation__container,
	.chushin-header .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
		width: 100%;
		align-items: stretch !important;
		gap: 0 !important;
	}

	.chushin-header .wp-block-navigation-item {
		width: 100%;
		align-items: stretch;
		border-bottom: 1px solid var(--wp--preset--color--border);
	}

	.chushin-header .wp-block-navigation-item__content {
		width: 100%;
		padding: .9rem 0 !important;
		font-size: 1.125rem;
		line-height: 1.5;
		text-align: left;
	}

	.chushin-header .chushin-mobile-menu-item {
		display: flex !important;
	}

	.chushin-header .chushin-mobile-line {
		margin-top: 1.5rem;
		border: 0;
	}

	.chushin-header .chushin-mobile-line .wp-block-navigation-item__content {
		padding: .9rem 1rem !important;
		color: var(--wp--preset--color--white);
		background: var(--wp--preset--color--forest);
		font-weight: 700;
		text-align: center;
	}

	.chushin-header .chushin-mobile-address {
		border: 0;
	}

	.chushin-header .chushin-mobile-address-first {
		margin-top: 1.5rem;
	}

	.chushin-header .chushin-mobile-address .wp-block-navigation-item__content {
		padding: 0 !important;
		color: var(--wp--preset--color--gray-green);
		font-size: .875rem;
		line-height: 1.8;
		pointer-events: none;
	}

	.chushin-hero {
		min-height: auto;
		padding-top: 2.25rem !important;
		padding-bottom: 2.5rem !important;
	}

	.chushin-hero-layout {
		gap: 2rem !important;
	}

	.chushin-hero-copy {
		gap: .85rem;
	}

	.chushin-hero-copy > * {
		margin-block-start: 0 !important;
		margin-block-end: 0 !important;
	}

	.chushin-hero-copy > p:first-child {
		margin-bottom: .2rem !important;
	}

	.chushin-hero-copy .chushin-hero-buttons {
		margin-top: .5rem !important;
	}

	.chushin-photo-placeholder {
		min-height: 420px;
	}
}

@media (max-width: 520px) {
	.chushin-brand {
		font-size: 1.25rem !important;
	}

	.chushin-hero-title {
		font-size: clamp(1.68rem, 7.5vw, 1.9rem) !important;
		letter-spacing: 0;
		line-height: 1.45 !important;
	}

	.chushin-title-mobile-break {
		display: inline;
	}

	.chushin-hero-copy > p {
		font-size: 1rem !important;
	}

	.chushin-hero-buttons {
		width: 100%;
		gap: .75rem !important;
	}

	.chushin-hero-buttons .wp-block-button {
		width: 100%;
	}

	.chushin-hero-buttons .wp-block-button__link {
		width: 100%;
	}


	/* Keep more of the wooden box visible in the mobile hero photograph. */
	.chushin-hero .chushin-photo-placeholder {
		width: 100%;
		height: 320px;
		min-height: 320px !important;
		aspect-ratio: auto;
		overflow: hidden;
	}

	.chushin-hero .chushin-photo-placeholder .wp-block-cover__image-background {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: 50% 50%;
	}

	.chushin-action-card {
		padding: 1.25rem !important;
	}

	.chushin-action-card h2 {
		font-size: 1.2rem !important;
	}

	.chushin-action-card p {
		font-size: 1rem !important;
	}

	.chushin-action-card .wp-block-button__link {
		padding-right: .75rem;
		padding-left: .75rem;
		font-size: .9rem;
	}

	.chushin-section {
		padding-top: 4rem;
		padding-bottom: 4rem;
	}

	.chushin-section-title {
		font-size: 2rem !important;
	}

	.chushin-split,
	.chushin-experience-layout {
		gap: 2rem !important;
	}

	.chushin-about .wp-block-columns,
	.chushin-store .wp-block-columns {
		flex-direction: column;
	}

	.chushin-photo-placeholder--nature,
	.chushin-photo-placeholder--forest,
	.chushin-photo-placeholder--store {
		min-height: 320px !important;
	}

	.chushin-sales-cards,
	.chushin-steps {
		display: grid;
		grid-template-columns: 1fr;
	}

	.chushin-stat {
		flex-basis: 100%;
	}

	.chushin-final-buttons {
		width: 100%;
	}

	.chushin-final-buttons .wp-block-button,
	.chushin-final-buttons .wp-block-button__link {
		width: 100%;
	}
}

/* FAQ cascade lock: must remain after legacy page and mobile rules. */
.chushin-faq > .wp-block-group,
.chushin-faq .wp-block-group.alignwide {
	max-width: 860px;
}

.chushin-faq .wp-block-details {
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--wp--preset--color--border);
}

.chushin-faq .wp-block-details:last-child {
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.chushin-faq .wp-block-details summary {
	position: relative;
	display: flex;
	min-height: 64px;
	padding: 16px 52px 16px 0;
	align-items: center;
	color: var(--wp--preset--color--forest);
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.55;
	list-style: none;
	cursor: pointer;
}

.chushin-faq .wp-block-details summary::-webkit-details-marker {
	display: none;
}

.chushin-faq .wp-block-details summary::after {
	position: absolute;
	top: 50%;
	right: 8px;
	display: grid;
	width: 32px;
	height: 32px;
	place-items: center;
	color: var(--wp--preset--color--forest);
	border: 1px solid var(--wp--preset--color--border);
	content: "+";
	font-family: sans-serif;
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 1;
	transform: translateY(-50%);
	transition: transform .2s ease, background-color .2s ease;
}

.chushin-faq .wp-block-details[open] summary::after {
	background: var(--wp--preset--color--kinari);
	transform: translateY(-50%) rotate(45deg);
}

.chushin-faq .wp-block-details summary:focus-visible {
	outline: 3px solid var(--wp--preset--color--gold);
	outline-offset: 3px;
}

.chushin-faq .wp-block-details > p {
	margin: 0 0 20px;
	padding: 16px 18px;
	color: var(--wp--preset--color--ink);
	background: var(--wp--preset--color--kinari);
	font-family: var(--wp--preset--font-family--sans);
	font-size: 1rem;
	line-height: 1.8;
	overflow-wrap: anywhere;
}

@media (max-width: 520px) {
	.chushin-faq .wp-block-details summary {
		min-height: 60px;
		padding: 14px 48px 14px 0;
		font-size: 1.0625rem;
	}

	.chushin-faq .wp-block-details summary::after {
		right: 4px;
		width: 30px;
		height: 30px;
	}

	.chushin-faq .wp-block-details > p {
		margin-bottom: 16px;
		padding: 14px 16px;
		font-size: max(1rem, 16px) !important;
	}
}

/* TOP hero spacing for tablet and mobile widths only. */
@media (max-width: 800px) {
	.chushin-home .chushin-hero-copy {
		gap: 0 !important;
	}

	.chushin-home .chushin-hero-copy > .chushin-hero-intro {
		margin-bottom: 28px !important;
	}

	.chushin-home .chushin-hero-copy > .chushin-hero-title {
		margin-bottom: 30px !important;
	}

	.chushin-home .chushin-hero-copy > .chushin-hero-title + p {
		margin-bottom: 28px !important;
		line-height: 1.9 !important;
	}

	.chushin-home .chushin-hero-copy > .chushin-hero-title + p + p {
		margin-bottom: 22px !important;
		line-height: 1.9 !important;
	}

	.chushin-home .chushin-hero-copy > .chushin-hero-buttons {
		margin-top: 0 !important;
		gap: 14px !important;
	}

	.chushin-home .chushin-hero-layout {
		gap: 36px !important;
	}
}

/* Keep the TOP hero copy on three intentional lines on small screens. */
@media (max-width: 520px) {
	.chushin-home .chushin-hero-title .chushin-title-line {
		display: block;
		font-size: clamp(28px, 7.2vw, 40px);
		line-height: 1.4;
		letter-spacing: -.02em;
	}
}

/* Quiet, brand-colour button interactions. */
:where(
	.chushin-header,
	.chushin-home,
	.chushin-knowledge-page,
	.chushin-purpose-page,
	.chushin-about-page
) .wp-block-button__link {
	--chushin-button-hover-bg: #173f32;
	--chushin-button-hover-color: #fff;
	--chushin-button-hover-border: #b39554;
	--chushin-button-hover-shadow: 0 8px 24px rgba(23, 63, 50, .14);
	box-sizing: border-box;
	transition: background-color .3s ease, color .3s ease, border-color .3s ease, box-shadow .3s ease, transform .3s ease;
}

:where(
	.chushin-header,
	.chushin-home,
	.chushin-knowledge-page,
	.chushin-purpose-page,
	.chushin-about-page
) .wp-block-button__link.has-forest-background-color {
	--chushin-button-hover-bg: #102f26;
	--chushin-button-hover-color: #f6f1e7;
	--chushin-button-hover-border: #b39554;
	--chushin-button-hover-shadow: 0 8px 24px rgba(23, 63, 50, .18);
	color: #fff !important;
	background-color: #173f32 !important;
	border: 1px solid #173f32 !important;
}

:where(
	.chushin-home,
	.chushin-knowledge-page,
	.chushin-purpose-page,
	.chushin-about-page
) .wp-block-button__link.has-matsutake-brown-background-color {
	--chushin-button-hover-bg: #6e4933;
	--chushin-button-hover-color: #fff;
	--chushin-button-hover-border: #b39554;
	--chushin-button-hover-shadow: 0 8px 24px rgba(118, 82, 59, .18);
	color: #fff !important;
	background-color: #875c40 !important;
	border: 1px solid #875c40 !important;
}

:where(
	.chushin-home,
	.chushin-knowledge-page,
	.chushin-purpose-page,
	.chushin-about-page
) .wp-block-button__link.has-gold-background-color {
	--chushin-button-hover-bg: #a48445;
	--chushin-button-hover-color: #fff;
	--chushin-button-hover-border: #d8c18a;
	--chushin-button-hover-shadow: 0 8px 24px rgba(179, 149, 84, .22);
	color: #252923 !important;
	background-color: #b39554 !important;
	border: 1px solid #b39554 !important;
}

:where(
	.chushin-home,
	.chushin-knowledge-page,
	.chushin-purpose-page,
	.chushin-about-page
) .wp-block-button.is-style-outline .wp-block-button__link {
	--chushin-button-hover-bg: #173f32;
	--chushin-button-hover-color: #fff;
	--chushin-button-hover-border: #b39554;
	--chushin-button-hover-shadow: 0 8px 24px rgba(23, 63, 50, .14);
	color: #173f32 !important;
	background-color: transparent !important;
	border: 1px solid #173f32 !important;
}

:where(
	.has-forest-background-color,
	.has-matsutake-brown-background-color
) .wp-block-button.is-style-outline .wp-block-button__link {
	--chushin-button-hover-bg: #b39554;
	--chushin-button-hover-color: #252923;
	--chushin-button-hover-border: #d8c18a;
	--chushin-button-hover-shadow: 0 8px 24px rgba(179, 149, 84, .2);
	color: #f6f1e7 !important;
	background-color: transparent !important;
	border-color: #f6f1e7 !important;
}

:where(
	.chushin-header,
	.chushin-home,
	.chushin-knowledge-page,
	.chushin-purpose-page,
	.chushin-about-page
) .wp-block-button__link:focus-visible {
	color: var(--chushin-button-hover-color) !important;
	background-color: var(--chushin-button-hover-bg) !important;
	border-color: var(--chushin-button-hover-border) !important;
	box-shadow: var(--chushin-button-hover-shadow);
	outline: 3px solid #b39554;
	outline-offset: 3px;
	transform: translateY(-2px);
}

:where(
	.chushin-home,
	.chushin-knowledge-page,
	.chushin-purpose-page,
	.chushin-about-page
) .wp-block-button.is-style-outline .wp-block-button__link:focus-visible {
	color: var(--chushin-button-hover-color) !important;
	background-color: var(--chushin-button-hover-bg) !important;
	border-color: var(--chushin-button-hover-border) !important;
}

@media (hover: hover) and (pointer: fine) {
	:where(
		.chushin-header,
		.chushin-home,
		.chushin-knowledge-page,
		.chushin-purpose-page,
		.chushin-about-page
	) .wp-block-button__link:hover {
		color: var(--chushin-button-hover-color) !important;
		background-color: var(--chushin-button-hover-bg) !important;
		border-color: var(--chushin-button-hover-border) !important;
		box-shadow: var(--chushin-button-hover-shadow);
		transform: translateY(-2px);
	}

	:where(
		.chushin-home,
		.chushin-knowledge-page,
		.chushin-purpose-page,
		.chushin-about-page
	) .wp-block-button.is-style-outline .wp-block-button__link:hover {
		color: var(--chushin-button-hover-color) !important;
		background-color: var(--chushin-button-hover-bg) !important;
		border-color: var(--chushin-button-hover-border) !important;
	}
}

:where(
	.chushin-header,
	.chushin-home,
	.chushin-knowledge-page,
	.chushin-purpose-page,
	.chushin-about-page
) .wp-block-button__link:active {
	transform: translateY(0);
}

@media (min-width: 800px) {
	.chushin-experience-copy .chushin-desktop-heading-line,
	.chushin-selection-copy .chushin-desktop-heading-line {
		display: block;
	}
}

/* Readable, restrained text links on every brand background. */
:where(
	.chushin-home,
	.chushin-knowledge-page,
	.chushin-purpose-page,
	.chushin-about-page
) .has-forest-background-color a:not(.wp-block-button__link):not(.wp-block-navigation-item__content) {
	color: #f6f1e7 !important;
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: currentColor;
	text-underline-offset: 4px;
}

:where(
	.chushin-home,
	.chushin-knowledge-page,
	.chushin-purpose-page,
	.chushin-about-page
) .has-forest-background-color a:not(.wp-block-button__link):not(.wp-block-navigation-item__content):is(:hover, :focus-visible) {
	color: #d8c18a !important;
}

:where(
	.chushin-home,
	.chushin-knowledge-page,
	.chushin-purpose-page,
	.chushin-about-page
) .has-matsutake-brown-background-color a:not(.wp-block-button__link):not(.wp-block-navigation-item__content) {
	color: #fff !important;
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: currentColor;
	text-underline-offset: 4px;
}

:where(
	.chushin-home,
	.chushin-knowledge-page,
	.chushin-purpose-page,
	.chushin-about-page
) .has-matsutake-brown-background-color a:not(.wp-block-button__link):not(.wp-block-navigation-item__content):is(:hover, :focus-visible) {
	color: #f0d79b !important;
}

:where(
	.chushin-home,
	.chushin-knowledge-page,
	.chushin-purpose-page,
	.chushin-about-page
) :is(.has-kinari-background-color, .has-white-background-color) a:not(.wp-block-button__link):not(.wp-block-navigation-item__content) {
	color: #173f32 !important;
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: currentColor;
	text-underline-offset: 4px;
}

:where(
	.chushin-home,
	.chushin-knowledge-page,
	.chushin-purpose-page,
	.chushin-about-page
) :is(.has-kinari-background-color, .has-white-background-color) a:not(.wp-block-button__link):not(.wp-block-navigation-item__content):is(:hover, :focus-visible) {
	color: #875c40 !important;
}

:where(
	.chushin-home,
	.chushin-knowledge-page,
	.chushin-purpose-page,
	.chushin-about-page
) a:not(.wp-block-button__link):not(.wp-block-navigation-item__content):focus-visible {
	outline: 2px solid #b39554;
	outline-offset: 3px;
}

/* Let the nearest background container determine link contrast. */
:where(
	.chushin-home,
	.chushin-knowledge-page,
	.chushin-purpose-page,
	.chushin-about-page
) .has-forest-background-color {
	--chushin-link-color: #f6f1e7;
	--chushin-link-hover-color: #d8c18a;
}

:where(
	.chushin-home,
	.chushin-knowledge-page,
	.chushin-purpose-page,
	.chushin-about-page
) .has-matsutake-brown-background-color {
	--chushin-link-color: #fff;
	--chushin-link-hover-color: #f0d79b;
}

:where(
	.chushin-home,
	.chushin-knowledge-page,
	.chushin-purpose-page,
	.chushin-about-page
) :is(.has-kinari-background-color, .has-white-background-color) {
	--chushin-link-color: #173f32;
	--chushin-link-hover-color: #875c40;
}

:where(
	.chushin-home,
	.chushin-knowledge-page,
	.chushin-purpose-page,
	.chushin-about-page
) :is(
	.has-forest-background-color,
	.has-matsutake-brown-background-color,
	.has-kinari-background-color,
	.has-white-background-color
) a:not(.wp-block-button__link):not(.wp-block-navigation-item__content) {
	color: var(--chushin-link-color) !important;
}

:where(
	.chushin-home,
	.chushin-knowledge-page,
	.chushin-purpose-page,
	.chushin-about-page
) :is(
	.has-forest-background-color,
	.has-matsutake-brown-background-color,
	.has-kinari-background-color,
	.has-white-background-color
) a:not(.wp-block-button__link):not(.wp-block-navigation-item__content):is(:hover, :focus-visible) {
	color: var(--chushin-link-hover-color) !important;
}

/* Reveal is enabled only after JavaScript has prepared the page. */
.chushin-motion-enabled .chushin-reveal {
	transition: opacity .8s ease, transform .8s ease;
}

.chushin-motion-enabled .chushin-reveal:not(.is-visible) {
	opacity: 0;
	transform: translateY(24px);
}

.chushin-motion-enabled .chushin-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

@media (max-width: 520px) {
	.chushin-motion-enabled .chushin-reveal:not(.is-visible) {
		transform: translateY(20px);
	}
}

@media (prefers-reduced-motion: reduce) {
	:where(
		.chushin-header,
		.chushin-home,
		.chushin-knowledge-page,
		.chushin-purpose-page,
		.chushin-about-page
	) .wp-block-button__link,
	.chushin-motion-enabled .chushin-reveal {
		transition: none !important;
	}

	:where(
		.chushin-header,
		.chushin-home,
		.chushin-knowledge-page,
		.chushin-purpose-page,
		.chushin-about-page
	) .wp-block-button__link,
	.chushin-motion-enabled .chushin-reveal,
	.chushin-motion-enabled .chushin-reveal:not(.is-visible) {
		opacity: 1 !important;
		transform: none !important;
	}
}

/* Mobile action cards: one calm, compact column with consistent spacing. */
@media (max-width: 520px) {
	.chushin-home .chushin-action-grid {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 12px !important;
	}

	.chushin-home .chushin-action-card {
		min-height: 252px;
		height: auto;
		padding: 26px 22px !important;
	}

	.chushin-home .chushin-action-card > p:first-child,
	.chushin-home .chushin-action-card > h2 {
		min-height: 0;
	}

	.chushin-home .chushin-action-card > .wp-block-buttons {
		width: auto;
		margin-top: auto !important;
		padding-top: 0;
	}

	.chushin-home .chushin-action-card .wp-block-button,
	.chushin-home .chushin-action-card .wp-block-button__link {
		width: auto;
	}

	.chushin-home .chushin-action-card .wp-block-button__link {
		min-width: 148px;
	}
}

/* Matsutake contact heading: left aligned on phones only. */
@media (max-width: 520px) {
	.chushin-knowledge-page .chushin-knowledge-final-title {
		text-align: left !important;
	}
}

/* Keep the Buy page title on one line on narrow phones. */
@media (max-width: 366.98px) {
	.chushin-buy-page .chushin-purpose-title {
		font-size: clamp(1.75rem, 9vw, 2.0625rem) !important;
		white-space: nowrap;
	}

	.chushin-buy-page #buy-contact > h2 {
		text-align: left !important;
	}
}

/* About page closing message: left aligned on phones only. */
@media (max-width: 520px) {
	.chushin-about-page .chushin-purpose-final > p {
		text-align: left !important;
	}
}

/* Unified tablet-width layout across the five public pages. */
@media (min-width: 521px) and (max-width: 1023px) {
	:where(
		.chushin-home,
		.chushin-knowledge-page,
		.chushin-purpose-page,
		.chushin-about-page
	) {
		--chushin-tablet-gutter: clamp(28px, 6.5vw, 68px);
	}

	:where(
		.chushin-home,
		.chushin-knowledge-page,
		.chushin-purpose-page,
		.chushin-about-page
	) > .alignfull {
		box-sizing: border-box;
		padding-right: var(--chushin-tablet-gutter) !important;
		padding-left: var(--chushin-tablet-gutter) !important;
	}

	:where(
		.chushin-home,
		.chushin-knowledge-page,
		.chushin-purpose-page,
		.chushin-about-page
	) > .alignfull > :where(.alignwide, .wp-block-columns, .wp-block-group) {
		box-sizing: border-box;
		width: 100%;
		max-width: 1200px;
		margin-right: auto !important;
		margin-left: auto !important;
	}

	:where(
		.chushin-home,
		.chushin-knowledge-page,
		.chushin-purpose-page,
		.chushin-about-page
	) :where(.wp-block-column, .wp-block-group, .wp-block-cover, .wp-block-image) {
		min-width: 0;
	}
}

/* Phones and small tablets use one column; intentional CSS grids remain grids. */
@media (min-width: 521px) and (max-width: 781px) {
	:where(
		.chushin-home,
		.chushin-knowledge-page,
		.chushin-purpose-page,
		.chushin-about-page
	) .wp-block-columns {
		flex-direction: column !important;
	}

	:where(
		.chushin-home,
		.chushin-knowledge-page,
		.chushin-purpose-page,
		.chushin-about-page
	) .wp-block-columns > .wp-block-column {
		box-sizing: border-box;
		width: 100% !important;
		max-width: none;
		flex-basis: auto !important;
		margin-left: 0 !important;
	}

	.chushin-home .chushin-action-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	:where(
		.chushin-hero-layout,
		.chushin-split,
		.chushin-experience-layout,
		.chushin-knowledge-hero-layout,
		.chushin-food-layout,
		.chushin-about-hero-layout,
		.chushin-story-split,
		.chushin-purpose-split
	) {
		gap: clamp(24px, 5vw, 40px) !important;
	}
}

/* Keep image-and-copy narratives stacked until there is comfortable room. */
@media (min-width: 782px) and (max-width: 898px) {
	:where(
		.chushin-hero-layout,
		.chushin-split,
		.chushin-experience-layout,
		.chushin-knowledge-hero-layout,
		.chushin-food-layout,
		.chushin-about-hero-layout,
		.chushin-story-split,
		.chushin-purpose-split
	) {
		flex-direction: column !important;
		gap: clamp(32px, 5vw, 48px) !important;
	}

	:where(
		.chushin-hero-layout,
		.chushin-split,
		.chushin-experience-layout,
		.chushin-knowledge-hero-layout,
		.chushin-food-layout,
		.chushin-about-hero-layout,
		.chushin-story-split,
		.chushin-purpose-split
	) > .wp-block-column {
		box-sizing: border-box;
		width: 100% !important;
		max-width: none;
		flex-basis: auto !important;
		margin-left: 0 !important;
	}
}

/*
 * WordPress gives unsized Columns children flex-basis: 0 from 782px.
 * On this site's desktop layouts that can collapse a column to its min-content
 * width, so give two-column narratives a balanced non-zero basis at 899px.
 */
@media (min-width: 899px) {
	:where(
		.chushin-home,
		.chushin-knowledge-page,
		.chushin-buy-page,
		.chushin-sell-page,
		.chushin-about-page
	) .wp-block-columns:not(.is-not-stacked-on-mobile):not(:where(
		.chushin-two-cards,
		.chushin-sales-cards,
		.chushin-steps,
		.chushin-knowledge-points,
		.chushin-cap-cards,
		.chushin-region-cards,
		.chushin-purpose-cards,
		.chushin-origin-cards,
		.chushin-purpose-steps,
		.chushin-purchase-methods,
		.chushin-sell-stats,
		.chushin-values,
		.chushin-visit-actions
	)) > .wp-block-column:not([style*="flex-basis"]) {
		min-width: 0;
		flex-basis: calc(50% - 1rem) !important;
	}

	/* Preserve the intentional ratios emitted by the Column block. */
	:where(
		.chushin-home,
		.chushin-knowledge-page,
		.chushin-buy-page,
		.chushin-sell-page,
		.chushin-about-page
	) .wp-block-column[style*="flex-basis:50%"] {
		flex-basis: 50% !important;
	}

	:where(
		.chushin-home,
		.chushin-knowledge-page,
		.chushin-buy-page,
		.chushin-sell-page,
		.chushin-about-page
	) .wp-block-column[style*="flex-basis:55%"] {
		flex-basis: 55% !important;
	}

	:where(
		.chushin-home,
		.chushin-knowledge-page,
		.chushin-buy-page,
		.chushin-sell-page,
		.chushin-about-page
	) .wp-block-column[style*="flex-basis:45%"] {
		flex-basis: 45% !important;
	}

	/* Repair legacy unitless 50 values if one survives in production content. */
	:where(
		.chushin-home,
		.chushin-knowledge-page,
		.chushin-buy-page,
		.chushin-sell-page,
		.chushin-about-page
	) .wp-block-column:is([style="flex-basis:50"], [style="flex-basis: 50"]),
	:where(
		.chushin-home,
		.chushin-knowledge-page,
		.chushin-buy-page,
		.chushin-sell-page,
		.chushin-about-page
	) .wp-block-column[style*="flex-basis:50;"] {
		flex-basis: 50% !important;
	}
}

/* Keep the four value headings on one line from the requested breakpoint. */
@media (min-width: 781px) {
	.chushin-about-page .chushin-values > .wp-block-column {
		padding-right: clamp(12px, 1.5vw, 20px);
		padding-left: clamp(12px, 1.5vw, 20px);
	}

	.chushin-about-page .chushin-values h3 {
		font-size: 1.125rem !important;
		white-space: nowrap;
	}
}

@media (max-width: 520px) {
	.chushin-origin-mobile-line {
		display: block;
	}
}

@media (min-width: 521px) {
	.chushin-origin-wide-line {
		display: block;
		font-size: clamp(24px, 4vw, 40px);
		white-space: nowrap;
	}

	.chushin-origin-mobile-line {
		display: inline;
	}
}

/* Footer contact links sit outside the page-main link colour scopes. */
footer.wp-block-template-part .has-forest-background-color a:not(.wp-block-button__link) {
	color: #f6f1e7 !important;
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: currentColor;
	text-underline-offset: 4px;
}

footer.wp-block-template-part .has-forest-background-color a:not(.wp-block-button__link):is(:hover, :focus-visible) {
	color: #d8c18a !important;
}

footer.wp-block-template-part .has-forest-background-color a:not(.wp-block-button__link):focus-visible {
	outline: 2px solid #b39554;
	outline-offset: 3px;
}

/* Keep the store invitation readable on one line at every public width. */
.chushin-home .chushin-store-title,
.chushin-about-page .chushin-about-store-title {
	font-size: clamp(24px, 3.2vw, 42px) !important;
	line-height: 1.4 !important;
	white-space: nowrap;
}

/* Align store information with the common desktop content grid. */
@media (min-width: 1024px) {
	.chushin-home .chushin-store > .chushin-split,
	.chushin-about-page .chushin-shop-detail > .chushin-story-split {
		box-sizing: border-box;
		width: min(calc(100% - 96px), 1200px);
		max-width: 1200px;
		margin-right: auto !important;
		margin-left: auto !important;
	}
}

@media (min-width: 521px) {
	.chushin-home .chushin-home-about-title {
		font-size: clamp(22px, 2.5vw, 36px) !important;
		line-height: 1.4 !important;
		white-space: nowrap;
	}

	.chushin-home .chushin-home-about-title > span {
		display: inline;
	}

}

@media (min-width: 521px) and (max-width: 899px) {
	.chushin-home .chushin-hero-title .chushin-title-line {
		display: block;
		font-size: clamp(32px, 4.8vw, 40px);
		white-space: nowrap;
	}
}

/* Refined, photo-textured mobile navigation overlay. */
@media (max-width: 800px) {
	.chushin-header .wp-block-navigation__responsive-container.is-menu-open {
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		padding: 1.25rem clamp(1.5rem, 6vw, 3rem) 2.5rem;
		color: #f6f1e7;
		background-color: #102f26;
		background-image:
			linear-gradient(rgba(16, 47, 38, .93), rgba(16, 47, 38, .96)),
			url("/wp-content/themes/chushin-matsutake/assets/images/matsutake-wild-three.png");
		background-position: center;
		background-size: cover;
		background-repeat: no-repeat;
	}

	.chushin-header .wp-block-navigation__responsive-container-close {
		color: #f6f1e7;
		background: rgba(16, 47, 38, .55);
		border-color: rgba(216, 193, 138, .75);
	}

	.chushin-header .wp-block-navigation__responsive-container-close:is(:hover, :focus-visible) {
		color: #d8c18a;
		background: rgba(255, 255, 255, .06);
		border-color: #d8c18a;
	}

	.chushin-header .wp-block-navigation__responsive-container-content {
		box-sizing: border-box;
		width: 100%;
		max-width: 680px;
		margin-right: auto;
		margin-left: auto;
		padding-top: 4.75rem !important;
	}

	.chushin-header .wp-block-navigation__responsive-container-content::before {
		display: block;
		width: min(220px, 68vw);
		height: 64px;
		margin: 0 auto 1.75rem;
		background-image: url("/wp-content/themes/chushin-matsutake/assets/images/chushin-logo-white.png");
		background-position: center;
		background-size: contain;
		background-repeat: no-repeat;
		content: "";
	}

	.chushin-header .wp-block-navigation__responsive-container-content .wp-block-navigation-item {
		box-sizing: border-box;
		border-bottom-color: rgba(216, 193, 138, .3);
	}

	.chushin-header .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content {
		box-sizing: border-box;
		padding: 1.05rem .75rem !important;
		color: #f6f1e7 !important;
		border-left: 2px solid transparent;
		font-family: var(--wp--preset--font-family--serif);
		font-size: clamp(1.05rem, 3.8vw, 1.25rem);
		letter-spacing: .04em;
		transition: color .25s ease, background-color .25s ease, border-color .25s ease;
	}

	.chushin-header .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content:is(:active, :focus-visible) {
		color: #d8c18a !important;
		background: rgba(255, 255, 255, .06);
		border-left-color: #b39554;
	}

	.chushin-header .chushin-mobile-line {
		margin-top: 2rem;
		border-bottom: 0;
	}

	.chushin-header .chushin-mobile-line .wp-block-navigation-item__content {
		min-height: 56px;
		padding: .9rem 1.25rem !important;
		align-items: center;
		justify-content: center;
		color: #252923 !important;
		background: #b39554;
		border: 1px solid #d8c18a;
		font-family: var(--wp--preset--font-family--sans);
		font-weight: 700;
		letter-spacing: .03em;
		text-align: center;
	}

	.chushin-header .chushin-mobile-line .wp-block-navigation-item__content:is(:active, :focus-visible) {
		color: #fff !important;
		background: #a48445;
		border-color: #f0d79b;
	}

	.chushin-header .chushin-mobile-address-first {
		margin-top: 1.75rem;
	}

	.chushin-header .chushin-mobile-address .wp-block-navigation-item__content {
		padding: .1rem .75rem !important;
		color: rgba(246, 241, 231, .72) !important;
		border-left: 0;
		font-family: var(--wp--preset--font-family--sans);
		font-size: .875rem;
		letter-spacing: .02em;
	}
}

@media (max-width: 800px) and (hover: hover) and (pointer: fine) {
	.chushin-header .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content:hover {
		color: #d8c18a !important;
		background: rgba(255, 255, 255, .06);
		border-left-color: #b39554;
	}

	.chushin-header .chushin-mobile-line .wp-block-navigation-item__content:hover {
		color: #fff !important;
		background: #a48445;
		border-color: #f0d79b;
	}
}

/* Compact single-row sticky header for phones. */
@media (max-width: 520px) {
	header.wp-block-template-part {
		position: sticky;
		top: 0;
		z-index: 1000;
		box-shadow: 0 8px 24px rgba(16, 47, 38, .14);
	}
	/* On phone widths WordPress places the admin bar in normal page flow. */
	body.admin-bar header.wp-block-template-part {
		top: 0;
	}

	.chushin-header {
		padding-top: 12px !important;
		padding-bottom: 12px !important;
	}

	.chushin-purchase-method-note {
		margin-top: .75rem;
		font-weight: 600;
		letter-spacing: .06em;
	}
}

/* Three restrained action buttons inside the mobile menu. */
@media (max-width: 800px) {
	.chushin-header .chushin-mobile-menu-action {
		margin-top: 10px;
		border: 0;
	}

	.chushin-header .chushin-mobile-phone {
		margin-top: 2rem;
	}

	.chushin-header .chushin-mobile-menu-action .wp-block-navigation-item__content {
		display: flex;
		box-sizing: border-box;
		min-height: 54px;
		padding: .85rem 1.25rem !important;
		align-items: center;
		justify-content: center;
		border: 1px solid rgba(216, 193, 138, .8);
		font-family: var(--wp--preset--font-family--sans);
		font-size: 1rem;
		font-weight: 700;
		letter-spacing: .03em;
		text-align: center;
	}

	.chushin-header .chushin-mobile-phone .wp-block-navigation-item__content,
	.chushin-header .chushin-mobile-store .wp-block-navigation-item__content {
		color: #f6f1e7 !important;
		background: rgba(16, 47, 38, .68);
	}

	.chushin-header .chushin-mobile-line .wp-block-navigation-item__content {
		color: #252923 !important;
		background: #b39554;
		border-color: #d8c18a;
	}

	.chushin-header .chushin-mobile-menu-action .wp-block-navigation-item__content:is(:active, :focus-visible) {
		color: #fff !important;
		background: #a48445;
		border-color: #f0d79b;
	}

	.chushin-header .wp-block-navigation__responsive-container-close {
		top: 18px;
		right: clamp(1.5rem, 6vw, 3rem);
		display: grid !important;
		width: 48px;
		height: 48px;
		min-width: 48px;
		min-height: 48px;
		padding: 0 !important;
		place-items: center;
		line-height: 0;
		border-radius: 50%;
	}

	.chushin-header .wp-block-navigation__responsive-container-close svg {
		display: block;
		width: 22px;
		height: 22px;
		margin: 0;
	}
}

@media (max-width: 800px) and (hover: hover) and (pointer: fine) {
	.chushin-header .chushin-mobile-menu-action .wp-block-navigation-item__content:hover {
		color: #fff !important;
		background: #a48445;
		border-color: #f0d79b;
	}
}

@media (min-width: 900px) and (max-width: 1030px) {
	.chushin-home .chushin-hero-title .chushin-title-line {
		display: block;
		font-size: clamp(31px, 3.4vw, 34px);
		white-space: nowrap;
	}
}

/* Confirmed purchase methods and store-information-only layouts. */
.chushin-purchase-methods {
	align-items: stretch;
}

.chushin-purchase-method {
	box-sizing: border-box;
	padding: clamp(1.5rem, 3vw, 2rem);
	border: 1px solid var(--wp--preset--color--border);
	background: #fdfbf6;
}

.chushin-purchase-method > :first-child {
	margin-top: 0;
}

.chushin-method-number {
	color: #b39554;
	font-weight: 700;
	letter-spacing: .12em;
}

.chushin-purchase-notice {
	padding-top: 1rem;
	border-top: 1px solid rgba(179, 149, 84, .45);
	color: #875c40;
}

.chushin-shop-information-only,
.chushin-store-information-only,
.chushin-shop-detail .chushin-story-split > .wp-block-column:only-child,
.chushin-store .chushin-split > .wp-block-column:only-child {
	width: 100%;
	max-width: var(--wp--style--global--wide-size);
	flex-basis: 100% !important;
}

.chushin-shop-detail .wp-block-column:empty,
.chushin-store .wp-block-column:empty {
	display: none;
}

@media (max-width: 781px) {
	.chushin-purchase-methods {
		flex-direction: column;
	}
}

/* Give the Sell hero a calmer reading width and more breathing room. */
@media (min-width: 521px) {
	.chushin-sell-hero .chushin-purpose-hero-inner {
		box-sizing: border-box;
		padding-inline: clamp(2.5rem, 5vw, 4.5rem);
	}

	.chushin-sell-hero .chushin-purpose-hero-inner > :not(.chushin-purpose-buttons) {
		max-width: 780px;
	}

	.chushin-sell-hero .chushin-eyebrow {
		margin-bottom: 2rem;
	}

	.chushin-sell-hero .chushin-purpose-title {
		margin-top: 0;
		margin-bottom: 2rem;
	}

	.chushin-sell-hero .chushin-sell-copy {
		margin-bottom: 1.5rem;
	}

	.chushin-sell-hero .chushin-purpose-buttons {
		margin-top: 2rem;
		gap: 1rem;
	}
}

@media (max-width: 520px) {
	.chushin-sell-hero .chushin-purpose-hero-inner > p:not(.chushin-eyebrow) {
		max-width: 34rem;
	}

	.chushin-sell-hero .chushin-purpose-buttons {
		margin-top: 1.75rem;
		gap: .875rem;
	}
}

/* About hero: two large lines without mid-phrase wrapping. */
.chushin-about-title .chushin-about-title-line {
	display: block;
	white-space: nowrap;
}

.chushin-about-title {
	font-size: clamp(2rem, 4.6vw, 3.5rem) !important;
	line-height: 1.38 !important;
	letter-spacing: -.025em;
}

@media (max-width: 520px) {
	.chushin-purchase-mobile-line {
		display: block;
	}

	.chushin-about-title {
		font-size: clamp(25px, 7.2vw, 37px) !important;
		line-height: 1.42 !important;
		letter-spacing: -.035em;
	}
}

/* Footer contact links: one row normally, two readable rows on small phones. */
.chushin-footer-contacts {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: .5rem 1rem;
}

.chushin-footer-contacts a + a::before {
	margin-right: 1rem;
	color: rgba(246, 241, 231, .7);
	content: "｜";
}

@media (max-width: 450.98px) {
	.chushin-footer-contacts {
		flex-direction: column;
		align-items: flex-start;
		gap: .75rem;
		padding-right: 4rem;
	}

	.chushin-footer-contacts a {
		display: block;
	}

	.chushin-footer-contacts a + a::before {
		display: none;
		content: none;
	}
}

/* Quiet page transition and back-to-top control. */
.chushin-page-motion .wp-site-blocks {
	opacity: 0;
	transition: opacity .55s ease;
}

.chushin-page-motion.chushin-page-visible .wp-site-blocks {
	opacity: 1;
}

.chushin-page-motion.chushin-page-leaving .wp-site-blocks {
	opacity: 0;
	transition-duration: .26s;
}

.chushin-back-to-top {
	position: fixed;
	right: clamp(18px, 3vw, 36px);
	bottom: clamp(18px, 3vw, 36px);
	z-index: 900;
	display: grid;
	width: 58px;
	height: 58px;
	padding: 7px 4px 6px;
	place-content: center;
	gap: 1px;
	color: #f6f1e7;
	background: rgba(23, 63, 50, .94);
	border: 1px solid rgba(216, 193, 138, .85);
	border-radius: 50%;
	box-shadow: 0 8px 24px rgba(16, 47, 38, .2);
	font-family: var(--wp--preset--font-family--sans);
	cursor: pointer;
	opacity: 0;
	transform: translateY(12px);
	pointer-events: none;
	transition: opacity .3s ease, transform .3s ease, background-color .3s ease, border-color .3s ease;
}

.chushin-back-to-top.is-visible {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

.chushin-back-to-top > span[aria-hidden="true"] {
	font-size: 1.25rem;
	line-height: .9;
}

.chushin-back-to-top-label {
	font-size: .68rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .08em;
}

@media (hover: hover) and (pointer: fine) {
	.chushin-back-to-top:hover {
		background: #102f26;
		border-color: #d8c18a;
		transform: translateY(-2px);
	}
}

.chushin-back-to-top:focus-visible {
	outline: 3px solid #d8c18a;
	outline-offset: 3px;
}

.chushin-back-to-top:active {
	transform: translateY(0);
}

@media (max-width: 520px) {
	.chushin-back-to-top {
		right: 16px;
		bottom: 16px;
		width: 52px;
		height: 52px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.chushin-page-motion .wp-site-blocks,
	.chushin-page-motion.chushin-page-visible .wp-site-blocks,
	.chushin-page-motion.chushin-page-leaving .wp-site-blocks,
	.chushin-back-to-top {
		transition: none !important;
	}

	.chushin-page-motion .wp-site-blocks {
		opacity: 1 !important;
	}

	.chushin-back-to-top.is-visible {
		transform: none !important;
	}
}
