:root {
	--nk-text: #302923;
	--nk-text-soft: #6b6259;
	--nk-border: #d8cbb9;
	--nk-border-soft: #ebe2d6;
	--nk-surface: #fffdf8;
	--nk-surface-soft: #f6f0e6;
	--nk-surface-green: #edf3e6;
	--nk-surface-pink: #fbf1f2;
	--nk-green: #6e7f4f;
	--nk-green-deep: #43572f;
	--nk-red: #a95862;
	--nk-brown: #6b4f37;
	--nk-ink: #1f1b17;
	--nk-radius: 8px;
	--nk-container: 1120px;
}

.post_content h2{
	margin-bottom: 1em;
}
.nk-site {
	color: var(--nk-text);
	background: #fbfaf6;
	letter-spacing: 0;
}

.nk-site .l-mainContent__inner {
	max-width: var(--nk-container);
}

.nk-site .post_content {
	color: var(--nk-text);
	font-size: 1rem;
	line-height: 1.95;
}

.nk-site .post_content > *:first-child {
	margin-top: 0;
}

.nk-site .post_content a {
	text-underline-offset: 0.18em;
}

.nk-site.top #content {
	padding-top: 0;
}

.nk-site .post_content h1,
.nk-site .post_content h2,
.nk-site .post_content h3,
.nk-site .wp-block-heading {
	color: var(--nk-ink);
	letter-spacing: 0;
	line-height: 1.42;
}

.nk-site .post_content h1 {
	font-size: clamp(2rem, 4.5vw, 3.75rem);
}

.nk-site .post_content h2 {
	margin-top: 3.4rem;
	font-size: clamp(1.55rem, 2.5vw, 2.15rem);
}

.nk-site .post_content h3 {
	font-size: clamp(1.12rem, 1.8vw, 1.35rem);
}

.nk-site .post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
	padding: 0;
	background: transparent;
	color: var(--nk-ink);
}

.nk-site .post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before {
	content: none;
}

.nk-site .post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
	padding: 0;
}

.nk-site .post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before {
	content: none;
}

.nk-site .p-mainVisual {
	display: none;
}

.nk-site.home #post_slider,
.nk-site.home .p-postSlider {
	display: none !important;
}

@media (min-width: 960px) {
	.nk-site .l-header__spNav {
		display: none !important;
	}
}

.nk-site.page #sidebar,
.nk-site.home #sidebar {
	display: none !important;
}

.nk-site.page .l-content,
.nk-site.home .l-content {
	max-width: none;
}

.nk-site.page .l-mainContent,
.nk-site.home .l-mainContent {
	width: 100%;
	max-width: none;
}

.nk-page--reservation {
	margin-top: 0;
}

.nk-kicker,
.nk-section__eyebrow,
.nk-eyebrow {
	margin: 0 0 0.5rem;
	color: var(--nk-green-deep);
	font-size: 0.86rem;
	font-weight: 700;
	letter-spacing: 0;
}

.nk-lead,
.nk-section__lead {
	margin: 0;
	color: var(--nk-text-soft);
	font-size: clamp(1rem, 1.4vw, 1.12rem);
	line-height: 1.95;
}

.nk-hero-block {
	margin-top: 0;
	margin-bottom: 4.5rem;
	padding: clamp(2rem, 5vw, 4.5rem) max(4vw, 24px);
	background: linear-gradient(90deg, #f7f0e4 0%, #fbfaf6 58%, #edf3e6 100%);
	border-bottom: 1px solid var(--nk-border-soft);
}

.nk-hero-block .wp-block-columns {
	max-width: var(--nk-container);
	margin-right: auto;
	margin-left: auto;
	align-items: center !important;
	gap: clamp(2rem, 5vw, 4.5rem);
}

.nk-hero-block h1 {
	margin: 0.3rem 0 1rem;
	font-weight: 700;
}

.nk-hero-block .wp-block-image {
	margin: 0;
}

.nk-hero-block img,
.nk-hero-img img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	border-radius: var(--nk-radius);
	border: 1px solid rgba(48, 41, 35, 0.08);
}

.nk-hero-note {
	margin-top: 1rem;
	color: var(--nk-text-soft);
	font-size: 0.9rem;
	line-height: 1.7;
}

.nk-quick-facts {
	margin: 1.8rem 0;
	overflow: hidden;
	border: 1px solid var(--nk-border);
	border-radius: var(--nk-radius);
	background: var(--nk-border);
}

.nk-quick-facts > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
}

.nk-quick-facts > .wp-block-group__inner-container > * {
	margin: 0;
	padding: 0.9rem 1rem;
	background: rgba(255, 253, 248, 0.92);
}

.nk-quick-facts strong {
	display: block;
	color: var(--nk-ink);
	font-size: 1.05rem;
	line-height: 1.4;
}

.nk-quick-facts span {
	display: block;
	margin-top: 0.25rem;
	color: var(--nk-text-soft);
	font-size: 0.86rem;
	line-height: 1.5;
}

.nk-section-header {
	max-width: 780px;
	margin-bottom: 1.6rem;
}

.nk-section-header h2,
.nk-section-header h3 {
	margin-top: 0 !important;
	margin-bottom: 0.65rem;
}

.nk-card,
.nk-callout,
.wp-block-group.nk-card,
.wp-block-group.nk-info-card {
	padding: clamp(1.1rem, 2vw, 1.55rem);
	border: 1px solid var(--nk-border);
	border-radius: var(--nk-radius);
	background: var(--nk-surface);
	box-shadow: none;
}

.nk-info-card h3,
.nk-card h3 {
	margin-top: 0;
	margin-bottom: 0.55rem;
}

.nk-info-card p:last-child,
.nk-card p:last-child {
	margin-bottom: 0;
}

.nk-card--soft-green,
.wp-block-group.nk-card--soft-green {
	background: var(--nk-surface-green);
}

.nk-card--soft-pink,
.wp-block-group.nk-card--soft-pink {
	background: var(--nk-surface-pink);
}

.nk-card-grid {
	gap: 1.1rem;
}

.nk-card-grid > .wp-block-column,
.nk-card-grid > .wp-block-group {
	min-width: 0;
}

.nk-photo-grid img,
.wp-block-gallery.nk-photo-grid img,
.post_content .wp-block-gallery img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: var(--nk-radius);
}

.nk-wide-photo img {
	width: 100%;
	aspect-ratio: 16 / 7;
	object-fit: cover;
	border-radius: var(--nk-radius);
}

.nk-inline-photo img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: var(--nk-radius);
}

.nk-feature-row {
	align-items: center !important;
	gap: clamp(1.4rem, 3vw, 2.6rem);
	margin-top: 2.2rem;
}

.nk-feature-row .wp-block-image {
	margin: 0;
}

.nk-feature-row img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: var(--nk-radius);
}

.nk-muted {
	color: var(--nk-text-soft);
}

.nk-note,
.nk-lite-note,
.wp-block-group.nk-note {
	padding: 1rem 1.15rem;
	border-left: 4px solid var(--nk-green);
	background: var(--nk-surface-green);
	color: var(--nk-text);
}

.nk-note p:last-child,
.nk-lite-note p:last-child {
	margin-bottom: 0;
}

.nk-check-list {
	padding-left: 1.2rem;
}

.nk-check-list li + li {
	margin-top: 0.55rem;
}

.nk-button,
.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 0.05rem 1.35rem;
	border: 1px solid var(--nk-green);
	border-radius: 6px;
	background: var(--nk-green);
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	box-shadow: none;
}

.nk-button:hover,
.wp-block-button__link:hover {
	border-color: var(--nk-green-deep);
	background: var(--nk-green-deep);
	color: #fff;
}

.nk-button--secondary,
.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: var(--nk-green-deep);
}

.nk-button--secondary:hover,
.is-style-outline > .wp-block-button__link:hover {
	background: var(--nk-surface-green);
	color: var(--nk-green-deep);
}

.nk-lite-table,
.wp-block-table.nk-lite-table table,
.wp-block-table.nk-price-table table {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid var(--nk-border);
	background: var(--nk-surface);
}

.nk-lite-table th,
.nk-lite-table td,
.wp-block-table.nk-price-table th,
.wp-block-table.nk-price-table td {
	border: 1px solid var(--nk-border);
	padding: 0.85rem 1rem;
	text-align: left;
	vertical-align: top;
}

.nk-lite-table th,
.wp-block-table.nk-price-table th {
	width: 32%;
	background: var(--nk-surface-soft);
	font-weight: 700;
}

.nk-price-table td:last-child,
.nk-price-table th:last-child {
	text-align: right;
}

.swell-block-fullWide {
	margin-top: 4rem;
	margin-bottom: 4rem;
	border-top: 1px solid rgba(216, 203, 185, 0.55);
	border-bottom: 1px solid rgba(216, 203, 185, 0.55);
}

.swell-block-fullWide__inner > *:first-child {
	margin-top: 0;
}

.swell-block-step {
	--swl-step_arrow_color: var(--nk-border);
	margin-top: 1.5rem;
}

.swell-block-step__number {
	background: var(--nk-green);
}

.swell-block-step.is-style-small .swell-block-step__number {
	background: transparent;
}

.swell-block-step.is-style-small .__shape {
	color: var(--nk-green);
}

.swell-block-step__body {
	color: var(--nk-text-soft);
}

.swell-block-faq {
	--color_faq_q: var(--nk-green);
	--color_faq_a: var(--nk-red);
	margin-top: 1.5rem;
}

.swell-block-faq.is-style-faq-box .swell-block-faq__item {
	border-color: var(--nk-border);
	border-radius: var(--nk-radius);
	overflow: hidden;
	background: var(--nk-surface);
}

.swell-block-faq .faq_q,
.swell-block-faq .faq_a {
	line-height: 1.75;
}

.swell-block-dl {
	margin-top: 1.5rem;
	border-top: 1px solid var(--nk-border);
}

.swell-block-dl__dt,
.swell-block-dl__dd {
	margin: 0;
	padding: 0.9rem 1rem;
	border-bottom: 1px solid var(--nk-border);
}

.swell-block-dl__dt {
	background: var(--nk-surface-soft);
	font-weight: 700;
}

.is-style-float .swell-block-dl__dt {
	float: left;
	clear: left;
	width: var(--swl-dt-width, 10em);
}

.is-style-float .swell-block-dl__dd {
	min-height: 3.25rem;
	padding-left: calc(var(--swl-dt-width, 10em) + 1rem);
}

.nk-reservation-intro {
	margin-top: 0;
}

.nk-reservation-layout {
	margin-top: 2rem;
	display: block;
}

.nk-reservation-main {
	width: 100%;
}

@media (max-width: 959px) {
	.nk-site .l-content {
		padding-right: 4vw;
		padding-left: 4vw;
	}

	.nk-hero-block {
		padding-right: 4vw;
		padding-left: 4vw;
	}

	.nk-hero-block .wp-block-columns {
		gap: 1.6rem;
	}
}

@media (max-width: 781px) {
	.nk-quick-facts > .wp-block-group__inner-container {
		grid-template-columns: 1fr;
	}

	.nk-card,
	.nk-callout,
	.wp-block-group.nk-card,
	.wp-block-group.nk-info-card {
		padding: 1rem;
	}

	.nk-lite-table th,
	.nk-lite-table td,
	.wp-block-table.nk-price-table th,
	.wp-block-table.nk-price-table td {
		display: block;
		width: 100%;
		text-align: left !important;
	}

	.is-style-float .swell-block-dl__dt {
		float: none;
		width: auto;
	}

	.is-style-float .swell-block-dl__dd {
		padding-left: 1rem;
	}
}

@media (max-width: 640px) {
	.nk-site .post_content {
		font-size: 0.97rem;
	}

	.nk-site .post_content h2 {
		margin-top: 2.6rem;
	}

	.nk-hero-block {
		margin-right: calc(50% - 50vw);
		margin-left: calc(50% - 50vw);
	}

	.nk-hero-block h1 {
		font-size: 2.15rem;
	}

	.wp-block-buttons {
		gap: 0.75rem;
	}

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

/* Modern site refresh: scoped to the SWELL body wrapper. */
:root {
	--nk-ink: #1b1712;
	--nk-text: #332d26;
	--nk-text-soft: #6f675d;
	--nk-border: #d8cdbd;
	--nk-border-strong: #a99b8a;
	--nk-surface: #fffdf8;
	--nk-surface-soft: #f5f1e8;
	--nk-surface-green: #edf4ec;
	--nk-surface-pink: #fbf0f1;
	--nk-green: #6a7a4f;
	--nk-green-deep: #374a2d;
	--nk-teal: #173f42;
	--nk-teal-deep: #102f32;
	--nk-red: #a95862;
	--nk-clay: #966243;
	--nk-gold: #b58b36;
	--nk-pink: #b45f68;
	--nk-pink-deep: #8e3d48;
	--nk-radius: 8px;
	--nk-radius-lg: 8px;
	--nk-container: 1120px;
	--nk-serif: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
	--nk-shadow: 0 18px 42px rgba(32, 31, 25, 0.12);
	--nk-shadow-soft: 0 8px 22px rgba(32, 31, 25, 0.075);
}

#body_wrap.nk-site {
	background:
		linear-gradient(180deg, rgba(250, 248, 242, 0.98), rgba(255, 253, 248, 0.97) 380px),
		repeating-linear-gradient(90deg, rgba(55, 74, 45, 0.028) 0 1px, transparent 1px 96px),
		repeating-linear-gradient(0deg, rgba(181, 139, 54, 0.018) 0 1px, transparent 1px 72px);
	color: var(--nk-text);
}

.nk-site .l-header {
	position: sticky;
	top: 0;
	z-index: 100;
	border-bottom: 1px solid rgba(51, 45, 38, 0.1);
	background: rgba(255, 253, 248, 0.92);
	backdrop-filter: blur(14px);
	box-shadow: 0 8px 22px rgba(24, 22, 20, 0.045);
}

.nk-site .l-header__bar {
	background: var(--nk-teal-deep);
	color: rgba(255, 255, 255, 0.86);
}

.nk-site .c-catchphrase {
	letter-spacing: 0;
}

.nk-site .c-headLogo__link {
	display: inline-flex;
	align-items: center;
	color: var(--nk-ink);
	font-weight: 800;
	text-decoration: none;
}

.nk-site .c-headLogo__img {
	width: auto;
	height: clamp(2rem, 4.8vw, 2.75rem);
	max-width: min(15rem, 58vw);
	object-fit: contain;
}

.nk-site .l-fixHeader .c-headLogo__img {
	height: clamp(1.75rem, 3.6vw, 2.25rem);
	max-width: min(12.5rem, 52vw);
}

.nk-site .c-gnav > .menu-item > a {
	position: relative;
	color: var(--nk-text);
	font-weight: 650;
	letter-spacing: 0;
}

.nk-site .c-gnav > .menu-item > a::after {
	position: absolute;
	right: 0;
	left: 0;
	bottom: 0.7rem;
	height: 2px;
	background: var(--nk-gold);
	content: "";
	opacity: 0;
	transform: scaleX(0.35);
	transform-origin: center;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.nk-site .c-gnav > .menu-item:hover > a::after,
.nk-site .c-gnav > .menu-item.-current > a::after,
.nk-site .c-gnav > .current-menu-item > a::after {
	opacity: 1;
	transform: scaleX(1);
}

.nk-site .post_content {
	font-size: 1rem;
	line-height: 1.92;
}

.nk-site .post_content h1 {
	font-family: var(--nk-serif);
	font-size: clamp(2.5rem, 5vw, 4.35rem);
	font-weight: 700;
}

.nk-site .post_content h2 {
	font-family: var(--nk-serif);
	font-size: clamp(1.85rem, 3vw, 2.35rem);
	font-weight: 700;
}

.nk-site .post_content h3 {
	font-size: 1.28rem;
	font-weight: 800;
}

.nk-eyebrow,
.nk-kicker,
.nk-section__eyebrow,
.nk-section-header .nk-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	color: var(--nk-teal);
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.nk-eyebrow::before,
.nk-section-header .nk-eyebrow::before {
	display: inline-block;
	width: 2.6rem;
	height: 1px;
	background: currentColor;
	content: "";
	opacity: 0.55;
}

.nk-lead,
.nk-section__lead {
	color: var(--nk-text-soft);
	font-size: 1.05rem;
	line-height: 2;
}

.nk-site .wp-block-button__link,
.nk-button {
	min-height: 48px;
	border-radius: 6px;
	font-weight: 800;
	letter-spacing: 0;
	box-shadow: 0 12px 22px rgba(49, 71, 39, 0.13);
	transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.nk-site .wp-block-button__link:hover,
.nk-button:hover {
	transform: translateY(-1px);
	box-shadow: 0 16px 28px rgba(49, 71, 39, 0.16);
}

.nk-site .is-style-outline > .wp-block-button__link {
	border-color: var(--nk-green);
	background: rgba(255, 255, 255, 0.6);
	color: var(--nk-green-deep);
	box-shadow: none;
	backdrop-filter: blur(10px);
}

.nk-hero-block .is-style-outline > .wp-block-button__link,
.nk-page-hero .is-style-outline > .wp-block-button__link {
	border-color: rgba(255, 255, 255, 0.56);
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
}

.nk-site .post_content > .wp-block-buttons:not(.nk-hero-buttons):not(.nk-bottom-actions) {
	margin-top: 1.8rem;
}

.nk-hero-block {
	position: relative;
	isolation: isolate;
	display: grid;
	box-sizing: border-box;
	width: 100vw;
	max-width: none !important;
	min-height: clamp(540px, 67svh, 650px);
	margin: 0 calc(50% - 50vw) 3.2rem;
	padding: clamp(3rem, 6vw, 4.8rem) max(5vw, 28px) clamp(1.45rem, 3vw, 2.2rem);
	overflow: hidden;
	align-items: end;
	border-bottom: 0;
	background: var(--nk-teal-deep);
}

.nk-hero-block::after {
	position: absolute;
	inset: 0;
	z-index: 0;
	background:
		linear-gradient(90deg, rgba(14, 24, 22, 0.82), rgba(14, 24, 22, 0.55) 42%, rgba(14, 24, 22, 0.16) 78%),
		linear-gradient(180deg, rgba(14, 24, 22, 0.12), rgba(14, 24, 22, 0.72)),
		repeating-linear-gradient(90deg, rgba(255, 253, 248, 0.08) 0 1px, transparent 1px 92px);
	content: "";
}

.nk-hero-source,
.nk-page-hero__source {
	position: absolute;
	inset: -10px;
	z-index: 1;
	margin: 0 !important;
	transform: translate(var(--nk-depth-x, 0), var(--nk-depth-y, 0)) scale(1.04);
	transition: transform 0.28s ease-out;
}

.nk-hero-source img,
.nk-page-hero__source img {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
	border-radius: 0;
	object-fit: cover;
	filter: saturate(1.04) contrast(1.03);
}

.nk-hero-copy {
	position: relative;
	z-index: 2;
	width: min(100%, 760px);
	margin: 0 auto 0 calc((100% - min(100%, var(--nk-container))) / 2);
	padding: 0;
	color: #fff;
}

.nk-hero-copy .nk-eyebrow {
	color: rgba(255, 255, 255, 0.86);
}

.nk-site .nk-hero-copy h1 {
	margin: 0.35rem 0 1.05rem;
	color: #fff;
	font-size: clamp(3.15rem, 5.6vw, 4.75rem);
	font-weight: 700;
	line-height: 1.12;
	text-shadow: 0 16px 36px rgba(0, 0, 0, 0.25);
}

.nk-hero-copy .nk-lead {
	max-width: 42rem;
	color: rgba(255, 255, 255, 0.9);
	font-size: 1.1rem;
	line-height: 2;
}

.nk-hero-buttons {
	margin-top: 1.7rem;
}

.nk-hero-block .nk-quick-facts {
	position: relative;
	z-index: 1;
	width: min(100%, var(--nk-container));
	margin: 1.7rem auto 0;
	border: 1px solid rgba(255, 253, 248, 0.28);
	background: rgba(24, 22, 20, 0.2);
	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.16);
	backdrop-filter: blur(14px);
}

.nk-hero-block .nk-quick-facts > .wp-block-group__inner-container,
.nk-hero-block .nk-quick-facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
}

.nk-hero-block .nk-quick-facts > .wp-block-group__inner-container {
	display: contents;
}

.nk-hero-block .nk-quick-facts p {
	margin: 0;
	padding: 1rem 1.2rem;
	background: rgba(255, 253, 248, 0.08);
	color: #fff;
}

.nk-hero-block .nk-quick-facts strong {
	color: #fff;
	font-size: 1.1rem;
}

.nk-hero-block .nk-quick-facts span {
	color: rgba(255, 255, 255, 0.78);
}

.nk-section-header {
	position: relative;
	max-width: 760px;
	margin-top: 4.2rem;
	margin-bottom: 1.7rem;
}

.nk-section-header--wide {
	max-width: 900px;
}

#body_wrap.nk-page--top .nk-home-hero + .nk-section-header {
	margin-top: 0;
}

.nk-section-header h2,
.nk-section-header h3 {
	margin-bottom: 0.7rem;
}

.nk-card-grid {
	gap: 1.25rem;
}

.wp-block-group.nk-info-card,
.nk-info-card {
	position: relative;
	overflow: hidden;
	border: 1px solid rgba(51, 45, 38, 0.12);
	border-radius: var(--nk-radius);
	background: rgba(255, 253, 248, 0.92);
	box-shadow: var(--nk-shadow-soft);
	transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.wp-block-group.nk-info-card::after,
.nk-info-card::after {
	position: absolute;
	right: 1.1rem;
	bottom: 1.05rem;
	left: 1.1rem;
	height: 1px;
	background: linear-gradient(90deg, rgba(181, 139, 54, 0.42), transparent);
	content: "";
	opacity: 0.7;
	pointer-events: none;
}

.wp-block-group.nk-info-card:hover,
.nk-info-card:hover {
	border-color: rgba(55, 74, 45, 0.24);
	box-shadow: var(--nk-shadow);
	transform: translateY(-2px);
}

.nk-story-card,
.nk-room-card {
	min-height: 100%;
	padding: 0 !important;
}

.nk-story-card > :not(.wp-block-image):not(.nk-inline-photo),
.nk-room-card > :not(.wp-block-image):not(.nk-inline-photo) {
	margin-right: 1.25rem;
	margin-left: 1.25rem;
}

.nk-story-card > :last-child,
.nk-room-card > :last-child {
	padding-bottom: 1.25rem;
}

.nk-inline-photo {
	margin: 0 !important;
	overflow: hidden;
}

.nk-inline-photo img,
.nk-story-card .nk-inline-photo img,
.nk-room-card .nk-inline-photo img {
	width: 100%;
	aspect-ratio: 16 / 10;
	border-radius: 0;
	transform: scale(1.01);
	transition: transform 0.35s ease;
}

.nk-story-card:hover .nk-inline-photo img,
.nk-room-card:hover .nk-inline-photo img {
	transform: scale(1.05);
}

.nk-card-index {
	position: absolute;
	top: 0.9rem;
	right: 0.9rem;
	display: inline-grid;
	width: 2.55rem;
	height: 2.55rem;
	margin: 0 !important;
	place-items: center;
	border: 1px solid rgba(255, 253, 248, 0.62);
	border-radius: 4px;
	background: rgba(27, 23, 18, 0.78);
	color: #fff;
	font-weight: 800;
	line-height: 1;
	backdrop-filter: blur(10px);
}

.nk-story-card h3,
.nk-room-card h3 {
	margin-top: 1rem;
}

.nk-host-band {
	position: relative;
	overflow: hidden;
	border: 0;
	background:
		linear-gradient(90deg, rgba(237, 244, 236, 0.98), rgba(255, 253, 248, 0.96)),
		#eef3ed !important;
}

.nk-host-band::before {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, transparent 0 74%, rgba(23, 66, 74, 0.08) 74% 100%),
		repeating-linear-gradient(0deg, rgba(23, 66, 74, 0.04) 0 1px, transparent 1px 34px);
	content: "";
	pointer-events: none;
}

.nk-host-row {
	position: relative;
	z-index: 1;
}

.nk-feature-row img {
	box-shadow: var(--nk-shadow-soft);
}

.nk-reserve-steps {
	padding: 1.4rem;
	border: 1px solid rgba(49, 71, 39, 0.12);
	border-radius: var(--nk-radius);
	background: rgba(255, 253, 248, 0.78);
	box-shadow: var(--nk-shadow-soft);
}

.swell-block-step.is-style-small .swell-block-step__item {
	padding-bottom: 1.1rem;
}

.swell-block-step.is-style-small .swell-block-step__title {
	font-weight: 800;
}

.nk-note,
.nk-lite-note,
.wp-block-group.nk-note {
	border: 1px solid rgba(23, 66, 74, 0.16);
	border-left: 5px solid var(--nk-teal);
	border-radius: var(--nk-radius);
	background: linear-gradient(90deg, rgba(237, 244, 236, 0.92), rgba(255, 253, 248, 0.92));
	box-shadow: var(--nk-shadow-soft);
}

#body_wrap.nk-page--rooms #breadcrumb,
#body_wrap.nk-page--rooms .c-pageTitle {
	display: none;
}

#body_wrap.nk-page--rooms #content {
	padding-top: 0;
}

#body_wrap.nk-page--rooms .l-mainContent__inner {
	max-width: none;
	padding-top: 0;
}

#body_wrap.nk-page--rooms .post_content {
	margin-top: 0;
}

#body_wrap.nk-page--rooms .post_content > *:not(.alignfull) {
	max-width: var(--nk-container);
	margin-right: auto;
	margin-left: auto;
}

