/*
 * Yinhan Design Kit — styles for the homepage built with standard blocks.
 * Class names used: yh-page, yh-header, yh-header__inner, yh-brand, yh-brand__mark,
 * yh-brand__title, yh-brand__subtitle, yh-cta, yh-hero, yh-hero-cols, yh-eyebrow,
 * yh-heading, yh-photo.
 */

@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('/wp-content/uploads/fonts/poppins-400.woff2') format('woff2');
}
@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('/wp-content/uploads/fonts/poppins-500.woff2') format('woff2');
}
@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('/wp-content/uploads/fonts/poppins-600.woff2') format('woff2');
}
@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('/wp-content/uploads/fonts/poppins-700.woff2') format('woff2');
}

body {
	background: #F3F7FD !important;
}

.yh-page {
	font-family: 'Poppins', system-ui, sans-serif;
	color: #101E38;
}

/* ---------- Floating header ---------- */
.yh-header {
	position: sticky;
	top: 16px;
	z-index: 50;
	padding: 0 40px;
}

.yh-header__inner {
	position: relative;
	background: #fff;
	border-radius: 22px;
	box-shadow: 0 10px 30px rgba(23, 26, 43, 0.08), 0 1px 2px rgba(23, 26, 43, 0.05);
	padding: 14px 14px 14px 24px;
}

.yh-brand {
	gap: 12px !important;
}

.yh-brand .yh-brand__mark {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	margin: 0;
	flex-shrink: 0;
}

.yh-brand__mark img {
	width: 100%;
	height: 100%;
	display: block;
}

.yh-brand__title {
	font-size: 16.5px;
	font-weight: 700;
	letter-spacing: -0.01em;
	margin: 0;
	line-height: 1.2;
}

.yh-brand__subtitle {
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 0.22em;
	color: #9a9aa2;
	margin: 2px 0 0;
	line-height: 1.2;
}

.yh-header .wp-block-navigation {
	gap: 40px !important;
	margin-right: auto;
}

.yh-header .wp-block-navigation a {
	font-size: 16.5px;
	font-weight: 500;
	color: #3c3d46;
	padding: 0;
	transition: color 0.15s ease;
}

.yh-header .wp-block-navigation a:hover {
	color: #101E38;
}

.yh-cta .wp-block-button__link {
	transition: background 0.15s ease, transform 0.15s ease;
}

.yh-cta .wp-block-button__link:hover {
	background: #15305F !important;
	transform: translateY(-1px);
}

/* The "Free consultation" nav item is only shown inside the mobile dropdown */
.yh-header .wp-block-navigation-item:has(a[href='#consultation']) {
	display: none;
}

/* ---------- Mobile header: hamburger + dropdown panel ---------- */

.yh-header .wp-block-navigation__responsive-container-open {
	background: #E9F0FB;
	border-radius: 50%;
	width: 52px;
	height: 52px;
	align-items: center;
	justify-content: center;
	padding: 0;
}

.yh-header .wp-block-navigation__responsive-container-open svg {
	width: 22px;
	height: 22px;
	fill: #101E38;
}

/* Extend the nav block's mobile-overlay breakpoint from 600px to 960px */
@media (min-width: 600px) and (max-width: 960px) {
	.yh-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}

	.yh-header .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}
}

@media (max-width: 960px) {
	.yh-header .wp-block-navigation {
		margin-left: auto;
		margin-right: 0;
		position: static;
	}

	.yh-header .yh-cta {
		display: none;
	}

	/* Dropdown panel under the header pill */
	.yh-header .wp-block-navigation__responsive-container.is-menu-open {
		position: absolute;
		top: calc(100% + 10px);
		left: 0;
		right: 0;
		bottom: auto;
		width: auto;
		height: auto;
		background: #F3F7FD !important;
		border-radius: 20px;
		box-shadow: 0 24px 60px rgba(23, 26, 43, 0.16);
		padding: 30px 28px 28px;
		overflow: visible;
	}

	.yh-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		padding-top: 0;
		gap: 26px;
		align-items: flex-start;
	}

	.yh-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		margin-left: 0 !important;
		width: 100%;
	}

	.yh-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
		width: 100%;
	}

	.yh-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a {
		font-size: 20px;
		padding: 0;
		color: #101E38;
	}

	/* Close (X) button floats over the header pill, where the hamburger was */
	.yh-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
		position: absolute;
		top: -100px;
		right: 16px;
		width: 52px;
		height: 52px;
		border-radius: 50%;
		background: #E9F0FB;
		align-items: center;
		justify-content: center;
		padding: 0;
	}

	.yh-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg {
		width: 20px;
		height: 20px;
		fill: #101E38;
	}

	/* Hide the hamburger while the dropdown is open */
	.yh-header .wp-block-navigation:has(.wp-block-navigation__responsive-container.is-menu-open) .wp-block-navigation__responsive-container-open {
		visibility: hidden;
	}

	/* CTA pill inside the dropdown panel */
	.yh-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:has(a[href='#consultation']) {
		display: block;
		width: 100%;
	}

	.yh-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:has(a[href='#consultation']) a {
		display: block;
		background: #0E2A5C !important;
		color: #ffffff !important;
		border-radius: 999px;
		text-align: center;
		padding: 16px 24px !important;
		font-size: 17px !important;
		font-weight: 600;
		margin-top: 8px;
	}
}

/* Keep the page scrollable while the dropdown is open (WP locks  by default) */
html.has-modal-open,
body.has-modal-open {
	overflow: auto !important;
}

/* ---------- Hero ---------- */
.yh-hero {
	max-width: 1400px;
	margin: 0 auto;
	padding: 76px 40px 80px;
}

.yh-hero-cols {
	gap: 40px 56px;
}

.yh-eyebrow {
	font-size: 19px;
	font-weight: 500;
	color: #0C1F45;
	margin: 0 0 24px 52px;
	letter-spacing: 0.01em;
}

.yh-heading {
	font-size: clamp(44px, 5.6vw, 76px);
	font-weight: 600;
	line-height: 1.03;
	letter-spacing: -0.025em;
	color: #101E38;
	margin: 0;
	max-width: 24ch;
}

.wp-block-image.yh-photo {
	margin: 0;
}

.yh-photo img {
	width: 100%;
	height: 560px;
	object-fit: cover;
	border-radius: 18px;
	display: block;
}

/* ---------- Responsive ---------- */
@media (max-width: 960px) {
	.yh-header {
		padding: 0 16px;
		top: 8px;
	}

	.yh-header__inner {
		padding: 12px 16px;
	}

	.yh-hero {
		padding: 48px 16px 56px;
	}

	.yh-eyebrow {
		margin-left: 0;
	}

	.yh-photo img {
		height: 380px;
	}
}

/* ---------- Sections (homepage below hero) ---------- */
.yh-sec {
	max-width: 1400px;
	margin: 0 auto;
	padding: 40px 40px;
}

.yh-eyebrow {
	font-size: 17px;
	font-weight: 500;
	color: #44597C;
	margin: 0 0 18px;
}

.yh-h2 {
	font-size: clamp(34px, 3.6vw, 52px);
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: #101E38;
	margin: 0 0 20px;
	max-width: 24ch;
}

.yh-h2--narrow {
	max-width: 24ch;
}

.yh-h2--center {
	margin-left: auto;
	margin-right: auto;
	max-width: 20ch;
}

.yh-sec__intro {
	font-size: 18px;
	line-height: 1.65;
	color: #6f7078;
	margin: 0;
}

.yh-sec__head {
	margin-bottom: 44px;
}

/* ---- Hero extras ---- */
.yh-hero__intro {
	font-size: 19px;
	line-height: 1.65;
	color: #55565f;
	margin: 20px 0 22px;
	max-width: 52ch;
}

.yh-checks {
	list-style: none;
	margin: 0 0 22px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.yh-checks li {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 16px;
	font-weight: 500;
	color: #152A52;
	margin: 0;
}

.yh-checks li svg {
	width: 21px;
	height: 21px;
	color: #101E38;
	flex-shrink: 0;
}

.yh-hero__media {
	position: relative;
}

.yh-hero__media .yh-photo img {
	height: 640px;
}

.yh-report {
	position: absolute;
	left: -46px;
	bottom: 44px;
	width: 296px;
	background: #fff;
	border-radius: 14px;
	box-shadow: 0 24px 60px rgba(23, 26, 43, 0.22);
	padding: 18px 20px 12px;
}

.yh-report__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 10px;
}

.yh-report__head strong {
	font-size: 16px;
	font-weight: 600;
	color: #101E38;
}

.yh-report__pill {
	background: #d9efdf;
	color: #1e7a45;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 0.06em;
	border-radius: 999px;
	padding: 4px 12px;
}

.yh-report__row {
	display: flex;
	justify-content: space-between;
	font-size: 14px;
	padding: 7px 0;
	border-top: 1px solid #E4EDF9;
	color: #6f7078;
}

.yh-report__row strong {
	color: #101E38;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

/* ---- Services grid ---- */
.yh-gridcard {
	background: #fff;
	border-radius: 18px;
	box-shadow: 0 1px 2px rgba(23, 26, 43, 0.05);
	overflow: hidden;
}

.yh-gridcard .yh-cells--row2 {
	border-top: 1px solid #E7EEF9;
}

.yh-cell {
	padding: 34px 30px;
	position: relative;
}

.yh-gridcard .wp-block-column + .wp-block-column .yh-cell {
	border-left: 1px solid #E7EEF9;
}

.yh-cell__top {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 44px;
}

.yh-ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 10px;
	background: #0E2A5C;
	color: #fff;
	flex-shrink: 0;
}

.yh-ico svg {
	width: 20px;
	height: 20px;
}

.yh-cell__arrow {
	width: 16px;
	height: 16px;
	color: #101E38;
}

.yh-cell__title {
	font-size: 19px;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: #101E38;
	margin: 0 0 10px;
}

.yh-cell__text {
	font-size: 15.5px;
	line-height: 1.6;
	color: #6f7078;
	margin: 0;
}

/* ---- Who we work with ---- */
.yh-sec--clients {
	padding-top: 48px;
}

.yh-clients__cols .yh-feature {
	margin-top: 40px;
}

.yh-feature + .yh-feature {
	border-top: 1px solid #E7EEF9;
	padding-top: 34px;
}

.yh-feature__row {
	display: flex;
	gap: 18px;
}

.yh-ico--tile {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: #E9F0FB;
	color: #101E38;
}

.yh-feature__title {
	font-size: 18px;
	font-weight: 600;
	color: #101E38;
	margin: 2px 0 10px;
}

.yh-feature__text {
	font-size: 15.5px;
	line-height: 1.65;
	color: #6f7078;
	margin: 0;
}

.yh-img {
	margin: 0;
	border-radius: 16px;
	overflow: hidden;
}

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

.yh-img--tall {
	height: 640px;
}

