/*
 * JL Boggio homepage UX v2.
 * Compact, task-oriented B2B homepage inspired by industrial product/service navigation.
 * Loaded only by page-templates/home-modern.php and intentionally last in the cascade.
 */

.jlb-home-modern {
	overflow-x: clip;
}

.jlb-home-modern .jlb-home-section__inner {
	width: min(100% - 3rem, 1180px);
}

/* Compact hero: keep the existing media treatment but reduce the editorial scale. */
.jlb-home-modern .jlb-home-hero {
	min-height: clamp(540px, 68vh, 680px);
}

.jlb-home-modern .jlb-home-hero__inner {
	width: min(100% - 3rem, 1180px);
	padding-block: clamp(3.5rem, 6vh, 5rem);
}

.jlb-home-modern .jlb-home-hero__content {
	width: min(620px, 58vw);
}

.jlb-home-modern .jlb-home-hero__title {
	max-width: 12ch;
	font-size: clamp(2.8rem, 4.35vw, 4.15rem);
	line-height: 0.98;
}

.jlb-home-modern .jlb-home-hero__lead {
	max-width: 50ch;
	margin-top: 1.35rem;
	font-size: clamp(1rem, 1.25vw, 1.12rem);
	line-height: 1.58;
}

.jlb-home-modern .jlb-home-hero__actions {
	margin-top: 1.7rem;
}

.jlb-home-modern .jlb-home-hero__proof {
	max-width: 620px;
	margin-top: 2rem;
}

.jlb-home-modern .jlb-home-hero__index {
	display: none;
}

/* Shared compact section headers. */
.jlb-home-resolver__header,
.jlb-home-applications__header,
.jlb-home-trust__header {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 0.8fr);
	gap: clamp(2rem, 6vw, 5rem);
	align-items: end;
}

.jlb-home-resolver__header h2,
.jlb-home-applications__header h2,
.jlb-home-trust__header h2,
.jlb-home-modern .jlb-home-solutions__header h2,
.jlb-home-modern .jlb-home-projects__header h2,
.jlb-home-modern .jlb-home-final-cta h2 {
	max-width: 15ch;
	margin: 0.85rem 0 0;
	font-size: clamp(2.15rem, 3.7vw, 3.4rem);
	line-height: 1.02;
	letter-spacing: -0.035em;
	text-wrap: balance;
}

.jlb-home-resolver__header > p,
.jlb-home-applications__header > p {
	margin: 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #62666a;
}

/* Interactive need selector. */
.jlb-home-resolver {
	padding-block: clamp(4rem, 7vw, 6rem);
	background: #f4f2ed;
	color: #101922;
}

.jlb-home-resolver__tabs {
	margin-top: clamp(2.4rem, 5vw, 3.5rem);
	border-top: 1px solid #d3d0c9;
}

.jlb-tabs__list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-bottom: 1px solid #d3d0c9;
}

.jlb-tabs__tab {
	min-width: 0;
	padding: 1.15rem 1rem;
	border: 0;
	border-right: 1px solid #d3d0c9;
	background: transparent;
	color: #596067;
	font: inherit;
	font-size: 0.92rem;
	font-weight: 750;
	line-height: 1.3;
	text-align: left;
	cursor: pointer;
}

.jlb-tabs__tab:last-child {
	border-right: 0;
}

.jlb-tabs__tab:hover,
.jlb-tabs__tab.is-active {
	background: #ffffff;
	color: #08131f;
}

.jlb-tabs__tab.is-active {
	box-shadow: inset 0 -3px 0 #b24a3f;
}

.jlb-tabs__tab:focus-visible {
	position: relative;
	z-index: 2;
	outline: 3px solid #1f5f9f;
	outline-offset: -3px;
}

.jlb-tabs__panel[hidden] {
	display: none !important;
}

.jlb-home-resolver__panel {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
	gap: clamp(2rem, 6vw, 5rem);
	align-items: center;
	padding: clamp(2rem, 4vw, 3.2rem);
	background: #ffffff;
}

.jlb-home-resolver__panel h3,
.jlb-home-applications__panel h3 {
	margin: 0;
	font-size: clamp(1.6rem, 2.5vw, 2.25rem);
	line-height: 1.12;
	letter-spacing: -0.025em;
	color: #0b1722;
}