.nk-page-hero {
	position: relative;
	isolation: isolate;
	display: grid;
	box-sizing: border-box;
	width: 100vw;
	max-width: none !important;
	min-height: clamp(420px, 52svh, 500px);
	margin: 0 calc(50% - 50vw) 4rem;
	padding: 4.5rem max(5vw, 28px);
	overflow: hidden;
	align-items: end;
	background: var(--nk-teal-deep);
	background-image:
		linear-gradient(90deg, rgba(14, 24, 22, 0.76), rgba(14, 24, 22, 0.52) 46%, rgba(14, 24, 22, 0.2) 82%),
		linear-gradient(180deg, rgba(14, 24, 22, 0.14), rgba(14, 24, 22, 0.72)),
		url("/wp-content/themes/swell_child/assets/img/nakachan/exterior-wide.webp");
	background-position: center;
	background-size: cover;
	color: #fff;
}

.nk-page-hero::after {
	position: absolute;
	inset: 0;
	z-index: 0;
	background:
		linear-gradient(90deg, rgba(14, 24, 22, 0.82), rgba(14, 24, 22, 0.55) 46%, rgba(14, 24, 22, 0.14)),
		linear-gradient(180deg, rgba(14, 24, 22, 0.08), rgba(14, 24, 22, 0.74)),
		repeating-linear-gradient(90deg, rgba(255, 253, 248, 0.08) 0 1px, transparent 1px 92px);
	content: "";
}

.nk-page-hero__copy {
	position: relative;
	z-index: 2;
	width: min(100%, var(--nk-container));
	margin: 0 auto;
	padding: 0;
}

.nk-page-hero .nk-eyebrow {
	color: rgba(255, 255, 255, 0.84);
}

.nk-site .nk-page-hero h1 {
	margin: 0.3rem 0 0.9rem;
	color: #fff;
	font-size: clamp(2.85rem, 5vw, 4.15rem);
	font-weight: 700;
	line-height: 1.16;
	text-shadow: 0 16px 34px rgba(0, 0, 0, 0.24);
}

.nk-page-hero .nk-lead {
	max-width: 48rem;
	color: rgba(255, 255, 255, 0.88);
}

.nk-hero-chips {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	width: min(100%, 780px);
	margin-top: 2rem;
	border: 1px solid rgba(255, 253, 248, 0.26);
	border-radius: var(--nk-radius);
	overflow: hidden;
	background: rgba(24, 22, 20, 0.2);
	backdrop-filter: blur(14px);
}

.nk-hero-chips > .wp-block-group__inner-container {
	display: contents;
}

.nk-hero-chips p {
	margin: 0;
	padding: 0.95rem 1rem;
	border-right: 1px solid rgba(255, 255, 255, 0.18);
}

.nk-hero-chips p:last-child {
	border-right: 0;
}

.nk-hero-chips strong,
.nk-hero-chips span {
	display: block;
}

.nk-hero-chips strong {
	color: #fff;
	font-size: 1.02rem;
	line-height: 1.35;
}

.nk-hero-chips span {
	margin-top: 0.25rem;
	color: rgba(255, 255, 255, 0.76);
	font-size: 0.86rem;
	line-height: 1.55;
}

.nk-room-overview {
	margin-top: 1.5rem;
}

.wp-block-gallery.nk-room-gallery {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.75rem !important;
	margin-top: 2.4rem;
}

.wp-block-gallery.nk-room-gallery > .wp-block-image {
	position: relative;
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	overflow: hidden;
	border-radius: var(--nk-radius);
	box-shadow: 0 10px 24px rgba(32, 31, 25, 0.09);
}

.wp-block-gallery.nk-room-gallery > .wp-block-image:first-child {
	grid-column: span 2;
	grid-row: span 2;
}

.wp-block-gallery.nk-room-gallery img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	min-height: 178px;
	aspect-ratio: 4 / 3;
	border-radius: 0;
	object-fit: cover;
	transition: transform 0.35s ease;
}

.wp-block-gallery.nk-room-gallery > .wp-block-image:first-child img {
	min-height: 370px;
}

.wp-block-gallery.nk-room-gallery > .wp-block-image:hover img {
	transform: scale(1.045);
}

.wp-block-gallery.nk-room-gallery figcaption {
	position: absolute !important;
	right: 0;
	bottom: 0;
	left: 0;
	padding: 2.4rem 0.9rem 0.75rem !important;
	background: linear-gradient(180deg, transparent, rgba(27, 23, 18, 0.66));
	color: #fff;
	font-size: 0.9rem;
	font-weight: 700;
	text-align: left;
}

.swell-block-dl.nk-equipment-list {
	display: grid;
	grid-template-columns: minmax(9rem, 12rem) minmax(0, 1fr);
	margin-top: 1.2rem;
	overflow: hidden;
	border: 1px solid rgba(51, 45, 38, 0.12);
	border-radius: var(--nk-radius);
	background: rgba(255, 253, 248, 0.92);
	box-shadow: 0 8px 22px rgba(32, 31, 25, 0.07);
}

.nk-equipment-list .swell-block-dl__dt,
.nk-equipment-list .swell-block-dl__dd {
	float: none;
	min-height: auto;
	margin: 0;
	border: 0;
	border-bottom: 1px solid rgba(49, 71, 39, 0.1);
}

.nk-equipment-list .swell-block-dl__dt {
	width: auto;
	padding: 1rem 1.1rem;
	background: rgba(245, 241, 232, 0.92);
	color: var(--nk-teal);
	font-weight: 800;
}

.nk-equipment-list .swell-block-dl__dd {
	padding: 1rem 1.2rem;
	color: var(--nk-text-soft);
}

.nk-equipment-list .swell-block-dl__dd p {
	margin: 0;
}

.nk-kitchen-row {
	padding: 1.3rem;
	border: 1px solid rgba(51, 45, 38, 0.12);
	border-radius: var(--nk-radius);
	background: rgba(255, 253, 248, 0.76);
	box-shadow: 0 8px 22px rgba(32, 31, 25, 0.07);
}

.nk-reveal {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 0.52s ease, transform 0.52s ease;
	transition-delay: var(--nk-reveal-delay, 0ms);
}

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

.nk-hero-block.nk-reveal,
.nk-page-hero.nk-reveal {
	transform: none;
}

@media (max-width: 1080px) {
	.nk-site .post_content h1 {
		font-size: 3.5rem;
	}

	.nk-site .nk-hero-copy h1 {
		font-size: 3.8rem;
	}

	.nk-site .nk-page-hero h1 {
		font-size: 3.2rem;
	}

	.wp-block-gallery.nk-room-gallery {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 781px) {
	.nk-site .l-header {
		position: relative;
	}

	.nk-site .post_content h1,
	.nk-site .nk-hero-copy h1,
	.nk-site .nk-page-hero h1 {
		font-size: 2.45rem;
	}

	.nk-site .post_content h2 {
		font-size: 1.75rem;
	}

	.nk-section-header {
		margin-top: 2rem;
	}

	.nk-hero-block {
		min-height: auto;
		padding-top: 4.4rem;
		padding-bottom: 1.4rem;
	}

	.nk-hero-copy,
	.nk-page-hero__copy {
		width: 100%;
		margin-right: auto;
		margin-left: auto;
	}

	.nk-hero-block .nk-quick-facts,
	.nk-hero-chips {
		grid-template-columns: 1fr;
	}

	.nk-hero-block .nk-quick-facts p,
	.nk-hero-chips p {
		border-right: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.16);
	}

	.nk-hero-block .nk-quick-facts p:last-child,
	.nk-hero-chips p:last-child {
		border-bottom: 0;
	}

	.nk-page-hero {
		min-height: auto;
		padding-top: 4rem;
		padding-bottom: 2rem;
	}

	.wp-block-gallery.nk-room-gallery {
		grid-template-columns: 1fr 1fr;
	}

	.wp-block-gallery.nk-room-gallery > .wp-block-image:first-child {
		grid-column: span 2;
	}

	.swell-block-dl.nk-equipment-list {
		grid-template-columns: 1fr;
	}

	.nk-equipment-list .swell-block-dl__dd {
		padding-left: 1.1rem;
	}
}

@media (max-width: 640px) {
	.nk-hero-block,
	.nk-page-hero {
		margin-right: calc(50% - 50vw);
		margin-left: calc(50% - 50vw);
		padding-right: 5vw;
		padding-left: 5vw;
	}

	.nk-hero-block {
		margin-bottom: 2.2rem;
		padding-top: 3rem;
		padding-bottom: 1rem;
	}

	.nk-page-hero {
		margin-bottom: 2.7rem;
		padding-top: 3.2rem;
		padding-bottom: 1.25rem;
	}

	.nk-site .nk-hero-copy h1,
	.nk-site .nk-page-hero h1 {
		font-size: 2.2rem;
		line-height: 1.18;
		overflow-wrap: anywhere;
		word-break: normal;
	}

	.nk-hero-copy,
	.nk-page-hero__copy,
	.nk-section-header {
		width: min(calc(100vw - 40px), 300px) !important;
		max-width: min(calc(100vw - 40px), 300px) !important;
		margin-right: auto !important;
		margin-left: max(5vw, 20px) !important;
	}

	.nk-hero-copy .nk-lead,
	.nk-page-hero .nk-lead {
		font-size: 0.98rem;
		line-height: 1.85;
		overflow-wrap: anywhere;
		word-break: normal;
	}

	.nk-section-header h2,
	.nk-site .post_content h2 {
		overflow-wrap: anywhere;
		word-break: normal;
	}

	.nk-hero-buttons {
		margin-top: 1.15rem;
	}

	.nk-site .wp-block-button,
	.nk-site .wp-block-button__link {
		width: 100%;
	}

	.nk-site .wp-block-button__link,
	.nk-button {
		min-height: 44px;
	}

	.nk-hero-block .nk-quick-facts,
	.nk-hero-chips {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		width: min(calc(100vw - 40px), 300px) !important;
		max-width: min(calc(100vw - 40px), 300px) !important;
		margin-top: 1rem;
		margin-right: auto !important;
		margin-left: max(5vw, 20px) !important;
	}

	.nk-hero-block .nk-quick-facts p,
	.nk-hero-chips p {
		padding: 0.72rem 0.58rem;
		border-right: 1px solid rgba(255, 255, 255, 0.14);
		border-bottom: 0;
	}

	.nk-hero-block .nk-quick-facts p:last-child,
	.nk-hero-chips p:last-child {
		border-right: 0;
	}

	.nk-hero-block .nk-quick-facts strong,
	.nk-hero-chips strong {
		font-size: 0.88rem;
	}

	.nk-hero-block .nk-quick-facts span,
	.nk-hero-chips span {
		font-size: 0.72rem;
		line-height: 1.45;
	}

	.wp-block-gallery.nk-room-gallery {
		grid-template-columns: 1fr;
	}

	.wp-block-gallery.nk-room-gallery > .wp-block-image:first-child {
		grid-column: span 1;
	}

	.wp-block-gallery.nk-room-gallery > .wp-block-image:first-child img,
	.wp-block-gallery.nk-room-gallery img {
		min-height: 220px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.nk-reveal,
	.nk-site .wp-block-button__link,
	.nk-button,
	.nk-info-card,
	.nk-inline-photo img,
	.wp-block-gallery.nk-room-gallery img {
		transition: none;
	}

	.nk-reveal {
		opacity: 1;
		transform: none;
	}
}

/* Large editorial overhaul for top and rooms. */
#body_wrap.nk-page--top .post_content,
#body_wrap.nk-page--rooms .post_content {
	background:
		linear-gradient(180deg, rgba(255, 253, 248, 0), rgba(250, 247, 239, 0.7) 52%, rgba(255, 253, 248, 0.95)),
		repeating-linear-gradient(90deg, rgba(55, 74, 45, 0.024) 0 1px, transparent 1px 108px);
}

#body_wrap.nk-page--top .post_content > *:not(.alignfull),
#body_wrap.nk-page--rooms .post_content > *:not(.alignfull) {
	max-width: var(--nk-container);
	margin-right: auto;
	margin-left: auto;
}

.nk-hero-block.nk-hero--editorial {
	min-height: clamp(620px, calc(100svh - 86px), 720px);
	margin-bottom: 0;
	padding-top: clamp(4.5rem, 7vw, 6.2rem);
	padding-bottom: clamp(1.6rem, 3vw, 2.4rem);
}

.nk-hero-block.nk-hero--editorial::after,
.nk-page-hero.nk-rooms-hero--immersive::after {
	background:
		linear-gradient(90deg, rgba(17, 25, 22, 0.84), rgba(17, 25, 22, 0.54) 44%, rgba(17, 25, 22, 0.12) 84%),
		linear-gradient(180deg, rgba(17, 25, 22, 0.18), rgba(17, 25, 22, 0.76)),
		repeating-linear-gradient(90deg, rgba(255, 253, 248, 0.08) 0 1px, transparent 1px 96px);
}

.nk-hero-copy--editorial {
	width: min(100%, 820px);
	margin-bottom: 1.4rem;
}

.nk-site .nk-hero-copy--editorial h1 {
	font-size: clamp(3.4rem, 6.6vw, 5.7rem);
	letter-spacing: 0;
	line-height: 1.06;
}

.nk-hero-copy--editorial .nk-lead {
	max-width: 43rem;
	font-size: clamp(1.03rem, 1.35vw, 1.18rem);
	line-height: 2.05;
}

.nk-hero-reservation-card {
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.nk-hero-reservation-card p,
.nk-room-summary-strip p {
	min-width: 0;
}

.nk-overview-band,
.nk-rooms-feature-band,
.nk-equipment-band,
.nk-reservation-cta {
	position: relative;
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
	padding: clamp(3.6rem, 7vw, 6rem) max(5vw, 28px);
	overflow: hidden;
}

.nk-overview-band {
	background:
		linear-gradient(90deg, rgba(245, 241, 232, 0.96), rgba(255, 253, 248, 0.9)),
		repeating-linear-gradient(0deg, rgba(181, 139, 54, 0.055) 0 1px, transparent 1px 40px);
	border-top: 1px solid rgba(51, 45, 38, 0.08);
	border-bottom: 1px solid rgba(51, 45, 38, 0.08);
}

.nk-overview-band > .wp-block-columns,
.nk-rooms-feature-band > .wp-block-columns,
.nk-equipment-band > .wp-block-group,
.nk-reservation-cta > * {
	width: min(100%, var(--nk-container));
	margin-right: auto;
	margin-left: auto;
}

.nk-overview-layout,
.nk-rooms-feature,
.nk-trust-booking,
.nk-room-intro-layout {
	gap: clamp(2rem, 5vw, 4.5rem);
}

.nk-signature-panel,
.nk-room-spec-panel {
	padding: clamp(1.35rem, 2.5vw, 2rem);
	border: 1px solid rgba(51, 45, 38, 0.13);
	border-radius: var(--nk-radius);
	background: rgba(255, 253, 248, 0.78);
	box-shadow: 0 12px 34px rgba(32, 31, 25, 0.08);
}

.nk-signature-panel p,
.nk-room-spec-panel p {
	margin: 0;
}

.nk-signature-panel strong,
.nk-room-spec-panel strong {
	display: block;
	margin-bottom: 0.6rem;
	color: var(--nk-ink);
	font-family: var(--nk-serif);
	font-size: 1.25rem;
	line-height: 1.45;
}

.nk-signature-panel span,
.nk-room-spec-panel span {
	display: block;
	color: var(--nk-text-soft);
	line-height: 1.9;
}

.nk-scene-grid {
	display: grid !important;
	grid-template-columns: 1.18fr 1fr 1fr;
	gap: 1.1rem;
	margin-top: 1.6rem;
}

.nk-scene-grid > .wp-block-column {
	min-width: 0;
	width: auto;
	flex-basis: auto !important;
}

.nk-scene-card {
	height: 100%;
	padding: 0 !important;
}

.nk-scene-card::after {
	right: 1.25rem;
	left: 1.25rem;
}

.nk-scene-card > :not(.wp-block-image):not(.nk-inline-photo) {
	margin-right: 1.35rem;
	margin-left: 1.35rem;
}

.nk-scene-card > :last-child {
	padding-bottom: 1.35rem;
}

.nk-scene-card .nk-inline-photo img {
	aspect-ratio: 4 / 3.05;
}

.nk-scene-card--large .nk-inline-photo img {
	aspect-ratio: 4 / 3.7;
}

.nk-rooms-feature-band {
	margin-top: clamp(4rem, 7vw, 6rem);
	background:
		linear-gradient(90deg, rgba(16, 47, 50, 0.96), rgba(55, 74, 45, 0.9)),
		repeating-linear-gradient(90deg, rgba(255, 253, 248, 0.06) 0 1px, transparent 1px 88px);
	color: #fff;
}

.nk-rooms-feature-band h2,
.nk-rooms-feature-band h3,
.nk-site .nk-rooms-feature-band h2,
.nk-site .nk-rooms-feature-band h3,
.nk-rooms-feature-band .nk-eyebrow {
	color: #fff;
}

.nk-rooms-feature-band p {
	color: rgba(255, 255, 255, 0.84);
}

.nk-mini-gallery,
.nk-water-gallery {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.7rem !important;
	margin: 0 !important;
}

.nk-mini-gallery > .wp-block-image,
.nk-water-gallery > .wp-block-image {
	width: 100% !important;
	margin: 0 !important;
	overflow: hidden;
	border-radius: var(--nk-radius);
}

.nk-mini-gallery img,
.nk-water-gallery img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 0;
}

.nk-mini-gallery > .wp-block-image:first-child {
	grid-row: span 2;
}

.nk-mini-gallery > .wp-block-image:first-child img {
	aspect-ratio: 4 / 6.1;
}

.nk-feature-list,
.nk-booking-steps,
.nk-equipment-grid {
	display: grid;
	gap: 0.85rem;
	margin-top: 1.4rem;
}

.nk-feature-list p,
.nk-booking-steps p,
.nk-equipment-grid p {
	margin: 0;
	padding: 1rem 1.05rem;
	border: 1px solid rgba(51, 45, 38, 0.11);
	border-radius: var(--nk-radius);
	background: rgba(255, 253, 248, 0.78);
}

.nk-rooms-feature-band .nk-feature-list p {
	border-color: rgba(255, 253, 248, 0.2);
	background: rgba(255, 253, 248, 0.08);
}

.nk-feature-list strong,
.nk-booking-steps strong,
.nk-equipment-grid strong {
	display: block;
	color: var(--nk-ink);
	line-height: 1.55;
}

.nk-rooms-feature-band .nk-feature-list strong {
	color: #fff;
}

.nk-feature-list span,
.nk-booking-steps span,
.nk-equipment-grid span {
	display: block;
	margin-top: 0.25rem;
	color: var(--nk-text-soft);
	font-size: 0.92rem;
	line-height: 1.65;
}

.nk-rooms-feature-band .nk-feature-list span {
	color: rgba(255, 255, 255, 0.72);
}

.nk-trust-booking {
	margin-top: clamp(4rem, 7vw, 6rem);
}

.nk-host-portrait img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 4.6;
	object-fit: cover;
	border-radius: var(--nk-radius);
	box-shadow: var(--nk-shadow-soft);
}

.nk-booking-steps p {
	position: relative;
	padding-left: 1.2rem;
	border-left: 4px solid var(--nk-green);
}

.nk-reservation-cta {
	margin-top: clamp(4rem, 7vw, 6rem);
	background:
		linear-gradient(90deg, rgba(55, 74, 45, 0.95), rgba(16, 47, 50, 0.94)),
		repeating-linear-gradient(0deg, rgba(255, 253, 248, 0.05) 0 1px, transparent 1px 42px);
	color: #fff;
	text-align: center;
}

.nk-reservation-cta h2,
.nk-reservation-cta .nk-eyebrow {
	color: #fff;
}

.nk-reservation-cta .nk-eyebrow {
	justify-content: center;
}

.nk-reservation-cta p {
	max-width: 44rem;
	color: rgba(255, 255, 255, 0.78);
}

.nk-reservation-cta .wp-block-buttons {
	justify-content: center;
}

.nk-page-hero.nk-rooms-hero--immersive {
	min-height: clamp(500px, 58svh, 600px);
	margin-bottom: clamp(3.2rem, 6vw, 5rem);
	background-image:
		linear-gradient(90deg, rgba(14, 24, 22, 0.76), rgba(14, 24, 22, 0.5) 46%, rgba(14, 24, 22, 0.18) 82%),
		linear-gradient(180deg, rgba(14, 24, 22, 0.14), rgba(14, 24, 22, 0.72)),
		url("/wp-content/themes/swell_child/assets/img/nakachan/tatami.webp");
	background-position: center;
	background-size: cover;
}

.nk-room-summary-strip {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	width: min(100%, 920px);
}

.nk-room-intro-layout {
	margin-top: 0;
	margin-bottom: clamp(3rem, 6vw, 5rem);
}

.nk-room-tour {
	max-width: none !important;
}

.nk-room-tour-row {
	gap: clamp(1.6rem, 4vw, 3.5rem);
	margin-top: clamp(2.2rem, 5vw, 4.5rem);
	padding: clamp(1rem, 2vw, 1.4rem);
	border: 1px solid rgba(51, 45, 38, 0.1);
	border-radius: var(--nk-radius);
	background: rgba(255, 253, 248, 0.68);
	box-shadow: 0 10px 30px rgba(32, 31, 25, 0.06);
}

.nk-room-tour-row:first-child {
	margin-top: 0;
}

.nk-tour-photo {
	margin: 0 !important;
	overflow: hidden;
	border-radius: var(--nk-radius);
}

.nk-tour-photo img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	border-radius: 0;
}

.nk-room-label {
	margin: 0 0 0.65rem !important;
	color: var(--nk-teal);
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.nk-room-tour-row h3 {
	margin-top: 0 !important;
	font-family: var(--nk-serif);
	font-size: clamp(1.45rem, 2.4vw, 2rem) !important;
	line-height: 1.48;
}

.nk-equipment-band {
	margin-top: clamp(4rem, 7vw, 6rem);
	background:
		linear-gradient(180deg, rgba(245, 241, 232, 0.96), rgba(255, 253, 248, 0.96)),
		repeating-linear-gradient(90deg, rgba(55, 74, 45, 0.03) 0 1px, transparent 1px 96px);
	border-top: 1px solid rgba(51, 45, 38, 0.08);
	border-bottom: 1px solid rgba(51, 45, 38, 0.08);
}

.nk-equipment-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nk-room-note {
	margin-top: clamp(2.4rem, 5vw, 4rem);
}

@media (max-width: 900px) {
	.nk-scene-grid,
	.nk-equipment-grid {
		grid-template-columns: 1fr 1fr;
	}

	.nk-hero-reservation-card,
	.nk-room-summary-strip {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 781px) {
	.nk-hero-block.nk-hero--editorial,
	.nk-page-hero.nk-rooms-hero--immersive {
		min-height: auto;
	}

	.nk-overview-band,
	.nk-rooms-feature-band,
	.nk-equipment-band,
	.nk-reservation-cta {
		padding-top: 3.2rem;
		padding-bottom: 3.2rem;
	}

	.nk-scene-grid,
	.nk-equipment-grid {
		grid-template-columns: 1fr;
	}

	.nk-room-tour-row,
	.nk-room-tour-row--reverse {
		padding: 0;
		border: 0;
		background: transparent;
		box-shadow: none;
	}
}

@media (max-width: 640px) {
	.nk-site .nk-hero-copy--editorial h1 {
		font-size: 2.65rem;
	}

	.nk-hero-copy--editorial,
	.nk-room-hero-copy {
		width: min(calc(100vw - 40px), 350px) !important;
		max-width: min(calc(100vw - 40px), 350px) !important;
		margin-left: max(5vw, 20px) !important;
	}

	.nk-hero-reservation-card,
	.nk-room-summary-strip {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		width: min(calc(100vw - 40px), 350px) !important;
		max-width: min(calc(100vw - 40px), 350px) !important;
		margin-left: max(5vw, 20px) !important;
	}

	.nk-hero-reservation-card p,
	.nk-room-summary-strip p {
		padding: 0.72rem 0.68rem;
	}

	.nk-mini-gallery {
		grid-template-columns: 1fr 1fr;
	}

	.nk-room-tour-row {
		gap: 1.05rem;
		margin-top: 2.4rem;
	}

	.nk-tour-photo img {
		aspect-ratio: 4 / 3;
	}
}

/* Top page polish: quiet, editorial Japanese modern art direction. */
#body_wrap.nk-page--top {
	--nk-top-ink: #2b2b28;
	--nk-top-charcoal: #2f4638;
	--nk-top-green: #2f4638;
	--nk-top-green-deep: #26382e;
	--nk-top-indigo: #2f4638;
	--nk-top-rose: #9a7b4f;
	--nk-top-copper: #9a7b4f;
	--nk-top-gold: #9a7b4f;
	--nk-top-paper: #f7f3ea;
	--nk-top-paper-deep: #ece5d6;
	--nk-top-grass: #d8ddc8;
	--nk-top-line: rgba(35, 31, 26, 0.13);
	--nk-top-line-strong: rgba(35, 31, 26, 0.24);
	--nk-top-shadow: 0 24px 55px rgba(31, 28, 22, 0.14);
	--nk-top-shadow-soft: 0 14px 35px rgba(31, 28, 22, 0.08);
	background:
		linear-gradient(180deg, rgba(247, 243, 234, 0.98), rgba(248, 245, 237, 0.78) 58%, rgba(247, 243, 234, 0.98)),
		repeating-linear-gradient(90deg, rgba(47, 70, 56, 0.026) 0 1px, transparent 1px 74px),
		repeating-linear-gradient(0deg, rgba(154, 123, 79, 0.02) 0 1px, transparent 1px 58px);
	color: var(--nk-top-ink);
}

#body_wrap.nk-page--top,
#body_wrap.nk-page--top .post_content {
	overflow-x: clip;
}