.yh-engagement {
	background: #0E2A5C;
	border-radius: 16px;
	color: #fff;
	padding: 30px 28px 34px;
	margin-bottom: 20px;
	min-height: 288px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

.yh-engagement__label {
	font-size: 16px;
	color: #b9bac4;
	margin: 0 0 44px;
}

.yh-engagement__num {
	font-size: 46px;
	font-weight: 600;
	letter-spacing: -0.02em;
	margin: 0 0 12px;
}

.yh-engagement__text {
	font-size: 15.5px;
	line-height: 1.6;
	color: #cfd0d8;
	margin: 0;
}

.yh-img--port {
	height: 240px;
}

/* ---- Dark section ---- */
.yh-sec--dark {
	max-width: none;
	background: #0C1F45;
	color: #fff;
	padding: 48px 40px;
}

.yh-sec--dark .yh-h2--light {
	color: #fff;
	max-width: 14ch;
}

.yh-eyebrow--light {
	color: #b9bac4;
}

.yh-sec__intro--light {
	color: #9a9ba7;
}

.yh-darkcells--row2 .yh-darkcell {
	border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.yh-darkcells .wp-block-column + .wp-block-column .yh-darkcell {
	border-left: 1px solid rgba(255, 255, 255, 0.14);
}

.yh-darkcell {
	padding: 34px 34px 38px;
	min-height: 214px;
}

.yh-darkcell .yh-ico--outline {
	background: transparent;
	border: none;
	width: 26px;
	height: 26px;
	color: #fff;
	margin-bottom: 20px;
}

.yh-darkcell .yh-ico--outline svg {
	width: 24px;
	height: 24px;
}

.yh-darkcell__title {
	font-size: 18px;
	font-weight: 600;
	color: #fff;
	margin: 0 0 10px;
}

.yh-darkcell__text {
	font-size: 15px;
	line-height: 1.6;
	color: #9a9ba7;
	margin: 0;
}

/* ---- Stats ---- */
.yh-stat {
	border-top: 1px solid #C9D8F0;
	padding-top: 18px;
}

.yh-stat__num {
	font-size: clamp(38px, 3.4vw, 52px);
	font-weight: 600;
	letter-spacing: -0.02em;
	color: #101E38;
	margin: 0 0 8px;
	font-variant-numeric: tabular-nums;
}

.yh-stat__label {
	font-size: 14.5px;
	line-height: 1.5;
	color: #6f7078;
	margin: 0;
}

/* ---- How it works ---- */
.yh-sec__intro--wide {
	max-width: 66ch;
	margin-bottom: 44px;
}

.yh-card {
	background: #fff;
	border-radius: 18px;
	padding: 36px 34px;
	box-shadow: 0 1px 2px rgba(23, 26, 43, 0.05);
	height: 100%;
}

.yh-card--helps {
	border: 2px solid #101E38;
}

.yh-card__head {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 22px;
}

.yh-card__head h3 {
	font-size: 19px;
	font-weight: 600;
	color: #101E38;
	margin: 0;
}

.yh-ico--plain {
	background: transparent;
	width: 24px;
	height: 24px;
	color: #101E38;
}

.yh-ico--plain svg {
	width: 22px;
	height: 22px;
}

.yh-card__lead {
	font-size: 15.5px;
	line-height: 1.65;
	color: #55565f;
	margin: 0 0 22px;
}

.yh-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.yh-list li {
	font-size: 16px;
	color: #152A52;
	padding: 15px 0;
	border-top: 1px solid #E4EDF9;
	display: flex;
	align-items: baseline;
	gap: 12px;
}

.yh-list--dots li::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #b9bac4;
	flex-shrink: 0;
	transform: translateY(-3px);
}

.yh-list--checks li::before {
	content: "✓";
	color: #101E38;
	font-weight: 600;
	flex-shrink: 0;
}

.yh-card__note {
	font-size: 14.5px;
	color: #6f7078;
	margin: 26px 0 0;
}

/* ---- Why work with us ---- */
.yh-img--office {
	position: relative;
	height: auto;
	}
	.yh-img--office img { height: auto !important; aspect-ratio: 16 / 10; object-fit: cover; }
	.yh-img--office-fix { display: none; }
	.yh-img--office-x {
}

.yh-img__chip {
	display: inline-block;
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 10px 26px rgba(23, 26, 43, 0.12);
	font-size: 13.5px;
	font-weight: 500;
	color: #152A52;
	padding: 10px 16px;
	margin: -58px 0 0 16px;
	position: relative;
}

.yh-minigrid {
	margin-top: 30px;
}

.yh-mini {
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 1px 2px rgba(23, 26, 43, 0.05);
	display: flex;
	align-items: center;
	gap: 11px;
	padding: 18px 16px;
	font-size: 13.5px;
	font-weight: 500;
	line-height: 1.35;
	color: #152A52;
	min-height: 84px;
}

.yh-mini svg {
	width: 22px;
	height: 22px;
	color: #101E38;
	flex-shrink: 0;
}

/* ---- Client stories ---- */
.yh-sec--stories {
	text-align: center;
}

.yh-pill {
	display: inline-block;
	background: #DCE9FC;
	color: #0B41B8;
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: 0.12em;
	border-radius: 999px;
	padding: 8px 18px;
	margin-bottom: 26px;
}

.yh-stars {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	font-size: 15px;
	font-weight: 500;
	color: #152A52;
	margin: -6px 0 46px;
}

.yh-stars__icons {
	color: #1E6FE0;
	letter-spacing: 3px;
	font-size: 17px;
}

.yh-story {
	border-radius: 18px;
	padding: 30px 28px;
	min-height: 330px;
	display: flex;
	flex-direction: column;
	text-align: left;
}

.yh-story--blue {
	background: #2b4bf2;
	color: #fff;
}

.yh-story--yellow {
	background: #ffe14d;
	color: #101E38;
}

.yh-story--red {
	background: #1E6FE0;
	color: #fff;
}

.yh-story__quote {
	font-size: 64px;
	font-weight: 700;
	line-height: 0.6;
	height: 34px;
	opacity: 0.55;
	font-family: Georgia, serif;
	margin-bottom: 14px;
}

.yh-story__text {
	font-size: 18.5px;
	font-weight: 500;
	line-height: 1.55;
	margin: 0 0 26px;
}

.yh-story__author {
	margin-top: auto;
	display: flex;
	flex-direction: column;
	gap: 3px;
	font-size: 14px;
}

.yh-story__author strong {
	font-size: 16px;
}

.yh-story__author span {
	opacity: 0.75;
}

/* ---- Pricing ---- */
.yh-price {
	background: #fff;
	border-radius: 18px;
	box-shadow: 0 1px 2px rgba(23, 26, 43, 0.05);
	padding: 34px 30px;
	height: 100%;
	display: flex;
	flex-direction: column;
}

.yh-price--dark {
	background: #0E2A5C;
}

.yh-price__name {
	font-size: 18px;
	font-weight: 600;
	color: #101E38;
	margin: 0 0 26px;
}

.yh-price__value {
	font-size: 34px;
	font-weight: 600;
	letter-spacing: -0.02em;
	color: #101E38;
	margin-bottom: 6px;
}

.yh-price__per {
	font-size: 14.5px;
	color: #6f7078;
	margin-bottom: 20px;
}

.yh-price__desc {
	font-size: 15px;
	line-height: 1.6;
	color: #55565f;
	margin: 0 0 10px;
	padding-bottom: 22px;
	border-bottom: 1px solid #E4EDF9;
}

.yh-price .yh-list li {
	font-size: 15px;
	padding: 12px 0;
}

.yh-price .yh-list li:first-child {
	border-top: none;
	padding-top: 0;
}

.yh-price__link {
	display: block;
	text-align: center;
	border: 1px solid #C9D8F0;
	border-radius: 999px;
	padding: 13px 24px;
	font-size: 15.5px;
	font-weight: 600;
	color: #101E38;
	text-decoration: none;
	margin-top: 26px;
	transition: background 0.15s ease;
}

.yh-price__link:hover {
	background: #F3F7FD;
}

.yh-price--dark .yh-price__name,
.yh-price--dark .yh-price__value {
	color: #fff;
}

.yh-price--dark .yh-price__per {
	color: #9a9ba7;
}

.yh-price--dark .yh-price__desc {
	color: #cfd0d8;
	border-bottom-color: rgba(255, 255, 255, 0.14);
}

.yh-price--dark .yh-list li {
	color: #e7e7ee;
	border-top-color: rgba(255, 255, 255, 0.14);
}

.yh-price--dark .yh-list li::before {
	color: #fff;
}

.yh-price--dark .yh-price__link {
	border-color: rgba(255, 255, 255, 0.3);
	color: #fff;
}

.yh-price--dark .yh-price__link:hover {
	background: rgba(255, 255, 255, 0.08);
}

/* ---- CTA / form ---- */
.yh-cta__meta {
	display: flex;
	gap: 60px;
	border-top: 1px solid #E7EEF9;
	margin-top: 40px;
	padding-top: 26px;
}

.yh-cta__meta div {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.yh-cta__meta span {
	font-size: 14px;
	color: #6f7078;
}

.yh-cta__meta strong {
	font-size: 15.5px;
	color: #101E38;
}

.yh-form {
	background: #fff;
	border-radius: 18px;
	box-shadow: 0 1px 2px rgba(23, 26, 43, 0.05);
	padding: 30px 28px 26px;
	font-family: inherit;
}

.yh-form__row {
	display: flex;
	gap: 20px;
}

.yh-form__row .yh-form__field {
	flex: 1;
}

.yh-form__field {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 18px;
}

.yh-form__field label {
	font-size: 14px;
	font-weight: 600;
	color: #101E38;
}

.yh-form__field input,
.yh-form__field select,
.yh-form__field textarea {
	font-family: inherit;
	font-size: 15px;
	color: #101E38;
	background: #F8FBFE;
	border: 1px solid #DFE9F7;
	border-radius: 12px;
	padding: 13px 16px;
	outline: none;
	width: 100%;
}

.yh-form__field textarea {
	resize: vertical;
}

.yh-form__field input:focus,
.yh-form__field select:focus,
.yh-form__field textarea:focus {
	border-color: #101E38;
}

.yh-form__foot {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	margin-top: 4px;
}

.yh-form__foot span {
	font-size: 13px;
	color: #6f7078;
}

.yh-form__foot button {
	background: #1E6FE0;
	color: #fff;
	border: none;
	border-radius: 999px;
	font-family: inherit;
	font-size: 15.5px;
	font-weight: 600;
	padding: 14px 26px;
	cursor: pointer;
}

.yh-form__foot button:hover {
	background: #1E6FE0;
}

/* The quote form lives in a narrow hero/contact column, so the two-across
   rows squeeze the selects until the text truncates. Stack the fields and
   the footer for this form only — other .yh-form layouts are untouched. */
.yh-quoteform .yh-form__row {
	flex-direction: column;
	gap: 0;
}

.yh-quoteform .yh-form__foot {
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
}

/* ---------- Footer ---------- */
.yh-footer {
	background: #0E2A5C;
	color: #fff;
	margin-top: 48px;
}

.yh-footer__inner {
	max-width: 1400px;
	margin: 0 auto;
	padding: 72px 40px 34px;
}

.yh-footer__brand {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 18px;
}

.yh-footer__mark {
	display: inline-flex;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.12);
	align-items: center;
	justify-content: center;
}

.yh-footer__mark svg {
	width: 24px;
	height: 24px;
}

.yh-footer__brand strong {
	font-size: 17px;
	font-weight: 700;
	letter-spacing: -0.01em;
}

.yh-footer__desc {
	font-size: 15px;
	line-height: 1.65;
	color: #9a9ba7;
	max-width: 40ch;
	margin: 0;
}

.yh-footer__title {
	font-size: 15.5px;
	font-weight: 600;
	color: #fff;
	margin: 0 0 20px;
}

.yh-footer__links {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.yh-footer__links a {
	font-size: 15px;
	color: #9a9ba7;
	text-decoration: none;
	transition: color 0.15s ease;
}

.yh-footer__links a:hover {
	color: #fff;
}

.yh-footer__bottom {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
	margin-top: 60px;
	padding-top: 26px;
	font-size: 14px;
	color: #9a9ba7;
}

/* ---------- Elementor header (HFE template "Yinhan Header") ---------- */
/* Sticky wrapper: HFE renders inside <header id="masthead">, whose parent
 * spans the full page, so stick the wrapper itself. */
#masthead {
	position: sticky;
	top: 0;
	z-index: 60;
	background: transparent;
}

/* Floating white pill */
.yh-eh-header.elementor-top-section {
	background: #ffffff;
	border-radius: 22px;
	box-shadow: 0 10px 30px rgba(23, 26, 43, 0.08), 0 1px 2px rgba(23, 26, 43, 0.05);
	margin: 16px 40px 0;
	padding: 14px 14px 14px 24px;
	font-family: 'Poppins', system-ui, sans-serif;
}

/* Vertically center column content */
.yh-eh-header .elementor-widget-wrap {
	justify-content: center;
}

/* ---- Brand ---- */
.yh-eh-brand {
	display: flex;
	align-items: center;
	gap: 12px;
}

.yh-eh-brand__mark {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	display: block;
	flex-shrink: 0;
}

.yh-eh-brand__text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	line-height: 1.2;
}