.jlb-home-resolver__panel p,
.jlb-home-applications__panel p {
	max-width: 62ch;
	margin: 1rem 0 0;
	font-size: 0.98rem;
	line-height: 1.68;
	color: #5c6267;
}

.jlb-home-resolver__actions {
	display: flex;
	flex-direction: column;
	gap: 0.7rem;
}

.jlb-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0.8rem 1.05rem;
	border: 1px solid #0b1722;
	border-radius: 3px;
	font-size: 0.9rem;
	font-weight: 750;
	line-height: 1.25;
	text-align: center;
	text-decoration: none !important;
}

.jlb-button--primary {
	background: #0b1722;
	color: #ffffff;
}

.jlb-button--primary:hover,
.jlb-button--primary:focus-visible {
	background: #183147;
	color: #ffffff;
}

.jlb-button--secondary {
	background: transparent;
	color: #0b1722;
}

.jlb-button--secondary:hover,
.jlb-button--secondary:focus-visible {
	background: #f1f3f4;
	color: #0b1722;
}

.jlb-button:focus-visible {
	outline: 3px solid #1f5f9f;
	outline-offset: 3px;
}

/* Solutions: turn the previous editorial/asymmetric composition into a concise 2x2 decision grid. */
.jlb-home-modern .jlb-home-solutions {
	width: 100%;
	margin-inline: 0;
	padding-block: clamp(4rem, 7vw, 6rem);
}

.jlb-home-modern .jlb-home-solutions__inner {
	width: min(100% - 3rem, 1180px);
}

.jlb-home-modern .jlb-home-solutions__header {
	grid-template-columns: minmax(210px, 0.65fr) minmax(0, 1.35fr);
	gap: clamp(2rem, 6vw, 5rem);
	margin-bottom: 2.6rem;
}

.jlb-home-modern .jlb-home-solutions__header h2 {
	max-width: 16ch;
}

.jlb-home-modern .jlb-home-solutions__intro {
	font-size: 1rem;
	line-height: 1.65;
}

.jlb-home-modern .jlb-home-solutions__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-template-rows: none;
	gap: 0.85rem;
}

.jlb-home-modern .jlb-home-solutions__side {
	display: contents;
}

.jlb-home-modern .jlb-solution-card,
.jlb-home-modern .jlb-solution-card--feature {
	grid-row: auto;
	min-height: 300px;
}

.jlb-home-modern .jlb-solution-card__content {
	padding: 1.35rem;
}

.jlb-home-modern .jlb-solution-card h3,
.jlb-home-modern .jlb-solution-card--feature h3 {
	max-width: 22ch;
	font-size: clamp(1.45rem, 2.2vw, 2.05rem);
}

.jlb-home-modern .jlb-solution-card p {
	font-size: 0.9rem;
}

.jlb-home-modern .jlb-home-solutions__footer {
	margin-top: 1rem;
}

/* Applications tabs. */
.jlb-home-applications {
	padding-block: clamp(4rem, 7vw, 6rem);
	background: #ffffff;
	color: #101922;
}

.jlb-home-applications__tabs {
	margin-top: clamp(2.4rem, 5vw, 3.5rem);
	border: 1px solid #d8d6d0;
}

.jlb-home-applications__tabs .jlb-tabs__list {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	background: #f5f3ee;
}

.jlb-home-applications__panel {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.8fr);
	gap: clamp(2rem, 6vw, 5rem);
	align-items: start;
	padding: clamp(2rem, 4vw, 3.2rem);
}

.jlb-home-applications__copy .jlb-home-text-link {
	margin-top: 1.5rem;
}

.jlb-home-applications__list {
	margin: 0;
	padding: 0;
	border-top: 1px solid #d8d6d0;
	list-style: none;
}

.jlb-home-applications__list li {
	padding: 0.95rem 0;
	border-bottom: 1px solid #d8d6d0;
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.35;
	color: #26313a;
}

/* Clear specialty navigation: direct categories instead of layered tabs. */
.jlb-home-specialties {
	padding-block: clamp(4rem, 7vw, 6rem);
	background: #f4f2ed;
	color: #101922;
}