#body_wrap.nk-page--top .l-header {
	border-bottom: 1px solid rgba(25, 23, 20, 0.08);
	background:
		linear-gradient(90deg, rgba(251, 250, 244, 0.94), rgba(255, 253, 248, 0.9)),
		rgba(255, 253, 248, 0.88);
	box-shadow: 0 14px 34px rgba(25, 23, 20, 0.055);
	backdrop-filter: blur(18px) saturate(1.04);
}

#body_wrap.nk-page--top .l-header__bar {
	display: none;
}

#body_wrap.nk-page--top .c-headLogo__link {
	color: var(--nk-top-ink);
	font-family: var(--nk-serif);
	font-weight: 800;
	letter-spacing: 0.03em;
}

#body_wrap.nk-page--top .c-gnav > .menu-item > a {
	color: rgba(25, 23, 20, 0.86);
	font-size: 0.93rem;
	font-weight: 780;
}

#body_wrap.nk-page--top .c-gnav > .menu-item > a::after {
	right: 0;
	left: 0;
	bottom: 0.82rem;
	height: 1px;
	background: linear-gradient(90deg, var(--nk-top-green), var(--nk-top-rose));
}

#body_wrap.nk-page--top .post_content {
	background:
		linear-gradient(180deg, rgba(247, 243, 234, 0), rgba(247, 243, 234, 0.94) 44%, rgba(216, 221, 200, 0.34) 100%),
		repeating-linear-gradient(90deg, rgba(47, 70, 56, 0.024) 0 1px, transparent 1px 88px);
}

#body_wrap.nk-page--top .post_content > *:not(.alignfull) {
	width: min(calc(100% - 48px), var(--nk-container));
}

#body_wrap.nk-page--top .nk-eyebrow {
	color: var(--nk-top-green-deep);
	font-size: 0.78rem;
	font-weight: 850;
	letter-spacing: 0.11em;
}

#body_wrap.nk-page--top .nk-eyebrow::before {
	width: 3rem;
	background: linear-gradient(90deg, currentColor, rgba(154, 123, 79, 0.72));
}

#body_wrap.nk-page--top .nk-hero-block.nk-hero--editorial {
	min-height: clamp(650px, calc(100svh - 72px), 760px);
	margin-bottom: 0;
	padding: clamp(5rem, 7vw, 6.5rem) max(5vw, 32px) clamp(2rem, 4vw, 3rem);
	align-items: end;
	background: var(--nk-top-charcoal);
	background-image:
		linear-gradient(90deg, rgba(14, 24, 22, 0.76), rgba(14, 24, 22, 0.52) 46%, rgba(14, 24, 22, 0.2) 82%),
		linear-gradient(180deg, rgba(14, 24, 22, 0.16), rgba(14, 24, 22, 0.72)),
		url("/wp-content/themes/swell_child/assets/img/nakachan/exterior-hero.webp");
	background-position: center;
	background-size: cover;
}

#body_wrap.nk-page--top .nk-hero-block.nk-hero--editorial::before {
	position: absolute;
	inset: 0;
	z-index: 0;
	background:
		linear-gradient(180deg, rgba(247, 243, 234, 0.16), transparent 34%),
		linear-gradient(90deg, rgba(43, 43, 40, 0.68), rgba(47, 70, 56, 0.44) 47%, rgba(47, 70, 56, 0.12) 76%),
		linear-gradient(180deg, rgba(47, 70, 56, 0.04), rgba(43, 43, 40, 0.52));
	content: "";
}

#body_wrap.nk-page--top .nk-hero-block.nk-hero--editorial::after {
	z-index: 0;
	background:
		linear-gradient(90deg, rgba(43, 43, 40, 0.5), rgba(47, 70, 56, 0.3) 44%, rgba(47, 70, 56, 0.06) 82%),
		repeating-linear-gradient(90deg, rgba(247, 243, 234, 0.07) 0 1px, transparent 1px 112px);
	mix-blend-mode: normal;
}

#body_wrap.nk-page--top .nk-hero-source {
	inset: -18px;
	z-index: 1;
	transform: translate(calc(var(--nk-depth-x, 0) * 0.5), calc(var(--nk-depth-y, 0) * 0.5)) scale(1.055);
}

#body_wrap.nk-page--top .nk-hero-source img {
	object-position: 54% 48%;
	filter: saturate(1.03) contrast(1.01) brightness(1.06);
}

#body_wrap.nk-page--top .nk-hero-copy {
	z-index: 3;
}

#body_wrap.nk-page--top .nk-hero-copy--editorial {
	width: min(100%, 780px);
	margin-bottom: clamp(1.1rem, 2vw, 1.8rem);
}

#body_wrap.nk-page--top .nk-hero-copy .nk-eyebrow {
	color: rgba(255, 255, 255, 0.86);
	text-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
}

#body_wrap.nk-page--top .nk-hero-copy .nk-eyebrow::before {
	background: rgba(255, 255, 255, 0.68);
}

#body_wrap.nk-page--top .nk-site .nk-hero-copy--editorial h1,
#body_wrap.nk-page--top .nk-hero-copy--editorial h1 {
	max-width: 10em;
	margin-top: 0.5rem;
	margin-bottom: 1.1rem;
	color: #fff;
	font-size: clamp(3.4rem, 6vw, 5.45rem);
	line-height: 1.08;
	text-shadow: 0 22px 54px rgba(0, 0, 0, 0.28);
}

#body_wrap.nk-page--top .nk-hero-copy--editorial .nk-lead {
	max-width: 45rem;
	color: rgba(255, 255, 255, 0.92);
	font-size: clamp(1.02rem, 1.25vw, 1.14rem);
	font-weight: 560;
	line-height: 2.05;
	text-shadow: 0 10px 26px rgba(0, 0, 0, 0.25);
}

#body_wrap.nk-page--top .nk-hero-buttons {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0.8rem;
	margin-top: 1.8rem;
}

#body_wrap.nk-page--top .nk-mid-actions,
#body_wrap.nk-page--top .nk-bottom-actions,
#body_wrap.nk-page--rooms .nk-bottom-actions {
	align-items: stretch;
}

#body_wrap.nk-page--top .nk-hero-buttons .wp-block-button,
#body_wrap.nk-page--top .nk-mid-actions .wp-block-button,
#body_wrap.nk-page--top .nk-bottom-actions .wp-block-button,
#body_wrap.nk-page--rooms .nk-bottom-actions .wp-block-button {
	display: flex;
}

#body_wrap.nk-page--top .nk-hero-buttons .wp-block-button__link,
#body_wrap.nk-page--top .nk-mid-actions .wp-block-button__link,
#body_wrap.nk-page--top .nk-bottom-actions .wp-block-button__link,
#body_wrap.nk-page--rooms .nk-bottom-actions .wp-block-button__link {
	box-sizing: border-box;
	height: 3.5rem;
	min-height: 3.5rem;
	padding-top: 0;
	padding-bottom: 0;
	border-width: 1px;
	line-height: 1.2;
}

#body_wrap.nk-page--top .nk-hero-buttons .wp-block-button__link {
	min-width: 10.5rem;
	border-radius: 4px;
}

#body_wrap.nk-page--top .nk-hero-buttons .wp-block-button__link::after,
#body_wrap.nk-page--top .nk-bottom-actions .wp-block-button__link::after {
	margin-left: 0.65rem;
	content: ">";
	font-size: 0.86em;
	font-weight: 900;
	transform: translateY(-0.02em);
}

#body_wrap.nk-page--top .wp-block-button__link {
	border-color: var(--nk-top-green);
	background: var(--nk-top-green);
	box-shadow: 0 16px 30px rgba(27, 61, 52, 0.18);
}

#body_wrap.nk-page--top .wp-block-button__link:hover {
	border-color: var(--nk-top-green-deep);
	background: var(--nk-top-green-deep);
}

#body_wrap.nk-page--top .is-style-outline > .wp-block-button__link {
	border-color: rgba(25, 23, 20, 0.18);
	background: rgba(255, 253, 248, 0.68);
	color: var(--nk-top-green-deep);
	box-shadow: none;
}

#body_wrap.nk-page--top .nk-hero-block .is-style-outline > .wp-block-button__link,
#body_wrap.nk-page--top .nk-reservation-cta .is-style-outline > .wp-block-button__link {
	border-color: rgba(255, 255, 255, 0.5);
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
}

#body_wrap.nk-page--top .nk-hero-reservation-card {
	width: min(100%, var(--nk-container));
	border-radius: 4px;
	border-color: rgba(247, 243, 234, 0.34);
	background: rgba(43, 43, 40, 0.22);
	box-shadow: 0 20px 46px rgba(0, 0, 0, 0.14);
}

#body_wrap.nk-page--top .nk-hero-reservation-card p {
	padding: 1.05rem 1.25rem;
	background: rgba(247, 243, 234, 0.1);
}

#body_wrap.nk-page--top .nk-hero-reservation-card strong {
	font-family: var(--nk-serif);
	font-size: clamp(1.02rem, 1.5vw, 1.22rem);
	font-weight: 800;
}

#body_wrap.nk-page--top .nk-hero-reservation-card span {
	font-size: 0.86rem;
}

#body_wrap.nk-page--top .nk-overview-band {
	margin-top: 0;
	background:
		linear-gradient(115deg, rgba(247, 243, 234, 0.98), rgba(216, 221, 200, 0.44)),
		repeating-linear-gradient(0deg, rgba(154, 123, 79, 0.055) 0 1px, transparent 1px 42px);
}

#body_wrap.nk-page--top .nk-overview-band::before {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, transparent 0 68%, rgba(24, 58, 67, 0.075) 68%),
		linear-gradient(180deg, rgba(255, 253, 248, 0.4), transparent);
	content: "";
	pointer-events: none;
}

#body_wrap.nk-page--top .nk-overview-band::after {
	position: absolute;
	right: max(5vw, 28px);
	bottom: -2.4rem;
	width: min(31vw, 390px);
	aspect-ratio: 16 / 8;
	border: 1px solid rgba(255, 253, 248, 0.55);
	border-radius: 4px;
	background:
		linear-gradient(180deg, rgba(25, 23, 20, 0.08), rgba(25, 23, 20, 0.2)),
		url("/wp-content/themes/swell_child/assets/img/nakachan/entrance-wide.webp") center / cover no-repeat;
	box-shadow: 0 18px 42px rgba(31, 28, 22, 0.18);
	content: "";
	pointer-events: none;
}

#body_wrap.nk-page--top .nk-overview-layout {
	position: relative;
	z-index: 1;
}

#body_wrap.nk-page--top .nk-overview-layout h2 {
	margin-top: 0.5rem;
	font-size: clamp(2rem, 4vw, 3.05rem);
	line-height: 1.35;
}

#body_wrap.nk-page--top .nk-signature-panel {
	position: relative;
	border-radius: 4px;
	border-color: rgba(25, 23, 20, 0.14);
	background:
		linear-gradient(180deg, rgba(255, 253, 248, 0.88), rgba(255, 253, 248, 0.7)),
		rgba(255, 253, 248, 0.74);
	box-shadow: var(--nk-top-shadow-soft);
}

#body_wrap.nk-page--top .nk-signature-panel::before {
	position: absolute;
	top: 1rem;
	right: 1rem;
	width: 2.35rem;
	height: 2.35rem;
	border-top: 1px solid var(--nk-top-gold);
	border-right: 1px solid var(--nk-top-gold);
	content: "";
	opacity: 0.7;
}

#body_wrap.nk-page--top .nk-section-header {
	margin-top: clamp(4rem, 7vw, 6.2rem);
	margin-bottom: 1.15rem;
}

#body_wrap.nk-page--top .nk-section-header h2 {
	font-size: clamp(1.95rem, 3.4vw, 2.75rem);
	line-height: 1.36;
}

#body_wrap.nk-page--top .nk-scene-grid {
	display: grid !important;
	grid-template-columns: 1.18fr 0.92fr 0.92fr;
	gap: clamp(1rem, 2vw, 1.45rem);
	align-items: start;
	margin-top: 2rem;
}

#body_wrap.nk-page--top .nk-scene-grid > .wp-block-column {
	width: auto;
	flex-basis: auto !important;
	min-width: 0;
}

#body_wrap.nk-page--top .nk-scene-grid > .wp-block-column:nth-child(2) {
	margin-top: clamp(2.2rem, 4vw, 3.6rem);
}

#body_wrap.nk-page--top .nk-scene-grid > .wp-block-column:nth-child(3) {
	margin-top: clamp(4rem, 6vw, 5.6rem);
}

#body_wrap.nk-page--top .nk-scene-grid > .wp-block-column:nth-child(2) .nk-scene-card {
	margin-top: clamp(1.9rem, 3vw, 3rem) !important;
}

#body_wrap.nk-page--top .nk-scene-grid > .wp-block-column:nth-child(3) .nk-scene-card {
	margin-top: clamp(3.4rem, 5vw, 4.8rem) !important;
}

#body_wrap.nk-page--top .nk-scene-card {
	border-radius: 4px;
	border-color: rgba(25, 23, 20, 0.12);
	background:
		linear-gradient(180deg, rgba(247, 243, 234, 0.96), rgba(255, 253, 248, 0.9)),
		var(--nk-top-paper);
	box-shadow: 0 12px 28px rgba(31, 28, 22, 0.07);
}

#body_wrap.nk-page--top .nk-scene-card::after {
	right: 1.35rem;
	bottom: 1.15rem;
	left: 1.35rem;
	background: linear-gradient(90deg, rgba(155, 98, 56, 0.46), rgba(86, 111, 66, 0.18), transparent);
}

#body_wrap.nk-page--top .nk-scene-card .nk-inline-photo {
	border-bottom: 1px solid rgba(25, 23, 20, 0.08);
}

#body_wrap.nk-page--top .nk-scene-card .nk-inline-photo img {
	aspect-ratio: 4 / 3.2;
	filter: saturate(0.98) contrast(1.02);
}

#body_wrap.nk-page--top .nk-scene-card--large .nk-inline-photo img {
	aspect-ratio: 4 / 3.65;
}

#body_wrap.nk-page--top .nk-card-index {
	top: 0.85rem;
	right: 0.85rem;
	width: 2.4rem;
	height: 2.4rem;
	border-radius: 3px;
	background: rgba(25, 23, 20, 0.78);
	font-family: var(--nk-serif);
}

#body_wrap.nk-page--top .nk-scene-card h3 {
	margin-top: 1rem;
	font-family: var(--nk-serif);
	font-size: clamp(1.18rem, 1.55vw, 1.42rem);
}

#body_wrap.nk-page--top .nk-scene-card p:not(.nk-card-index) {
	color: rgba(25, 23, 20, 0.74);
	font-size: 0.96rem;
	line-height: 1.82;
}

#body_wrap.nk-page--top .nk-rooms-feature-band {
	margin-top: clamp(3.2rem, 6vw, 5rem);
	background:
		linear-gradient(115deg, rgba(247, 243, 234, 0.98), rgba(255, 253, 248, 0.96) 58%, rgba(216, 221, 200, 0.5)),
		repeating-linear-gradient(90deg, rgba(47, 70, 56, 0.026) 0 1px, transparent 1px 92px);
	border-top: 1px solid rgba(47, 70, 56, 0.12);
	border-bottom: 1px solid rgba(47, 70, 56, 0.12);
	color: var(--nk-top-ink);
}

#body_wrap.nk-page--top .nk-rooms-feature-band::before {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(255, 253, 248, 0.5), transparent 38%),
		linear-gradient(135deg, rgba(154, 123, 79, 0.08), transparent 34%);
	content: "";
	pointer-events: none;
}

#body_wrap.nk-page--top .nk-rooms-feature {
	position: relative;
	z-index: 1;
	align-items: start !important;
}

#body_wrap.nk-page--top .nk-mini-gallery {
	gap: 0.62rem !important;
}

#body_wrap.nk-page--top .nk-mini-gallery > .wp-block-image {
	border-radius: 4px;
	border: 1px solid rgba(47, 70, 56, 0.12);
	background: rgba(255, 253, 248, 0.72);
	box-shadow: 0 10px 24px rgba(43, 43, 40, 0.08);
}

#body_wrap.nk-page--top .nk-mini-gallery > .wp-block-image:first-child {
	grid-row: auto;
}

#body_wrap.nk-page--top .nk-mini-gallery img {
	aspect-ratio: 4 / 3 !important;
	filter: saturate(0.95) contrast(1.04);
}

#body_wrap.nk-page--top .nk-rooms-feature-band h2,
#body_wrap.nk-page--top .nk-rooms-feature-band h3,
#body_wrap.nk-page--top .nk-rooms-feature-band .nk-eyebrow {
	color: var(--nk-top-ink);
}

#body_wrap.nk-page--top .nk-rooms-feature-band .nk-eyebrow {
	color: var(--nk-top-green-deep);
}

#body_wrap.nk-page--top .nk-rooms-feature-band p {
	color: rgba(43, 43, 40, 0.72);
}

#body_wrap.nk-page--top .nk-rooms-feature-band h2 {
	font-size: clamp(1.8rem, 3.1vw, 2.55rem);
	line-height: 1.38;
}

#body_wrap.nk-page--top .nk-feature-list {
	grid-template-columns: 1fr;
}

#body_wrap.nk-page--top .nk-feature-list--facilities {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.68rem;
}

#body_wrap.nk-page--top .nk-rooms-feature-band .nk-feature-list p {
	border-color: rgba(47, 70, 56, 0.14);
	border-radius: 4px;
	background: rgba(255, 253, 248, 0.72);
	box-shadow: 0 8px 18px rgba(43, 43, 40, 0.045);
}

#body_wrap.nk-page--top .nk-rooms-feature-band .nk-feature-list--facilities p {
	padding: 0.78rem 0.85rem;
}

#body_wrap.nk-page--top .nk-rooms-feature-band .nk-feature-list--facilities strong {
	color: var(--nk-top-green-deep);
	font-size: 0.92rem;
	line-height: 1.45;
}

#body_wrap.nk-page--top .nk-rooms-feature-band .nk-feature-list--facilities span {
	color: rgba(43, 43, 40, 0.62);
	font-size: 0.78rem;
	line-height: 1.55;
}

#body_wrap.nk-page--top .nk-rooms-feature-band .is-style-outline > .wp-block-button__link {
	margin-top: 0.3rem;
	border-color: rgba(47, 70, 56, 0.28);
	background: rgba(255, 253, 248, 0.82);
	color: var(--nk-top-green-deep);
}

#body_wrap.nk-page--top .nk-mid-cta {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 1rem 1.4rem;
	align-items: center;
	margin-top: clamp(2rem, 4vw, 3.2rem);
	padding: clamp(1rem, 2vw, 1.35rem);
	border: 1px solid rgba(47, 70, 56, 0.18);
	border-radius: 4px;
	background:
		linear-gradient(90deg, rgba(247, 243, 234, 0.92), rgba(216, 221, 200, 0.58)),
		var(--nk-top-paper);
	box-shadow: 0 12px 30px rgba(43, 43, 40, 0.07);
}

#body_wrap.nk-page--top .nk-mid-cta > .wp-block-group__inner-container {
	display: contents;
}

#body_wrap.nk-page--top .nk-mid-cta p {
	margin: 0;
}

#body_wrap.nk-page--top .nk-mid-cta strong,
#body_wrap.nk-page--top .nk-mid-cta span {
	display: block;
}

#body_wrap.nk-page--top .nk-mid-cta strong {
	color: var(--nk-top-ink);
	font-family: var(--nk-serif);
	font-size: clamp(1.05rem, 1.6vw, 1.28rem);
	line-height: 1.5;
}

#body_wrap.nk-page--top .nk-mid-cta span {
	margin-top: 0.2rem;
	color: rgba(43, 43, 40, 0.68);
	font-size: 0.92rem;
	line-height: 1.65;
}

#body_wrap.nk-page--top .nk-mid-actions {
	justify-content: flex-end;
	margin: 0;
}

#body_wrap.nk-page--top .nk-trust-booking {
	position: relative;
	width: min(calc(100% - 48px), var(--nk-container));
	margin-top: clamp(4.2rem, 7vw, 6.4rem);
	margin-right: auto;
	margin-left: auto;
	padding: clamp(1rem, 2.6vw, 1.6rem);
	border-top: 1px solid var(--nk-top-line);
	border-bottom: 1px solid var(--nk-top-line);
	background:
		linear-gradient(90deg, rgba(251, 250, 244, 0.86), rgba(255, 253, 248, 0.64)),
		repeating-linear-gradient(90deg, rgba(25, 23, 20, 0.02) 0 1px, transparent 1px 68px);
}

#body_wrap.nk-page--top .nk-host-portrait {
	position: relative;
	margin: 0 !important;
}

#body_wrap.nk-page--top .nk-host-portrait::before {
	position: absolute;
	top: -0.75rem;
	right: -0.75rem;
	bottom: 0.75rem;
	left: 0.75rem;
	border: 1px solid rgba(155, 98, 56, 0.42);
	border-radius: 4px;
	content: "";
}

#body_wrap.nk-page--top .nk-host-portrait img {
	position: relative;
	aspect-ratio: 4 / 4.75;
	border-radius: 4px;
	box-shadow: var(--nk-top-shadow-soft);
}

#body_wrap.nk-page--top .nk-booking-steps {
	gap: 0;
	margin-top: 1.55rem;
	border-top: 1px solid var(--nk-top-line);
}

#body_wrap.nk-page--top .nk-booking-steps p {
	position: relative;
	padding: 1rem 0 1.05rem 2.2rem;
	border: 0;
	border-bottom: 1px solid var(--nk-top-line);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

#body_wrap.nk-page--top .nk-booking-steps p::before {
	position: absolute;
	top: 1.25rem;
	left: 0;
	width: 0.75rem;
	height: 0.75rem;
	border: 1px solid var(--nk-top-green);
	border-radius: 999px;
	background: var(--nk-top-paper);
	content: "";
}

#body_wrap.nk-page--top .nk-booking-steps strong {
	color: var(--nk-top-ink);
	font-family: var(--nk-serif);
}

#body_wrap.nk-page--top .nk-reservation-cta {
	margin-top: clamp(4.6rem, 8vw, 7rem);
	background:
		linear-gradient(90deg, rgba(47, 70, 56, 0.9), rgba(47, 70, 56, 0.68)),
		linear-gradient(180deg, rgba(43, 43, 40, 0.18), rgba(43, 43, 40, 0.34)),
		url("/wp-content/themes/swell_child/assets/img/nakachan/exterior-wide.webp") center / cover no-repeat;
	text-align: left;
}

#body_wrap.nk-page--top .nk-reservation-cta > * {
	position: relative;
	z-index: 1;
}

#body_wrap.nk-page--top .nk-reservation-cta .nk-eyebrow {
	justify-content: flex-start;
	color: rgba(255, 255, 255, 0.85);
}

#body_wrap.nk-page--top .nk-reservation-cta-heading {
	width: fit-content;
	max-width: min(100%, var(--nk-container));
	margin-right: auto;
	margin-bottom: 0.85rem;
	margin-left: auto;
}

#body_wrap.nk-page--top .nk-reservation-cta-heading .nk-eyebrow {
	width: 100%;
	max-width: none;
	justify-content: flex-start;
}

#body_wrap.nk-page--top .nk-reservation-cta h2 {
	margin-right: auto;
	margin-bottom: 0.35rem;
	margin-left: auto;
	color: #fff;
	font-size: clamp(2rem, 3.9vw, 3.15rem);
	line-height: 1.38;
	text-align: center;
}

#body_wrap.nk-page--top .nk-reservation-cta p:not(.nk-eyebrow) {
	margin-right: auto;
	margin-left: auto;
	color: rgba(255, 255, 255, 0.82);
	text-align: center;
}

#body_wrap.nk-page--top .nk-reservation-cta .wp-block-buttons {
	align-items: stretch;
	margin-top: 1.8rem;
}

@media (max-width: 900px) {
	#body_wrap.nk-page--top .nk-scene-grid {
		grid-template-columns: 1fr 1fr;
	}

	#body_wrap.nk-page--top .nk-scene-grid > .wp-block-column:nth-child(2),
	#body_wrap.nk-page--top .nk-scene-grid > .wp-block-column:nth-child(3) {
		margin-top: 0;
	}

	#body_wrap.nk-page--top .nk-scene-grid > .wp-block-column:first-child {
		grid-column: 1 / -1;
	}

	#body_wrap.nk-page--top .nk-overview-band::after {
		opacity: 0.24;
	}
}