.yh-eh-brand__title {
	font-size: 16.5px;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: #101E38;
}

.yh-eh-brand__subtitle {
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 0.22em;
	color: #9a9aa2;
}

/* ---- Nav (HFE navigation-menu widget) ---- */
.yh-eh-header .elementor-widget-navigation-menu,
.yh-eh-header .elementor-widget-navigation-menu > .elementor-widget-container,
.yh-eh-header nav.hfe-nav-menu__layout-horizontal {
	width: 100%;
}

.yh-eh-header ul.hfe-nav-menu {
	display: flex;
	justify-content: center !important;
	align-items: center;
	gap: 40px;
	list-style: none;
	margin: 0 auto !important;
	padding: 0;
	width: 100%;
}

.yh-eh-header ul.hfe-nav-menu > li.menu-item {
	margin: 0;
}

.yh-eh-header a.hfe-menu-item {
	font-family: 'Poppins', system-ui, sans-serif !important;
	font-size: 16.5px !important;
	font-weight: 500 !important;
	color: #3c3d46 !important;
	text-decoration: none;
	background: transparent !important;
	padding: 0 !important;
	border: none !important;
	transition: color 0.15s ease;
}

.yh-eh-header a.hfe-menu-item:hover {
	color: #101E38 !important;
}

/* Kill HFE pointer underline decorations */
.yh-eh-header .hfe-menu-item::before,
.yh-eh-header .hfe-menu-item::after {
	display: none !important;
}

/* "Free consultation" menu item: desktop uses the standalone CTA button,
 * so the duplicate menu item stays hidden there. */
@media (min-width: 1025px) {
	.yh-eh-header li.yh-nav-cta {
		display: none;
	}
}

/* ---- CTA button ---- */
.yh-eh-header .elementor-widget-button {
	width: 100%;
}

.yh-eh-header .elementor-button {
	background: #0E2A5C !important;
	color: #ffffff !important;
	border: none;
	border-radius: 999px !important;
	padding: 14px 26px !important;
	font-family: 'Poppins', system-ui, sans-serif !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;
	transition: background 0.15s ease, transform 0.15s ease;
}

.yh-eh-header .elementor-button:hover {
	background: #15305F !important;
	color: #ffffff !important;
	transform: translateY(-1px);
}

/* ---- Responsive: stacked pill, hamburger toggle, dropdown panel ---- */
@media (max-width: 1024px) {
	.yh-eh-header.elementor-top-section {
		margin: 8px 16px 0;
		padding: 12px 16px;
	}

	/* Brand + hamburger share one row; CTA column hidden (its twin lives in the dropdown) */
	.yh-eh-header > .elementor-container {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}

	.yh-eh-header > .elementor-container > .elementor-column:first-child {
		flex: 1 1 auto;
		width: auto !important;
	}

	.yh-eh-header > .elementor-container > .elementor-column:nth-child(2) {
		flex: 0 0 auto;
		width: auto !important;
		min-width: 60px;
	}

	/* Standalone CTA button is replaced by the CTA inside the dropdown */
	.yh-eh-header > .elementor-container > .elementor-column:last-child {
		display: none;
	}

	/* Hamburger toggle: beige circle, right aligned (force-visible) */
	.yh-eh-header .hfe-nav-menu__toggle {
		background: #E9F0FB;
		border: none;
		border-radius: 50%;
		width: 52px;
		height: 52px;
		display: inline-flex !important;
		visibility: visible !important;
		opacity: 1 !important;
		align-items: center;
		justify-content: center;
		margin-left: auto !important;
		margin-right: 0 !important;
	}

	.yh-eh-header .hfe-nav-menu__toggle .hfe-nav-menu-icon {
		color: #101E38;
		font-size: 22px;
		display: inline-flex;
	}

	.yh-eh-header .hfe-nav-menu__toggle .hfe-nav-menu-icon svg {
		width: 22px;
		height: 22px;
		fill: currentColor;
	}

	/* Dropdown panel under the pill */
	.yh-eh-header .hfe-active-menu + nav.hfe-nav-menu__layout-horizontal {
		left: 0;
		right: 0;
		z-index: 70;
		background: #ffffff;
		border-radius: 16px;
		box-shadow: 0 24px 60px rgba(23, 26, 43, 0.16);
		padding: 18px 20px 20px;
		margin-top: 10px;
	}

	/* Vertical link list inside the dropdown */
	.yh-eh-header ul.hfe-nav-menu {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}

	.yh-eh-header ul.hfe-nav-menu > li.menu-item > a.hfe-menu-item {
		display: block;
		font-size: 20px !important;
		padding: 13px 4px !important;
	}

	/* CTA pill inside the dropdown */
	.yh-eh-header li.yh-nav-cta {
		display: block;
		width: 100%;
	}

	.yh-eh-header li.yh-nav-cta > a.hfe-menu-item {
		display: block;
		background: #0E2A5C !important;
		color: #ffffff !important;
		border-radius: 999px !important;
		text-align: center;
		padding: 16px 24px !important;
		font-size: 17px !important;
		font-weight: 600 !important;
		margin-top: 10px;
	}

	.yh-eh-header li.yh-nav-cta > a.hfe-menu-item:hover {
		background: #15305F !important;
		color: #ffffff !important;
	}
}

/* ---------- Elementor hero (homepage) ---------- */
.yh-hero-el.elementor-top-section {
	background: transparent;
	padding: 60px 40px 64px;
	font-family: 'Poppins', system-ui, sans-serif;
}

.yh-hero-el > .elementor-container {
	max-width: 1400px;
	margin: 0 auto;
	column-gap: 24px;
	row-gap: 32px;
}

/* Kill Elementor's default widget margins in the hero: rhythm comes
 * from the content margins below, not stacked defaults. */
.yh-hero-el .elementor-widget {
	margin-bottom: 0 !important;
}

/* Eyebrow / H1 / intro (native widgets, classes on wrappers) */
.yh-eyebrow-el p {
	font-size: 19px;
	font-weight: 500;
	color: #0C1F45;
	margin: 0 0 24px 52px;
	letter-spacing: 0.01em;
}

.yh-h1-el .elementor-heading-title {
	font-size: clamp(44px, 5.6vw, 76px);
	font-weight: 600;
	line-height: 1.03;
	letter-spacing: -0.025em;
	color: #101E38;
	margin: 0;
	max-width: 24ch;
}

.yh-intro-el p {
	font-size: 19px;
	line-height: 1.65;
	color: #55565f;
	margin: 20px 0 22px;
	max-width: 52ch;
}

/* Checks + inspection report reuse the classic .yh-* styles above. */

/* Hero buttons (native button widgets, editable text + links) */
.yh-hero-el .yh-btn-dark .elementor-button {
	background: #0E2A5C !important;
	color: #ffffff !important;
	border: none;
	border-radius: 999px !important;
	padding: 16px 30px !important;
	font-family: 'Poppins', system-ui, sans-serif !important;
	font-size: 16.5px !important;
	font-weight: 600 !important;
	transition: background 0.15s ease, transform 0.15s ease;
}

.yh-hero-el .yh-btn-dark .elementor-button:hover {
	background: #15305F !important;
	color: #ffffff !important;
	transform: translateY(-1px);
}

.yh-hero-el .yh-btn-ghost .elementor-button {
	background: #ffffff !important;
	color: #101E38 !important;
	border: 1px solid #C9D8F0;
	border-radius: 999px !important;
	padding: 15px 30px !important;
	font-family: 'Poppins', system-ui, sans-serif !important;
	font-size: 16.5px !important;
	font-weight: 600 !important;
	transition: background 0.15s ease, transform 0.15s ease;
}

.yh-hero-el .yh-btn-ghost .elementor-button:hover {
	background: #F3F7FD !important;
	transform: translateY(-1px);
}

/* Hero media: photo + floating report card */
.yh-hero-media-el.elementor-column {
	position: relative;
}

.yh-photo-el img {
	width: 100%;
	height: 640px;
	object-fit: cover;
	border-radius: 18px;
	display: block;
}

@media (max-width: 960px) {
	.yh-hero-el.elementor-top-section {
		padding: 48px 16px 56px;
	}

	.yh-hero-el > .elementor-container > .elementor-column {
		width: 100% !important;
	}

	.yh-eyebrow-el p {
		margin-left: 0;
	}

	.yh-photo-el img {
		height: 420px;
	}
}

/* ---------- Responsive (sections) ---------- */
@media (max-width: 960px) {
	.yh-sec {
		padding: 28px 16px;
	}

	.yh-sec--dark {
		padding: 32px 16px;
	}

	.yh-hero__media .yh-photo img {
		height: 420px;
	}

	.yh-report {
		left: 12px;
		right: 12px;
		width: auto;
		bottom: 16px;
	}

	.yh-cell {
		padding: 26px 22px;
	}

	.yh-cell__top {
		margin-bottom: 26px;
	}

	.yh-img--tall {
		height: 420px;
	}

	.yh-img--office {
		height: auto;
	}

	.yh-form__row {
		flex-direction: column;
		gap: 0;
	}

	.yh-form__foot {
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
	}

	.yh-cta__meta {
		gap: 32px;
		flex-wrap: wrap;
	}

	.yh-footer__inner {
		padding: 56px 16px 28px;
	}

	.yh-footer__bottom {
		flex-direction: column;
		gap: 8px;
	}
}

/* ---------- Header nav: pin to exact pill center (desktop wide) ---------- */
@media (min-width: 1280px) {
	.yh-eh-header .elementor-container,
	.yh-eh-header .elementor-column,
	.yh-eh-header .elementor-widget-wrap,
	.yh-eh-header .elementor-widget-navigation-menu,
	.yh-eh-header .elementor-widget-navigation-menu > .elementor-widget-container,
	.yh-eh-header nav.hfe-nav-menu__layout-horizontal {
		position: static;
	}

	.yh-eh-header ul.hfe-nav-menu {
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		width: max-content;
		max-width: 60%;
		margin: 0 !important;
	}
}