.jlb-home-specialties__header {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 0.75fr);
	gap: clamp(2rem, 6vw, 5rem);
	align-items: end;
}

.jlb-home-specialties__header h2 {
	max-width: 15ch;
	margin: 0.85rem 0 0;
	font-size: clamp(2.1rem, 3.5vw, 3.2rem);
	line-height: 1.04;
	letter-spacing: -0.035em;
	text-wrap: balance;
}

.jlb-home-specialties__header > p {
	margin: 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #62666a;
}

.jlb-home-specialties__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	margin-top: clamp(2.4rem, 5vw, 3.5rem);
	background: #d4d1ca;
	border: 1px solid #d4d1ca;
}

.jlb-home-specialty-card {
	min-width: 0;
	padding: clamp(1.5rem, 3vw, 2.2rem);
	background: #ffffff;
}

.jlb-home-specialty-card__number {
	display: block;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	color: #b24a3f;
}

.jlb-home-specialty-card h3 {
	margin: 0.8rem 0 0;
	font-size: clamp(1.45rem, 2vw, 1.9rem);
	line-height: 1.12;
	letter-spacing: -0.02em;
	color: #0b1722;
}

.jlb-home-specialty-card p {
	max-width: 56ch;
	margin: 0.8rem 0 0;
	font-size: 0.95rem;
	line-height: 1.65;
	color: #5e6468;
}

.jlb-home-specialty-card__links {
	display: flex;
	gap: 0.9rem 1.2rem;
	flex-wrap: wrap;
	align-items: center;
	margin-top: 1.4rem;
}

.jlb-home-specialty-card__links a {
	font-size: 0.88rem;
	font-weight: 750;
	text-decoration: none;
}

.jlb-home-specialty-card__primary {
	color: #0b1722;
}

.jlb-home-specialty-card__secondary {
	color: #6a6f73;
	border-bottom: 1px solid #c5c2bc;
}

.jlb-home-specialty-card__links a:hover,
.jlb-home-specialty-card__links a:focus-visible {
	color: #b24a3f;
}

.jlb-home-guide {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 2rem;
	align-items: center;
	margin-top: 1rem;
	padding: 1.35rem 1.5rem;
	background: #0c1823;
	color: #ffffff;
}

.jlb-home-guide span,
.jlb-home-guide strong,
.jlb-home-guide p {
	display: block;
}

.jlb-home-guide span {
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #e8a79f;
}

.jlb-home-guide strong {
	margin-top: 0.25rem;
	font-size: 1.1rem;
	line-height: 1.25;
}

.jlb-home-guide p {
	margin: 0.25rem 0 0;
	font-size: 0.88rem;
	line-height: 1.45;
	color: #c8d0d6;
}

.jlb-home-guide > a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0.7rem 1rem;
	border: 1px solid rgba(255,255,255,0.42);
	color: #ffffff;
	font-size: 0.88rem;
	font-weight: 750;
	text-decoration: none;
	white-space: nowrap;
}

.jlb-home-guide > a:hover,
.jlb-home-guide > a:focus-visible {
	background: #ffffff;
	color: #0c1823;
}

@media (max-width: 820px) {
	.jlb-home-specialties__header,
	.jlb-home-guide {
		grid-template-columns: 1fr;
		gap: 1.2rem;
	}
}

@media (max-width: 680px) {
	.jlb-home-specialties {
		padding-block: 3.5rem;
	}

	.jlb-home-specialties__header h2 {
		font-size: clamp(2rem, 10vw, 2.65rem);
	}

	.jlb-home-specialties__grid {
		grid-template-columns: 1fr;
	}

	.jlb-home-specialty-card {
		padding: 1.35rem;
	}

	.jlb-home-guide {
		padding: 1.2rem;
	}

	.jlb-home-guide > a {
		justify-content: center;
		width: 100%;
	}
}

/* Project proof: keep three real-work cards but make the section shorter. */
.jlb-home-modern .jlb-home-projects {
	padding-block: clamp(4rem, 7vw, 6rem);
}