@media (max-width: 781px) {
	#body_wrap.nk-page--top .l-header {
		position: relative;
	}

	#body_wrap.nk-page--top .post_content > *:not(.alignfull),
	#body_wrap.nk-page--top .nk-trust-booking {
		width: min(calc(100% - 40px), var(--nk-container));
	}

	#body_wrap.nk-page--top .nk-hero-block.nk-hero--editorial {
		min-height: auto;
		padding: 4rem calc(20px + 4vw) 1.45rem;
	}

	#body_wrap.nk-page--top .nk-hero-source {
		inset: 0;
		transform: none;
	}

	#body_wrap.nk-page--top .nk-hero-source img {
		object-position: 50% 46%;
	}

	#body_wrap.nk-page--top .nk-hero-copy--editorial,
	#body_wrap.nk-page--top .nk-hero-reservation-card,
	#body_wrap.nk-page--top .nk-section-header {
		width: 100% !important;
		max-width: none !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}

	#body_wrap.nk-page--top .nk-hero-copy--editorial h1 {
		max-width: 8.8em;
		font-size: clamp(2.25rem, 10vw, 2.85rem);
		line-height: 1.15;
	}

	#body_wrap.nk-page--top .nk-hero-copy--editorial .nk-lead {
		font-size: 0.98rem;
		line-height: 1.9;
	}

	#body_wrap.nk-page--top .nk-hero-buttons {
		display: grid;
		grid-template-columns: 1fr;
		gap: 0.72rem;
	}

	#body_wrap.nk-page--top .nk-hero-buttons .wp-block-button,
	#body_wrap.nk-page--top .nk-hero-buttons .wp-block-button__link {
		width: 100%;
	}

	#body_wrap.nk-page--top .nk-hero-reservation-card {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		margin-top: 1.1rem;
	}

	#body_wrap.nk-page--top .nk-hero-reservation-card p {
		padding: 0.8rem 0.78rem;
	}

	#body_wrap.nk-page--top .nk-hero-reservation-card strong {
		font-size: 0.98rem;
	}

	#body_wrap.nk-page--top .nk-hero-reservation-card span {
		font-size: 0.75rem;
		line-height: 1.45;
	}

	#body_wrap.nk-page--top .nk-overview-band,
	#body_wrap.nk-page--top .nk-rooms-feature-band,
	#body_wrap.nk-page--top .nk-reservation-cta {
		padding-right: calc(20px + 4vw);
		padding-left: calc(20px + 4vw);
	}

	#body_wrap.nk-page--top .nk-overview-band::after {
		display: none;
	}

	#body_wrap.nk-page--top .nk-overview-layout h2,
	#body_wrap.nk-page--top .nk-section-header h2,
	#body_wrap.nk-page--top .nk-rooms-feature-band h2,
	#body_wrap.nk-page--top .nk-reservation-cta h2 {
		font-size: clamp(1.55rem, 6.2vw, 1.85rem);
	}

	#body_wrap.nk-page--top .nk-scene-grid {
		grid-template-columns: 1fr;
		gap: 1.05rem;
	}

	#body_wrap.nk-page--top .nk-scene-grid > .wp-block-column:first-child {
		grid-column: auto;
	}

	#body_wrap.nk-page--top .nk-scene-grid > .wp-block-column:nth-child(2) .nk-scene-card,
	#body_wrap.nk-page--top .nk-scene-grid > .wp-block-column:nth-child(3) .nk-scene-card {
		margin-top: 0 !important;
	}

	#body_wrap.nk-page--top .nk-mini-gallery {
		grid-template-columns: 1fr 1fr;
	}

	#body_wrap.nk-page--top .nk-feature-list--facilities,
	#body_wrap.nk-page--top .nk-mid-cta {
		grid-template-columns: 1fr;
	}

	#body_wrap.nk-page--top .nk-mid-actions {
		display: grid;
		grid-template-columns: 1fr;
		justify-content: stretch;
		width: 100%;
	}

	#body_wrap.nk-page--top .nk-mid-actions .wp-block-button,
	#body_wrap.nk-page--top .nk-mid-actions .wp-block-button__link {
		width: 100%;
	}

	#body_wrap.nk-page--top .nk-trust-booking {
		padding: 1.1rem 0;
	}

	#body_wrap.nk-page--top .nk-host-portrait::before {
		display: none;
	}

	#body_wrap.nk-page--top .nk-bottom-actions {
		display: grid;
		grid-template-columns: 1fr;
	}
}

@media (max-width: 480px) {
	#body_wrap.nk-page--top .c-headLogo__link {
		max-width: 12em;
		overflow: hidden;
		font-size: 1rem;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	#body_wrap.nk-page--top .nk-hero-block.nk-hero--editorial {
		padding-top: 3.35rem;
		padding-right: calc(18px + 4vw);
		padding-left: calc(18px + 4vw);
	}

	#body_wrap.nk-page--top .nk-hero-copy--editorial h1 {
		font-size: clamp(2.05rem, 9.6vw, 2.45rem);
	}

	#body_wrap.nk-page--top .nk-hero-copy .nk-eyebrow {
		font-size: 0.72rem;
		line-height: 1.6;
	}

	#body_wrap.nk-page--top .nk-hero-copy .nk-eyebrow::before {
		width: 2.35rem;
	}

	#body_wrap.nk-page--top .nk-scene-card .nk-inline-photo img,
	#body_wrap.nk-page--top .nk-scene-card--large .nk-inline-photo img {
		aspect-ratio: 16 / 10;
	}
}

/* Top page layout repair after browser review. */
#body_wrap.nk-page--top .l-content {
	padding-right: 0 !important;
	padding-left: 0 !important;
}

#body_wrap.nk-page--top .l-mainContent__inner {
	max-width: none !important;
}

#body_wrap.nk-page--top .post_content {
	padding-right: 0 !important;
	padding-left: 0 !important;
}

#body_wrap.nk-page--top .post_content > *:not(.alignfull),
#body_wrap.nk-page--top .nk-trust-booking {
	width: min(calc(100% - 48px), var(--nk-container));
	max-width: var(--nk-container);
	margin-right: auto;
	margin-left: auto;
}

#body_wrap.nk-page--top .nk-hero-block,
#body_wrap.nk-page--top .nk-overview-band,
#body_wrap.nk-page--top .nk-rooms-feature-band,
#body_wrap.nk-page--top .nk-reservation-cta {
	left: auto !important;
	right: auto !important;
	width: 100% !important;
	max-width: none !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
}

#body_wrap.nk-page--top .nk-hero-block.nk-hero--editorial {
	min-height: clamp(590px, calc(100svh - 72px), 690px);
	padding-top: clamp(4.2rem, 6vw, 5.6rem);
}

#body_wrap.nk-page--top .nk-hero-copy {
	margin-left: max(7vw, calc((100% - var(--nk-container)) / 2)) !important;
}

#body_wrap.nk-page--top .nk-hero-reservation-card {
	margin-right: auto !important;
	margin-left: auto !important;
}

#body_wrap.nk-page--top .nk-overview-band {
	padding-top: clamp(2.8rem, 4.5vw, 3.8rem);
	padding-bottom: clamp(2.8rem, 4.5vw, 3.8rem);
}

#body_wrap.nk-page--top .nk-overview-band::after {
	display: none;
}

#body_wrap.nk-page--top .nk-section-header {
	margin-top: clamp(2.4rem, 4vw, 3.4rem);
}

#body_wrap.nk-page--top .nk-scene-grid {
	margin-top: 1.2rem;
}

#body_wrap.nk-page--top .nk-rooms-feature-band,
#body_wrap.nk-page--top .nk-reservation-cta {
	margin-top: clamp(3.5rem, 6vw, 5.2rem);
}

@media (max-width: 781px) {
	#body_wrap.nk-page--top .post_content > *:not(.alignfull),
	#body_wrap.nk-page--top .nk-trust-booking {
		width: min(calc(100% - 32px), var(--nk-container));
	}

	#body_wrap.nk-page--top .nk-section-header {
		width: min(calc(100% - 32px), var(--nk-container)) !important;
		max-width: var(--nk-container) !important;
		margin-right: auto !important;
		margin-left: auto !important;
	}

	#body_wrap.nk-page--top .nk-hero-block.nk-hero--editorial {
		padding-right: 18px;
		padding-left: 18px;
	}

	#body_wrap.nk-page--top .nk-hero-copy {
		margin-left: 0 !important;
	}

	#body_wrap.nk-page--top .nk-overview-band,
	#body_wrap.nk-page--top .nk-rooms-feature-band,
	#body_wrap.nk-page--top .nk-reservation-cta {
		padding-right: 18px;
		padding-left: 18px;
	}
}

/* Top page final revision based on the Nakachan editorial policy. */
#body_wrap.nk-page--top {
	--nk-top-ink: #282824;
	--nk-top-green: #2f4638;
	--nk-top-green-deep: #26382e;
	--nk-top-paper: #f7f3ea;
	--nk-top-paper-light: #fbf8f0;
	--nk-top-grass: #d8ddc8;
	--nk-top-clay: #9a7b4f;
	--nk-top-line: rgba(40, 40, 36, 0.16);
	--nk-top-line-strong: rgba(40, 40, 36, 0.26);
	--nk-top-shadow-soft: 0 12px 28px rgba(40, 40, 36, 0.075);
	background-color: var(--nk-top-paper);
	background-image:
		radial-gradient(rgba(40, 40, 36, 0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.34), rgba(255, 255, 255, 0));
	background-size: 7px 7px, 100% 100%;
}

#body_wrap.nk-page--top .post_content {
	background:
		linear-gradient(180deg, rgba(247, 243, 234, 0), rgba(247, 243, 234, 0.94) 46%, rgba(216, 221, 200, 0.22) 100%),
		radial-gradient(rgba(40, 40, 36, 0.028) 1px, transparent 1px);
	background-size: auto, 8px 8px;
}

#body_wrap.nk-page--top .nk-hero-block.nk-hero--editorial {
	min-height: clamp(570px, calc(100svh - 72px), 680px);
}

#body_wrap.nk-page--top .nk-hero-block.nk-hero--editorial::before {
	background:
		linear-gradient(180deg, rgba(247, 243, 234, 0.12), transparent 32%),
		linear-gradient(90deg, rgba(40, 40, 36, 0.76), rgba(47, 70, 56, 0.48) 48%, rgba(47, 70, 56, 0.12) 78%),
		linear-gradient(180deg, rgba(47, 70, 56, 0.08), rgba(40, 40, 36, 0.56));
}

#body_wrap.nk-page--top .nk-hero-copy--editorial h1 {
	max-width: 11em;
	font-size: clamp(3.1rem, 5.7vw, 5.05rem);
}

#body_wrap.nk-page--top .nk-hero-copy--editorial .nk-lead {
	max-width: 42rem;
	font-weight: 500;
}

#body_wrap.nk-page--top .nk-hero-reservation-card {
	border-radius: 4px;
	background: rgba(40, 40, 36, 0.2);
	backdrop-filter: blur(12px);
}

#body_wrap.nk-page--top .nk-overview-band {
	background:
		linear-gradient(115deg, rgba(247, 243, 234, 0.98), rgba(216, 221, 200, 0.38)),
		radial-gradient(rgba(40, 40, 36, 0.035) 1px, transparent 1px);
	background-size: auto, 9px 9px;
}

#body_wrap.nk-page--top .nk-signature-panel,
#body_wrap.nk-page--top .nk-scene-card,
#body_wrap.nk-page--top .nk-rooms-feature-band .nk-feature-list p,
#body_wrap.nk-page--top .nk-local-link-card {
	border-color: var(--nk-top-line);
	background:
		linear-gradient(180deg, rgba(251, 248, 240, 0.96), rgba(251, 248, 240, 0.86)),
		var(--nk-top-paper-light);
	box-shadow: var(--nk-top-shadow-soft);
}

#body_wrap.nk-page--top .nk-scene-grid {
	grid-template-columns: 1.08fr 1fr 1fr;
	gap: clamp(1rem, 2.1vw, 1.5rem);
	align-items: start;
}

#body_wrap.nk-page--top .nk-scene-grid > .wp-block-column:nth-child(2) {
	margin-top: clamp(1.35rem, 2.6vw, 2.4rem);
}

#body_wrap.nk-page--top .nk-scene-grid > .wp-block-column:nth-child(3) {
	margin-top: clamp(2.4rem, 4vw, 3.4rem);
}

#body_wrap.nk-page--top .nk-scene-grid > .wp-block-column:nth-child(2) .nk-scene-card,
#body_wrap.nk-page--top .nk-scene-grid > .wp-block-column:nth-child(3) .nk-scene-card {
	margin-top: 0 !important;
}

#body_wrap.nk-page--top .nk-card-index {
	width: auto;
	min-width: 3.8rem;
	height: 1.8rem;
	padding: 0 0.55rem;
	border-radius: 3px;
	font-family: inherit;
	font-size: 0.68rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

#body_wrap.nk-page--top .nk-rooms-feature-band {
	background:
		linear-gradient(115deg, rgba(247, 243, 234, 0.98), rgba(251, 248, 240, 0.96) 58%, rgba(216, 221, 200, 0.46)),
		radial-gradient(rgba(47, 70, 56, 0.03) 1px, transparent 1px);
	background-size: auto, 9px 9px;
}

#body_wrap.nk-page--top .nk-feature-list--facilities {
	display: block;
	gap: 0.72rem;
}

#body_wrap.nk-page--top .nk-feature-list--facilities > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.72rem;
}

#body_wrap.nk-page--top .nk-mid-cta {
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 1rem 1.35rem;
	border-color: rgba(47, 70, 56, 0.2);
	background:
		linear-gradient(90deg, rgba(251, 248, 240, 0.95), rgba(216, 221, 200, 0.55)),
		var(--nk-top-paper);
}

#body_wrap.nk-page--top .nk-mid-mascot {
	width: clamp(64px, 8vw, 92px);
	margin: 0 !important;
	align-self: end;
}

#body_wrap.nk-page--top .nk-mid-mascot img {
	display: block;
	width: 100%;
	height: auto;
	filter: drop-shadow(0 10px 18px rgba(40, 40, 36, 0.12));
}

#body_wrap.nk-page--top .nk-mid-copy {
	margin: 0 !important;
}

#body_wrap.nk-page--top .nk-mid-copy > .wp-block-group__inner-container {
	margin: 0;
}

#body_wrap.nk-page--top .nk-mid-copy .nk-eyebrow {
	margin-bottom: 0.28rem;
}

#body_wrap.nk-page--top .nk-mid-copy h2 {
	margin: 0 0 0.2rem !important;
	color: var(--nk-top-ink);
	font-family: var(--nk-serif);
	font-size: clamp(1.18rem, 1.8vw, 1.48rem);
	line-height: 1.45;
}

#body_wrap.nk-page--top .nk-mid-copy p:not(.nk-eyebrow) {
	margin: 0;
	color: rgba(40, 40, 36, 0.68);
	font-size: 0.94rem;
	line-height: 1.7;
}

#body_wrap.nk-page--top .nk-mid-actions {
	justify-content: flex-end;
}

#body_wrap.nk-page--top .nk-trust-booking {
	border-color: var(--nk-top-line);
	background:
		linear-gradient(90deg, rgba(251, 248, 240, 0.9), rgba(251, 248, 240, 0.7)),
		radial-gradient(rgba(40, 40, 36, 0.026) 1px, transparent 1px);
	background-size: auto, 8px 8px;
}

#body_wrap.nk-page--top .nk-local-links {
	margin-top: clamp(3.2rem, 6vw, 5rem);
}

#body_wrap.nk-page--top .nk-local-links > .wp-block-group__inner-container {
	width: 100%;
	max-width: none;
}

#body_wrap.nk-page--top .nk-local-links .nk-section-header {
	margin-top: 0;
}

#body_wrap.nk-page--top .nk-local-link-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(0.85rem, 1.8vw, 1.2rem);
	width: 100%;
	max-width: none;
}

#body_wrap.nk-page--top .nk-local-link-grid > .wp-block-column {
	width: auto;
	min-width: 0;
	flex-basis: auto !important;
}

#body_wrap.nk-page--top .nk-local-link-card {
	height: 100%;
	padding: clamp(1.05rem, 2vw, 1.35rem) !important;
}

#body_wrap.nk-page--top .nk-local-link-card .nk-card-index {
	position: static;
	display: inline-flex;
	margin: 0 0 0.75rem !important;
	background: rgba(47, 70, 56, 0.12);
	color: var(--nk-top-green-deep);
}

#body_wrap.nk-page--top .nk-local-link-card h3 {
	margin-top: 0 !important;
	margin-bottom: 0.45rem;
	font-family: var(--nk-serif);
}

#body_wrap.nk-page--top .nk-local-link-card p {
	color: rgba(40, 40, 36, 0.68);
	font-size: 0.94rem;
	line-height: 1.75;
}

#body_wrap.nk-page--top .nk-local-link-card a {
	color: var(--nk-top-green-deep);
	font-weight: 800;
	text-decoration-thickness: 1px;
}

#body_wrap.nk-page--top .nk-reservation-cta {
	margin-top: clamp(3.6rem, 6vw, 5.2rem);
}

@media (max-width: 900px) {
	#body_wrap.nk-page--top .nk-hero-copy {
		width: min(100%, 680px) !important;
		max-width: min(100%, 680px) !important;
		margin-left: 0 !important;
	}

	#body_wrap.nk-page--top .nk-local-link-grid {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 781px) {
	#body_wrap.nk-page--top .nk-hero-block.nk-hero--editorial {
		padding-top: 3.4rem;
	}

	#body_wrap.nk-page--top .nk-hero-copy--editorial h1 {
		max-width: 11em;
	}

	#body_wrap.nk-page--top .nk-mid-cta {
		grid-template-columns: 1fr;
	}

	#body_wrap.nk-page--top .nk-mid-mascot {
		display: none;
	}

	#body_wrap.nk-page--top .nk-mid-copy h2 {
		font-size: 1.25rem;
	}

	#body_wrap.nk-page--top .nk-local-link-grid {
		grid-template-columns: 1fr;
	}

	#body_wrap.nk-page--top .nk-feature-list--facilities > .wp-block-group__inner-container {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 480px) {
	#body_wrap.nk-page--top .nk-hero-copy--editorial h1 {
		font-size: clamp(2rem, 9.2vw, 2.38rem);
	}
}

/* Top page policy pass: complete the refreshed home UI without changing lower pages. */
#body_wrap.nk-page--top .nk-hero-reservation-card p {
	min-height: 5.15rem;
}

#body_wrap.nk-page--top .nk-time-note {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	margin-top: 0.8rem;
	overflow: hidden;
	border: 1px solid rgba(40, 40, 36, 0.12);
	border-radius: 4px;
	background: rgba(40, 40, 36, 0.12);
	box-shadow: 0 10px 22px rgba(40, 40, 36, 0.055);
}

#body_wrap.nk-page--top .nk-time-note > .wp-block-group__inner-container {
	display: contents;
}

#body_wrap.nk-page--top .nk-time-note p {
	margin: 0;
	padding: 0.75rem 0.72rem;
	background: rgba(251, 248, 240, 0.78);
}

#body_wrap.nk-page--top .nk-time-note strong,
#body_wrap.nk-page--top .nk-time-note span {
	display: block;
}

#body_wrap.nk-page--top .nk-time-note strong {
	color: var(--nk-top-clay);
	font-size: 0.73rem;
	font-weight: 850;
	letter-spacing: 0.08em;
	line-height: 1.3;
}

#body_wrap.nk-page--top .nk-time-note span {
	margin-top: 0.2rem;
	color: rgba(40, 40, 36, 0.72);
	font-size: 0.82rem;
	line-height: 1.45;
}

#body_wrap.nk-page--top .nk-mini-gallery > .wp-block-image {
	position: relative;
}

#body_wrap.nk-page--top .nk-mini-gallery figcaption {
	position: absolute !important;
	right: 0;
	bottom: 0;
	left: 0;
	max-height: none !important;
	margin: 0 !important;
	padding: 2rem 0.75rem 0.65rem !important;
	background: linear-gradient(180deg, transparent, rgba(40, 40, 36, 0.62));
	color: rgba(255, 255, 255, 0.95);
	font-size: 0.78rem;
	font-weight: 700;
	line-height: 1.45;
	text-align: left;
}

#body_wrap.nk-page--top .nk-host-caption {
	position: relative;
	margin: 0.95rem 0 0 !important;
	padding: 0.82rem 0.95rem;
	border: 1px solid rgba(154, 123, 79, 0.32);
	border-radius: 4px;
	background: rgba(251, 248, 240, 0.84);
	color: rgba(40, 40, 36, 0.76);
	font-family: var(--nk-serif);
	font-size: clamp(0.98rem, 1.4vw, 1.1rem);
	line-height: 1.7;
	box-shadow: 0 10px 20px rgba(40, 40, 36, 0.055);
}

#body_wrap.nk-page--top .nk-host-caption::before {
	position: absolute;
	top: -0.45rem;
	left: 1rem;
	width: 0.85rem;
	height: 0.85rem;
	border-top: 1px solid rgba(154, 123, 79, 0.32);
	border-left: 1px solid rgba(154, 123, 79, 0.32);
	background: rgba(251, 248, 240, 0.84);
	content: "";
	transform: rotate(45deg);
}

#body_wrap.nk-page--top .nk-local-link-card {
	display: flex;
	flex-direction: column;
}

#body_wrap.nk-page--top .nk-local-link-card p:last-child {
	margin-top: auto;
	padding-top: 0.75rem;
}

#body_wrap.nk-page--top .nk-local-link-card a::after {
	display: inline-block;
	margin-left: 0.35rem;
	content: ">";
	font-size: 0.86em;
	transition: transform 0.18s ease;
}

#body_wrap.nk-page--top .nk-local-link-card a:hover::after {
	transform: translateX(2px);
}

#body_wrap.nk-page--top .nk-reservation-cta {
	padding-top: clamp(4rem, 8vw, 6.6rem);
	padding-bottom: clamp(4rem, 8vw, 6.6rem);
}

#body_wrap.nk-page--top .nk-closing-note {
	margin: clamp(1.4rem, 2.6vw, 2rem) auto 0 !important;
	color: rgba(255, 255, 255, 0.72) !important;
	font-family: var(--nk-serif);
	font-size: clamp(1rem, 1.7vw, 1.2rem);
	line-height: 1.7;
	text-align: center;
}

@media (min-width: 1000px) {
	#body_wrap.nk-page--top .nk-overview-band::before {
		background:
			linear-gradient(90deg, transparent 0 68%, rgba(47, 70, 56, 0.07) 68%),
			linear-gradient(180deg, rgba(255, 253, 248, 0.38), transparent),
			linear-gradient(165deg, transparent 0 47%, rgba(154, 123, 79, 0.11) 47.2%, transparent 47.6%),
			linear-gradient(168deg, transparent 0 52%, rgba(47, 70, 56, 0.09) 52.2%, transparent 52.6%);
	}
}

@media (max-width: 900px) {
	#body_wrap.nk-page--top .nk-time-note {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 781px) {
	#body_wrap.nk-page--top .nk-hero-reservation-card p {
		min-height: 4.45rem;
	}

	#body_wrap.nk-page--top .nk-time-note {
		margin-top: 0.7rem;
	}

	#body_wrap.nk-page--top .nk-mini-gallery figcaption {
		position: static !important;
		padding: 0.55rem 0.65rem !important;
		background: rgba(251, 248, 240, 0.86);
		color: rgba(40, 40, 36, 0.72);
		font-size: 0.76rem;
	}

	#body_wrap.nk-page--top .nk-host-caption {
		margin-top: 0.75rem !important;
	}
}

@media (max-width: 480px) {
	#body_wrap.nk-page--top .nk-time-note {
		grid-template-columns: 1fr 1fr;
	}

	#body_wrap.nk-page--top .nk-time-note p {
		padding: 0.62rem;
	}

	#body_wrap.nk-page--top .nk-time-note span {
		font-size: 0.78rem;
	}
}

/* Compact interactive facilities switcher on the top page. */
#body_wrap.nk-page--top .nk-rooms-feature-band {
	padding-top: clamp(3rem, 5.2vw, 4.5rem);
	padding-bottom: clamp(3rem, 5.2vw, 4.5rem);
}

#body_wrap.nk-page--top .nk-rooms-feature {
	align-items: center !important;
}

#body_wrap.nk-page--top .nk-facility-switcher {
	margin-top: 1.35rem;
}

#body_wrap.nk-page--top .nk-facility-tabs {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.56rem;
}

#body_wrap.nk-page--top .nk-facility-tab {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 3.15rem;
	padding: 0.72rem 0.86rem;
	border: 1px solid rgba(47, 70, 56, 0.16);
	border-radius: 4px;
	background: rgba(251, 248, 240, 0.64);
	color: rgba(40, 40, 36, 0.72);
	font: inherit;
	font-size: 0.9rem;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.35;
	text-align: left;
	box-shadow: 0 7px 16px rgba(40, 40, 36, 0.045);
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

#body_wrap.nk-page--top .nk-facility-tab::after {
	display: inline-block;
	margin-left: 0.5rem;
	color: currentColor;
	content: ">";
	font-size: 0.8em;
	opacity: 0.45;
	transition: transform 0.2s ease, opacity 0.2s ease;
}

#body_wrap.nk-page--top .nk-facility-tab:hover {
	border-color: rgba(47, 70, 56, 0.28);
	background: rgba(251, 248, 240, 0.9);
	color: var(--nk-top-green-deep);
	transform: translateY(-1px);
}

#body_wrap.nk-page--top .nk-facility-tab.is-active {
	border-color: rgba(47, 70, 56, 0.62);
	background: var(--nk-top-green);
	color: #fff;
	box-shadow: 0 12px 24px rgba(47, 70, 56, 0.16);
}

#body_wrap.nk-page--top .nk-facility-tab.is-active::before {
	position: absolute;
	inset: 0;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: inherit;
	content: "";
	pointer-events: none;
}

#body_wrap.nk-page--top .nk-facility-tab.is-active::after {
	opacity: 0.85;
	transform: translateX(2px);
}

#body_wrap.nk-page--top .nk-facility-stage {
	position: relative;
	margin: 0 !important;
	overflow: hidden;
	border: 1px solid rgba(47, 70, 56, 0.16);
	border-radius: 4px;
	background: rgba(251, 248, 240, 0.86);
	box-shadow: 0 18px 38px rgba(40, 40, 36, 0.1);
}

