/* FAQ uses the same editorial rhythm as the article, without an unpadded box. */
.yomo-inner #main_content .post_content .llmo-faq-section {
	margin: 56px 0;
	padding: 28px 0 0;
	border: 0;
	border-top: 1px solid var(--e-line);
	border-radius: 0;
	background: transparent;
}
.yomo-inner #main_content .llmo-faq-section > h2 {
	margin: 0 0 16px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--e-ink);
	font: 400 clamp(24px, 2.3vw, 30px)/1.7 var(--e-serif);
	box-shadow: none;
}
.yomo-inner #main_content .llmo-faq-section > h2::before,
.yomo-inner #main_content .llmo-faq-section > h2::after { display: none; }
.yomo-inner #main_content .llmo-faq-item {
	margin: 0;
	padding: 27px 0;
	border: 0;
	border-bottom: 1px solid var(--e-line);
}
.yomo-inner #main_content .llmo-faq-question {
	position: relative;
	margin: 0;
	padding: 0 0 0 44px;
	border: 0;
	background: transparent;
	color: var(--e-ink);
	font: 500 18px/1.9 var(--e-serif);
	letter-spacing: .01em;
	box-shadow: none;
	overflow-wrap: anywhere;
}
.yomo-inner #main_content .llmo-faq-question::before {
	content: 'Q';
	position: absolute;
	inset: 2px auto auto 0;
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	margin: 0;
	border: 0;
	border-radius: 50%;
	background: var(--e-ink);
	color: var(--e-paper);
	font: 400 18px/1 var(--e-latin);
}
.yomo-inner #main_content .llmo-faq-question::after { display: none; }
.yomo-inner #main_content .llmo-faq-answer {
	position: relative;
	margin: 15px 0 0;
	padding: 0 0 0 44px;
	color: var(--e-muted);
	font: 400 14px/2 var(--e-serif);
	letter-spacing: .01em;
}
.yomo-inner #main_content .llmo-faq-answer::before {
	content: 'A';
	position: absolute;
	top: 0;
	left: 0;
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	color: #715b3c;
	font: 500 18px/1 var(--e-latin);
}
.yomo-inner #main_content .yi-contact-intro { margin: 0 0 32px; color: var(--e-muted); font-size: 14px; line-height: 2.1; }
.yomo-inner #main_content .yi-contact-intro p { margin-block: 0 12px; }
.yomo-inner #main_content .yi-contact-eyebrow { color: #715b3c; font: 10px/1.7 var(--e-sans); letter-spacing: .17em; }
.yomo-inner #yi-contact-form { scroll-margin-top: calc(144px + var(--yomo-adminbar)); }
.yomo-inner .yi-sidebar-section.widget { font-size: 13px; line-height: 2; }
.yomo-inner .yi-sidebar-section.widget img { max-width: 100%; height: auto; }
@media (max-width: 599px) {
	.yomo-inner #main_content .post_content .llmo-faq-section { margin-block: 42px; }
	.yomo-inner #main_content .llmo-faq-question { font-size: 17px; padding-left: 38px; }
	.yomo-inner #main_content .llmo-faq-answer { padding-left: 38px; }
}