.jlb-home-modern .jlb-home-projects__header {
	grid-template-columns: 1fr;
	gap: 0.75rem;
	align-items: start;
	max-width: 920px;
}

.jlb-home-modern .jlb-home-projects__index {
	display: none;
}

.jlb-home-modern .jlb-home-projects__header h2 {
	max-width: 18ch;
	font-size: clamp(2.35rem, 4vw, 3.9rem);
	line-height: 1.02;
}

.jlb-home-modern .jlb-home-projects .jlb-home-section__lead {
	max-width: 680px;
	margin-top: 1rem;
	font-size: 1rem;
	line-height: 1.65;
}

.jlb-home-modern .jlb-home-projects__grid {
	margin-top: 2.6rem;
}

.jlb-home-modern .jlb-home-project-card__media {
	aspect-ratio: 16 / 10;
}

.jlb-home-modern .jlb-home-project-card__content {
	padding: 1.25rem;
}

.jlb-home-modern .jlb-home-project-card h3 {
	font-size: clamp(1.25rem, 1.8vw, 1.65rem);
}

/* Compact trust band replaces a full client section and a separate 'why us' section. */
.jlb-home-trust {
	padding-block: clamp(3.5rem, 6vw, 5rem);
	background: #f4f2ed;
	color: #101922;
}

.jlb-home-trust__header {
	align-items: center;
}

.jlb-home-trust__header h2 {
	max-width: 17ch;
}

.jlb-home-trust__links {
	display: flex;
	justify-content: flex-end;
	gap: 1.4rem;
	flex-wrap: wrap;
}

.jlb-home-trust__links a {
	font-size: 0.9rem;
	font-weight: 750;
	color: #15222d;
	text-decoration: none;
	border-bottom: 1px solid rgba(21, 34, 45, 0.3);
}

.jlb-home-trust__links a:hover,
.jlb-home-trust__links a:focus-visible {
	border-color: #b24a3f;
	color: #15222d;
}

.jlb-home-trust__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 2.4rem;
	border-top: 1px solid #d0cdc5;
	border-bottom: 1px solid #d0cdc5;
}

.jlb-home-trust__grid article {
	min-width: 0;
	padding: 1.5rem;
}

.jlb-home-trust__grid article:first-child {
	padding-left: 0;
}

.jlb-home-trust__grid article + article {
	border-left: 1px solid #d0cdc5;
}

.jlb-home-trust__grid span,
.jlb-home-trust__grid strong {
	display: block;
}

.jlb-home-trust__grid span {
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.11em;
	text-transform: uppercase;
	color: #b24a3f;
}

.jlb-home-trust__grid strong {
	margin-top: 0.65rem;
	font-size: clamp(1.2rem, 1.8vw, 1.55rem);
	line-height: 1.2;
	color: #101922;
}

.jlb-home-trust__grid p {
	margin: 0.75rem 0 0;
	font-size: 0.88rem;
	line-height: 1.55;
	color: #666a6d;
}

/* Final CTA: preserve strong conversion intent without another oversized editorial section. */
.jlb-home-modern .jlb-home-final-cta {
	padding-block: clamp(3.8rem, 6vw, 5.4rem);
}

.jlb-home-modern .jlb-home-final-cta__grid {
	gap: clamp(2rem, 6vw, 5rem);
}

.jlb-home-modern .jlb-home-final-cta h2 {
	max-width: 14ch;
}

.jlb-home-modern .jlb-home-final-cta__content > p {
	font-size: 0.98rem;
	line-height: 1.65;
}

/* Mobile/tablet. */
@media (max-width: 980px) {
	.jlb-home-resolver__header,
	.jlb-home-applications__header,
	.jlb-home-trust__header,
	.jlb-home-modern .jlb-home-solutions__header,
	.jlb-home-modern .jlb-home-projects__header {
		grid-template-columns: 1fr;
		gap: 1.25rem;
	}

	.jlb-home-modern .jlb-home-hero__content {
		width: min(620px, 72vw);
	}

	.jlb-tabs__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.jlb-tabs__tab:nth-child(2) {
		border-right: 0;
	}

	.jlb-tabs__tab:nth-child(-n + 2) {
		border-bottom: 1px solid #d3d0c9;
	}

	.jlb-home-applications__tabs .jlb-tabs__list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.jlb-home-applications__tabs .jlb-tabs__tab:nth-child(2) {
		border-right: 1px solid #d3d0c9;
	}

	.jlb-home-applications__tabs .jlb-tabs__tab:nth-child(-n + 2) {
		border-bottom: 0;
	}

	.jlb-home-resolver__panel,
	.jlb-home-applications__panel {
		grid-template-columns: 1fr;
		gap: 1.6rem;
	}

	.jlb-home-resolver__actions {
		flex-direction: row;
		flex-wrap: wrap;
	}

	.jlb-home-trust__links {
		justify-content: flex-start;
	}
}