#body_wrap.nk-page--top .nk-facility-stage > .wp-block-group__inner-container {
	display: block;
	margin: 0;
}

#body_wrap.nk-page--top .nk-facility-stage .wp-block-image {
	display: none;
	margin: 0 !important;
}

#body_wrap.nk-page--top .nk-facility-stage .wp-block-image.is-active {
	display: block;
}

#body_wrap.nk-page--top .nk-facility-stage::before {
	position: absolute;
	inset: 0;
	z-index: 1;
	border: 1px solid rgba(255, 255, 255, 0.24);
	content: "";
	pointer-events: none;
}

#body_wrap.nk-page--top .nk-facility-stage img,
#body_wrap.nk-page--top .nk-facility-image {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3.05;
	object-fit: cover;
}

#body_wrap.nk-page--top .nk-facility-stage figcaption,
#body_wrap.nk-page--top .nk-facility-caption {
	display: block;
	margin: 0;
	padding: 1rem 1.08rem 1.05rem;
	background:
		linear-gradient(180deg, rgba(251, 248, 240, 0.96), rgba(247, 243, 234, 0.92)),
		var(--nk-top-paper-light);
	color: rgba(40, 40, 36, 0.68);
	font-size: 0.92rem;
	line-height: 1.75;
}

#body_wrap.nk-page--top .nk-facility-stage figcaption strong,
#body_wrap.nk-page--top .nk-facility-title {
	display: block;
	margin-bottom: 0.35rem;
	color: var(--nk-top-green-deep);
	font-family: var(--nk-serif);
	font-size: clamp(1.08rem, 1.65vw, 1.28rem);
	font-weight: 700;
	line-height: 1.45;
}

#body_wrap.nk-page--top .nk-facility-actions {
	width: min(100%, var(--nk-container));
	margin: clamp(1.1rem, 2vw, 1.45rem) auto 0;
	justify-content: center;
}

@media (max-width: 781px) {
	#body_wrap.nk-page--top .nk-rooms-feature-band {
		padding-top: 2.7rem;
		padding-bottom: 2.7rem;
	}

	#body_wrap.nk-page--top .nk-facility-tabs {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.46rem;
	}

	#body_wrap.nk-page--top .nk-facility-tab {
		min-height: 2.9rem;
		padding: 0.62rem 0.7rem;
		font-size: 0.82rem;
	}

	#body_wrap.nk-page--top .nk-facility-stage {
		margin-top: 1.1rem !important;
	}

	#body_wrap.nk-page--top .nk-facility-stage img,
	#body_wrap.nk-page--top .nk-facility-image {
		aspect-ratio: 16 / 10.5;
	}
}

@media (max-width: 420px) {
	#body_wrap.nk-page--top .nk-facility-tabs {
		grid-template-columns: 1fr 1fr;
	}

	#body_wrap.nk-page--top .nk-facility-tab {
		font-size: 0.78rem;
	}
}

/* Final mobile readability fixes after text review. */
@media (max-width: 781px) {
	#body_wrap.nk-page--top .nk-scene-grid {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 1rem !important;
	}

	#body_wrap.nk-page--top .nk-scene-grid > .wp-block-column,
	#body_wrap.nk-page--top .nk-scene-grid > .wp-block-column:first-child,
	#body_wrap.nk-page--top .nk-scene-grid > .wp-block-column:nth-child(2),
	#body_wrap.nk-page--top .nk-scene-grid > .wp-block-column:nth-child(3) {
		grid-column: auto !important;
		width: 100% !important;
		margin-top: 0 !important;
	}

	#body_wrap.nk-page--top .nk-scene-card .nk-inline-photo img,
	#body_wrap.nk-page--top .nk-scene-card--large .nk-inline-photo img {
		aspect-ratio: 16 / 10 !important;
	}
}

/* Rooms page polish aligned with the approved top page direction. */
#body_wrap.nk-page--rooms {
	--nk-rooms-ink: #282824;
	--nk-rooms-green: #2f4638;
	--nk-rooms-green-deep: #26382e;
	--nk-rooms-paper: #f7f3ea;
	--nk-rooms-paper-light: #fbf8f0;
	--nk-rooms-grass: #d8ddc8;
	--nk-rooms-clay: #9a7b4f;
	--nk-rooms-line: rgba(40, 40, 36, 0.16);
	--nk-rooms-shadow-soft: 0 12px 28px rgba(40, 40, 36, 0.075);
	background:
		linear-gradient(180deg, rgba(247, 243, 234, 0.98), rgba(248, 245, 237, 0.82) 58%, rgba(247, 243, 234, 0.98)),
		repeating-linear-gradient(90deg, rgba(47, 70, 56, 0.026) 0 1px, transparent 1px 74px);
	color: var(--nk-rooms-ink);
	overflow-x: clip;
}

#body_wrap.nk-page--rooms .l-content,
#body_wrap.nk-page--rooms .post_content {
	padding-right: 0 !important;
	padding-left: 0 !important;
}

#body_wrap.nk-page--rooms .post_content {
	background:
		linear-gradient(180deg, rgba(247, 243, 234, 0), rgba(247, 243, 234, 0.95) 44%, rgba(216, 221, 200, 0.26) 100%),
		repeating-linear-gradient(90deg, rgba(47, 70, 56, 0.024) 0 1px, transparent 1px 88px);
	overflow-x: clip;
}

#body_wrap.nk-page--rooms .post_content > *:not(.alignfull) {
	width: min(calc(100% - 48px), var(--nk-container));
	max-width: var(--nk-container);
	margin-right: auto;
	margin-left: auto;
}

#body_wrap.nk-page--rooms .l-header {
	border-bottom: 1px solid rgba(25, 23, 20, 0.08);
	background:
		linear-gradient(90deg, rgba(251, 250, 244, 0.94), rgba(255, 253, 248, 0.9)),
		rgba(255, 253, 248, 0.88);
	box-shadow: 0 14px 34px rgba(25, 23, 20, 0.055);
	backdrop-filter: blur(18px) saturate(1.04);
}

#body_wrap.nk-page--rooms .l-header__bar {
	display: none;
}

#body_wrap.nk-page--rooms .c-headLogo__link {
	color: var(--nk-rooms-ink);
	font-family: var(--nk-serif);
	font-weight: 800;
	letter-spacing: 0.03em;
}

#body_wrap.nk-page--rooms .c-gnav > .menu-item > a {
	color: rgba(25, 23, 20, 0.86);
	font-size: 0.93rem;
	font-weight: 780;
}

#body_wrap.nk-page--rooms .c-gnav > .menu-item > a::after {
	right: 0;
	left: 0;
	bottom: 0.82rem;
	height: 1px;
	background: linear-gradient(90deg, var(--nk-rooms-green), var(--nk-rooms-clay));
}

#body_wrap.nk-page--rooms .nk-eyebrow {
	color: var(--nk-rooms-green-deep);
	font-size: 0.78rem;
	font-weight: 850;
	letter-spacing: 0.11em;
}

#body_wrap.nk-page--rooms .nk-eyebrow::before {
	width: 3rem;
	background: linear-gradient(90deg, currentColor, rgba(154, 123, 79, 0.72));
}

#body_wrap.nk-page--rooms .nk-page-hero.nk-rooms-hero--immersive {
	left: auto !important;
	right: auto !important;
	width: 100% !important;
	max-width: none !important;
	min-height: clamp(390px, 44svh, 470px);
	margin: 0 0 clamp(2.3rem, 4vw, 3.4rem) !important;
	padding: clamp(3.2rem, 5vw, 4.4rem) max(5vw, 32px) clamp(1.45rem, 3vw, 2.2rem);
	align-items: end;
	background: var(--nk-rooms-green);
}

#body_wrap.nk-page--rooms .nk-page-hero.nk-rooms-hero--immersive::before {
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(180deg, rgba(247, 243, 234, 0.16), transparent 34%),
		linear-gradient(90deg, rgba(43, 43, 40, 0.68), rgba(47, 70, 56, 0.44) 47%, rgba(47, 70, 56, 0.12) 76%),
		linear-gradient(180deg, rgba(47, 70, 56, 0.04), rgba(43, 43, 40, 0.52));
	content: "";
}

#body_wrap.nk-page--rooms .nk-page-hero.nk-rooms-hero--immersive::after {
	z-index: -1;
	background:
		linear-gradient(90deg, rgba(43, 43, 40, 0.5), rgba(47, 70, 56, 0.3) 44%, rgba(47, 70, 56, 0.06) 82%),
		repeating-linear-gradient(90deg, rgba(247, 243, 234, 0.07) 0 1px, transparent 1px 112px);
}

#body_wrap.nk-page--rooms .nk-page-hero__source {
	inset: -18px;
	transform: translate(calc(var(--nk-depth-x, 0) * 0.5), calc(var(--nk-depth-y, 0) * 0.5)) scale(1.055);
}

#body_wrap.nk-page--rooms .nk-page-hero__source img {
	object-position: 54% 48%;
	filter: saturate(1.03) contrast(1.01) brightness(1.06);
}

#body_wrap.nk-page--rooms .nk-room-hero-copy {
	width: min(100%, 700px);
	margin: 0 auto 1rem !important;
	color: #fff;
}

#body_wrap.nk-page--rooms .nk-room-hero-copy .nk-eyebrow {
	color: rgba(255, 255, 255, 0.86);
	text-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
}

#body_wrap.nk-page--rooms .nk-room-hero-copy .nk-eyebrow::before {
	background: rgba(255, 255, 255, 0.68);
}

#body_wrap.nk-page--rooms .nk-page-hero h1 {
	max-width: 8em;
	margin-top: 0.5rem;
	margin-bottom: 0.75rem;
	color: #fff;
	font-size: clamp(2.45rem, 4.2vw, 3.45rem);
	line-height: 1.18;
	text-shadow: 0 22px 54px rgba(0, 0, 0, 0.28);
}

#body_wrap.nk-page--rooms .nk-page-hero .nk-lead {
	max-width: 42rem;
	color: rgba(255, 255, 255, 0.92);
	font-size: clamp(0.98rem, 1.1vw, 1.06rem);
	font-weight: 560;
	line-height: 1.9;
	text-shadow: 0 10px 26px rgba(0, 0, 0, 0.25);
}

#body_wrap.nk-page--rooms .nk-room-summary-strip {
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	width: min(100%, 920px);
	margin-top: 1.05rem;
	margin-right: auto !important;
	margin-left: auto !important;
	border-radius: 4px;
	border-color: rgba(247, 243, 234, 0.34);
	background: rgba(43, 43, 40, 0.22);
	box-shadow: 0 20px 46px rgba(0, 0, 0, 0.14);
}

#body_wrap.nk-page--rooms .nk-room-summary-strip p {
	padding: 0.82rem 1rem;
	background: rgba(247, 243, 234, 0.1);
}

#body_wrap.nk-page--rooms .nk-room-summary-strip strong {
	font-family: var(--nk-serif);
	font-size: clamp(1.02rem, 1.5vw, 1.22rem);
	font-weight: 800;
}

#body_wrap.nk-page--rooms .nk-room-summary-strip span {
	font-size: 0.86rem;
}

#body_wrap.nk-page--rooms .nk-room-intro-layout {
	align-items: start !important;
	gap: clamp(2rem, 5vw, 4.4rem);
	margin-bottom: clamp(2.8rem, 5vw, 4rem);
}

#body_wrap.nk-page--rooms .nk-room-intro-layout h2,
#body_wrap.nk-page--rooms .nk-section-header h2 {
	font-size: clamp(1.95rem, 3.4vw, 2.75rem);
	line-height: 1.36;
	overflow-wrap: normal;
	word-break: keep-all;
}

#body_wrap.nk-page--rooms .nk-room-spec-panel,
#body_wrap.nk-page--rooms .nk-room-tour-row,
#body_wrap.nk-page--rooms .nk-room-prep {
	border-radius: 4px;
	border-color: var(--nk-rooms-line);
	background:
		linear-gradient(180deg, rgba(251, 248, 240, 0.96), rgba(251, 248, 240, 0.86)),
		var(--nk-rooms-paper-light);
	box-shadow: var(--nk-rooms-shadow-soft);
}

#body_wrap.nk-page--rooms .nk-room-spec-panel {
	position: relative;
}

#body_wrap.nk-page--rooms .nk-room-spec-panel::before {
	position: absolute;
	top: 1rem;
	right: 1rem;
	width: 2.35rem;
	height: 2.35rem;
	border-top: 1px solid var(--nk-rooms-clay);
	border-right: 1px solid var(--nk-rooms-clay);
	content: "";
	opacity: 0.7;
}

#body_wrap.nk-page--rooms .nk-room-tour-row {
	padding: clamp(1rem, 2.2vw, 1.45rem);
}

#body_wrap.nk-page--rooms .nk-room-tour-row h3 {
	font-family: var(--nk-serif);
	max-width: 14em;
	margin-bottom: 0.8rem !important;
	overflow-wrap: anywhere;
	word-break: normal;
}

#body_wrap.nk-page--rooms .nk-room-label {
	color: var(--nk-rooms-green-deep);
	font-size: 0.78rem;
	font-weight: 850;
	letter-spacing: 0.11em;
}

#body_wrap.nk-page--rooms .nk-tour-photo,
#body_wrap.nk-page--rooms .nk-water-gallery > .wp-block-image,
#body_wrap.nk-page--rooms .nk-room-gallery > .wp-block-image {
	border-radius: 4px;
}

#body_wrap.nk-page--rooms .nk-tour-photo img,
#body_wrap.nk-page--rooms .nk-water-gallery img,
#body_wrap.nk-page--rooms .nk-room-gallery img {
	filter: saturate(0.96) contrast(1.03);
}

#body_wrap.nk-page--rooms .nk-room-gallery {
	margin-top: 1.6rem;
}

#body_wrap.nk-page--rooms .nk-equipment-band {
	margin-top: clamp(3.5rem, 6vw, 5.2rem);
	padding-top: clamp(3.4rem, 6vw, 5rem);
	padding-bottom: clamp(3.4rem, 6vw, 5rem);
	background:
		linear-gradient(115deg, rgba(247, 243, 234, 0.98), rgba(255, 253, 248, 0.96) 58%, rgba(216, 221, 200, 0.5)),
		repeating-linear-gradient(90deg, rgba(47, 70, 56, 0.026) 0 1px, transparent 1px 92px);
	border-top: 1px solid rgba(47, 70, 56, 0.12);
	border-bottom: 1px solid rgba(47, 70, 56, 0.12);
}

#body_wrap.nk-page--rooms .nk-equipment-band .nk-section-header {
	margin-top: 0;
}

#body_wrap.nk-page--rooms .nk-equipment-grid {
	display: block;
}

#body_wrap.nk-page--rooms .nk-prep-grid {
	display: block;
	margin-top: 1.3rem;
}

#body_wrap.nk-page--rooms .nk-equipment-grid > .wp-block-group__inner-container,
#body_wrap.nk-page--rooms .nk-prep-grid > .wp-block-group__inner-container {
	display: grid;
	gap: 0.82rem;
	width: 100%;
}

#body_wrap.nk-page--rooms .nk-equipment-grid > .wp-block-group__inner-container,
#body_wrap.nk-page--rooms .nk-prep-grid > .wp-block-group__inner-container {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

#body_wrap.nk-page--rooms .nk-equipment-grid p,
#body_wrap.nk-page--rooms .nk-prep-grid p {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	margin: 0;
	padding: 1rem;
	border-radius: 4px;
	border-color: rgba(47, 70, 56, 0.14);
	background: rgba(255, 253, 248, 0.72);
	box-shadow: 0 8px 18px rgba(43, 43, 40, 0.045);
}

#body_wrap.nk-page--rooms .nk-equipment-grid strong,
#body_wrap.nk-page--rooms .nk-prep-grid strong {
	color: var(--nk-rooms-green-deep);
	font-family: var(--nk-serif);
	font-size: 1rem;
}

#body_wrap.nk-page--rooms .nk-equipment-grid span,
#body_wrap.nk-page--rooms .nk-prep-grid span {
	color: rgba(43, 43, 40, 0.66);
	font-size: 0.84rem;
	line-height: 1.65;
}

#body_wrap.nk-page--rooms .nk-room-note {
	border-radius: 4px;
	border-color: rgba(47, 70, 56, 0.18);
	background:
		linear-gradient(90deg, rgba(237, 244, 236, 0.92), rgba(251, 248, 240, 0.92)),
		var(--nk-rooms-paper);
}

#body_wrap.nk-page--rooms .nk-room-prep {
	margin-top: clamp(2rem, 4vw, 3.2rem);
	padding: clamp(1.25rem, 2.6vw, 1.7rem);
}

#body_wrap.nk-page--rooms .nk-room-prep .nk-section-header {
	margin-top: 0;
	max-width: 760px;
	margin-bottom: 1.2rem;
}

#body_wrap.nk-page--rooms .nk-room-prep .nk-section-header.nk-reveal {
	opacity: 1;
	transform: none;
}

#body_wrap.nk-page--rooms .nk-room-cta {
	margin-top: clamp(4.2rem, 7vw, 6rem);
	min-height: auto;
	padding-top: clamp(3.4rem, 6vw, 5rem);
	padding-bottom: clamp(3.4rem, 6vw, 5rem);
	background:
		linear-gradient(90deg, rgba(33, 49, 39, 0.92), rgba(33, 49, 39, 0.78)),
		linear-gradient(180deg, rgba(25, 23, 20, 0.28), rgba(25, 23, 20, 0.42)),
		url("/wp-content/themes/swell_child/assets/img/nakachan/exterior-wide.webp") center / cover no-repeat;
	text-align: center;
}

#body_wrap.nk-page--rooms .nk-room-cta .nk-eyebrow {
	justify-content: center;
	color: rgba(255, 255, 255, 0.88);
}

#body_wrap.nk-page--rooms .nk-room-cta h2 {
	margin-top: 0.45rem;
	margin-bottom: 0.75rem;
	margin-right: auto;
	margin-left: auto;
	color: #fff;
	font-size: clamp(1.8rem, 3vw, 2.55rem);
	line-height: 1.32;
	text-align: center;
	text-shadow: 0 14px 32px rgba(0, 0, 0, 0.28);
}

#body_wrap.nk-page--rooms .nk-room-cta .nk-lead {
	max-width: 42rem;
	margin-right: auto;
	margin-left: auto;
	color: rgba(255, 255, 255, 0.86);
	font-size: 1rem;
	line-height: 1.9;
	text-align: center;
	text-shadow: 0 10px 24px rgba(0, 0, 0, 0.22);
}

#body_wrap.nk-page--rooms .nk-room-cta .nk-bottom-actions {
	margin-top: 1.5rem;
}

#body_wrap.nk-page--rooms .nk-room-cta .wp-block-button__link::after {
	margin-left: 0.65rem;
	content: ">";
	font-size: 0.86em;
	font-weight: 900;
}

@media (max-width: 1020px) {
	#body_wrap.nk-page--rooms .nk-equipment-grid > .wp-block-group__inner-container,
	#body_wrap.nk-page--rooms .nk-prep-grid > .wp-block-group__inner-container {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 781px) {
	#body_wrap.nk-page--rooms .l-header {
		position: relative;
	}

	#body_wrap.nk-page--rooms .post_content > *:not(.alignfull) {
		width: min(calc(100% - 32px), var(--nk-container));
	}

	#body_wrap.nk-page--rooms .nk-page-hero.nk-rooms-hero--immersive {
		min-height: auto;
		padding: 3.1rem 18px 1.25rem;
	}

	#body_wrap.nk-page--rooms .nk-page-hero__source {
		inset: 0;
		transform: none;
	}

	#body_wrap.nk-page--rooms .nk-page-hero__source img {
		object-position: 50% 46%;
	}

	#body_wrap.nk-page--rooms .nk-room-hero-copy,
	#body_wrap.nk-page--rooms .nk-room-summary-strip {
		width: 100% !important;
		max-width: none !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}

	#body_wrap.nk-page--rooms .post_content > .nk-section-header {
		width: min(calc(100% - 32px), var(--nk-container)) !important;
		max-width: var(--nk-container) !important;
		margin-right: auto !important;
		margin-left: auto !important;
	}

	#body_wrap.nk-page--rooms .nk-page-hero h1 {
		max-width: 8em;
		font-size: clamp(2rem, 8.4vw, 2.45rem);
		line-height: 1.15;
	}

	#body_wrap.nk-page--rooms .nk-page-hero .nk-lead {
		font-size: 0.98rem;
		line-height: 1.86;
	}

	#body_wrap.nk-page--rooms .nk-room-summary-strip {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		margin-top: 1.1rem;
	}

	#body_wrap.nk-page--rooms .nk-room-summary-strip p {
		padding: 0.8rem 0.78rem;
	}

	#body_wrap.nk-page--rooms .nk-room-summary-strip strong {
		font-size: 0.98rem;
	}

	#body_wrap.nk-page--rooms .nk-room-summary-strip span {
		font-size: 0.75rem;
		line-height: 1.45;
	}

	#body_wrap.nk-page--rooms .nk-room-intro-layout h2,
	#body_wrap.nk-page--rooms .nk-section-header h2,
	#body_wrap.nk-page--rooms .nk-room-cta h2 {
		font-size: clamp(1.55rem, 6.2vw, 1.85rem);
	}

	#body_wrap.nk-page--rooms .nk-room-intro-layout h2,
	#body_wrap.nk-page--rooms .nk-section-header h2 {
		overflow-wrap: anywhere;
		word-break: normal;
	}

	#body_wrap.nk-page--rooms .nk-room-tour-row,
	#body_wrap.nk-page--rooms .nk-room-tour-row--reverse {
		padding: 0;
		border: 0;
		background: transparent;
		box-shadow: none;
	}

	#body_wrap.nk-page--rooms .nk-equipment-band,
	#body_wrap.nk-page--rooms .nk-room-cta {
		padding-right: 18px;
		padding-left: 18px;
	}

	#body_wrap.nk-page--rooms .nk-equipment-grid > .wp-block-group__inner-container,
	#body_wrap.nk-page--rooms .nk-prep-grid > .wp-block-group__inner-container {
		grid-template-columns: 1fr;
	}

	#body_wrap.nk-page--rooms .nk-room-cta h2 {
		font-size: clamp(1.65rem, 7vw, 2rem);
	}

	#body_wrap.nk-page--rooms .nk-bottom-actions {
		display: grid;
		grid-template-columns: 1fr;
	}
}

@media (max-width: 480px) {
	#body_wrap.nk-page--rooms .c-headLogo__link {
		max-width: 12em;
		overflow: hidden;
		font-size: 1rem;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	#body_wrap.nk-page--rooms .nk-page-hero.nk-rooms-hero--immersive {
		padding-top: 3.1rem;
	}

	#body_wrap.nk-page--rooms .nk-room-hero-copy .nk-eyebrow {
		font-size: 0.72rem;
		line-height: 1.6;
	}

	#body_wrap.nk-page--rooms .nk-room-hero-copy .nk-eyebrow::before {
		width: 2.35rem;
	}
}

/* Lower pages shared polish aligned with the approved top and rooms direction. */
#body_wrap.nk-page--price,
#body_wrap.nk-page--experience,
#body_wrap.nk-page--access-reserve,
#body_wrap.nk-page--host,
#body_wrap.nk-page--reservation,
#body_wrap.nk-page--faq,
#body_wrap.nk-page--firefly,
#body_wrap.nk-page--long-stay,
#body_wrap.nk-page--cancel-policy,
#body_wrap.nk-page--privacy-policy,
#body_wrap.nk-post--event {
	--nk-lower-ink: #282824;
	--nk-lower-green: #2f4638;
	--nk-lower-green-deep: #26382e;
	--nk-lower-paper: #f7f3ea;
	--nk-lower-paper-light: #fbf8f0;
	--nk-lower-grass: #d8ddc8;
	--nk-lower-clay: #9a7b4f;
	--nk-lower-line: rgba(40, 40, 36, 0.16);
	--nk-lower-shadow: 0 12px 28px rgba(40, 40, 36, 0.075);
	background-color: var(--nk-lower-paper);
	background-image:
		radial-gradient(rgba(40, 40, 36, 0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.34), rgba(255, 255, 255, 0));
	background-size: 7px 7px, 100% 100%;
}

#body_wrap:is(.nk-page--price, .nk-page--experience, .nk-page--access-reserve, .nk-page--host, .nk-page--reservation, .nk-page--faq, .nk-page--firefly, .nk-page--long-stay, .nk-page--cancel-policy, .nk-page--privacy-policy, .nk-post--event) .l-header {
	border-bottom: 1px solid rgba(25, 23, 20, 0.08);
	background:
		linear-gradient(90deg, rgba(251, 250, 244, 0.94), rgba(255, 253, 248, 0.9)),
		rgba(255, 253, 248, 0.88);
	box-shadow: 0 14px 34px rgba(25, 23, 20, 0.055);
	backdrop-filter: blur(18px) saturate(1.04);
}

#body_wrap:is(.nk-page--price, .nk-page--experience, .nk-page--access-reserve, .nk-page--host, .nk-page--reservation, .nk-page--faq, .nk-page--firefly, .nk-page--long-stay, .nk-page--cancel-policy, .nk-page--privacy-policy, .nk-post--event) .l-header__bar {
	display: none;
}

#body_wrap:is(.nk-page--price, .nk-page--experience, .nk-page--access-reserve, .nk-page--host, .nk-page--reservation, .nk-page--faq, .nk-page--firefly, .nk-page--long-stay, .nk-page--cancel-policy, .nk-page--privacy-policy, .nk-post--event) .c-headLogo__link {
	color: var(--nk-lower-ink);
	font-family: var(--nk-serif);
	font-weight: 800;
	letter-spacing: 0.03em;
}

