/* The editorial column, supporting navigation and enquiry routes share the
 * homepage's paper / forest palette. This file is only loaded on inner pages.
 */
body.yomo-inner #content {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 64px;
	align-items: start;
	max-width: 1520px;
	padding-top: clamp(36px, 4.5vw, 64px);
}
body.yomo-inner #content::before,
body.yomo-inner #content::after { content: none; }
body.yomo-inner #content #main_content,
body.yomo-inner #content #main_content .l-mainContent__inner {
	float: none;
	width: 100%;
	min-width: 0;
	max-width: none;
	margin: 0;
}
body.yomo-inner #main_content .p-postList.p-postList {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 40px 22px !important;
}
body.yomo-inner #main_content .yi-works-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 42px 28px !important;
}
.yomo-inner #main_content .p-postList .p-postList__title {
	font-size: clamp(18px, 1.5vw, 21px);
	line-height: 1.85;
}
.yomo-inner #main_content .p-postList .p-postList__excerpt {
	font-size: 12px;
	line-height: 2;
}
.yomo-inner #main_content .post_content { font-size: 16px; line-height: 2.15; }
.yomo-inner #main_content .p-articleHead { margin-bottom: 28px; }
.yomo-inner #main_content .c-postTitle__ttl { font-size: clamp(28px, 2.8vw, 40px); }
.yomo-inner #main_content .yi-works-head h1 { font-size: clamp(30px, 3.2vw, 46px); }
.yomo-inner #main_content .yi-works-single .yi-works-head h1 { font-size: clamp(28px, 2.8vw, 40px); }

/* The upper sidebar stays in normal flow. Only the final consultation card
 * can follow the reader, within the remaining height of the content column.
 */