@media (max-width: 680px) {
	.jlb-home-modern .jlb-home-section__inner,
	.jlb-home-modern .jlb-home-solutions__inner,
	.jlb-home-modern .jlb-home-hero__inner {
		width: 100%;
		max-width: 100%;
		padding-inline: 1rem;
		box-sizing: border-box;
	}

	.jlb-home-modern .jlb-home-hero {
		min-height: 610px;
	}

	.jlb-home-modern .jlb-home-hero__inner {
		align-items: flex-end;
		padding-block: 4rem 2.5rem;
	}

	.jlb-home-modern .jlb-home-hero__content {
		width: 100%;
	}

	.jlb-home-modern .jlb-home-hero__title {
		max-width: 10.5ch;
		font-size: clamp(2.45rem, 12vw, 3.25rem);
	}

	.jlb-home-modern .jlb-home-hero__lead {
		font-size: 1rem;
	}

	.jlb-home-modern .jlb-home-hero__proof {
		grid-template-columns: 1fr;
		gap: 0.7rem;
		padding-top: 0.9rem;
	}

	.jlb-home-modern .jlb-home-hero__proof li,
	.jlb-home-modern .jlb-home-hero__proof li:first-child {
		padding: 0;
		border-left: 0;
	}

	.jlb-home-modern .jlb-home-hero__proof li:nth-child(n + 2) {
		display: none;
	}

	.jlb-home-resolver,
	.jlb-home-applications,
	.jlb-home-modern .jlb-home-solutions,
	.jlb-home-modern .jlb-home-projects,
	.jlb-home-trust,
	.jlb-home-modern .jlb-home-final-cta {
		padding-block: 3.5rem;
	}

	.jlb-home-resolver__header h2,
	.jlb-home-applications__header h2,
	.jlb-home-trust__header h2,
	.jlb-home-modern .jlb-home-solutions__header h2,
	.jlb-home-modern .jlb-home-projects__header h2,
	.jlb-home-modern .jlb-home-final-cta h2 {
		font-size: clamp(2rem, 10vw, 2.7rem);
	}

	.jlb-tabs__list,
	.jlb-home-applications__tabs .jlb-tabs__list {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
	}

	.jlb-tabs__tab,
	.jlb-home-applications__tabs .jlb-tabs__tab {
		flex: 0 0 auto;
		min-width: 150px;
		border-right: 1px solid #d3d0c9;
		border-bottom: 0 !important;
		scroll-snap-align: start;
	}

	.jlb-home-resolver__panel,
	.jlb-home-applications__panel {
		padding: 1.35rem;
	}

	.jlb-home-resolver__actions {
		flex-direction: column;
	}

	.jlb-home-modern .jlb-home-solutions__grid {
		grid-template-columns: 1fr;
	}

	.jlb-home-modern .jlb-solution-card,
	.jlb-home-modern .jlb-solution-card--feature {
		min-height: 260px;
	}

	.jlb-home-modern .jlb-home-projects__grid {
		grid-template-columns: 1fr;
		gap: 0.85rem;
	}

	.jlb-home-trust__grid {
		grid-template-columns: 1fr;
	}

	.jlb-home-trust__grid article,
	.jlb-home-trust__grid article:first-child {
		padding: 1.25rem 0;
	}

	.jlb-home-trust__grid article + article {
		border-left: 0;
		border-top: 1px solid #d0cdc5;
	}
}

@media (prefers-reduced-motion: reduce) {
	.jlb-tabs__list {
		scroll-behavior: auto;
	}
}