#body_wrap:is(.nk-page--price, .nk-page--experience, .nk-page--access-reserve, .nk-page--host, .nk-page--reservation, .nk-page--faq, .nk-page--firefly, .nk-page--long-stay, .nk-page--cancel-policy, .nk-page--privacy-policy, .nk-post--event) .c-gnav > .menu-item > a {
	color: rgba(25, 23, 20, 0.86);
	font-size: 0.93rem;
	font-weight: 780;
}

#body_wrap:is(.nk-page--price, .nk-page--experience, .nk-page--access-reserve, .nk-page--host, .nk-page--reservation, .nk-page--faq, .nk-page--firefly, .nk-page--long-stay, .nk-page--cancel-policy, .nk-page--privacy-policy, .nk-post--event) .c-gnav > .menu-item > a::after {
	right: 0;
	left: 0;
	bottom: 0.82rem;
	height: 1px;
	background: linear-gradient(90deg, var(--nk-lower-green), var(--nk-lower-clay));
}

#body_wrap.nk-page--price #breadcrumb,
#body_wrap.nk-page--experience #breadcrumb,
#body_wrap.nk-page--access-reserve #breadcrumb,
#body_wrap.nk-page--host #breadcrumb,
#body_wrap.nk-page--reservation #breadcrumb,
#body_wrap.nk-page--faq #breadcrumb,
#body_wrap.nk-page--firefly #breadcrumb,
#body_wrap.nk-page--long-stay #breadcrumb,
#body_wrap.nk-page--cancel-policy #breadcrumb,
#body_wrap.nk-page--privacy-policy #breadcrumb,
#body_wrap.nk-page--price .l-mainContent__inner > .c-pageTitle,
#body_wrap.nk-page--experience .l-mainContent__inner > .c-pageTitle,
#body_wrap.nk-page--access-reserve .l-mainContent__inner > .c-pageTitle,
#body_wrap.nk-page--host .l-mainContent__inner > .c-pageTitle,
#body_wrap.nk-page--reservation .l-mainContent__inner > .c-pageTitle,
#body_wrap.nk-page--faq .l-mainContent__inner > .c-pageTitle,
#body_wrap.nk-page--firefly .l-mainContent__inner > .c-pageTitle,
#body_wrap.nk-page--long-stay .l-mainContent__inner > .c-pageTitle,
#body_wrap.nk-page--cancel-policy .l-mainContent__inner > .c-pageTitle,
#body_wrap.nk-page--privacy-policy .l-mainContent__inner > .c-pageTitle {
	display: none;
}

#body_wrap.nk-page--price #content,
#body_wrap.nk-page--experience #content,
#body_wrap.nk-page--access-reserve #content,
#body_wrap.nk-page--host #content,
#body_wrap.nk-page--reservation #content,
#body_wrap.nk-page--faq #content,
#body_wrap.nk-page--firefly #content,
#body_wrap.nk-page--long-stay #content,
#body_wrap.nk-page--cancel-policy #content,
#body_wrap.nk-page--privacy-policy #content {
	width: 100%;
	max-width: none;
	margin-top: 0;
	padding-top: 0;
	padding-right: 0;
	padding-left: 0;
}

#body_wrap.nk-page--price #main_content,
#body_wrap.nk-page--experience #main_content,
#body_wrap.nk-page--access-reserve #main_content,
#body_wrap.nk-page--host #main_content,
#body_wrap.nk-page--reservation #main_content,
#body_wrap.nk-page--faq #main_content,
#body_wrap.nk-page--firefly #main_content,
#body_wrap.nk-page--long-stay #main_content,
#body_wrap.nk-page--cancel-policy #main_content,
#body_wrap.nk-page--privacy-policy #main_content,
#body_wrap.nk-page--price .l-mainContent__inner,
#body_wrap.nk-page--experience .l-mainContent__inner,
#body_wrap.nk-page--access-reserve .l-mainContent__inner,
#body_wrap.nk-page--host .l-mainContent__inner,
#body_wrap.nk-page--reservation .l-mainContent__inner,
#body_wrap.nk-page--faq .l-mainContent__inner,
#body_wrap.nk-page--firefly .l-mainContent__inner,
#body_wrap.nk-page--long-stay .l-mainContent__inner,
#body_wrap.nk-page--cancel-policy .l-mainContent__inner,
#body_wrap.nk-page--privacy-policy .l-mainContent__inner {
	width: 100%;
	max-width: none;
}

#body_wrap.nk-page--price .post_content,
#body_wrap.nk-page--experience .post_content,
#body_wrap.nk-page--access-reserve .post_content,
#body_wrap.nk-page--host .post_content,
#body_wrap.nk-page--reservation .post_content,
#body_wrap.nk-page--faq .post_content,
#body_wrap.nk-page--firefly .post_content,
#body_wrap.nk-page--long-stay .post_content,
#body_wrap.nk-page--cancel-policy .post_content,
#body_wrap.nk-page--privacy-policy .post_content {
	margin-top: 0;
	background:
		linear-gradient(180deg, rgba(247, 243, 234, 0), rgba(247, 243, 234, 0.94) 46%, rgba(216, 221, 200, 0.22) 100%),
		radial-gradient(rgba(40, 40, 36, 0.028) 1px, transparent 1px);
	background-size: auto, 8px 8px;
}

#body_wrap.nk-page--price .post_content > *:not(.alignfull),
#body_wrap.nk-page--experience .post_content > *:not(.alignfull),
#body_wrap.nk-page--access-reserve .post_content > *:not(.alignfull),
#body_wrap.nk-page--host .post_content > *:not(.alignfull),
#body_wrap.nk-page--reservation .post_content > *:not(.alignfull),
#body_wrap.nk-page--faq .post_content > *:not(.alignfull),
#body_wrap.nk-page--firefly .post_content > *:not(.alignfull),
#body_wrap.nk-page--long-stay .post_content > *:not(.alignfull),
#body_wrap.nk-page--cancel-policy .post_content > *:not(.alignfull),
#body_wrap.nk-page--privacy-policy .post_content > *:not(.alignfull) {
	max-width: var(--nk-container);
	margin-right: auto;
	margin-left: auto;
}

#body_wrap:is(.nk-page--privacy-policy, .nk-page--cancel-policy) .post_content {
	max-width: 42rem;
	margin-right: auto;
	margin-left: auto;
	padding-top: 1.5rem;
	padding-bottom: 3rem;
}

#body_wrap:is(.nk-page--privacy-policy, .nk-page--cancel-policy) .post_content h1 {
	margin: 0 0 1rem;
	font-size: clamp(1.55rem, 2.6vw, 1.9rem);
}

#body_wrap:is(.nk-page--privacy-policy, .nk-page--cancel-policy) .post_content h2 {
	margin: 2rem 0 0.7rem;
	padding-bottom: 0.35rem;
	border-bottom: 1px solid rgba(40, 40, 36, 0.12);
	font-size: 1.12rem;
}

#body_wrap:is(.nk-page--privacy-policy, .nk-page--cancel-policy) .post_content p,
#body_wrap:is(.nk-page--privacy-policy, .nk-page--cancel-policy) .post_content li {
	font-size: 0.95rem;
	line-height: 1.85;
}

#body_wrap:is(.nk-page--privacy-policy, .nk-page--cancel-policy) .nk-page-hero__source,
#body_wrap:is(.nk-page--privacy-policy, .nk-page--cancel-policy) .nk-eyebrow,
#body_wrap:is(.nk-page--privacy-policy, .nk-page--cancel-policy) .nk-lower-cta,
#body_wrap:is(.nk-page--privacy-policy, .nk-page--cancel-policy) .nk-bottom-actions {
	display: none !important;
}

#body_wrap:is(.nk-page--privacy-policy, .nk-page--cancel-policy) .nk-reveal {
	opacity: 1;
	transform: none;
	transition: none;
}

#body_wrap:is(.nk-page--privacy-policy, .nk-page--cancel-policy) .nk-lower-hero,
#body_wrap:is(.nk-page--privacy-policy, .nk-page--cancel-policy) .nk-page-hero {
	min-height: 0;
	width: auto !important;
	max-width: none !important;
	margin: 0 0 1.25rem !important;
	padding: 0 !important;
	background: none !important;
	color: inherit;
}

#body_wrap:is(.nk-page--privacy-policy, .nk-page--cancel-policy) .nk-lower-hero::before,
#body_wrap:is(.nk-page--privacy-policy, .nk-page--cancel-policy) .nk-lower-hero::after {
	content: none;
}

#body_wrap:is(.nk-page--privacy-policy, .nk-page--cancel-policy) .nk-page-hero__copy,
#body_wrap:is(.nk-page--privacy-policy, .nk-page--cancel-policy) .nk-lower-hero-copy,
#body_wrap:is(.nk-page--privacy-policy, .nk-page--cancel-policy) .nk-lower-panel,
#body_wrap:is(.nk-page--privacy-policy, .nk-page--cancel-policy) .nk-lower-note,
#body_wrap:is(.nk-page--privacy-policy, .nk-page--cancel-policy) .nk-lower-band {
	margin: 0 0 1.25rem !important;
	padding: 0 !important;
	border: 0;
	background: none !important;
	box-shadow: none;
	color: inherit;
}

#body_wrap:is(.nk-page--privacy-policy, .nk-page--cancel-policy) .nk-lower-panel::before {
	display: none;
}

#body_wrap:is(.nk-page--privacy-policy, .nk-page--cancel-policy) .nk-hero-chips,
#body_wrap:is(.nk-page--privacy-policy, .nk-page--cancel-policy) .nk-lower-summary,
#body_wrap:is(.nk-page--privacy-policy, .nk-page--cancel-policy) .nk-lower-card-grid > .wp-block-group__inner-container,
#body_wrap:is(.nk-page--privacy-policy, .nk-page--cancel-policy) .nk-lower-intro {
	display: block;
	grid-template-columns: none;
}

#body_wrap:is(.nk-page--privacy-policy, .nk-page--cancel-policy) .nk-lower-card-grid p,
#body_wrap:is(.nk-page--privacy-policy, .nk-page--cancel-policy) .nk-hero-chips p,
#body_wrap:is(.nk-page--privacy-policy, .nk-page--cancel-policy) .nk-lower-summary p,
#body_wrap:is(.nk-page--privacy-policy, .nk-page--cancel-policy) .nk-lower-panel p {
	display: block;
	min-height: 0;
	margin: 0 0 0.7rem;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
}

#body_wrap:is(.nk-page--privacy-policy, .nk-page--cancel-policy) .nk-lower-table {
	margin: 1rem 0;
	border: 1px solid rgba(40, 40, 36, 0.14);
	border-radius: 0;
	background: none;
	box-shadow: none;
}

#body_wrap .nk-lower-hero {
	left: auto !important;
	right: auto !important;
	width: 100vw !important;
	max-width: none !important;
	min-height: clamp(390px, 44svh, 470px);
	margin: 0 calc(50% - 50vw) clamp(2.3rem, 4vw, 3.4rem) !important;
	padding: clamp(3.2rem, 5vw, 4.4rem) max(5vw, 32px) clamp(1.45rem, 3vw, 2.2rem);
	align-items: end;
	background: var(--nk-lower-green);
	background-image:
		linear-gradient(90deg, rgba(14, 24, 22, 0.76), rgba(14, 24, 22, 0.52) 46%, rgba(14, 24, 22, 0.2) 82%),
		linear-gradient(180deg, rgba(14, 24, 22, 0.14), rgba(14, 24, 22, 0.72)),
		url("/wp-content/themes/swell_child/assets/img/nakachan/exterior-wide.webp");
	background-position: center;
	background-size: cover;
}

#body_wrap.nk-page--experience .nk-lower-hero {
	background-image:
		linear-gradient(90deg, rgba(14, 24, 22, 0.76), rgba(14, 24, 22, 0.5) 46%, rgba(14, 24, 22, 0.18) 82%),
		linear-gradient(180deg, rgba(14, 24, 22, 0.14), rgba(14, 24, 22, 0.72)),
		url("/wp-content/themes/swell_child/assets/img/nakachan/bbq.webp");
}

#body_wrap.nk-page--host .nk-lower-hero,
#body_wrap.nk-page--access-reserve .nk-lower-hero {
	background-image:
		linear-gradient(90deg, rgba(14, 24, 22, 0.76), rgba(14, 24, 22, 0.5) 46%, rgba(14, 24, 22, 0.18) 82%),
		linear-gradient(180deg, rgba(14, 24, 22, 0.14), rgba(14, 24, 22, 0.72)),
		url("/wp-content/themes/swell_child/assets/img/nakachan/entrance-wide.webp");
}

#body_wrap.nk-page--host .nk-lower-hero {
	background-image:
		linear-gradient(90deg, rgba(14, 24, 22, 0.76), rgba(14, 24, 22, 0.5) 46%, rgba(14, 24, 22, 0.18) 82%),
		linear-gradient(180deg, rgba(14, 24, 22, 0.14), rgba(14, 24, 22, 0.72)),
		url("/wp-content/themes/swell_child/assets/img/nakachan/exterior-wide.webp");
}

#body_wrap.nk-page--long-stay .nk-lower-hero {
	background-image:
		linear-gradient(90deg, rgba(14, 24, 22, 0.76), rgba(14, 24, 22, 0.5) 46%, rgba(14, 24, 22, 0.18) 82%),
		linear-gradient(180deg, rgba(14, 24, 22, 0.14), rgba(14, 24, 22, 0.72)),
		url("/wp-content/themes/swell_child/assets/img/nakachan/living.webp");
}

#body_wrap .nk-lower-hero::before {
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(180deg, rgba(247, 243, 234, 0.16), transparent 34%),
		linear-gradient(90deg, rgba(43, 43, 40, 0.7), rgba(47, 70, 56, 0.46) 48%, rgba(47, 70, 56, 0.14) 78%),
		linear-gradient(180deg, rgba(47, 70, 56, 0.04), rgba(43, 43, 40, 0.54));
	content: "";
}

#body_wrap .nk-lower-hero::after {
	z-index: -1;
	background:
		linear-gradient(90deg, rgba(43, 43, 40, 0.5), rgba(47, 70, 56, 0.3) 44%, rgba(47, 70, 56, 0.06) 82%),
		repeating-linear-gradient(90deg, rgba(247, 243, 234, 0.07) 0 1px, transparent 1px 112px);
}

#body_wrap .nk-lower-hero .nk-page-hero__source {
	inset: -18px;
	transform: translate(calc(var(--nk-depth-x, 0) * 0.5), calc(var(--nk-depth-y, 0) * 0.5)) scale(1.055);
}

#body_wrap .nk-lower-hero .nk-page-hero__source img {
	object-position: 54% 48%;
	filter: saturate(1.03) contrast(1.01) brightness(1.04);
}

#body_wrap .nk-lower-hero-copy {
	width: min(100%, 720px);
	margin: 0 auto 1rem !important;
	color: #fff;
}

#body_wrap .nk-lower-hero-copy .nk-eyebrow {
	color: rgba(255, 255, 255, 0.86);
	text-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
}

#body_wrap .nk-lower-hero-copy .nk-eyebrow::before {
	background: rgba(255, 255, 255, 0.68);
}

#body_wrap .nk-lower-hero h1 {
	max-width: 9em;
	margin-top: 0.5rem;
	margin-bottom: 0.75rem;
	color: #fff;
	font-size: clamp(2.45rem, 4.2vw, 3.45rem);
	line-height: 1.18;
	text-shadow: 0 22px 54px rgba(0, 0, 0, 0.28);
}

#body_wrap .nk-lower-hero .nk-lead {
	max-width: 44rem;
	color: rgba(255, 255, 255, 0.92);
	font-size: clamp(0.98rem, 1.1vw, 1.06rem);
	font-weight: 560;
	line-height: 1.9;
	text-shadow: 0 10px 26px rgba(0, 0, 0, 0.25);
}

#body_wrap .nk-lower-summary {
	grid-template-columns: repeat(auto-fit, minmax(min(160px, 100%), 1fr)) !important;
	gap: 1px;
	width: min(100%, 860px);
	margin-top: 1.05rem;
	margin-right: auto !important;
	margin-left: auto !important;
	border-radius: 4px;
	border-color: rgba(247, 243, 234, 0.34);
	background: rgba(43, 43, 40, 0.22);
	box-shadow: 0 20px 46px rgba(0, 0, 0, 0.14);
}

#body_wrap .nk-lower-summary p {
	padding: 0.82rem 1rem;
	border-right: 0;
	background: rgba(247, 243, 234, 0.1);
}

#body_wrap .nk-lower-summary strong {
	font-family: var(--nk-serif);
	font-size: clamp(1.02rem, 1.5vw, 1.18rem);
	font-weight: 800;
}

#body_wrap .nk-lower-summary span {
	font-size: 0.82rem;
}

#body_wrap .nk-lower-intro,
#body_wrap .nk-lower-split {
	align-items: center !important;
	gap: clamp(2rem, 5vw, 4.4rem);
	margin-bottom: clamp(2.8rem, 5vw, 4rem);
}

#body_wrap .nk-lower-intro h2,
#body_wrap .nk-lower-split h2,
#body_wrap:not(.nk-page--top):not(.nk-page--rooms) .nk-section-header h2 {
	font-size: clamp(1.95rem, 3vw, 2.55rem);
	line-height: 1.36;
	overflow-wrap: break-word;
	word-break: normal;
}

#body_wrap .nk-lower-intro .nk-eyebrow,
#body_wrap .nk-lower-split .nk-eyebrow {
	margin-bottom: 0.5rem;
}

#body_wrap .nk-lower-intro h2,
#body_wrap .nk-lower-split h2 {
	margin-top: 0 !important;
	margin-bottom: 0.7rem;
}

#body_wrap .nk-lower-intro h2 + p,
#body_wrap .nk-lower-split h2 + p {
	margin-top: 0;
}

#body_wrap .nk-lower-intro .nk-lead,
#body_wrap .nk-lower-split .nk-lead {
	max-width: 44rem;
}

#body_wrap.nk-page--faq .nk-faq-toc {
	margin-bottom: clamp(3rem, 5vw, 4.4rem);
	padding: clamp(1.5rem, 3vw, 2.4rem);
	border: 1px solid rgba(47, 70, 56, 0.16);
	border-radius: 8px;
	background:
		linear-gradient(135deg, rgba(255, 253, 248, 0.98), rgba(237, 244, 236, 0.86)),
		repeating-linear-gradient(90deg, rgba(47, 70, 56, 0.025) 0 1px, transparent 1px 82px);
	box-shadow: 0 14px 34px rgba(31, 27, 23, 0.07);
}

#body_wrap.nk-page--faq .nk-faq-toc h2 {
	margin: 0.42rem 0 0.45rem;
	font-family: var(--nk-serif);
	font-size: clamp(1.75rem, 3vw, 2.3rem);
	line-height: 1.35;
}

#body_wrap.nk-page--faq .nk-faq-toc h2 + p {
	margin: 0;
	color: rgba(40, 40, 36, 0.68);
}

#body_wrap.nk-page--faq .nk-faq-toc__nav {
	margin-top: 1.4rem;
}

#body_wrap.nk-page--faq .nk-faq-toc__nav ol {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.58rem 0.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

#body_wrap.nk-page--faq .nk-faq-toc__nav li {
	margin: 0;
	padding: 0;
}

#body_wrap.nk-page--faq .nk-faq-toc__nav a {
	display: grid;
	grid-template-columns: 2.2rem minmax(0, 1fr) auto;
	gap: 0.65rem;
	align-items: center;
	min-height: 3.35rem;
	padding: 0.72rem 0.9rem;
	border: 1px solid rgba(47, 70, 56, 0.12);
	border-radius: 5px;
	background: rgba(255, 253, 248, 0.82);
	color: var(--nk-green-deep);
	font-size: 0.92rem;
	font-weight: 750;
	line-height: 1.45;
	text-decoration: none;
	transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}

#body_wrap.nk-page--faq .nk-faq-toc__nav a::after {
	color: var(--nk-lower-clay, #9a7b4f);
	content: "↓";
	font-size: 0.9rem;
}

#body_wrap.nk-page--faq .nk-faq-toc__nav a:hover {
	border-color: rgba(47, 70, 56, 0.32);
	background: #fffdf8;
	transform: translateY(-1px);
}

#body_wrap.nk-page--faq .nk-faq-toc__nav a span {
	color: var(--nk-lower-clay, #9a7b4f);
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.08em;
}

#body_wrap.nk-page--faq :is(#faq-reservation, #faq-checkin, #faq-price, #faq-rooms, #faq-rules, #faq-kominka, #faq-food, #faq-experience, #faq-firefly, #faq-access, #faq-long-stay, #faq-host, #faq-other, #faq-contact) {
	scroll-margin-top: calc(var(--swl-headerH, 80px) + 1.5rem);
}

#body_wrap .nk-price-disclaimer {
	margin: 0.85rem 0 0;
	padding: 0.65rem 0.95rem;
	border-left: 3px solid var(--nk-lower-clay, #c57a2b);
	background: rgba(255, 248, 235, 0.88);
	font-size: 0.88rem;
	line-height: 1.7;
	color: #5a4635;
}

#body_wrap .nk-photo-pending {
	margin: 0.85rem 0 0;
	padding: 0.65rem 0.95rem;
	border-left: 3px solid rgba(90, 70, 53, 0.35);
	background: rgba(248, 244, 238, 0.92);
	font-size: 0.88rem;
	line-height: 1.7;
	color: #6a5848;
}

#body_wrap .nk-section-header .nk-price-disclaimer {
	margin-top: 0.75rem;
}

#body_wrap .nk-lower-band .nk-section-header .nk-price-disclaimer {
	margin-bottom: 0.25rem;
}

#body_wrap .nk-lower-panel,
#body_wrap .nk-lower-note {
	position: relative;
	padding: clamp(1.25rem, 2.6vw, 1.7rem);
	border: 1px solid var(--nk-lower-line);
	border-radius: 4px;
	background:
		linear-gradient(180deg, rgba(251, 248, 240, 0.96), rgba(251, 248, 240, 0.86)),
		var(--nk-lower-paper-light);
	box-shadow: var(--nk-lower-shadow);
}

#body_wrap .nk-lower-panel::before {
	position: absolute;
	top: 1rem;
	right: 1rem;
	width: 2.35rem;
	height: 2.35rem;
	border-top: 1px solid var(--nk-lower-clay);
	border-right: 1px solid var(--nk-lower-clay);
	content: "";
	opacity: 0.7;
}

#body_wrap .nk-lower-panel p,
#body_wrap .nk-lower-note p {
	margin: 0;
}

#body_wrap .nk-lower-panel strong,
#body_wrap .nk-lower-note strong {
	display: block;
	margin-bottom: 0.55rem;
	color: var(--nk-lower-ink);
	font-family: var(--nk-serif);
	font-size: clamp(1.08rem, 1.7vw, 1.28rem);
	line-height: 1.5;
}

#body_wrap .nk-lower-panel span,
#body_wrap .nk-lower-note span {
	display: block;
	color: rgba(40, 40, 36, 0.68);
	line-height: 1.85;
}

#body_wrap .nk-lower-photo,
#body_wrap .nk-lower-mascot,
#body_wrap .nk-lower-photo img,
#body_wrap .nk-lower-mascot img {
	border-radius: 4px;
}

#body_wrap .nk-lower-photo img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3.6;
	object-fit: cover;
	box-shadow: var(--nk-lower-shadow);
}

#body_wrap.nk-page--host .nk-lower-intro--portrait .nk-lower-photo img {
	object-position: center top;
}

#body_wrap .nk-lower-mascot img {
	display: block;
	width: min(100%, 280px);
	margin: 0 auto;
	filter: drop-shadow(0 12px 22px rgba(40, 40, 36, 0.12));
}

#body_wrap .nk-lower-card-grid,
#body_wrap .nk-lower-flow {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.82rem;
	width: 100%;
	margin-top: 1.4rem;
}

#body_wrap .nk-lower-card-grid:has(> .wp-block-group__inner-container),
#body_wrap .nk-lower-flow:has(> .wp-block-group__inner-container) {
	display: block;
}

#body_wrap .nk-lower-card-grid > .wp-block-group__inner-container,
#body_wrap .nk-lower-flow > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.82rem;
	width: 100%;
}

#body_wrap .nk-lower-card-grid:has(> p:nth-child(2):last-child),
#body_wrap .nk-lower-card-grid > .wp-block-group__inner-container:has(> p:nth-child(2):last-child) {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

#body_wrap .nk-lower-card-grid:has(> p:nth-child(4):last-child),
#body_wrap .nk-lower-card-grid > .wp-block-group__inner-container:has(> p:nth-child(4):last-child),
#body_wrap .nk-lower-card-grid--4,
#body_wrap .nk-lower-card-grid--4 > .wp-block-group__inner-container {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

#body_wrap .nk-lower-card-grid p,
#body_wrap .nk-lower-flow p {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	margin: 0;
	padding: 1rem;
	border: 1px solid rgba(47, 70, 56, 0.14);
	border-radius: 4px;
	background: rgba(255, 253, 248, 0.72);
	box-shadow: 0 8px 18px rgba(43, 43, 40, 0.045);
}

#body_wrap .nk-lower-card-grid strong,
#body_wrap .nk-lower-flow strong {
	color: var(--nk-lower-green-deep);
	font-family: var(--nk-serif);
	font-size: 1rem;
	line-height: 1.55;
}