/* ---------- Mobile header card (self-contained, checkbox toggle) ---------- */
.yh-mhead-sec {
	display: none;
}

@media (min-width: 1025px) {
	.yh-mhead-sec.elementor-top-section {
		display: none !important;
	}
}

@media (max-width: 1024px) {
	/* Desktop pill off, mobile card on */
	.yh-eh-header.elementor-top-section {
		display: none !important;
	}

	.yh-mhead-sec.elementor-top-section {
		display: block;
		background: transparent;
		margin: 0;
		padding: 8px 16px 0;
		font-family: 'Poppins', system-ui, sans-serif;
	}

	.yh-mhead {
		background: #ffffff;
		border-radius: 22px;
		box-shadow: 0 10px 30px rgba(23, 26, 43, 0.08), 0 1px 2px rgba(23, 26, 43, 0.05);
		padding: 12px 16px 14px;
	}

	.yh-mhead__bar {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
	}

	.yh-mnav-check {
		position: absolute;
		opacity: 0;
		pointer-events: none;
		width: 1px;
		height: 1px;
	}

	.yh-mnav-btn {
		width: 52px;
		height: 52px;
		border-radius: 50%;
		background: #E9F0FB;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		cursor: pointer;
		flex-shrink: 0;
	}

	.yh-mnav-btn svg {
		width: 22px;
		height: 22px;
		stroke: #101E38;
	}

	.yh-mnav-btn .ic-close {
		display: none;
	}

	.yh-mnav-panel {
		display: none;
		padding: 8px 4px 6px;
	}

	.yh-mnav-panel a {
		display: block;
		font-size: 20px;
		font-weight: 500;
		color: #101E38;
		text-decoration: none;
		padding: 13px 4px;
	}

	.yh-mnav-panel a.yh-mnav-cta {
		background: #0E2A5C;
		color: #ffffff;
		border-radius: 999px;
		text-align: center;
		padding: 16px 24px;
		font-size: 17px;
		font-weight: 600;
		margin-top: 10px;
	}

	.yh-mnav-check:checked ~ .yh-mnav-panel {
		display: block;
	}

	.yh-mnav-check:checked ~ .yh-mhead__bar .ic-open {
		display: none;
	}

	.yh-mnav-check:checked ~ .yh-mhead__bar .ic-close {
		display: inline;
	}
}
/* ---------- Elementor multi-column rows (replaces Gutenberg row scaffolding) ---------- */
.yh-sec .elementor-widget {
	margin-bottom: 0 !important;
}

.yh-sec__head > .elementor-container { column-gap: 80px; row-gap: 24px; }
.yh-dark__cols > .elementor-container { column-gap: 72px; row-gap: 32px; }
.yh-why__cols > .elementor-container { column-gap: 64px; row-gap: 32px; }
.yh-clients__cols > .elementor-container { column-gap: 40px; row-gap: 32px; }
.yh-stats__cols > .elementor-container { column-gap: 80px; row-gap: 32px; }
.yh-stats > .elementor-container { column-gap: 32px; row-gap: 24px; }
.yh-how__cols > .elementor-container { column-gap: 24px; row-gap: 24px; }
.yh-minigrid > .elementor-container { column-gap: 14px; row-gap: 14px; }
.yh-story__cols > .elementor-container { column-gap: 20px; row-gap: 20px; }
.yh-price__cols > .elementor-container { column-gap: 20px; row-gap: 20px; }
.yh-cta__cols > .elementor-container { column-gap: 72px; row-gap: 32px; }
.yh-cells > .elementor-container,
.yh-darkcells > .elementor-container { column-gap: 0; row-gap: 0; }