/* Keep the project enquiry form distinct without changing other CF7 forms. */
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form {
	--yi-form-border: #9ba796;
	--yi-form-focus: #8a6c3e;
	margin: 0;
	color: var(--e-ink);
}
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .yi-form-section {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .yi-form-section + .yi-form-section {
	margin-top: 42px;
	padding-top: 36px;
	border-top: 1px solid var(--e-line);
}
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .yi-form-legend {
	float: left;
	width: 100%;
	margin: 0 0 10px;
	padding: 0;
	color: var(--e-ink);
	font: 400 clamp(21px, 2vw, 25px)/1.7 var(--e-serif);
	letter-spacing: .035em;
}
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .yi-form-hint {
	clear: both;
	margin: 0 0 24px;
	color: #526357;
	font: 400 13px/1.9 var(--e-sans);
}
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .yi-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	clear: both;
}
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .yi-form-field { min-width: 0; }
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .yi-form-field--full { grid-column: 1 / -1; }
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .yi-form-field > p { margin: 0; }
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .yi-form-field > p > br { display: none; }
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .yi-form-label {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 10px;
	margin: 0;
	color: var(--e-ink);
	font: 500 14px/1.8 var(--e-sans);
}
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .yi-form-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 23px;
	padding: 2px 8px;
	border: 1px solid #aab2a3;
	border-radius: 3px;
	background: #edf0e7;
	color: #445747;
	font: 500 10px/1.5 var(--e-sans);
	letter-spacing: .035em;
}
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .yi-form-badge.is-required {
	border-color: var(--e-ink);
	background: var(--e-ink);
	color: var(--e-paper);
}
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .wpcf7-form-control-wrap {
	display: block;
	margin-top: 9px;
}
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form :is(input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea) {
	box-sizing: border-box;
	display: block;
	width: 100%;
	max-width: 100%;
	min-height: 52px;
	margin: 0;
	padding: 13px 15px;
	border: 1px solid var(--yi-form-border);
	border-radius: 4px;
	background: #fffdf7;
	color: var(--e-ink);
	box-shadow: none;
	font: 400 16px/1.65 var(--e-sans);
	transition: border-color .2s, background-color .2s;
}
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form textarea {
	min-height: 168px;
	resize: vertical;
}
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form :is(input, textarea)::placeholder {
	color: #657061;
	opacity: 1;
}
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form :is(input, select, textarea):focus-visible {
	border-color: var(--yi-form-focus);
	outline: 2px solid var(--yi-form-focus);
	outline-offset: 3px;
	background-color: #fffefb;
}
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .yi-form-help {
	margin: 8px 0 0;
	color: #526357;
	font: 400 12px/1.85 var(--e-sans);
}
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .wpcf7-not-valid {
	border-color: #9b302c;
}
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .yi-form-submit {
	margin: 38px 0 0;
	padding-top: 30px;
	border-top: 1px solid var(--e-line);
	text-align: center;
}
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .yi-form-submit > p { margin: 0; }
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .yi-form-submit-button {
	display: inline-block;
	width: min(100%, 420px);
	min-width: 0;
	min-height: 60px;
	margin: 0;
	padding: 16px 64px 16px 24px;
	border: 1px solid var(--e-ink);
	border-radius: 0;
	background-color: var(--e-ink);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='20' viewBox='0 0 30 20' fill='none' stroke='%23f7f4ed' stroke-width='1.5'%3E%3Cpath d='M0 10h28M20 2l8 8-8 8'/%3E%3C/svg%3E");
	background-position: right 24px center;
	background-repeat: no-repeat;
	background-size: 30px 20px;
	color: var(--e-paper);
	box-shadow: none;
	font: 400 16px/1.7 var(--e-serif);
	letter-spacing: .04em;
	text-align: left;
	cursor: pointer;
	transition: background-color .2s, transform .2s;
}
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .yi-form-submit-button:hover {
	background-color: #3d5546;
	transform: translateY(-2px);
}
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .yi-form-submit-button:disabled {
	opacity: .7;
	cursor: wait;
	transform: none;
}
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .yi-form-submit .wpcf7-spinner {
	display: block;
	margin: 12px auto 0;
}
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .yi-form-submit .yi-form-help {
	max-width: 520px;
	margin: 14px auto 0;
}
@media (max-width: 599px) {
	.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .yi-form-grid { grid-template-columns: minmax(0, 1fr); gap: 22px; }
	.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .yi-form-section + .yi-form-section { margin-top: 32px; padding-top: 28px; }
	.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .yi-form-hint { margin-bottom: 21px; }
	.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .yi-form-submit { margin-top: 30px; padding-top: 26px; }
}
@media (prefers-reduced-motion: reduce) {
	.yomo-inner #main_content #yi-contact-form .yi-enquiry-form :is(input, select, textarea) { transition: none; }
	.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .yi-form-submit-button:hover { transform: none; }
}

/* Reveal optional project details only when the visitor enables the switch. */
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .yi-production-legend {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px 20px;
}
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .yi-production-switch[hidden],
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form #yi-production-details[hidden] { display: none !important; }
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .yi-form-toggle {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 9px;
	min-height: 44px;
	color: var(--e-ink);
	font: 500 13px/1.8 var(--e-sans);
	letter-spacing: .02em;
	cursor: pointer;
}
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .yi-form-toggle input[type="checkbox"] {
	position: absolute;
	left: 0;
	top: 50%;
	z-index: 1;
	width: 44px;
	height: 26px;
	margin: 0;
	transform: translateY(-50%);
	opacity: 0;
	cursor: pointer;
}
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .yi-form-toggle-track {
	position: relative;
	display: inline-block;
	flex: 0 0 44px;
	width: 44px;
	height: 26px;
	border: 1px solid #62705e;
	border-radius: 15px;
	background: #e4e7dd;
}
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .yi-form-toggle-track::after {
	content: '';
	position: absolute;
	top: 2px;
	left: 2px;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #526357;
	transition: transform .15s;
}
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .yi-form-toggle input:checked + .yi-form-toggle-track { background: var(--e-ink); border-color: var(--e-ink); }
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .yi-form-toggle input:checked + .yi-form-toggle-track::after { transform: translateX(18px); background: #fffdf7; }
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .yi-form-toggle input:focus-visible + .yi-form-toggle-track { outline: 2px solid var(--yi-form-focus); outline-offset: 3px; }
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form #yi-production-details { clear: both; }
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .yi-form-privacy { margin: 0 0 26px; text-align: left; }
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .yi-form-privacy .wpcf7-form-control-wrap { margin-top: 0; }
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .yi-form-privacy .wpcf7-list-item { margin: 0; }
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .yi-form-privacy label { display: flex; align-items: flex-start; gap: 10px; font: 400 14px/2 var(--e-sans); cursor: pointer; }
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .yi-form-privacy input[type="checkbox"] { flex: 0 0 20px; width: 20px; height: 20px; margin: 4px 0 0; accent-color: var(--e-ink); }
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .yi-form-privacy a { text-decoration: underline; text-underline-offset: .2em; }
.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .yi-form-submit-button:disabled { cursor: not-allowed; }
@media (prefers-reduced-motion: reduce) {
	.yomo-inner #main_content #yi-contact-form .yi-enquiry-form .yi-form-toggle-track::after { transition: none; }
}