#body_wrap .nk-lower-card-grid span,
#body_wrap .nk-lower-flow span {
	margin-top: 0.28rem;
	color: rgba(43, 43, 40, 0.66);
	font-size: 0.84rem;
	line-height: 1.65;
}

#body_wrap .nk-lower-flow > .wp-block-group__inner-container {
	grid-template-columns: 1fr;
}

#body_wrap .nk-experience-gallery {
	margin-top: clamp(1.4rem, 3vw, 2rem);
	margin-bottom: clamp(2.4rem, 4vw, 3.4rem);
}

#body_wrap .nk-experience-gallery .wp-block-gallery {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
	gap: 0.82rem !important;
	width: 100%;
}

#body_wrap .nk-experience-gallery .wp-block-image {
	width: 100% !important;
	margin: 0 !important;
}

#body_wrap .nk-experience-gallery img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	border-radius: 4px;
	object-fit: cover;
	box-shadow: var(--nk-lower-shadow);
}

#body_wrap .nk-experience-gallery figcaption {
	margin-top: 0.55rem;
	color: rgba(43, 43, 40, 0.68);
	font-size: 0.84rem;
	line-height: 1.6;
	text-align: left;
}

#body_wrap .nk-lower-flow p {
	position: relative;
	padding-left: 1.1rem;
	border-left: 4px solid var(--nk-lower-green);
}

#body_wrap .nk-lower-band {
	margin-top: clamp(3.5rem, 6vw, 5.2rem);
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
	padding: clamp(3.4rem, 6vw, 5rem) max(5vw, 28px);
	background:
		linear-gradient(115deg, rgba(247, 243, 234, 0.98), rgba(255, 253, 248, 0.96) 58%, rgba(216, 221, 200, 0.5)),
		repeating-linear-gradient(90deg, rgba(47, 70, 56, 0.026) 0 1px, transparent 1px 92px);
	border-top: 1px solid rgba(47, 70, 56, 0.12);
	border-bottom: 1px solid rgba(47, 70, 56, 0.12);
}

#body_wrap .nk-lower-band > .wp-block-group__inner-container {
	width: min(100%, var(--nk-container));
	max-width: var(--nk-container);
	margin-right: auto;
	margin-left: auto;
}

#body_wrap .nk-lower-band .nk-section-header {
	margin-top: 0;
}

#body_wrap .nk-lower-note {
	margin-top: clamp(2rem, 4vw, 3.2rem);
	background:
		linear-gradient(90deg, rgba(237, 244, 236, 0.92), rgba(251, 248, 240, 0.92)),
		var(--nk-lower-paper);
}

#body_wrap .nk-lower-table {
	overflow-x: auto;
	overflow-y: hidden;
	border: 1px solid rgba(47, 70, 56, 0.14);
	border-radius: 4px;
	background: rgba(251, 248, 240, 0.84);
	box-shadow: var(--nk-lower-shadow);
}

#body_wrap .nk-contact-hero {
	max-width: 760px;
	margin: 0 auto;
	padding: clamp(2rem, 5vw, 4rem) 0 1rem;
	text-align: center;
}

/* Contact uses the same lower-page shell as Price, Experience, and FAQ. */
#body_wrap.nk-page--contact {
	--nk-lower-ink: #282824;
	--nk-lower-green: #2f4638;
	--nk-lower-green-deep: #26382e;
	--nk-lower-paper: #f7f3ea;
	--nk-lower-paper-light: #fbf8f0;
	--nk-lower-grass: #d8ddc8;
	--nk-lower-clay: #9a7b4f;
	--nk-lower-line: rgba(40, 40, 36, 0.16);
	--nk-lower-shadow: 0 12px 28px rgba(40, 40, 36, 0.075);
	background-color: var(--nk-lower-paper);
	background-image:
		radial-gradient(rgba(40, 40, 36, 0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.34), rgba(255, 255, 255, 0));
	background-size: 7px 7px, 100% 100%;
}

#body_wrap.nk-page--contact .l-header {
	border-bottom: 1px solid rgba(25, 23, 20, 0.08);
	background:
		linear-gradient(90deg, rgba(251, 250, 244, 0.94), rgba(255, 253, 248, 0.9)),
		rgba(255, 253, 248, 0.88);
	box-shadow: 0 14px 34px rgba(25, 23, 20, 0.055);
	backdrop-filter: blur(18px) saturate(1.04);
}

#body_wrap.nk-page--contact .l-header__bar,
#body_wrap.nk-page--contact #breadcrumb,
#body_wrap.nk-page--contact .l-mainContent__inner > .c-pageTitle {
	display: none;
}

#body_wrap.nk-page--contact .c-headLogo__link,
#body_wrap.nk-page--contact .c-gnav > .menu-item > a {
	color: rgba(25, 23, 20, 0.86);
}

#body_wrap.nk-page--contact .c-headLogo__link {
	font-family: var(--nk-serif);
	font-weight: 800;
	letter-spacing: 0.03em;
}

#body_wrap.nk-page--contact .c-gnav > .menu-item > a {
	font-size: 0.93rem;
	font-weight: 780;
}

#body_wrap.nk-page--contact #content,
#body_wrap.nk-page--contact #main_content,
#body_wrap.nk-page--contact .l-mainContent__inner {
	width: 100%;
	max-width: none;
	margin-top: 0;
	padding-top: 0;
}

#body_wrap.nk-page--contact .post_content {
	margin-top: 0;
}

#body_wrap.nk-page--contact .nk-contact-band {
	background:
		linear-gradient(180deg, rgba(247, 243, 234, 0), rgba(247, 243, 234, 0.94) 46%, rgba(216, 221, 200, 0.22) 100%),
		radial-gradient(rgba(40, 40, 36, 0.028) 1px, transparent 1px);
	background-size: auto, 8px 8px;
	border-top: 0;
}

#body_wrap.nk-page--contact .nk-contact-band > .wp-block-group__inner-container {
	width: min(calc(100% - 32px), 820px);
	max-width: 820px;
	margin-right: auto;
	margin-left: auto;
	text-align: left;
}

#body_wrap.nk-page--contact .nk-lower-hero {
	align-items: center;
}

#body_wrap.nk-page--contact .nk-lower-hero-copy {
	margin: 0 auto !important;
	text-align: center;
}

#body_wrap.nk-page--contact .nk-lower-hero-copy > .wp-block-group__inner-container {
	text-align: left;
}

#body_wrap.nk-page--contact .nk-lower-hero-copy .nk-eyebrow {
	justify-content: flex-start;
}

#body_wrap.nk-page--contact .nk-lower-hero h1 {
	max-width: none;
}

#body_wrap.nk-page--contact .nk-lower-hero .nk-lead {
	margin-right: auto;
	margin-left: auto;
}

#body_wrap.nk-page--contact .nk-form-section-head {
	padding-top: 0;
	border-top: 0;
}

#body_wrap.nk-page--contact .nk-contact-form .nk-card__title {
	font-size: clamp(1.25rem, 2vw, 1.55rem);
}

#body_wrap.nk-page--contact .post_content > .nk-section-header,
#body_wrap.nk-page--contact .post_content > .nk-contact-links {
	width: min(calc(100% - 32px), 820px);
	max-width: 820px;
	margin-right: auto;
	margin-left: auto;
}

#body_wrap.nk-page--contact .post_content > .nk-section-header {
	margin-top: clamp(3rem, 6vw, 4.2rem);
}

#body_wrap .nk-contact-title {
	margin: .35rem 0 .75rem;
	color: var(--nk-ink);
	font-family: var(--nk-serif);
	font-size: clamp(2rem, 4vw, 3rem);
}

#body_wrap .nk-contact-hero .nk-lead {
	margin: 0 auto;
}

#body_wrap .nk-contact-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(250px, 320px);
	gap: 24px;
	align-items: start;
}

#body_wrap .nk-contact-band {
	padding-top: 0;
	padding-bottom: clamp(2rem, 4vw, 3.5rem);
}

#body_wrap .nk-contact-band .nk-contact-main {
	width: min(100%, 820px);
	margin: 0 auto;
}

#body_wrap.nk-page--contact .nk-contact-band .nk-contact-form {
	width: min(100%, 820px);
	margin-right: auto;
	margin-left: auto;
}

#body_wrap .nk-contact-form,
#body_wrap .nk-contact-side {
	padding: clamp(1.25rem, 3vw, 2.25rem);
}

#body_wrap .nk-field--full {
	display: grid;
	margin-top: 1rem;
}

#body_wrap .nk-contact-consent {
	margin-top: 1.25rem;
}

#body_wrap .nk-contact-submit {
	margin-top: 1.25rem;
}

#body_wrap .nk-contact-side {
	display: grid;
	gap: 1rem;
	background: var(--nk-surface-green);
}

#body_wrap .nk-contact-side .nk-card__title,
#body_wrap .nk-contact-side .nk-card__text {
	margin: 0;
}

#body_wrap .nk-contact-side-link {
	font-weight: 700;
}

#body_wrap .nk-contact-links {
	display: block;
	width: 100%;
}

#body_wrap .nk-contact-links > .wp-block-group__inner-container {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 1.25rem;
	width: 100%;
}

#body_wrap .nk-contact-links > .wp-block-group__inner-container > p {
	display: grid;
	gap: .55rem;
	margin: 0;
	padding: 1.35rem 1.5rem;
	border: 1px solid rgba(47, 70, 56, 0.14);
	border-radius: 4px;
	background: rgba(251, 248, 240, 0.84);
	box-shadow: var(--nk-lower-shadow);
}
#body_wrap .nk-contact-links > .wp-block-group__inner-container > p span {
	line-height: 1.8;
}

#body_wrap .nk-contact-links > .wp-block-group__inner-container > p a {
	display: inline-block;
	margin-left: .5rem;
	font-weight: 700;
}

@media (max-width: 960px) {
	#body_wrap .nk-contact-layout {
		display: block;
	}

	#body_wrap .nk-contact-side {
		margin-top: 1rem;
	}

	#body_wrap .nk-contact-links > .wp-block-group__inner-container {
		grid-template-columns: 1fr !important;
	}
}

#body_wrap .nk-lower-table table {
	min-width: 620px;
	margin: 0;
	border-collapse: collapse;
}

#body_wrap .nk-lower-table th,
#body_wrap .nk-lower-table td {
	border-color: rgba(47, 70, 56, 0.12);
	padding: 0.92rem 1rem;
	line-height: 1.65;
	vertical-align: top;
}

#body_wrap .nk-lower-table th {
	color: var(--nk-lower-green-deep);
	font-family: var(--nk-serif);
	background: rgba(216, 221, 200, 0.38);
}

#body_wrap .nk-lower-cta {
	margin-top: clamp(4.2rem, 7vw, 6rem);
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
	min-height: auto;
	padding: clamp(3.4rem, 6vw, 5rem) max(5vw, 28px);
	background:
		linear-gradient(90deg, rgba(33, 49, 39, 0.92), rgba(33, 49, 39, 0.78)),
		linear-gradient(180deg, rgba(25, 23, 20, 0.28), rgba(25, 23, 20, 0.42)),
		url("/wp-content/themes/swell_child/assets/img/nakachan/exterior-wide.webp") center / cover no-repeat;
	text-align: center;
}

#body_wrap .nk-lower-cta > .wp-block-group__inner-container {
	width: min(100%, var(--nk-container));
	max-width: var(--nk-container);
	margin-right: auto;
	margin-left: auto;
}

#body_wrap .nk-lower-cta .nk-eyebrow {
	justify-content: center;
	color: rgba(255, 255, 255, 0.88);
}

#body_wrap .nk-lower-cta h2 {
	margin-top: 0.45rem;
	margin-right: auto;
	margin-bottom: 0.75rem;
	margin-left: auto;
	color: #fff;
	font-size: clamp(1.8rem, 3vw, 2.55rem);
	line-height: 1.32;
	text-align: center;
	text-shadow: 0 14px 32px rgba(0, 0, 0, 0.28);
}

#body_wrap .nk-lower-cta .nk-lead {
	max-width: 42rem;
	margin-right: auto;
	margin-left: auto;
	color: rgba(255, 255, 255, 0.86);
	font-size: 1rem;
	line-height: 1.9;
	text-align: center;
	text-shadow: 0 10px 24px rgba(0, 0, 0, 0.22);
}

#body_wrap .nk-lower-cta .nk-bottom-actions,
#body_wrap .nk-policy-actions {
	align-items: stretch;
	justify-content: center;
	margin-top: 1.5rem;
}

#body_wrap.nk-page--price .nk-lower-cta .nk-bottom-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: center;
	gap: 0.8rem;
}

#body_wrap.nk-page--price .nk-lower-cta .wp-block-button {
	display: flex;
}

#body_wrap.nk-page--price .nk-lower-cta .wp-block-button__link {
	display: inline-flex;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	min-height: 3.5rem;
	padding: 0 1.35rem;
}

#body_wrap .nk-lower-cta .wp-block-button,
#body_wrap .nk-policy-actions .wp-block-button {
	display: flex;
}

#body_wrap .nk-lower-cta .wp-block-button__link,
#body_wrap .nk-policy-actions .wp-block-button__link {
	box-sizing: border-box;
	height: 3.5rem;
	min-height: 3.5rem;
	padding-top: 0;
	padding-bottom: 0;
	border-width: 1px;
	line-height: 1.2;
}

#body_wrap .nk-lower-cta .wp-block-button__link::after,
#body_wrap .nk-policy-actions .wp-block-button__link::after {
	margin-left: 0.65rem;
	content: ">";
	font-size: 0.86em;
	font-weight: 900;
}

@media (max-width: 1020px) {
	#body_wrap .nk-lower-card-grid,
	#body_wrap .nk-lower-card-grid--4,
	#body_wrap .nk-lower-card-grid:has(> p:nth-child(4):last-child),
	#body_wrap .nk-lower-card-grid > .wp-block-group__inner-container,
	#body_wrap .nk-lower-card-grid--4 > .wp-block-group__inner-container,
	#body_wrap .nk-lower-card-grid > .wp-block-group__inner-container:has(> p:nth-child(4):last-child) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 781px) {
	#body_wrap:is(.nk-page--price, .nk-page--experience, .nk-page--access-reserve, .nk-page--host, .nk-page--reservation, .nk-page--faq, .nk-page--firefly, .nk-page--long-stay, .nk-page--cancel-policy, .nk-page--privacy-policy, .nk-post--event) .l-header {
		position: relative;
	}

	#body_wrap.nk-page--price .post_content > *:not(.alignfull),
	#body_wrap.nk-page--experience .post_content > *:not(.alignfull),
	#body_wrap.nk-page--access-reserve .post_content > *:not(.alignfull),
	#body_wrap.nk-page--host .post_content > *:not(.alignfull),
	#body_wrap.nk-page--reservation .post_content > *:not(.alignfull),
	#body_wrap.nk-page--faq .post_content > *:not(.alignfull),
	#body_wrap.nk-page--firefly .post_content > *:not(.alignfull),
	#body_wrap.nk-page--long-stay .post_content > *:not(.alignfull),
	#body_wrap.nk-page--cancel-policy .post_content > *:not(.alignfull),
	#body_wrap.nk-page--privacy-policy .post_content > *:not(.alignfull) {
		width: min(calc(100% - 32px), var(--nk-container));
		max-width: var(--nk-container);
		margin-right: auto;
		margin-left: auto;
	}

	#body_wrap .nk-lower-hero {
		min-height: auto;
		padding: 3.1rem 18px 1.25rem;
	}

	#body_wrap .nk-lower-hero .nk-page-hero__source {
		inset: 0;
		transform: none;
	}

	#body_wrap .nk-lower-hero-copy,
	#body_wrap .nk-lower-summary {
		width: 100% !important;
		max-width: none !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}

	#body_wrap .nk-lower-hero h1 {
		font-size: clamp(2rem, 8.4vw, 2.45rem);
		line-height: 1.15;
	}

	#body_wrap .nk-lower-hero .nk-lead {
		font-size: 0.98rem;
		line-height: 1.86;
	}

	#body_wrap .nk-lower-summary {
		grid-template-columns: 1fr !important;
		margin-top: 1.1rem;
	}

	#body_wrap .nk-lower-summary p {
		padding: 0.78rem 0.82rem;
	}

	#body_wrap .nk-lower-intro,
	#body_wrap .nk-lower-split {
		gap: 1.35rem;
	}

	#body_wrap .nk-lower-intro h2,
	#body_wrap .nk-lower-split h2,
	#body_wrap:not(.nk-page--top):not(.nk-page--rooms) .nk-section-header h2,
	#body_wrap .nk-lower-cta h2 {
		font-size: clamp(1.55rem, 6.2vw, 1.85rem);
		overflow-wrap: anywhere;
		word-break: normal;
	}

	#body_wrap.nk-page--faq .nk-faq-toc {
		padding: 1.25rem 1rem;
	}

	#body_wrap.nk-page--faq .nk-faq-toc h2 {
		font-size: clamp(1.55rem, 6.2vw, 1.85rem);
	}

	#body_wrap.nk-page--faq .nk-faq-toc__nav ol {
		grid-template-columns: 1fr;
		gap: 0.48rem;
	}

	#body_wrap.nk-page--faq .nk-faq-toc__nav a {
		min-height: 3.1rem;
		padding: 0.65rem 0.78rem;
		font-size: 0.86rem;
	}

	#body_wrap .nk-lower-card-grid,
	#body_wrap .nk-lower-card-grid--4,
	#body_wrap .nk-lower-card-grid:has(> p:nth-child(4):last-child),
	#body_wrap .nk-lower-card-grid > .wp-block-group__inner-container,
	#body_wrap .nk-lower-card-grid--4 > .wp-block-group__inner-container,
	#body_wrap .nk-lower-card-grid > .wp-block-group__inner-container:has(> p:nth-child(4):last-child),
	#body_wrap .nk-lower-flow,
	#body_wrap .nk-lower-flow > .wp-block-group__inner-container {
		grid-template-columns: 1fr;
	}

	#body_wrap .nk-experience-gallery .wp-block-gallery {
		grid-template-columns: 1fr;
	}

	#body_wrap .nk-lower-band,
	#body_wrap .nk-lower-cta {
		padding-right: 18px;
		padding-left: 18px;
	}

	#body_wrap .nk-lower-cta h2 {
		font-size: clamp(1.65rem, 7vw, 2rem);
	}

	#body_wrap .nk-lower-cta .nk-bottom-actions,
	#body_wrap .nk-policy-actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	#body_wrap.nk-page--price .nk-lower-cta .wp-block-button,
	#body_wrap.nk-page--price .nk-lower-cta .wp-block-button__link {
		width: 100%;
	}
}

@media (max-width: 480px) {
	#body_wrap:is(.nk-page--price, .nk-page--experience, .nk-page--access-reserve, .nk-page--host, .nk-page--reservation, .nk-page--faq, .nk-page--firefly, .nk-page--long-stay, .nk-page--cancel-policy, .nk-page--privacy-policy, .nk-post--event) .c-headLogo__link {
		max-width: 12em;
		overflow: hidden;
		font-size: 1rem;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	#body_wrap .nk-lower-hero {
		padding-top: 3.1rem;
	}

	#body_wrap .nk-lower-hero-copy .nk-eyebrow {
		font-size: 0.72rem;
		line-height: 1.6;
	}

	#body_wrap .nk-lower-hero-copy .nk-eyebrow::before {
		width: 2.35rem;
	}
}

/* Mobile drawer menu aligned with the Nakachan site tone. */
@media not all and (min-width: 960px) {
	.nk-site .l-header__menuBtn .c-iconBtn,
	.nk-site .l-header__customBtn .c-iconBtn {
		color: var(--nk-green-deep);
	}

	.nk-site .l-header__menuBtn .c-iconBtn__icon,
	.nk-site .l-header__customBtn .c-iconBtn__icon {
		font-size: 22px;
	}

	.nk-site .p-spMenu {
		--nk-spmenu-ink: #282824;
		--nk-spmenu-green: #2f4638;
		--nk-spmenu-clay: #9a7b4f;
		--nk-spmenu-paper: #f7f3ea;
		--nk-spmenu-paper-light: #fffdf8;
		--nk-spmenu-line: rgba(40, 40, 36, 0.14);
	}

	.nk-site .p-spMenu__overlay {
		background:
			linear-gradient(180deg, rgba(24, 31, 25, 0.5), rgba(24, 31, 25, 0.72)),
			rgba(18, 18, 16, 0.5);
		backdrop-filter: blur(5px);
	}

	.nk-site .p-spMenu__inner {
		width: min(88vw, 390px);
		padding: 0;
		border-left: 1px solid rgba(255, 255, 255, 0.38);
		background:
			linear-gradient(180deg, rgba(255, 253, 248, 0.98), rgba(247, 243, 234, 0.98)),
			radial-gradient(rgba(40, 40, 36, 0.045) 1px, transparent 1px);
		background-size: auto, 8px 8px;
		color: var(--nk-spmenu-ink);
		box-shadow: -18px 0 48px rgba(24, 22, 20, 0.22);
	}

	.nk-site .p-spMenu__inner::before {
		z-index: 0;
		background:
			linear-gradient(90deg, rgba(47, 70, 56, 0.12), transparent 38%),
			linear-gradient(180deg, rgba(255, 255, 255, 0.42), transparent 34%);
		pointer-events: none;
	}

	.nk-site .p-spMenu__closeBtn {
		position: absolute;
		top: max(14px, env(safe-area-inset-top));
		right: 16px !important;
		left: auto !important;
		z-index: 3;
		width: 44px;
		height: 44px;
	}

	.nk-site .p-spMenu__closeBtn .c-iconBtn {
		border: 1px solid rgba(47, 70, 56, 0.16);
		border-radius: 50%;
		background: rgba(255, 253, 248, 0.78);
		color: var(--nk-spmenu-green);
		box-shadow: 0 8px 18px rgba(40, 40, 36, 0.08);
	}

	.nk-site .p-spMenu__closeBtn .c-iconBtn__icon {
		font-size: 18px;
	}

	.nk-site .p-spMenu__body {
		position: relative;
		z-index: 1;
		display: flex;
		flex-direction: column;
		min-height: 100%;
		padding: max(50px, calc(env(safe-area-inset-top) + 42px)) 20px max(24px, env(safe-area-inset-bottom));
	}

	.nk-site .c-widget__title.-spmenu {
		position: relative;
		z-index: 1;
		display: block;
		flex: 0 0 auto;
		width: 100%;
		min-height: 3rem;
		margin: 0 0 1rem;
		padding: 0 3.2rem 1rem 0;
		border-bottom: 1px solid rgba(47, 70, 56, 0.18);
		background: transparent !important;
		color: var(--nk-spmenu-green);
		font-family: var(--nk-serif);
		font-size: 1.2rem;
		font-weight: 800;
		letter-spacing: 0.03em;
		line-height: 1.45;
		overflow: visible;
		box-shadow: none !important;
	}

	.nk-site .c-widget__title.-spmenu::before {
		display: block;
		width: 3.2rem;
		height: 1px;
		margin-bottom: 0.72rem;
		background: linear-gradient(90deg, var(--nk-spmenu-green), var(--nk-spmenu-clay));
		content: "";
	}

	.nk-site .c-widget__title.-spmenu::after {
		content: none !important;
	}

	.nk-site .p-spMenu__nav {
		position: relative;
		z-index: 0;
		flex: 1 1 auto;
		clear: both;
		margin-top: 0.35rem;
	}

	.nk-site .c-spnav.c-listMenu {
		display: grid;
		gap: 0.55rem;
	}

	.nk-site .c-spnav.c-listMenu li {
		border: 0;
	}

	.nk-site .c-spnav.c-listMenu a {
		display: flex;
		align-items: center;
		justify-content: space-between;
		min-height: 3.35rem;
		padding: 0.88rem 0.95rem;
		border: 1px solid var(--nk-spmenu-line);
		border-radius: 4px;
		background: rgba(255, 253, 248, 0.72);
		color: rgba(40, 40, 36, 0.86);
		font-weight: 800;
		line-height: 1.35;
		text-decoration: none;
		box-shadow: 0 8px 18px rgba(40, 40, 36, 0.045);
	}

	.nk-site .c-spnav.c-listMenu a::after {
		flex: 0 0 auto;
		margin-left: 0.8rem;
		color: var(--nk-spmenu-clay);
		content: ">";
		font-size: 0.86rem;
		font-weight: 900;
		line-height: 1;
	}

	.nk-site .c-spnav.c-listMenu a::before {
		content: none !important;
	}

	.nk-site .c-spnav.c-listMenu a:hover,
	.nk-site .c-spnav.c-listMenu .current-menu-item > a,
	.nk-site .c-spnav.c-listMenu .-current > a {
		border-color: rgba(47, 70, 56, 0.35);
		background:
			linear-gradient(90deg, rgba(216, 221, 200, 0.52), rgba(255, 253, 248, 0.82)),
			rgba(255, 253, 248, 0.86);
		color: var(--nk-spmenu-green);
	}

	.nk-site .c-spnav .ttl {
		display: block;
		color: inherit;
		font-size: 0.98rem;
		line-height: 1.35;
	}

	.nk-site .c-spnav .c-smallNavTitle {
		display: block;
		margin-top: 0.2rem;
		color: rgba(40, 40, 36, 0.56);
		font-size: 0.7rem;
		font-weight: 700;
		letter-spacing: 0.06em;
		line-height: 1.2;
	}

	.nk-site .c-spnav .sub-menu {
		display: grid;
		gap: 0.45rem;
		margin: 0.45rem 0 0.25rem 0.8rem;
		padding-left: 0.8rem;
		border-left: 1px solid rgba(154, 123, 79, 0.3);
	}

	.nk-site .c-spnav .sub-menu a {
		min-height: 2.8rem;
		padding: 0.72rem 0.82rem;
		background: rgba(251, 248, 240, 0.58);
		font-size: 0.9rem;
		box-shadow: none;
	}

	.nk-site .p-spMenu__bottom {
		margin-top: auto;
		padding-top: 1.2rem;
		color: rgba(40, 40, 36, 0.66);
		font-size: 0.9rem;
	}

	.nk-site .p-spMenu__bottom .c-widget {
		padding-top: 1rem;
		border-top: 1px solid rgba(47, 70, 56, 0.16);
	}
}