.yomo-inner #sidebar.yi-sidebar {
	float: none;
	position: static;
	width: 100%;
	min-width: 0;
	max-width: none;
	margin: 0;
	padding: 48px 0 0;
	border: 0;
	border-top: 1px solid var(--e-line);
	background: transparent;
	color: var(--e-ink);
}
.yomo-inner .yi-sidebar,
.yomo-inner .yi-sidebar *,
.yomo-inner .yi-sidebar *::before,
.yomo-inner .yi-sidebar *::after,
.yomo-inner .yi-cta,
.yomo-inner .yi-cta *,
.yomo-inner .yi-cta *::before,
.yomo-inner .yi-cta *::after { box-sizing: border-box; }
.yomo-inner .yi-sidebar-inner {
	position: static;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: start;
	gap: 36px 32px;
}
.yomo-inner .yi-sidebar-follow { min-width: 0; margin-top: 36px; }
.yomo-inner .yi-sidebar-section {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}
.yomo-inner .yi-sidebar-eyebrow {
	margin: 0 0 14px;
	color: #715b3c;
	font: 10px/1.7 var(--e-sans);
	letter-spacing: .17em;
}
.yomo-inner .yi-sidebar-title {
	margin: 0 0 20px;
	padding: 0 0 15px;
	border: 0;
	border-bottom: 1px solid var(--e-line);
	background: transparent;
	color: var(--e-ink);
	font: 400 21px/1.8 var(--e-serif);
	letter-spacing: .03em;
	box-shadow: none;
}
.yomo-inner .yi-sidebar-title::before,
.yomo-inner .yi-sidebar-title::after { display: none; }
.yomo-inner .yi-sidebar-copy {
	margin: 0 0 24px;
	color: var(--e-muted);
	font: 13px/2.05 var(--e-serif);
	overflow-wrap: anywhere;
}
.yomo-inner .yi-sidebar-contact {
	padding: 28px 25px;
	border: 1px solid var(--e-ink);
	border-radius: 10px;
	background: var(--e-ink);
	color: var(--e-paper);
}
.yomo-inner .yi-sidebar-contact .yi-sidebar-eyebrow { color: var(--e-gold); }
.yomo-inner .yi-sidebar-contact .yi-sidebar-title {
	margin-bottom: 17px;
	padding-bottom: 0;
	border: 0;
	color: var(--e-paper);
	font-size: 23px;
}
.yomo-inner .yi-sidebar-contact .yi-sidebar-copy { color: #e4e6d9; }
.yomo-inner .yi-sidebar-actions { display: grid; grid-auto-rows: 1fr; gap: 12px; }
.yomo-inner .yi-sidebar-button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	width: 100%;
	min-height: 48px;
	padding: 12px 15px;
	border: 1px solid var(--e-gold);
	border-radius: 0;
	background: var(--e-gold);
	color: var(--e-deep);
	font: 13px/1.8 var(--e-serif);
	text-decoration: none;
	transition: background .2s ease, border-color .2s ease;
}
.yomo-inner .yi-sidebar-button:hover { border-color: var(--e-paper); background: var(--e-paper); color: var(--e-deep); }
.yomo-inner .yi-sidebar-button.yi-sidebar-marketplace { border-color: var(--e-paper); background: var(--e-paper); color: var(--e-deep); }
.yomo-inner .yi-sidebar-button.yi-sidebar-marketplace:hover { border-color: var(--e-gold); background: var(--e-gold); color: var(--e-deep); }
.yomo-inner .yi-sidebar-button svg,
.yomo-inner .yi-sidebar-text-link svg { flex: 0 0 24px; width: 24px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.2; }
.yomo-inner .yi-sidebar-posts,
.yomo-inner .yi-sidebar-categories { margin: 0; padding: 0; list-style: none; }
.yomo-inner .yi-sidebar-posts > li { margin: 0; padding: 17px 0; border-bottom: 1px solid var(--e-line); }
.yomo-inner .yi-sidebar-posts > li:first-child { padding-top: 0; }
.yomo-inner .yi-sidebar-post {
	display: grid;
	grid-template-columns: 84px minmax(0, 1fr);
	align-items: start;
	gap: 14px;
	color: var(--e-ink);
	text-decoration: none;
}
.yomo-inner .yi-sidebar-thumb {
	display: block;
	overflow: hidden;
	width: 100%;
	aspect-ratio: 4 / 3;
	border-radius: 6px;
	background: #e3e3d7;
}
.yomo-inner .yi-sidebar-thumb img,
.yomo-inner .yi-sidebar-work-image img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
}
.yomo-inner .yi-sidebar-post-content { min-width: 0; }
.yomo-inner .yi-sidebar-post-content:first-child { grid-column: 1 / -1; }
.yomo-inner .yi-sidebar-post-content time { display: block; margin-bottom: 5px; color: #715b3c; font: 10px/1.7 var(--e-sans); }
.yomo-inner .yi-sidebar-post-content strong { display: block; font: 400 13px/1.85 var(--e-serif); overflow-wrap: anywhere; }
.yomo-inner .yi-sidebar-post:hover strong { color: #715b3c; text-decoration: underline; text-underline-offset: .25em; }
.yomo-inner .yi-sidebar-categories li { margin: 0; padding: 0; }
.yomo-inner .yi-sidebar-categories li a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 45px;
	padding: 11px 0;
	border-bottom: 1px solid var(--e-line);
	color: var(--e-ink);
	font: 13px/1.8 var(--e-serif);
	text-decoration: none;
}
.yomo-inner .yi-sidebar-categories li a:hover { color: #715b3c; }
.yomo-inner .yi-sidebar-count { flex: 0 0 auto; color: var(--e-muted); font: 11px/1.7 var(--e-sans); }
.yomo-inner .yi-sidebar-work { display: block; color: var(--e-ink); text-decoration: none; }
.yomo-inner .yi-sidebar-work-image { display: block; overflow: hidden; width: 100%; aspect-ratio: 16 / 10; margin-bottom: 16px; border-radius: 8px; background: #e3e3d7; }
.yomo-inner .yi-sidebar-work-image img { object-position: top; }
.yomo-inner .yi-sidebar-work > strong { display: block; margin-bottom: 8px; font: 400 17px/1.8 var(--e-serif); }
.yomo-inner .yi-sidebar-work > span:not(.yi-sidebar-work-image) { color: var(--e-muted); font: 12px/1.9 var(--e-serif); }
.yomo-inner .yi-sidebar-work:hover > strong { color: #715b3c; }
.yomo-inner .yi-sidebar-text-link { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 44px; margin-top: 15px; padding: 10px 0; color: #715b3c; font: 12px/1.8 var(--e-serif); text-decoration: none; }
.yomo-inner .yi-sidebar-text-link:hover { text-decoration: underline; text-underline-offset: .25em; }
.yomo-inner .yi-sidebar :is(a, button, input, summary):focus-visible,
.yomo-inner .yi-cta :is(a, button):focus-visible { outline: 2px solid #715b3c; outline-offset: 5px; }
.yomo-inner .yi-sidebar-contact :is(a, button):focus-visible { outline-color: var(--e-gold); }
.yomo-inner .yi-sidebar-button.yi-sidebar-proof { border-color: #a8b29f; background: transparent; color: var(--e-paper); }
.yomo-inner .yi-sidebar-button.yi-sidebar-proof:hover { border-color: var(--e-paper); background: var(--e-paper); color: var(--e-deep); }

/* Keep submission on the existing contact URL. CF7 owns the outcome state;
 * supporting links appear only after it reports success or a sending failure. */
.yomo-inner #main_content .yi-contact-intro .yi-contact-privacy { font: 12px/1.9 var(--e-sans); }
.yomo-inner #main_content #yi-contact-form .yi-contact-outcome {
	display: none;
	margin: 28px 0 0;
	padding: 25px;
	border: 1px solid #bfc5b5;
	border-radius: 8px;
	background: #eeeee4;
	color: var(--e-ink);
	font: 14px/2 var(--e-serif);
}
.yomo-inner #main_content #yi-contact-form:has(.wpcf7-form.sent) .yi-contact-success,
.yomo-inner #main_content #yi-contact-form:has(.wpcf7-form:is(.failed, .aborted, .spam)) .yi-contact-failure { display: block; }
.yomo-inner #main_content #yi-contact-form .yi-contact-outcome p { margin: 0 0 12px; font-size: 14px; }
.yomo-inner #main_content #yi-contact-form .yi-contact-next-links { display: flex; flex-wrap: wrap; gap: 10px 24px; }
.yomo-inner #main_content #yi-contact-form .yi-contact-outcome a {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	min-height: 44px;
	padding: 9px 0;
	color: #395b49;
	font: 13px/1.9 var(--e-serif);
	text-decoration: underline;
	text-underline-offset: .25em;
}
.yomo-inner #main_content #yi-contact-form .yi-contact-outcome a:hover { color: #715b3c; }
.yomo-inner #main_content #yi-booking-notice { padding: clamp(24px, 4vw, 42px); border: 1px solid #bfc5b5; border-radius: 10px; background: #eeeee4; }
.yomo-inner #main_content #yi-booking-notice h2 { margin: 0 0 20px; padding: 0; border: 0; background: transparent; color: var(--e-ink); font: 400 clamp(23px, 2.5vw, 30px)/1.8 var(--e-serif); box-shadow: none; }
.yomo-inner #main_content #yi-booking-notice h2::before,
.yomo-inner #main_content #yi-booking-notice h2::after { display: none; }
.yomo-inner #main_content #yi-booking-notice p { margin: 0 0 24px; color: var(--e-muted); font: 14px/2.1 var(--e-serif); }
.yomo-inner #main_content #yi-booking-notice .yi-booking-contact { display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 50px; padding: 13px 20px; border: 1px solid var(--e-ink); background: var(--e-ink); color: var(--e-paper); font: 13px/1.9 var(--e-serif); text-decoration: none; }
.yomo-inner #main_content #yi-booking-notice .yi-booking-contact:hover { background: #405946; border-color: #405946; }

/* One decision at the end of the reading flow: contact first, supporting work
 * second. The site variant is used where there is no content-end variant.
 */
.yomo-inner .yi-cta {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 28px;
	width: 100%;
	min-width: 0;
	color: var(--e-ink);
	font-family: var(--e-serif);
}
.yomo-inner .yi-cta--content {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	margin-block: 58px 38px;
	padding: clamp(30px, 4vw, 52px);
	border: 1px solid #59674e;
	border-radius: 12px;
	background: var(--e-ink);
	color: var(--e-paper);
}
.yomo-inner .yi-cta__media {
	position: absolute;
	inset: -64px 0;
	z-index: -2;
	pointer-events: none;
	transform: translate3d(0, var(--e-parallax, 0px), 0);
}
.yomo-inner .yi-cta__media img {
	display: block;
	width: 100%;
	height: 100%;
	max-height: none;
	margin: 0;
	border: 0;
	border-radius: 0;
	object-fit: cover;
	object-position: center 58%;
}
.yomo-inner .yi-cta--content::before {
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(100deg, rgb(15 32 23 / 86%), rgb(15 32 23 / 82%) 58%, rgb(15 32 23 / 76%));
	content: '';
	pointer-events: none;
}
.yomo-inner .yi-cta__eyebrow { margin: 0 0 16px; color: #715b3c; font: 10px/1.7 var(--e-sans); letter-spacing: .19em; }
.yomo-inner .yi-cta .yi-cta__title {
	margin: 0 0 20px;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font: 400 clamp(24px, 2.3vw, 31px)/1.8 var(--e-serif);
	letter-spacing: .035em;
	box-shadow: none;
	overflow-wrap: anywhere;
}
.yomo-inner .yi-cta .yi-cta__title::before,
.yomo-inner .yi-cta .yi-cta__title::after { display: none; }
.yomo-inner .yi-cta__description { max-width: 700px; margin: 0; color: var(--e-muted); font: 14px/2.05 var(--e-serif); overflow-wrap: anywhere; }
.yomo-inner .yi-cta__topics { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 22px 0 0; padding: 0; list-style: none; color: #53614f; font: 11px/1.8 var(--e-sans); }
.yomo-inner .yi-cta__topics li { margin: 0; padding: 0; }
.yomo-inner .yi-cta__topics li::before { content: '・'; }
.yomo-inner .yi-cta__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.yomo-inner .yi-cta__button {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 52px;
	padding: 15px 21px;
	border: 1px solid var(--e-ink);
	border-radius: 0;
	font: 13px/1.8 var(--e-serif);
	text-decoration: none;
	transition: color .2s ease, background .2s ease, border-color .2s ease;
}
.yomo-inner .yi-cta__button svg { flex: 0 0 26px; width: 26px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.2; }
.yomo-inner .yi-cta__button--primary { background: var(--e-ink); color: var(--e-paper); }
.yomo-inner .yi-cta__button--primary:hover { border-color: #405946; background: #405946; color: var(--e-paper); }
.yomo-inner .yi-cta__button--secondary { border-color: #9da592; background: transparent; color: var(--e-ink); }
.yomo-inner .yi-cta__button--secondary:hover { border-color: var(--e-ink); background: #e1e5d8; color: var(--e-ink); }
.yomo-inner .yi-cta__note { grid-column: 1 / -1; margin: -10px 0 0; color: var(--e-muted); font: 11px/1.9 var(--e-sans); }
.yomo-inner .yi-cta--content .yi-cta__eyebrow { color: var(--e-gold); }
.yomo-inner .yi-cta--content .yi-cta__description,
.yomo-inner .yi-cta--content .yi-cta__note { color: #e4e6d9; }
.yomo-inner .yi-cta--content .yi-cta__actions { align-items: stretch; }
.yomo-inner .yi-cta--content .yi-cta__button { min-height: 58px; }
.yomo-inner .yi-cta--content .yi-cta__button--primary { border-color: var(--e-gold); background: var(--e-gold); color: var(--e-deep); }
.yomo-inner .yi-cta--content .yi-cta__button--primary:hover { border-color: var(--e-paper); background: var(--e-paper); color: var(--e-deep); }
.yomo-inner .yi-cta--content .yi-cta__button--secondary { border-color: #b2bba7; background: rgb(15 32 23 / 15%); color: var(--e-paper); }
.yomo-inner .yi-cta--content .yi-cta__button--secondary:hover { border-color: var(--e-paper); background: #405946; color: var(--e-paper); }
.yomo-inner .yi-cta--content .yi-cta__button svg { transition: transform .2s ease; }
.yomo-inner .yi-cta--content .yi-cta__button:hover svg { transform: translateX(3px); }
.yomo-inner .yi-cta--content :is(a, button):focus-visible { outline-color: var(--e-gold); }
.yomo-inner .yi-site-cta {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	width: 100%;
	margin: 0;
	padding: clamp(54px, 6vw, 88px) var(--e-gutter);
	border-block: 1px solid #59674e;
	background: var(--e-ink);
	color: var(--e-paper);
}
.yomo-inner .yi-site-cta__media {
	position: absolute;
	inset: -64px 0;
	z-index: -2;
	pointer-events: none;
	transform: translate3d(0, var(--e-parallax, 0px), 0);
}
.yomo-inner .yi-site-cta__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 58%;
}
.yomo-inner .yi-site-cta::before {
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(100deg, rgb(15 32 23 / 82%), rgb(15 32 23 / 80%) 58%, rgb(15 32 23 / 80%));
	content: '';
	pointer-events: none;
}
.yomo-inner .yi-cta--site { grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 36px 64px; max-width: 1280px; margin-inline: auto; color: var(--e-paper); }
.yomo-inner .yi-cta--site .yi-cta__eyebrow { color: var(--e-gold); }
.yomo-inner .yi-cta--site .yi-cta__title { font-size: clamp(28px, 3vw, 40px); }
.yomo-inner .yi-cta--site .yi-cta__description { color: #e4e6d9; }
.yomo-inner .yi-cta--site .yi-cta__topics { color: var(--e-gold); }
.yomo-inner .yi-cta--site .yi-cta__actions { flex-direction: column; align-items: stretch; width: 260px; }
.yomo-inner .yi-cta--site .yi-cta__button--primary { border-color: var(--e-gold); background: var(--e-gold); color: var(--e-deep); }
.yomo-inner .yi-cta--site .yi-cta__button--primary:hover { border-color: var(--e-paper); background: var(--e-paper); color: var(--e-deep); }
.yomo-inner .yi-cta--site .yi-cta__button--secondary { border-color: #b2bba7; background: transparent; color: var(--e-paper); }
.yomo-inner .yi-cta--site .yi-cta__button--secondary:hover { border-color: var(--e-paper); background: #405946; color: var(--e-paper); }
.yomo-inner .yi-cta--site .yi-cta__note { color: #e4e6d9; }
.yomo-inner .yi-cta--site :is(a, button):focus-visible { outline-color: var(--e-gold); }

@media (min-width: 1100px) {
	body.yomo-inner #content { grid-template-columns: minmax(0, 1fr) 300px; column-gap: 48px; }
	.yomo-inner #sidebar.yi-sidebar { display: flex; flex-direction: column; align-self: stretch; padding: 0; border: 0; }
	.yomo-inner .yi-sidebar-inner { flex: 0 0 auto; grid-template-columns: minmax(0, 1fr); gap: 38px; }
	.yomo-inner .yi-sidebar-follow { flex: 1 0 auto; margin-top: 38px; }
	.yomo-inner .yi-sidebar-follow .yi-sidebar-contact--following { position: sticky; top: var(--yi-sidebar-sticky-top, 148px); }
	.yomo-inner #main_content .yi-works-details { grid-template-columns: 140px minmax(0, 1fr); gap: 24px; }
	.yomo-inner #main_content .yi-works-details dl > div { grid-template-columns: 105px minmax(0, 1fr); gap: 14px; }
}
@media (max-width: 1099px) {
	body.yomo-inner #main_content .p-postList.p-postList { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 24px !important; }
	.yomo-inner .yi-cta--site { grid-template-columns: minmax(0, 1fr); }
	.yomo-inner .yi-cta--site .yi-cta__actions { flex-direction: row; align-items: center; width: auto; }
	.yomo-inner .yi-cta--site .yi-cta__button { min-width: 240px; }
}
@media (max-width: 599px) {
	body.yomo-inner #content { gap: 46px; padding-top: 30px; }
	body.yomo-inner #main_content .p-postList.p-postList { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 14px !important; }
	body.yomo-inner #main_content .yi-works-grid { grid-template-columns: minmax(0, 1fr); gap: 36px !important; }
	.yomo-inner #main_content .p-postList .p-postList__title { font-size: clamp(15px, 3.9vw, 18px); line-height: 1.8; letter-spacing: 0; }
	.yomo-inner #main_content .c-postTitle__ttl { font-size: 27px; }
	.yomo-inner #main_content .post_content { font-size: 15px; }
	.yomo-inner #sidebar.yi-sidebar { padding-top: 36px; }
	.yomo-inner .yi-sidebar-inner { grid-template-columns: minmax(0, 1fr); gap: 34px; }
	.yomo-inner .yi-sidebar-contact { padding: 27px 24px; }
	.yomo-inner .yi-sidebar-post { grid-template-columns: 92px minmax(0, 1fr); gap: 17px; }
	.yomo-inner .yi-sidebar-post-content strong { font-size: 14px; }
	.yomo-inner .yi-cta--content { margin-block: 42px 30px; padding: 27px 22px; }
	.yomo-inner .yi-cta .yi-cta__title { font-size: 24px; }
	.yomo-inner .yi-cta__description { font-size: 13px; }
	.yomo-inner .yi-cta__topics { font-size: 10px; }
	.yomo-inner .yi-cta__actions,
	.yomo-inner .yi-cta--site .yi-cta__actions { flex-direction: column; align-items: stretch; gap: 12px; width: 100%; }
	.yomo-inner .yi-cta__button,
	.yomo-inner .yi-cta--site .yi-cta__button { justify-content: space-between; width: 100%; min-width: 0; padding: 14px 17px; }
	.yomo-inner .yi-cta--site .yi-cta__title { font-size: 28px; }
}
@media (prefers-reduced-motion: reduce) {
	.yomo-inner .yi-cta__media,
	.yomo-inner .yi-site-cta__media { transform: none; }
	.yomo-inner .yi-cta--content .yi-cta__button svg { transition: none; transform: none; }
	.yomo-inner .yi-sidebar-button,
	.yomo-inner .yi-cta__button { transition: none; }
}

/* Article-end recommendations: four cards, four desktop columns / two mobile columns. */
body.single-post.yomo-inner #main_content .p-postList.p-relatedPosts {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 32px 20px !important;
}
body.single-post.yomo-inner #main_content .p-relatedPosts .p-postList__title {
	font-size: clamp(15px, 1.3vw, 18px);
}
@media (max-width: 760px) {
	body.single-post.yomo-inner #main_content .p-postList.p-relatedPosts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 30px 14px !important;
	}
	body.single-post.yomo-inner #main_content .p-relatedPosts .p-postList__title {
		font-size: clamp(15px, 3.9vw, 18px);
	}
}