/* Services card shell (two row-sections form one card) */
.yh-sec--services .yh-cells { background: #fff; box-shadow: 0 1px 2px rgba(23, 26, 43, 0.05); border-radius: 18px 18px 0 0; overflow: hidden; }
.yh-sec--services .yh-cells--row2 { border-radius: 0 0 18px 18px !important; }
.yh-sec--services .yh-cells > .elementor-container > .elementor-column + .elementor-column { border-left: 1px solid #E7EEF9; }
.yh-sec--dark .yh-darkcells > .elementor-container > .elementor-column + .elementor-column { border-left: 1px solid rgba(255, 255, 255, 0.14); }

/* Vertical alignment helpers for columns */
.yh-vcenter > .elementor-widget-wrap { justify-content: center !important; }
.yh-vbottom > .elementor-widget-wrap { justify-content: flex-end !important; }

@media (max-width: 960px) {
	.yh-sec .elementor-column { width: 100% !important; }
	.yh-sec--services .yh-cells > .elementor-container > .elementor-column + .elementor-column { border-left: none !important; border-top: 1px solid #E7EEF9; }
	.yh-sec--dark .yh-darkcells > .elementor-container > .elementor-column + .elementor-column { border-left: none !important; border-top: 1px solid rgba(255, 255, 255, 0.14); }
}

/* Testimonial cards: explicit text colors (theme rules beat inheritance) */
.yh-story--blue .yh-story__quote,
.yh-story--blue .yh-story__text,
.yh-story--blue .yh-story__author,
.yh-story--red .yh-story__quote,
.yh-story--red .yh-story__text,
.yh-story--red .yh-story__author {
	color: #ffffff;
}

.yh-story--yellow .yh-story__quote,
.yh-story--yellow .yh-story__text,
.yh-story--yellow .yh-story__author {
	color: #101E38;
}


/* Global dark/ghost pill buttons (any Elementor section) */
.yh-btn-dark .elementor-button {
	background: #0E2A5C !important;
	color: #ffffff !important;
	border: none;
	border-radius: 999px !important;
	padding: 16px 30px !important;
	font-family: 'Poppins', system-ui, sans-serif !important;
	font-size: 16.5px !important;
	font-weight: 600 !important;
	transition: background 0.15s ease, transform 0.15s ease;
}

.yh-btn-dark .elementor-button:hover {
	background: #15305F !important;
	color: #ffffff !important;
	transform: translateY(-1px);
}

.yh-btn-ghost .elementor-button {
	background: #ffffff !important;
	color: #101E38 !important;
	border: 1px solid #C9D8F0;
	border-radius: 999px !important;
	padding: 15px 30px !important;
	font-family: 'Poppins', system-ui, sans-serif !important;
	font-size: 16.5px !important;
	font-weight: 600 !important;
	transition: background 0.15s ease, transform 0.15s ease;
}

.yh-btn-ghost .elementor-button:hover {
	background: #F3F7FD !important;
	transform: translateY(-1px);
}


/* ---------- About page ---------- */
.yh-about-hero {
	text-align: center;
}

.yh-about-hero .yh-h2 {
	margin-left: auto;
	margin-right: auto;
}

.yh-about-hero .yh-sec__intro {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

.yh-about-cols > .elementor-container,
.yh-values-row > .elementor-container { column-gap: 40px; row-gap: 24px; }

.yh-card .yh-stat:first-child {
	border-top: none;
	padding-top: 0;
}

.yh-hq p {
	color: #cfd0d8;
	font-size: 16px;
	line-height: 1.6;
	margin: 0 0 10px;
}

.yh-hq strong {
	color: #ffffff;
}

.yh-about-cta {
	text-align: center;
}

.yh-about-cta .yh-h2 {
	margin-left: auto;
	margin-right: auto;
}


.yh-footer__cols > .elementor-container { column-gap: 40px; row-gap: 32px; }
@media (max-width: 960px) {
	.yh-footer__inner { padding: 56px 16px 28px; }
	.yh-footer .elementor-column { width: 100% !important; }
	.yh-footer__bottom { flex-direction: column; gap: 8px; }
}


/* Inner rows span the full column width (Elementor defaults inner
 * sections to a boxed 1140px container, which misaligns them with
 * full-width headings). */
.elementor-inner-section > .elementor-container {
	max-width: none !important;
}


/* Story stats card: fill column height, distribute stats evenly */
.yh-stats-card {
	height: 100%;
}

.yh-stats-card > .elementor-widget-container {
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.yh-stats-card .yh-stat__num {
	line-height: 1.15;
}


/* Paragraph margins: element-qualified selectors beat theme p rules */
p.yh-eyebrow { margin: 0 0 18px; }
p.yh-sec__intro { margin: 0; }
p.yh-hero__intro { margin: 20px 0 22px; }
p.yh-stat__num { margin: 0 0 8px !important; }
p.yh-stat__label { margin: 0 !important; }
p.yh-cell__text,
p.yh-darkcell__text,
p.yh-feature__text,
p.yh-engagement__text,
p.yh-footer__desc { margin: 0; }
.yh-hq p { margin: 0 0 10px; }
p.yh-story__text { margin: 0 0 26px; }
p.yh-price__desc { margin: 0 0 10px; }
p.yh-card__lead { margin: 0 0 22px; }


/* Quote form selects: roomy tappable box, unclipped text */
.yh-form__field select {
	min-height: 52px;
	line-height: 1.5;
	padding-right: 40px;
}

.yh-form__field select option {
	padding: 10px 16px;
}


/* Explicit light colors inside dark/colored wrappers (Astra sets heading colors directly, which beats inheritance) */
.yh-engagement .yh-engagement__num { color: #ffffff !important; }


/* Clients right column: gap below engagement card, port photo stretches
 * so the column matches the warehouse image height */
.yh-equal-col.elementor-column > .elementor-widget-wrap {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.yh-equal-col .elementor-widget.yh-engagement {
	flex: 0 0 auto;
	margin-bottom: 20px !important;
}

.yh-equal-col .elementor-widget.yh-img--port {
	flex: 1 1 auto;
	min-height: 240px;
	display: flex;
	flex-direction: column;
}

.yh-equal-col .yh-img--port img {
	height: 100% !important;
	min-height: 240px;
}

/* Services grid: row divider + whole-cell links */
.yh-sec--services .yh-cells--row2 {
	border-top: 1px solid #E7EEF9;
}

.yh-sec--services .yh-cell {
	position: relative;
}

a.yh-cell__link {
	position: absolute;
	inset: 0;
	z-index: 2;
}

.yh-sec--services .yh-cell {
	transition: background 0.15s ease;
}

.yh-sec--services .yh-cell:hover {
	background: #F8FBFE;
}

.yh-sec--services .yh-cell .yh-cell__arrow {
	transition: transform 0.15s ease;
}

.yh-sec--services .yh-cell:hover .yh-cell__arrow {
	transform: translate(2px, -2px);
}
/* --- YH auto blog + single post --- */
.yh-eyebrow{font-family:Poppins,sans-serif;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#7a7f8a}
.yh-sec__intro{font-family:Poppins,sans-serif;font-size:17px;color:#3A5178}
.yh-blog-auto .wp-block-post-template{gap:0!important;background:#fff;border:1px solid #E7EEF9;border-radius:20px;overflow:hidden}
.yh-blog-auto .wp-block-post{padding:28px;border-right:1px solid #E7EEF9;margin:0!important}
.yh-blog-auto .wp-block-post-title{font-family:Poppins,sans-serif;font-size:19px;font-weight:600}
.yh-blog-auto .wp-block-post-title a{color:#101E38!important;text-decoration:none!important}
.yh-blog-auto .wp-block-post-excerpt{font-family:Poppins,sans-serif;font-size:15px;color:#7a7f8a}
.yh-blog-auto .wp-block-post-date{font-family:Poppins,sans-serif;font-size:13px;color:#7a7f8a}
.yh-blog-auto .wp-block-post-featured-image img{border-radius:12px}
.single-post .entry-content{max-width:800px;margin:0 auto}
.single-post .entry-content h2{font-family:Poppins,sans-serif;color:#101E38;margin-top:36px}
.single-post .entry-content p,.single-post .entry-content li{font-family:Poppins,sans-serif;font-size:16px;line-height:1.75;color:#1B3560}
.single-post .wp-block-image img{border-radius:12px}

/* --- YH narrow side gaps (article) --- */
.yh-article{max-width:1000px!important;padding:32px 28px!important}
.single-post .ast-container{max-width:1100px!important}
.single-post .entry-content{max-width:1000px!important;padding-left:20px!important;padding-right:20px!important}

/* --- YH zero side gaps (single post full width) --- */
.single-post .ast-container{max-width:none!important;padding-left:8px!important;padding-right:8px!important}
.single-post .entry-content{max-width:none!important;padding-left:8px!important;padding-right:8px!important}
.yh-article{max-width:none!important;margin:0!important;border-radius:0!important;border-left:0!important;border-right:0!important}

/* --- YH article frame (outside design) --- */
.single-post .site-content{background:#F3F7FD!important;padding:48px 20px 72px!important}
.single-post #primary{width:100%!important;margin:0!important}
.single-post article.ast-article-single{background:#fff!important;border:1px solid #E7EEF9!important;border-radius:24px!important;max-width:920px!important;margin:0 auto!important;padding:56px 60px!important;box-shadow:0 12px 40px rgba(23,26,43,.07)!important}
.single-post .entry-title{font-family:Poppins,sans-serif!important;font-size:40px!important;line-height:1.2!important;font-weight:700!important;color:#101E38!important;margin-bottom:12px!important}
.single-post .entry-meta{font-family:Poppins,sans-serif!important;font-size:14px!important;color:#7a7f8a!important;margin-bottom:28px!important;padding-bottom:24px!important;border-bottom:1px solid #E7EEF9!important}
.single-post .entry-meta a{color:#101E38!important;text-decoration:none!important}
.single-post .entry-content{max-width:none!important;padding:0!important;margin:0!important}
.single-post .entry-content h2{font-family:Poppins,sans-serif!important;font-size:26px!important;font-weight:600!important;color:#101E38!important;margin:40px 0 14px!important}
.single-post .wp-block-image{margin:28px 0!important}
.single-post .wp-block-image img{border-radius:16px!important;box-shadow:0 8px 24px rgba(23,26,43,.10)!important}
.single-post .wp-block-button__link{background:#0E2A5C!important;border-radius:12px!important;padding:14px 28px!important;font-family:Poppins,sans-serif!important;font-weight:600!important}
.single-post .wp-block-buttons{margin-top:28px!important}
@media(max-width:600px){.single-post .site-content{padding:24px 12px 48px!important}.single-post article.ast-article-single{padding:32px 22px!important;border-radius:18px!important}.single-post .entry-title{font-size:28px!important}}

/* --- YH article card aligned to the header pill ---
   The header pill is inset 40px from the viewport (margin:16px 40px 0), while
   .site-main (the article's parent) is inset 20px. A 20px margin on the article
   therefore lines its edges up with the header at every desktop width, instead
   of stretching edge-to-edge the way `max-width:none;margin:0` did. */
.single-post .site-content{padding:24px 12px 48px!important}
@media(min-width:1025px){
  .single-post article.ast-article-single{max-width:none!important;margin:0 20px!important}
}
@media(max-width:1024px){
  .single-post article.ast-article-single{max-width:none!important;margin:0!important}
}

/* --- YH auto TOC box --- */
html{scroll-behavior:smooth}
.yh-toc{background:#F3F7FD!important;border:1px solid #E7EEF9!important;border-radius:14px!important;padding:24px 28px!important;margin:0 0 32px!important;font-family:Poppins,sans-serif!important}
.yh-toc strong{display:block;font-size:16px!important;color:#101E38!important;margin-bottom:12px!important}
.yh-toc ol{margin:0!important;padding-left:22px!important}
.yh-toc li{font-size:15px!important;line-height:1.9!important;color:#1B3560!important}
.yh-toc a{color:#101E38!important;text-decoration:none!important}
.yh-toc a:hover{text-decoration:underline!important}

/* --- YH contact 2-col (beats global 100% columns) --- */
.yh-sec.yh-sec--contact-cols > .elementor-container > .elementor-column{width:50%!important}
@media(max-width:768px){.yh-sec.yh-sec--contact-cols > .elementor-container > .elementor-column{width:100%!important}}

/* --- YH card height fix: 100% only helps equal-height grid columns; in single columns it explodes --- */
.elementor-col-100 .yh-card{height:auto!important}

/* --- YH premium single product --- */
.single-product .site-content{background:#F3F7FD!important;padding:8px 20px 0!important}
.single-product #primary{margin-bottom:0!important}
.single-product div.product{background:#fff!important;border:1px solid #E7EEF9!important;border-radius:24px!important;max-width:1200px!important;margin:0 auto!important;padding:28px!important;box-shadow:0 12px 40px rgba(23,26,43,.07)!important}
.single-product .woocommerce-product-gallery__image img,.single-product .flex-viewport{border-radius:16px!important}
.single-product span.onsale{background:#0E2A5C!important;font-family:Poppins,sans-serif!important}
.single-product .woocommerce-breadcrumb{font-family:Poppins,sans-serif!important;font-size:14px!important;color:#7a7f8a!important;margin-bottom:16px!important}
.single-product .woocommerce-breadcrumb a{color:#101E38!important;text-decoration:none!important}
.single-product .product_title{font-family:Poppins,sans-serif!important;font-size:36px!important;line-height:1.2!important;font-weight:700!important;color:#101E38!important;margin-bottom:12px!important}
.single-product .summary .price{font-family:Poppins,sans-serif!important;font-size:26px!important;color:#101E38!important;margin:16px 0 8px!important}
.single-product .summary .price del{color:#9a9ba7!important;margin-right:10px!important}
.single-product .woocommerce-product-details__short-description{font-family:Poppins,sans-serif!important;font-size:16px!important;color:#3A5178!important}
.single-product .cart .qty{border:1px solid #E7EEF9!important;border-radius:12px!important;padding:12px!important;font-family:Poppins,sans-serif!important}
.single-product .cart .single_add_to_cart_button{background:#0E2A5C!important;border-radius:999px!important;padding:16px 36px!important;font-family:Poppins,sans-serif!important;font-weight:600!important}
.single-product .cart .single_add_to_cart_button:hover{background:#15305F!important}
.single-product .product_meta{font-family:Poppins,sans-serif!important;font-size:14px!important;color:#7a7f8a!important;border-top:1px solid #E7EEF9!important;padding-top:16px!important}
.single-product .woocommerce-tabs ul.tabs li a{font-family:Poppins,sans-serif!important;color:#101E38!important}
.single-product .woocommerce-Tabs-panel{font-family:Poppins,sans-serif!important;color:#1B3560!important}
@media(max-width:600px){.single-product div.product{padding:28px 20px!important;border-radius:18px!important}.single-product .product_title{font-size:28px!important}}

/* --- YH related products --- */
.single-product .related.products{max-width:1200px!important;margin:32px auto 0!important}
.single-product .related.products > h2{font-family:Poppins,sans-serif!important;font-size:26px!important;font-weight:600!important;color:#101E38!important;margin-bottom:20px!important}
.single-product .related ul.products li.product{background:#fff!important;border:1px solid #E7EEF9!important;border-radius:18px!important;padding:16px!important}
.single-product .related ul.products li.product img{border-radius:12px!important}
.single-product .related ul.products li.product .woocommerce-loop-product__title{font-family:Poppins,sans-serif!important;color:#101E38!important}
.single-product .related ul.products li.product .price{font-family:Poppins,sans-serif!important;color:#101E38!important}
.single-product .related ul.products li.product .button{background:#0E2A5C!important;color:#fff!important;border-radius:999px!important;font-family:Poppins,sans-serif!important}

/* --- YH beautiful shop --- */
.post-type-archive-product .site-content{background:#F3F7FD!important;padding:24px 20px 0!important}
.post-type-archive-product #primary{margin-bottom:0!important}
.post-type-archive-product .woocommerce-breadcrumb{font-family:Poppins,sans-serif!important;font-size:14px!important;color:#7a7f8a!important}
.post-type-archive-product .woocommerce-breadcrumb a{color:#101E38!important;text-decoration:none!important}
.post-type-archive-product .woocommerce-products-header__title{font-family:Poppins,sans-serif!important;font-size:40px!important;font-weight:700!important;color:#101E38!important}
.post-type-archive-product .woocommerce-result-count{font-family:Poppins,sans-serif!important;color:#7a7f8a!important}
.post-type-archive-product .orderby{font-family:Poppins,sans-serif!important;border:1px solid #E7EEF9!important;border-radius:10px!important;padding:10px 14px!important;background:#fff!important}
.post-type-archive-product ul.products li.product{background:#fff!important;border:1px solid #E7EEF9!important;border-radius:18px!important;padding:16px!important;box-shadow:0 1px 2px rgba(23,26,43,.05)!important}
.post-type-archive-product ul.products li.product img{border-radius:12px!important}
.post-type-archive-product ul.products li.product .woocommerce-loop-product__title{font-family:Poppins,sans-serif!important;font-size:17px!important;color:#101E38!important}
.post-type-archive-product ul.products li.product .price{font-family:Poppins,sans-serif!important;font-size:16px!important;color:#101E38!important}
.post-type-archive-product ul.products li.product .price del{color:#9a9ba7!important}
.post-type-archive-product ul.products li.product .button{background:#0E2A5C!important;color:#fff!important;border-radius:999px!important;font-family:Poppins,sans-serif!important;padding:12px 26px!important}
.post-type-archive-product ul.products li.product .onsale{background:#0E2A5C!important;font-family:Poppins,sans-serif!important}

/* --- YH shop tight gaps --- */
.post-type-archive-product .site-content{padding-top:8px!important}
.post-type-archive-product .woocommerce-breadcrumb{margin-bottom:8px!important}
.post-type-archive-product .woocommerce-products-header{margin-bottom:8px!important}
.post-type-archive-product .woocommerce-products-header__title{margin:0 0 8px!important}
.post-type-archive-product .ast-shop-toolbar,.post-type-archive-product .woocommerce-notices-wrapper:empty{display:none}
.post-type-archive-product .woocommerce-result-count{margin:0 0 12px!important}
.post-type-archive-product ul.products{margin-top:8px!important}

/* --- YH shop zero top gap --- */
.post-type-archive-product #primary{margin-top:0!important}
.post-type-archive-product .woocommerce-ordering{margin-bottom:8px!important}
.post-type-archive-product ul.products{margin-top:0!important}

/* --- YH category links --- */
.single-product .single-product-category,.single-product .single-product-category a{font-family:Poppins,sans-serif!important;font-size:14px!important;font-weight:600!important;color:#7a7f8a!important;text-decoration:none!important}
.single-product .product_meta a{color:#101E38!important;text-decoration:none!important;font-weight:600!important}
.single-product .posted_in{margin-left:16px!important}

/* --- YH blog list like reference + Yingying author box --- */
.yh-blog-list .wp-block-post{background:#fff;border:1px solid #E7EEF9;border-radius:20px;overflow:hidden;padding:28px;margin:0 0 28px!important}
.yh-blog-list .wp-block-post-title{font-family:Poppins,sans-serif!important;font-size:26px!important;font-weight:700!important}
.yh-blog-list .wp-block-post-title a{color:#101E38!important;text-decoration:none!important}
.yh-blog-list .yh-byline{font-family:Poppins,sans-serif!important;font-size:14px!important;color:#7a7f8a!important;margin-bottom:12px}
.yh-blog-list .yh-byline a{color:#101E38!important;font-weight:600}
.yh-blog-list .wp-block-post-featured-image img{border-radius:14px!important}
.yh-blog-list .wp-block-post-excerpt{font-family:Poppins,sans-serif!important;color:#3A5178!important}
.yh-blog-list .wp-block-post-excerpt__more-link{color:#101E38!important;font-weight:600}
.yh-blog-list .wp-block-post-terms{font-family:Poppins,sans-serif!important;font-size:13px!important}
.yh-blog-list .wp-block-post-terms a{color:#7a7f8a!important}
.yh-authorbox{background:#fff;border:1px solid #E7EEF9;border-radius:20px;padding:40px;margin-top:40px}
.yh-authorbox h2{font-family:Poppins,sans-serif!important;color:#101E38!important}
.yh-authorbox p,.yh-authorbox li{font-family:Poppins,sans-serif!important;color:#1B3560!important}
.yh-blog-cta{background:#0E2A5C;border-radius:20px;padding:40px;margin-top:28px}
.yh-blog-cta h2{font-family:Poppins,sans-serif!important}
.yh-blog-cta p{color:#fff!important;font-family:Poppins,sans-serif!important}
.yh-blog-cta .wp-block-button__link{background:#fff!important;color:#101E38!important;font-weight:600}

/* --- YH blog side-by-side --- */
.yh-blog-cols{gap:32px!important;align-items:flex-start!important}
@media(min-width:782px){.yh-blog-cols > .wp-block-column:last-child{position:sticky!important;top:100px!important}}
.yh-authorbox h3{font-family:Poppins,sans-serif!important;color:#101E38!important;font-size:20px!important}
.yh-blog-cta h3{font-family:Poppins,sans-serif!important}

/* --- YH authorbox button --- */
.yh-authorbox .wp-block-button__link{background:#0E2A5C!important;color:#fff!important;font-weight:600}

/* --- YH round author photo --- */
.yh-authorbox .wp-block-image img{border-radius:50%!important;width:140px!important;height:140px!important;object-fit:cover!important}

/* --- YH tidy byline --- */
.yh-blog-list .yh-byline{display:flex!important;align-items:center!important;gap:6px!important;flex-wrap:wrap!important}
.yh-blog-list .yh-byline p{margin:0!important}

/* --- YH author social icons --- */
.yh-authorbox .yh-social a{display:inline-block!important;margin:0 10px!important;color:#101E38!important;vertical-align:middle}
.yh-authorbox .yh-social a:hover{color:#28406B!important}

/* --- YH pretty pagination --- */
.yh-blog-list .wp-block-query-pagination{display:flex!important;align-items:center!important;gap:10px!important;margin-top:8px!important}
.yh-blog-list .wp-block-query-pagination .page-numbers,.yh-blog-list .wp-block-query-pagination-next,.yh-blog-list .wp-block-query-pagination-previous{display:inline-block!important;min-width:44px!important;text-align:center!important;padding:10px 16px!important;border-radius:999px!important;background:#fff!important;border:1px solid #E7EEF9!important;font-family:Poppins,sans-serif!important;font-size:15px!important;font-weight:600!important;color:#101E38!important;text-decoration:none!important}
.yh-blog-list .wp-block-query-pagination .page-numbers.current{background:#0E2A5C!important;color:#fff!important;border-color:#101E38!important}
.yh-blog-list .wp-block-query-pagination a:hover{border-color:#101E38!important}

/* --- YH elementor blog --- */
.yh-blogel > .elementor-container{display:flex!important;gap:32px!important;align-items:flex-start!important;max-width:1400px;margin:0 auto;padding:0 40px 40px}
.yh-blogel .elementor-posts .elementor-post{background:#fff!important;border:1px solid #E7EEF9!important;border-radius:20px!important;padding:28px!important;margin-bottom:28px!important}
.yh-blogel .elementor-post__thumbnail img{border-radius:14px!important}
.yh-blogel .elementor-post__title{font-family:Poppins,sans-serif!important}
.yh-blogel .elementor-post__title a{color:#101E38!important}
.yh-blogel .elementor-post__meta-data{font-family:Poppins,sans-serif!important;color:#7a7f8a!important;font-size:14px!important}
.yh-blogel .elementor-post__excerpt{font-family:Poppins,sans-serif!important;color:#3A5178!important}
.yh-blogel .elementor-post__read-more{color:#101E38!important;font-weight:600!important;font-family:Poppins,sans-serif!important}
.yh-blogel .elementor-pagination{font-family:Poppins,sans-serif!important}
.yh-blogel .elementor-pagination .page-numbers{border-radius:999px!important;border:1px solid #E7EEF9!important;background:#fff!important;color:#101E38!important;min-width:44px;text-align:center}
.yh-blogel .elementor-pagination .page-numbers.current{background:#0E2A5C!important;color:#fff!important}
.yh-author-photo img{border-radius:50%!important;width:140px!important;height:140px!important;object-fit:cover!important}
.yh-blogel .yh-btn-light .elementor-button{background:#fff!important;color:#101E38!important;border-radius:999px!important;padding:14px 28px!important;font-weight:600!important}
@media(max-width:900px){.yh-blogel > .elementor-container{flex-direction:column!important}}

/* --- YH elementor blog feed --- */
.yh-eblog__post{background:#fff!important;border:1px solid #E7EEF9!important;border-radius:20px!important;padding:28px!important;margin-bottom:28px!important}
.yh-eblog__img img{border-radius:14px!important;width:100%!important;height:auto!important}
.yh-eblog__title{font-family:Poppins,sans-serif!important;font-size:26px!important;font-weight:700!important;margin:16px 0 8px!important}
.yh-eblog__title a{color:#101E38!important;text-decoration:none!important}
.yh-eblog__by{font-family:Poppins,sans-serif!important;font-size:14px!important;color:#7a7f8a!important;margin-bottom:12px!important}
.yh-eblog__ex{font-family:Poppins,sans-serif!important;color:#3A5178!important}
.yh-eblog__more{color:#101E38!important;font-weight:600!important;font-family:Poppins,sans-serif!important;text-decoration:none!important}
.yh-eblog__cats{font-family:Poppins,sans-serif!important;font-size:13px!important;margin-top:10px!important}
.yh-eblog__cats a{color:#7a7f8a!important}
.yh-eblog__nav{margin-top:8px!important}
.yh-eblog__nav .page-numbers{display:inline-block!important;min-width:44px!important;text-align:center!important;padding:10px 16px!important;border-radius:999px!important;background:#fff!important;border:1px solid #E7EEF9!important;font-family:Poppins,sans-serif!important;font-size:15px!important;font-weight:600!important;color:#101E38!important;text-decoration:none!important;margin-right:10px!important}
.yh-eblog__nav .page-numbers.current{background:#0E2A5C!important;color:#fff!important;border-color:#101E38!important}

/* --- YH social row --- */
.yh-socrow{text-align:center!important;margin:6px 0 4px!important}
.yh-socrow a{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:38px!important;height:38px!important;border-radius:50%!important;background:#0E2A5C!important;color:#fff!important;margin:0 6px!important;text-decoration:none!important}

/* --- YH solutions hub --- */
.yh-sol h4.yh-sol__t{font-family:Poppins,sans-serif!important;font-size:13px!important;font-weight:700!important;letter-spacing:.06em!important;color:#101E38!important;margin:18px 0 8px!important}
.yh-sol ul.yh-sol__l{list-style:none!important;margin:0!important;padding:0!important}
.yh-sol ul.yh-sol__l li{margin:0 0 6px!important}
.yh-sol ul.yh-sol__l a{font-family:Poppins,sans-serif!important;font-size:14px!important;color:#3A5178!important;text-decoration:none!important}
.yh-sol ul.yh-sol__l a:hover{color:#101E38!important}

/* --- YH uniform blog images --- */
.yh-eblog__img{display:block!important;overflow:hidden!important;border-radius:14px!important}
.yh-eblog__img img{height:260px!important;object-fit:cover!important}

/* ---- column spacing fix: sections with gap-no had touching images/cards ---- */
.yh-clients__cols .elementor-container,
.yh-why__cols .elementor-container,
.yh-stats__cols .elementor-container { margin-left: -12px; margin-right: -12px; }
.yh-clients__cols .elementor-column,
.yh-why__cols .elementor-column,
.yh-stats__cols .elementor-column { padding-left: 12px; padding-right: 12px; }
.yh-clients__cols .yh-equal-col { margin-top: 0; }
/* ---- client stories: brand colors + card spacing ---- */
.yh-story--blue, .yh-story--red { background: #0E2A5C; }
.yh-story--yellow { background: #FFFFFF; color: #101E38; box-shadow: 0 1px 3px rgba(23,26,43,.06); }
.yh-sec--stories .elementor-container { margin-left: -12px; margin-right: -12px; }
.yh-sec--stories .elementor-column { padding-left: 12px; padding-right: 12px; }
/* ---- header logo at its real dimensions ---- */
.yh-brand .yh-brand__mark { width: auto !important; height: auto !important; border-radius: 12px; overflow: hidden; }
.yh-brand .yh-brand__mark img { width: 210px !important; height: auto !important; }
[data-elementor-type="header"] .yh-brand__title,
[data-elementor-type="header"] .yh-brand__subtitle { display: none !important; }
/* ---- HFE header: show lockup logo at proper size ---- */
img.yh-eh-brand__mark { width: 120px !important; height: auto !important; }
.yh-eh-brand__text { display: none !important; }
/* ---- header menu: one row, inside the pill ---- */
.elementor-27 .hfe-nav-menu__layout-horizontal,
.elementor-27 .hfe-nav-menu.hfe-layout-horizontal,
.elementor-27 ul.hfe-nav-menu { height: auto !important; flex-wrap: nowrap !important; }
.elementor-27 .hfe-nav-menu li a { padding-left: 13px !important; padding-right: 13px !important; }
.elementor-27 .hfe-nav-menu li { white-space: nowrap; }
/* ---- HFE menu: keep in normal flow (was absolutely positioned by the old one-page kit) ---- */
.elementor-27 ul.hfe-nav-menu { position: static !important; top: auto !important; width: auto !important; width: auto !important; }
/* ---- menu takes its natural width ---- */
.elementor-27 ul.hfe-nav-menu { width: max-content !important; flex-shrink: 0 !important; flex-grow: 0 !important; }
/* ---- header menu: centered, compact, one row ---- */
.elementor-27 ul.hfe-nav-menu {
  position: static !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  width: max-content !important;
  max-width: none !important;
  height: auto !important;
  flex-wrap: nowrap !important;
  flex-shrink: 0 !important;
  flex-grow: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  justify-content: center !important;
  gap: 8px;
}
.elementor-27 .hfe-nav-menu li a { padding-left: 12px !important; padding-right: 12px !important; }
.elementor-27 .hfe-nav-menu li { white-space: nowrap; }
/* ---- header: vertical centering ---- */
.elementor-27 .elementor-container,
.elementor-27 .elementor-widget-wrap { align-items: center !important; }
/* ---- footer social icons: uniform translucent circles ---- */
.elementor-38 .elementor-social-icon { background-color: rgba(255,255,255,0.14) !important; color: #FFFFFF !important; }
.elementor-38 .elementor-social-icon:hover { background-color: rgba(255,255,255,0.28) !important; }
/* ---- footer: vertical centering + mobile responsive ---- */
.elementor-38 .elementor-section .elementor-container { align-items: flex-start !important; }
.elementor-38 .elementor-column { display: flex; flex-direction: column; justify-content: flex-start; }
@media (max-width: 767px) {
  .elementor-38 .elementor-column { width: 100% !important; }
  .elementor-38 .elementor-widget { width: 100% !important; }
  .elementor-38 .elementor-widget-text-editor { text-align: center !important; }
  .elementor-38 .elementor-widget-text-editor p { white-space: normal !important; }
  .elementor-38 .elementor-widget.social-icons { text-align: center; }
  .elementor-38 .elementor-social-icons-wrapper { justify-content: center !important; }
  .elementor-38 .elementor-icon-box-wrapper { justify-content: center !important; text-align: center; }
  .elementor-38 .elementor-icon-box-content { text-align: center; }
  .elementor-38 .elementor-widget.button, .elementor-38 .elementor-widget-button a.elementor-button { width: auto !important; }
  .elementor-38 .elementor-button { display: inline-block; }
}
/* ---- footer columns: dividers, icon tiles, spacing ---- */
.elementor-38 .yh-main-footer-col { padding-left: 34px !important; padding-right: 34px !important; }
.elementor-38 .yh-main-footer-col ~ .yh-main-footer-col { border-left: 1px solid rgba(255,255,255,0.16); }
.elementor-38 .yh-main-footer-col .elementor-icon-box-icon .elementor-icon {
	background: #1E6FE0 !important; border-radius: 12px; padding: 13px;
	color: #FFFFFF !important; display: inline-flex; align-items: center; justify-content: center;
}
.elementor-38 .yh-main-footer-col .elementor-icon-box-icon .elementor-icon svg { width: 22px; height: 22px; fill: #FFFFFF; }
.elementor-38 .yh-main-footer-col .elementor-icon-list-item { padding: 7px 0; }
.elementor-38 .yh-main-footer-col .elementor-icon-list-text { font-size: 17px !important; color: #FFFFFF !important; }
.elementor-38 .yh-main-footer-col .elementor-icon-list-icon { color: #6FA8F5 !important; }
.elementor-38 .yh-main-footer-col .elementor-icon-list-icon svg { fill: #6FA8F5; }
/* ---- FAQ page: semantic disclosure styling ---- */
.yh-faq { border: 1px solid #DCE7F7; border-radius: 14px; background: #fff; padding: 4px 22px; margin: 0 0 16px; }
.yh-faq summary {
	cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center;
	font-weight: 600; font-size: 17px; color: #171A2B; padding: 15px 0; min-height: 24px;
}
.yh-faq summary::-webkit-details-marker { display: none; }
.yh-faq summary::after { content: '+'; font-size: 24px; font-weight: 400; color: #1E6FE0; line-height: 1; }
.yh-faq[open] summary::after { content: '−'; }
.yh-faq[open] { padding-bottom: 14px; }
.yh-faq__body { padding: 2px 0 6px; }
.yh-faq__body p { margin: 0 0 12px; font-size: 15px; line-height: 1.65; color: #44454D; }
.yh-faq__body a { color: #1E6FE0; font-weight: 600; }
.yh-faq__body ul { margin: 0 0 12px; padding-left: 20px; }
.yh-faq__body li { margin-bottom: 8px; }
/* Service card overlay links: resolve against the card column.
   Elementor gives .elementor-widget / .elementor-widget-wrap position:relative,
   which collapses the absolute yh-cell__link into its empty widget (height 0).
   Making the wrappers static lets the anchor cover the whole cell. */
.yh-sec--services .yh-cell .elementor-widget,
.yh-sec--services .yh-cell .elementor-widget-wrap {
	position: static;
}

/* ---- Trusted section: align the three columns to one bottom line ---- */
/* Right column: the engagement card and port photo must stack vertically. */
.yh-equal-col.elementor-column > .elementor-widget-wrap {
	flex-direction: column !important;
}
/* Middle column: let the tall photo stretch to the full column height. */
.yh-clients__cols .elementor-widget-wrap:has(> .yh-img--tall) {
	display: flex;
	flex-direction: column !important;
}
.yh-clients__cols .yh-img--tall {
	flex: 1 1 auto;
	height: auto;
	min-height: 420px;
}
/* Stacked mobile layout: fixed photo height, no stretching. */
@media (max-width: 768px) {
	.yh-clients__cols .yh-img--tall {
		flex: 0 0 auto;
		height: 420px;
	}
}

/* ---- Blog sidebar: dark CTA card + solutions cards ---- */
/* "Struggling with sourcing?" group = white text on a dark navy card */
.yh-blogel [data-id="e505d28a"] {
	background: #0E2A5C;
	padding: 30px 28px 6px;
	border-radius: 18px 18px 0 0;
	margin-top: 26px;
}
.yh-blogel [data-id="e505d28a"] .elementor-heading-title {
	color: #ffffff !important;
	font-family: 'Poppins', sans-serif !important;
	font-size: 24px !important;
	line-height: 1.25 !important;
	margin: 0;
}
.yh-blogel [data-id="aa95fce0"] {
	background: #0E2A5C;
	padding: 0 28px 6px;
}
.yh-blogel [data-id="aa95fce0"] p,
.yh-blogel [data-id="aa95fce0"] {
	color: #C9D6EE !important;
	font-family: 'Poppins', sans-serif !important;
	font-size: 15.5px !important;
	line-height: 1.6 !important;
}
.yh-blogel [data-id="404e9ad1"] {
	background: #0E2A5C;
	padding: 12px 28px 30px;
	border-radius: 0 0 18px 18px;
}
/* One Stop Solutions: heading + four link-group cards */
.yh-blogel [data-id="99489733"] .elementor-heading-title {
	font-family: 'Poppins', sans-serif !important;
	color: #101E38 !important;
	font-size: 22px !important;
	margin: 26px 0 12px;
}
.yh-blogel .yh-sol {
	background: #fff;
	border: 1px solid #E7EEF9;
	border-radius: 14px;
	padding: 18px 22px 10px;
	margin-bottom: 14px;
}
.yh-blogel .yh-sol__t {
	font-family: 'Poppins', sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: #0E2A5C;
	margin: 0 0 8px;
}
.yh-blogel .yh-sol__l {
	list-style: none;
	margin: 0;
	padding: 0;
}
.yh-blogel .yh-sol__l li {
	padding: 6px 0;
	border-top: 1px solid #F1F5FC;
}
.yh-blogel .yh-sol__l li:first-child {
	border-top: none;
}
.yh-blogel .yh-sol__l a {
	color: #3A5178;
	text-decoration: none;
	font-size: 15px;
	font-family: 'Poppins', sans-serif;
}
.yh-blogel .yh-sol__l a:hover {
	color: #0E2A5C;
}
/* Bottom CTA: white card */
.yh-blogel [data-id="d300dbf9"] {
	background: #fff;
	border: 1px solid #E7EEF9;
	border-radius: 18px 18px 0 0;
	padding: 28px 28px 4px;
	margin-top: 26px;
}
.yh-blogel [data-id="d300dbf9"] .elementor-heading-title {
	font-family: 'Poppins', sans-serif !important;
	color: #101E38 !important;
}
.yh-blogel [data-id="3a9be620"] {
	background: #fff;
	border-left: 1px solid #E7EEF9;
	border-right: 1px solid #E7EEF9;
	padding: 0 28px 4px;
}
.yh-blogel [data-id="3a9be620"] p {
	color: #3A5178 !important;
	font-family: 'Poppins', sans-serif !important;
}
.yh-blogel [data-id="685c90a4"] {
	background: #fff;
	border: 1px solid #E7EEF9;
	border-top: none;
	border-radius: 0 0 18px 18px;
	padding: 12px 28px 28px;
}

/* close the dark CTA card: remove default widget gaps between its three parts */
.yh-blogel [data-id="e505d28a"],
.yh-blogel [data-id="aa95fce0"],
.yh-blogel [data-id="404e9ad1"] { margin-bottom: 0 !important; }
.yh-blogel [data-id="e505d28a"] { margin-top: 30px; }

/* close the bottom white card the same way */
.yh-blogel [data-id="d300dbf9"],
.yh-blogel [data-id="3a9be620"],
.yh-blogel [data-id="685c90a4"] { margin-bottom: 0 !important; }

/* Round article tables and images to match the site card language */
.entry-content .wp-block-table {
	border-radius: 14px;
	overflow: hidden;
	border: 1px solid #E7EEF9;
}
.entry-content .wp-block-table table {
	margin: 0;
	border: none;
}
.entry-content figure.wp-block-table figcaption {
	padding: 8px 14px;
}
.entry-content img {
	border-radius: 14px;
}

/* Scroll-to-top button: circular brand pill with lift on hover */
#ast-scroll-top {
	background: #0E2A5C;
	color: #ffffff;
	border: none;
	border-radius: 999px;
	font-size: 16px;
	width: 46px;
	height: 46px;
	line-height: 46px;
	right: 26px;
	bottom: 26px;
	box-shadow: 0 10px 24px rgba(14, 42, 92, 0.30);
	transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
#ast-scroll-top:hover {
	background: #1E6FE0;
	transform: translateY(-3px);
	box-shadow: 0 14px 30px rgba(30, 111, 224, 0.35);
}
#ast-scroll-top:focus {
	outline: none;
	box-shadow: 0 10px 24px rgba(14, 42, 92, 0.30);
}

/* Rebuilt stub pages: the Elementor kit hides page titles globally
   (--page-title-display:none, from the all-Elementor era). These six pages
   are Gutenberg now and need their H1 title back. */
.page-id-48, .page-id-3, .page-id-94, .page-id-91, .page-id-92, .page-id-93 {
	--page-title-display: block;
}

/* Page tail sections (appended context blocks on Elementor pages) */
.yh-tail { background: #F3F7FD; margin-top: 48px; padding: 56px 24px; }
.yh-tail__wrap { max-width: 1140px; margin: 0 auto; }
.yh-tail h2 {
	font-family: 'Poppins', sans-serif !important; font-size: 29px; font-weight: 600;
	letter-spacing: -0.01em; color: #101E38 !important; margin: 0 0 18px; line-height: 1.25; }
.yh-tail p {
	font-family: 'Poppins', system-ui, sans-serif; font-size: 16px;
	line-height: 1.75; color: #3A5178; margin: 0 0 14px; }
.yh-tail .yh-tail__tx a { color: #0E2A5C; font-weight: 600; }


/* About Us navy cards: light paragraph text inside the dark cards
   (headings and links are white via inline styles). */
.page-id-39 .elementor-widget-text-editor:has(h2[style*="color:#fff"]) p {
	color: #C9D6EE;
}

/* Testimonial cards grid */
.yh-testi { padding: 8px 24px 40px; }
.yh-testi__wrap { max-width: 1140px; margin: 0 auto; }
.yh-testi h2 { font-family: 'Poppins', sans-serif !important; font-size: 29px; font-weight: 600; color: #101E38 !important; margin: 0 0 20px; }
.yh-testi-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.yh-tcard { background: #fff; border: 1px solid #E7EEF9; border-radius: 16px; padding: 22px 22px 18px; box-shadow: 0 1px 2px rgba(23, 26, 43, 0.05); }
.yh-tcard__stars { color: #F5A623; letter-spacing: 3px; font-size: 13px; margin-bottom: 10px; }
.yh-tcard p { font-family: 'Poppins', system-ui, sans-serif; font-size: 14.5px; line-height: 1.65; color: #3A5178; margin: 0 0 14px; }
.yh-tcard b { display: block; font-family: 'Poppins', sans-serif; font-size: 14.5px; color: #101E38; }
.yh-tcard span { color: #7a8aa5; font-size: 13px; }
@media (max-width: 1024px) { .yh-testi-cards { grid-template-columns: 1fr 1fr; } }
@media (max-width: 700px) { .yh-testi-cards { grid-template-columns: 1fr; } }
/* Section rhythm: tighten stacked paddings/margins on all content pages
   (dark card -> CTA -> tail sequences) */
.yh-sec.yh-added { padding-top: 10px !important; padding-bottom: 28px !important; }
.yh-about-cta { padding: 30px 40px !important; }
.yh-tail { margin-top: 20px; padding-top: 40px; }

/* Case Studies grid cards - same card anatomy as the Astra archive used on
   the blog category pages: image, category, title, author + date, excerpt. */
.yh-casegrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
		.yh-casegrid-sec h2 { font-family: 'Poppins', sans-serif !important; font-size: 29px; font-weight: 600; color: #101E38 !important; margin: 0 0 20px; }
		.yh-casecard, .yh-casecard * { text-decoration: none !important; }
.yh-casecard { display: block; background: #fff; border-radius: 6px; overflow: hidden; box-shadow: 0 6px 15px -2px rgba(16, 24, 40, 0.05); transition: transform 0.15s ease, box-shadow 0.15s ease; }
.yh-casecard:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(23, 26, 43, 0.10); }
.yh-casecard__img img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.yh-casecard__b { padding: 24px; }
.yh-casecard__cat { display: block; font-family: 'Poppins', system-ui, sans-serif; font-size: 16px; font-weight: 600; color: #334155; margin: 0 0 6px; }
.yh-casecard__cat a { color: #334155; }
.yh-casecard__t { font-family: 'Poppins', system-ui, sans-serif; font-size: 20px; font-weight: 600; line-height: 1.3; color: #1E293B; margin: 0 0 14px; }
.yh-casecard__t a { color: inherit; }
.yh-casecard__img a { display: block; }
.yh-casecard__meta { font-family: 'Poppins', system-ui, sans-serif; font-size: 13px; color: #046BD2; margin: 0 0 14px; }
.yh-casecard__ex { font-family: 'Poppins', system-ui, sans-serif; font-size: 16px; line-height: 1.65; color: #334155; margin: 0; }
@media (max-width: 1024px) { .yh-casegrid { grid-template-columns: 1fr 1fr; gap: 28px; } }
@media (max-width: 700px) { .yh-casegrid { grid-template-columns: 1fr; gap: 24px; } }
.yh-casegrid__nav { margin-top: 40px; text-align: center; }
.yh-casegrid__nav .page-numbers { display: inline-block; min-width: 44px; text-align: center; padding: 10px 16px; border-radius: 999px; background: #fff; border: 1px solid #E7EEF9; font-family: 'Poppins', system-ui, sans-serif; font-size: 15px; font-weight: 600; color: #101E38; text-decoration: none !important; margin: 0 5px 8px 0; }
.yh-casegrid__nav .page-numbers.current { background: #0E2A5C; color: #fff; border-color: #101E38; }
.yh-casegrid__nav .page-numbers:hover { border-color: #0E2A5C; }

/* ============================================================
   Comment form — branded card on article footers.
   Scoped to .comments-area so nothing else on the site is touched.
   ============================================================ */
.comments-area {
	margin-top: 44px;
}

.comments-area .comment-respond {
	background: #fff;
	border: 1px solid #DCE7F7;
	border-radius: 18px;
	padding: 28px 32px 26px;
	box-shadow: 0 10px 30px rgba(23, 26, 43, 0.06);
	font-family: 'Poppins', system-ui, sans-serif;
}

/* Quiet meta line: "Logged in as …" / "Required fields are marked *" */
.comments-area .logged-in-as,
.comments-area .comment-notes {
	font-size: 14px;
	line-height: 1.6;
	color: #6f7078;
	margin: 0 0 16px;
}
.comments-area .logged-in-as a,
.comments-area .comment-notes a {
	color: #1E6FE0;
	font-weight: 600;
	text-decoration: none;
}
.comments-area .logged-in-as a:hover,
.comments-area .comment-notes a:hover {
	text-decoration: underline;
}
.comments-area .comment-notes .required {
	color: #1E6FE0;
}

/* Textarea */
.comments-area textarea#comment {
	width: 100%;
	min-height: 168px;
	background: #F7FAFF;
	border: 1px solid #DCE7F7;
	border-radius: 14px;
	padding: 16px 18px;
	font-family: 'Poppins', system-ui, sans-serif;
	font-size: 15px;
	line-height: 1.7;
	color: #101E38;
	margin: 0;
	transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}
.comments-area textarea#comment::placeholder,
.comments-area .comment-respond input::placeholder {
	color: #93A3BE;
}
.comments-area textarea#comment:focus {
	background: #fff;
	border-color: #1E6FE0;
	box-shadow: 0 0 0 4px rgba(30, 111, 224, 0.12);
	outline: none;
}

/* Name / Email / Website row */
.comments-area .ast-comment-formwrap {
	column-gap: 16px;
}
.comments-area .ast-comment-formwrap p {
	margin: 0;
}
.comments-area input#author,
.comments-area input#email,
.comments-area input#url {
	width: 100%;
	background: #F7FAFF;
	border: 1px solid #DCE7F7;
	border-radius: 12px;
	padding: 14px 16px;
	font-family: 'Poppins', system-ui, sans-serif;
	font-size: 15px;
	color: #101E38;
	transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}
.comments-area input#author:focus,
.comments-area input#email:focus,
.comments-area input#url:focus {
	background: #fff;
	border-color: #1E6FE0;
	border-style: solid;
	border-width: 1px;
	box-shadow: 0 0 0 4px rgba(30, 111, 224, 0.12);
	outline: none;
}

/* Cookie consent */
.comments-area .comment-form-cookies-consent {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 4px 0 18px;
	font-size: 13.5px;
	line-height: 1.55;
	color: #6f7078;
}
.comments-area .comment-form-cookies-consent input {
	margin: 3px 0 0;
	accent-color: #1E6FE0;
	flex: none;
}
.comments-area .comment-form-cookies-consent label {
	margin: 0;
}

/* Submit */
.comments-area .form-submit {
	margin: 0;
}
.comments-area .form-submit input#submit,
.comments-area .form-submit .submit {
	background: #1E6FE0;
	color: #fff;
	border: none;
	border-radius: 999px;
	font-family: 'Poppins', system-ui, sans-serif;
	font-size: 15.5px;
	font-weight: 600;
	letter-spacing: 0.01em;
	padding: 15px 34px;
	line-height: 1;
	cursor: pointer;
	transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}
.comments-area .form-submit input#submit:hover,
.comments-area .form-submit .submit:hover {
	background: #0E2A5C;
	transform: translateY(-2px);
	box-shadow: 0 12px 26px rgba(14, 42, 92, 0.28);
}

/* Astra prints an empty legend inside the textarea block */
.comments-area .comment-form-legend {
	display: none;
}

@media (max-width: 700px) {
	.comments-area .comment-respond {
		padding: 22px 18px 20px;
		border-radius: 14px;
	}
	.comments-area .ast-comment-formwrap {
		display: block;
	}
	.comments-area .ast-comment-formwrap p {
		margin-bottom: 12px !important;
	}
	.comments-area .form-submit input#submit {
		width: 100%;
	}
}

/* ============================================================
   Home — "What does one sourcing partner cover?" services grid.
   Each of the six cards is an Elementor icon + heading +
   text-editor widget; these rules restore the approved card design
   that the grid lost when it was rebuilt as Elementor widgets:
     · Poppins instead of Elementor's Roboto kit font
     · no underlined link title (a bare <a> underlines by default)
     · the whole card clicks through to the linked title
     · the top-right arrow affordance from the design
   Everything is scoped to .yh-sec--services so no other section,
   page or post is affected.
   ============================================================ */
.yh-sec--services .yh-h2,
.yh-sec--services .yh-sec__intro,
.yh-sec--services .yh-cell__title,
.yh-sec--services .yh-cell__title .elementor-heading-title,
.yh-sec--services .yh-cell__title .elementor-heading-title a,
.yh-sec--services .yh-cell__text,
.yh-sec--services .yh-cell__text p {
	font-family: 'Poppins', system-ui, sans-serif;
}

/* Title links carry the card's target, so they must not read as body links */
.yh-sec--services .yh-cell__title a,
.yh-sec--services .yh-cell__title a:hover,
.yh-sec--services .yh-cell__title a:focus {
	color: #101E38;
	text-decoration: none;
}
.yh-sec--services .yh-cell .elementor-icon {
	text-decoration: none;
}

/* Whole-card click target. .yh-cell is the nearest positioned
   ancestor — the kit already makes Elementor's widget wrappers static
   inside a services cell. */
.yh-sec--services .yh-cell {
	position: relative;
}
.yh-sec--services .yh-cell__title a::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 2;
}

/* Top-right arrow, level with the icon tile */
.yh-sec--services .yh-cell__title::after {
	content: '';
	position: absolute;
	top: 45px;
	right: 30px;
	width: 16px;
	height: 16px;
	background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='M3 11L11 3M11 3H4.8M11 3v6.2' stroke='%23101E38' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	pointer-events: none;
	transition: transform 0.15s ease;
}
.yh-sec--services .yh-cell:hover .yh-cell__title::after {
	transform: translate(2px, -2px);
}

/* ---- Document checklist (case-studies: "What our reports look like") ----
   Shared component so this section inherits the design system instead of
   carrying per-element inline styles, which is why it looked unlike the rest
   of the site. Matches .yh-tcard tokens: Poppins, #101E38 headings,
   #6f7078 body, #E7EEF9 dividers. */
.yh-doclist__title{font-family:'Poppins',system-ui,sans-serif;font-size:18px;font-weight:600;letter-spacing:-0.01em;color:#101E38;margin:0 0 14px}
.yh-doclist{list-style:none;margin:0;padding:0}
.yh-doclist li{display:flex;align-items:baseline;gap:11px;padding:12px 0;border-top:1px solid #E7EEF9;font-family:'Poppins',system-ui,sans-serif;font-size:15.5px;line-height:1.6;color:#6f7078}
.yh-doclist li:first-child{border-top:0;padding-top:0}
.yh-doclist__ck{color:#0F8A4D;font-weight:600;flex-shrink:0}
.yh-doclist a{color:#101E38;font-weight:600;text-decoration:none}
.yh-doclist a:hover{text-decoration:underline}
@media(max-width:600px){
	.yh-doclist li{font-size:15px;gap:9px}
	.yh-doclist__title{font-size:17px}
}