/* Reservation is the primary conversion action. */
#body_wrap.nk-site .c-gnav > .menu-item > a[href*="/reservation"] {
	height: calc(100% - 1.55rem);
	margin-top: 0.78rem;
	margin-bottom: 0.78rem;
	padding-right: 1.05rem;
	padding-left: 1.05rem;
	border: 1px solid rgba(255, 255, 255, 0.32);
	border-radius: 4px;
	background:
		linear-gradient(135deg, rgba(154, 123, 79, 0.24), rgba(255, 255, 255, 0)),
		var(--nk-green-deep);
	color: #fff !important;
	box-shadow: 0 10px 22px rgba(47, 70, 56, 0.18);
	transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

#body_wrap.nk-site .c-gnav > .menu-item > a[href*="/reservation"]::after {
	content: none;
}

#body_wrap.nk-site .c-gnav > .menu-item > a[href*="/reservation"] .ttl,
#body_wrap.nk-site .c-gnav > .menu-item > a[href*="/reservation"] .c-smallNavTitle {
	color: inherit;
}

#body_wrap.nk-site .c-gnav > .menu-item > a[href*="/reservation"]:hover {
	filter: brightness(1.04);
	transform: translateY(-1px);
	box-shadow: 0 14px 28px rgba(47, 70, 56, 0.24);
}

@media not all and (min-width: 960px) {
	#body_wrap.nk-site .l-header {
		position: sticky !important;
		top: var(--swl-adminbarH, 0) !important;
		z-index: 100;
	}

	.nk-site .c-spnav.c-listMenu a[href*="/reservation"] {
		border-color: rgba(47, 70, 56, 0.62);
		background:
			linear-gradient(135deg, rgba(154, 123, 79, 0.28), rgba(255, 255, 255, 0)),
			var(--nk-spmenu-green);
		color: #fff;
		box-shadow: 0 12px 26px rgba(47, 70, 56, 0.18);
	}

	.nk-site .c-spnav.c-listMenu a[href*="/reservation"]::after {
		content: none;
	}
}

/* Keep eyebrow-to-heading spacing consistent across all page sections. */
#body_wrap.nk-site .post_content .nk-eyebrow + :is(h1, h2, h3, .wp-block-heading) {
	margin-top: 0.5rem !important;
}

/* Menu refinements shared across header, mobile drawer, and footer. */
#body_wrap.nk-site .nk-instagram-icon {
	display: block;
	width: 1.35rem;
	height: 1.35rem;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
}

#body_wrap.nk-site .nk-instagram-icon__dot {
	fill: currentColor;
	stroke: none;
}

#body_wrap.nk-site .c-gnav .nk-header-instagram > a {
	display: grid;
	place-items: center;
	min-width: 2.75rem;
	padding-right: 0.65rem;
	padding-left: 0.65rem;
	color: var(--nk-green-deep);
}

#body_wrap.nk-site .c-gnav .nk-header-instagram__label {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
}

#body_wrap.nk-site .c-spnav .nk-header-instagram > a {
	display: flex;
	align-items: center;
	gap: 0.7rem;
}

#body_wrap.nk-site .c-spnav .nk-header-instagram__label {
	position: static;
	width: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	clip: auto;
	white-space: normal;
}

#body_wrap.nk-site .nk-menu-item--details > a {
	cursor: default;
	pointer-events: none;
}

#body_wrap.nk-site .nk-menu-item--details > a::after {
	content: none !important;
	opacity: 0 !important;
}

#body_wrap.nk-site .c-gnav > .menu-item > a[href*="/reservation"] {
	margin-left: 0.55rem;
}

#body_wrap.nk-site .l-footer__foot {
	padding-top: 1.35rem;
}

#body_wrap.nk-site .l-footer__nav {
	align-items: start;
}

#body_wrap.nk-site .nk-footer-logo-item {
	grid-column: 1 / -1;
	margin: 0 0 0.35rem;
	list-style: none;
}

#body_wrap.nk-site .nk-footer-logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 5.5rem;
	height: 5.5rem;
	border-radius: 50%;
	background: rgba(255, 253, 248, 0.96);
	box-shadow: 0 8px 22px rgba(31, 27, 23, 0.08);
}

#body_wrap.nk-site .nk-footer-logo img {
	width: 4.5rem;
	height: 4.5rem;
	object-fit: contain;
}

#body_wrap.nk-site .nk-footer-social-item {
	grid-column: 1 / -1;
	width: min(100%, 820px);
	margin: 0.65rem auto 0;
	padding-top: 1.15rem;
	border-top: 1px solid rgba(47, 70, 56, 0.12);
	list-style: none;
}

#body_wrap.nk-site .nk-footer-social-item::before {
	display: none;
	content: none;
}

#body_wrap.nk-site .nk-footer-social {
	display: grid;
	grid-template-columns: minmax(180px, 0.72fr) minmax(0, 1.6fr);
	gap: 0.9rem;
	align-items: stretch;
}

#body_wrap.nk-site .nk-footer-instagram {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-rows: auto auto;
	gap: 0.1rem 0.65rem;
	align-content: center;
	padding: 1rem 1.1rem;
	border: 1px solid rgba(47, 70, 56, 0.14);
	border-radius: 8px;
	background: rgba(255, 253, 248, 0.92);
	color: var(--nk-green-deep);
	box-shadow: 0 8px 22px rgba(31, 27, 23, 0.06);
}

#body_wrap.nk-site .nk-footer-instagram .nk-instagram-icon {
	grid-row: 1 / 3;
	align-self: center;
	width: 1.65rem;
	height: 1.65rem;
}

#body_wrap.nk-site .nk-footer-instagram span {
	font-size: 0.96rem;
	font-weight: 850;
	line-height: 1.25;
}

#body_wrap.nk-site .nk-footer-instagram small {
	color: rgba(40, 40, 36, 0.62);
	font-size: 0.72rem;
	font-weight: 650;
}

#body_wrap.nk-site .nk-line-card {
	display: grid;
	grid-template-columns: 128px minmax(0, 1fr);
	gap: 1rem;
	align-items: center;
	padding: 1rem;
	border: 1px solid rgba(6, 199, 85, 0.22);
	border-radius: 10px;
	background: linear-gradient(135deg, rgba(239, 252, 244, 0.98), rgba(255, 253, 248, 0.96));
	box-shadow: 0 10px 24px rgba(31, 27, 23, 0.07);
}

#body_wrap.nk-site .nk-line-card__qr-link,
#body_wrap.nk-site .nk-line-card__qr {
	display: block;
}

#body_wrap.nk-site .nk-line-card__qr {
	width: 100%;
	height: auto;
	border: 5px solid #fff;
	border-radius: 8px;
}

#body_wrap.nk-site .nk-line-card__body {
	display: grid;
	gap: 0.35rem;
}

#body_wrap.nk-site :is(.nk-line-card__eyebrow, .nk-line-card__title, .nk-line-card__text) {
	margin: 0;
}

#body_wrap.nk-site .nk-line-card__eyebrow {
	color: #078a40;
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.08em;
}

#body_wrap.nk-site .nk-line-card__title {
	color: var(--nk-green-deep);
	font-size: 1.05rem;
	font-weight: 850;
	line-height: 1.35;
}

#body_wrap.nk-site .nk-line-card__text {
	color: rgba(40, 40, 36, 0.72);
	font-size: 0.82rem;
	line-height: 1.65;
}

#body_wrap.nk-site .nk-line-card__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	justify-self: start;
	min-height: 2.5rem;
	margin-top: 0.25rem;
	padding: 0.58rem 0.95rem;
	border-radius: 5px;
	background: #06c755;
	color: #fff;
	font-size: 0.83rem;
	font-weight: 850;
	text-decoration: none;
	box-shadow: 0 7px 16px rgba(6, 199, 85, 0.18);
}

#body_wrap.nk-site .nk-line-card__button span {
	margin-right: 0.35rem;
	font-weight: 900;
}

#body_wrap.nk-site .nk-line-card--contact {
	width: min(100%, 920px);
	margin: 0 auto 1.25rem;
}

#body_wrap.nk-site .nk-line-card--reservation {
	grid-template-columns: 84px minmax(0, 1fr);
	gap: 0.75rem;
	margin-top: 1rem;
	padding: 0.85rem;
}

#body_wrap.nk-site .nk-line-card--reservation .nk-line-card__title {
	font-size: 0.94rem;
}

#body_wrap.nk-site .nk-line-card--reservation .nk-line-card__text {
	font-size: 0.76rem;
}

#body_wrap.nk-site .nk-line-card--reservation .nk-line-card__button {
	width: 100%;
	min-height: 2.35rem;
	padding: 0.5rem 0.65rem;
	font-size: 0.76rem;
}

#body_wrap.nk-site .nk-reservation-line-mobile {
	display: none;
}

#body_wrap.nk-site .nk-line-card--footer {
	grid-template-columns: 88px minmax(0, 1fr);
	gap: 0.75rem;
	padding: 0.8rem;
}

#body_wrap.nk-site .nk-line-card--footer .nk-line-card__text {
	display: none;
}

#body_wrap.nk-site .nk-line-card--footer .nk-line-card__button {
	min-height: 2.25rem;
	padding: 0.48rem 0.75rem;
}

#body_wrap.nk-site .l-footer {
	border-top: 1px solid rgba(47, 70, 56, 0.14);
	background:
		linear-gradient(180deg, rgba(247, 243, 234, 0.98), rgba(251, 248, 240, 0.96)),
		radial-gradient(rgba(40, 40, 36, 0.035) 1px, transparent 1px);
	background-size: auto, 8px 8px;
	color: rgba(40, 40, 36, 0.78);
}

#body_wrap.nk-site .l-footer__foot {
	padding-top: clamp(1.7rem, 3vw, 2.3rem);
	padding-bottom: 1.4rem;
}

#body_wrap.nk-site .l-footer__nav {
	display: grid;
	grid-template-columns: repeat(6, max-content);
	gap: 0.95rem clamp(1.2rem, 3vw, 2.4rem);
	justify-content: center;
	width: min(100%, 980px);
	margin: 0 auto;
	padding: 1.25rem 0 1.05rem;
	text-align: left;
}

#body_wrap.nk-site .l-footer__nav li {
	min-width: 0;
}

#body_wrap.nk-site .l-footer__nav a {
	border-right: 0;
	border-left: 0;
	color: inherit;
	text-decoration: none;
}

#body_wrap.nk-site .l-footer__nav > .menu-item > a {
	display: inline-flex;
	align-items: center;
	min-height: auto;
	padding: 0;
	border: 0;
	color: var(--nk-green-deep);
	font-size: 0.92rem;
	font-weight: 800;
	line-height: 1.35;
}

#body_wrap.nk-site .l-footer__nav > .menu-item > a:hover {
	color: var(--nk-ink);
}

#body_wrap.nk-site .l-footer__nav .sub-menu {
	display: grid;
	gap: 0.34rem;
	margin: 0.62rem 0 0;
	padding: 0;
	border: 0;
}

#body_wrap.nk-site .l-footer__nav .sub-menu a {
	display: inline-flex;
	align-items: center;
	gap: 0.42rem;
	padding: 0;
	color: rgba(40, 40, 36, 0.66);
	font-size: 0.84rem;
	font-weight: 650;
	line-height: 1.5;
}

#body_wrap.nk-site .l-footer__nav .sub-menu a::before {
	width: 0.28rem;
	height: 0.28rem;
	border-radius: 999px;
	background: rgba(154, 123, 79, 0.42);
	content: "";
}

#body_wrap.nk-site .l-footer__nav .sub-menu a:hover {
	color: var(--nk-green-deep);
}

#body_wrap.nk-site .l-footer__nav > .menu-item:has(> a[href*="/reservation"]) {
	grid-column: 1 / -1;
	justify-self: center;
	margin-top: 0.3rem;
	padding-top: 1rem;
}

#body_wrap.nk-site .l-footer__nav a[href*="/reservation"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 10rem;
	min-height: 2.7rem;
	padding: 0.7rem 1.25rem;
	border: 0;
	border-radius: 4px;
	background: var(--nk-green-deep);
	color: #fff;
	box-shadow: 0 8px 18px rgba(47, 70, 56, 0.12);
}

#body_wrap.nk-site .l-footer .copyright {
	margin-top: 1rem;
	color: rgba(40, 40, 36, 0.58);
	font-size: 0.78rem;
	letter-spacing: 0;
}

@media (max-width: 600px) {
	#body_wrap.nk-site .l-footer__nav {
		grid-template-columns: 1fr 1fr;
		gap: 0.85rem 1rem;
		justify-content: stretch;
	}

	#body_wrap.nk-site .l-footer__nav > .menu-item > a {
		width: 100%;
	}

	#body_wrap.nk-site .l-footer__nav > .menu-item:has(> a[href*="/reservation"]) {
		grid-column: 1 / -1;
	}

	#body_wrap.nk-site .nk-footer-social {
		grid-template-columns: 1fr;
	}

	#body_wrap.nk-site .nk-line-card:not(.nk-line-card--reservation) {
		grid-template-columns: 96px minmax(0, 1fr);
		gap: 0.8rem;
	}

	#body_wrap.nk-site .nk-line-card__text {
		font-size: 0.76rem;
	}

	#body_wrap.nk-site .nk-reservation-line-mobile {
		display: block;
		margin: 1rem 2px 0;
	}

	#body_wrap.nk-site .nk-reservation-line-mobile .nk-line-card--reservation {
		margin-top: 0;
	}
}

/* Top page: Event section */
#body_wrap.nk-page--top .nk-event-section.swell-block-fullWide {
	margin-top: 0;
	margin-bottom: 0;
	border-bottom: none;
}

#body_wrap.nk-page--top .nk-home-hero + .nk-event-section {
	margin-top: 0;
}

#body_wrap.nk-page--top .nk-event-section + .nk-overview-band {
	margin-top: 0;
}

#body_wrap.nk-page--top .nk-event-header {
	display: flex;
	align-items: baseline;
	gap: 0.85rem;
	margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
}

#body_wrap.nk-page--top .nk-event-title {
	position: relative;
	margin: 0 !important;
	padding-left: 1.1rem;
	color: var(--nk-green-deep) !important;
	font-family: "Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
	font-size: clamp(2.35rem, 4.2vw, 3.25rem) !important;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: 0.04em;
}

#body_wrap.nk-page--top .nk-event-title::before {
	position: absolute;
	top: 0;
	bottom: 0.1em;
	left: 0;
	width: 4px;
	border-radius: 2px;
	background: var(--nk-green-deep);
	content: "";
}

#body_wrap.nk-page--top .nk-event-subtitle {
	margin: 0 !important;
	padding-top: 0.55em;
	color: var(--nk-text-soft);
	font-size: 0.95rem;
	letter-spacing: 0.08em;
}

#body_wrap.nk-page--top .nk-event-subtitle::before {
	content: none;
}

#body_wrap.nk-page--top .nk-event-lead {
	max-width: 42rem;
	margin: 0 0 clamp(1.25rem, 2.5vw, 1.75rem);
	color: var(--nk-text-soft);
	font-size: 0.95rem;
	line-height: 1.85;
}

#body_wrap.nk-page--top .nk-event-lead a {
	color: var(--nk-green-deep);
}

#body_wrap .nk-experience-series-grid {
	gap: clamp(1rem, 2vw, 1.5rem);
	margin-bottom: clamp(1.5rem, 3vw, 2rem);
}

#body_wrap .nk-experience-series-card {
	position: relative;
	height: 100%;
}

#body_wrap .nk-experience-badge {
	display: inline-block;
	margin: 0 0 0.75rem;
	padding: 0.28rem 0.65rem;
	border-radius: 999px;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.4;
}

#body_wrap .nk-experience-badge--guest {
	background: rgba(47, 70, 56, 0.12);
	color: var(--nk-lower-green-deep, #26382e);
}

#body_wrap .nk-experience-badge--day {
	background: rgba(154, 123, 79, 0.16);
	color: #6b522f;
}

#body_wrap .nk-experience-badge--month {
	background: rgba(40, 40, 36, 0.08);
	color: var(--nk-lower-ink, #282824);
}

#body_wrap .nk-experience-badge--planned {
	background: rgba(40, 40, 36, 0.06);
	border: 1px dashed rgba(40, 40, 36, 0.22);
	color: rgba(40, 40, 36, 0.72);
}

#body_wrap .nk-experience-list--planned .nk-experience-list-item {
	border-style: dashed;
	background: rgba(255, 255, 255, 0.72);
}

#body_wrap .nk-experience-rules-band {
	margin: 0 0 clamp(2rem, 4vw, 3rem);
	padding: clamp(1.5rem, 3vw, 2.25rem) 0;
	background: var(--nk-lower-paper-light, #fbf8f0);
}

#body_wrap .nk-experience-rules {
	gap: clamp(0.85rem, 2vw, 1.25rem);
}

#body_wrap .nk-experience-rule-card {
	height: 100%;
	padding: clamp(1rem, 2vw, 1.35rem);
	border: 1px solid var(--nk-lower-line, rgba(40, 40, 36, 0.16));
	border-radius: 0.75rem;
	background: #fff;
	box-shadow: var(--nk-lower-shadow, 0 12px 28px rgba(40, 40, 36, 0.075));
}

#body_wrap .nk-experience-rule-card h3 {
	margin-top: 0;
	font-size: 1.02rem;
}

#body_wrap .nk-experience-card-meta {
	margin-top: 0.85rem;
	color: var(--nk-text-soft);
	font-size: 0.92rem;
	line-height: 1.7;
}

#body_wrap .nk-experience-card-meta strong {
	display: block;
	margin-bottom: 0.15rem;
	color: var(--nk-lower-ink, #282824);
	font-size: 1.05rem;
}

#body_wrap .nk-experience-list {
	display: grid;
	gap: clamp(0.85rem, 2vw, 1rem);
	margin-bottom: clamp(2rem, 4vw, 3rem);
}

#body_wrap .nk-experience-list-item {
	padding: clamp(1rem, 2vw, 1.35rem) clamp(1.1rem, 2.2vw, 1.5rem);
	border: 1px solid var(--nk-lower-line, rgba(40, 40, 36, 0.16));
	border-radius: 0.75rem;
	background: #fff;
}

#body_wrap .nk-experience-list-item h3 {
	margin: 0 0 0.45rem;
	font-size: 1.02rem;
}

#body_wrap .nk-experience-list-item p:last-child {
	margin-bottom: 0;
}

#body_wrap .nk-experience-bbq-band {
	margin: clamp(2rem, 4vw, 3rem) 0;
	padding: clamp(1.5rem, 3vw, 2.5rem) 0;
	background: linear-gradient(135deg, rgba(47, 70, 56, 0.08), rgba(154, 123, 79, 0.1));
}

#body_wrap .nk-experience-bbq {
	gap: clamp(1.25rem, 3vw, 2rem);
	align-items: center;
}

#body_wrap .nk-experience-bbq .wp-block-image {
	margin: 0;
	border-radius: 0.75rem;
	overflow: hidden;
}

#body_wrap .nk-experience-bbq-details {
	display: grid;
	gap: 0.65rem;
	margin-top: 1rem;
}

#body_wrap .nk-experience-bbq-details p {
	display: grid;
	grid-template-columns: 7.5rem 1fr;
	gap: 0.75rem;
	margin: 0;
	font-size: 0.94rem;
	line-height: 1.7;
}

#body_wrap .nk-experience-bbq-details strong {
	color: var(--nk-lower-green-deep, #26382e);
}

@media (max-width: 781px) {
	#body_wrap .nk-experience-series-grid,
	#body_wrap .nk-experience-rules {
		flex-direction: column;
	}

	#body_wrap .nk-experience-bbq {
		flex-direction: column;
	}

	#body_wrap .nk-experience-bbq-details p {
		grid-template-columns: 1fr;
		gap: 0.2rem;
	}
}

#body_wrap .nk-event-list.p-postListWrap {
	margin-top: 0;
}

#body_wrap .nk-event-list .p-postList.-type-card {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 1.5rem);
	margin: 0;
	padding: 0;
	list-style: none;
}

#body_wrap .nk-event-list .p-postList__item {
	margin: 0;
}

@media (min-width: 1020px) {
	.-sidebar-off .-type-card.-pc-col3 .p-postList__item {
		width: 100%;
	}
}

#body_wrap .nk-event-list .p-postList__link {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	border: 1px solid rgba(51, 45, 38, 0.1);
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 10px 28px rgba(31, 27, 23, 0.08);
	text-decoration: none;
	transition: transform 0.22s ease, box-shadow 0.22s ease;
}

#body_wrap .nk-event-list .p-postList__link:hover {
	box-shadow: 0 16px 36px rgba(31, 27, 23, 0.12);
	transform: translateY(-3px);
}

#body_wrap .nk-event-list .p-postList__thumb {
	margin: 0;
	border-radius: 0;
}

#body_wrap .nk-event-list .p-postList__thumb .c-postThumb__figure {
	position: relative;
	aspect-ratio: 16 / 9;
	height: auto !important;
	padding-bottom: 0 !important;
	overflow: hidden;
	border-radius: 0;
}

#body_wrap .nk-event-list .p-postList__thumb .c-postThumb__img,
#body_wrap .nk-event-list .p-postList__thumb img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

#body_wrap .nk-event-list .p-postList__body {
	position: relative;
	flex: 1;
	padding: 1.15rem 3.5rem 1.35rem 1.15rem;
}

#body_wrap .nk-event-list .p-postList__body::before {
	position: absolute;
	top: 1rem;
	left: 1.15rem;
	display: inline-flex;
	align-items: center;
	padding: 0.2rem 0.55rem;
	border-radius: 999px;
	background: rgba(4, 56, 76, 0.08);
	color: var(--nk-green-deep);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	content: "宿泊者限定";
}

#body_wrap.nk-page--experience .nk-event-list .p-postList__body::before {
	content: none;
}

#body_wrap.nk-page--experience .nk-event-list .p-postList__title {
	margin-top: 0 !important;
}

#body_wrap .nk-event-list .p-postList__title {
	margin: 1.55rem 0 0 !important;
	padding: 0 !important;
	background: transparent !important;
	color: var(--nk-ink);
	font-size: 1rem !important;
	font-weight: 700;
	line-height: 1.55;
}

#body_wrap .nk-event-list .p-postList__title::before {
	content: none;
}

#body_wrap .nk-event-list .p-postList__meta {
	display: none;
}

#body_wrap .nk-event-list .p-postList__link::after {
	position: absolute;
	right: 1rem;
	bottom: 1rem;
	display: grid;
	width: 2.35rem;
	height: 2.35rem;
	place-items: center;
	border-radius: 50%;
	background: var(--nk-brown);
	color: #fff;
	font-size: 1rem;
	line-height: 1;
	content: "→";
	pointer-events: none;
}

@media (max-width: 959px) {
	#body_wrap .nk-event-list .p-postList.-type-card {
		grid-template-columns: 1fr;
	}
}

#body_wrap.nk-page--top .nk-home-news {
	margin-top: clamp(1.6rem, 3vw, 2.2rem);
	padding-top: 0;
	border: 0;
}

#body_wrap.nk-page--top .nk-home-news__title {
	margin: 0 0 0.55rem !important;
	color: var(--nk-green-deep);
	font-size: 0.92rem;
	font-weight: 700;
	letter-spacing: 0.08em;
}

#body_wrap.nk-page--top .nk-home-news-list.p-postListWrap {
	margin: 0;
}

#body_wrap.nk-page--top .nk-home-news-list .p-postList {
	margin: 0;
	padding: 0;
	list-style: none;
	border: 0;
	background: none;
}

#body_wrap.nk-page--top .nk-home-news-list .p-postList__item {
	margin: 0;
	padding: 0;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
}

#body_wrap.nk-page--top .nk-home-news-list .p-postList__link {
	display: flex;
	align-items: baseline;
	gap: 1rem;
	padding: 0.45rem 0;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
	text-decoration: none;
}

#body_wrap.nk-page--top .nk-home-news-list .p-postList__body {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.45rem 1rem;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: none !important;
	box-shadow: none;
}

#body_wrap.nk-page--top .nk-home-news-list .p-postList__meta {
	margin: 0;
	color: var(--nk-text-soft);
	font-size: 0.78rem;
	line-height: 1.4;
	white-space: nowrap;
}

#body_wrap.nk-page--top .nk-home-news-list .p-postList__title {
	flex: 1 1 12rem;
	margin: 0 !important;
	color: var(--nk-ink);
	font-family: inherit;
	font-size: 0.95rem !important;
	font-weight: 700;
	line-height: 1.55;
}

#body_wrap.nk-page--top .nk-home-news-list .p-postList__title::before {
	content: none;
}

#body_wrap.nk-page--top .nk-home-news-list .p-postList__link:hover .p-postList__title {
	color: var(--nk-green-deep);
}

/* Event single — 記事UIは SWELL 標準。サイト背景・ヘッダーのトンマナのみ適用 */
#body_wrap.nk-post--event .post_content:empty {
	display: none;
	margin: 0;
	padding: 0;
}
