/*
Theme Name:     Lightsense Child
Theme URI:      
Description:    Understrap child theme.
Author:         Lightsense Technology
Author URI:     
Template:       understrap
Version:        0.1.0
*/

/*
 * Lightsense website header.
 */
.ls-site-header {
	--ls-header-background: #fff;
	--ls-header-text: #2b323b;
	--ls-header-border: #e6e9ed;
	--ls-header-focus: #245ea8;
	--ls-header-cta-background: #263b52;
	--ls-header-cta-text: #fff;
	--ls-header-height: 68px;

	position: relative;
	z-index: 1000;
	min-height: var(--ls-header-height);
	padding: 0;
	border-bottom: 1px solid var(--ls-header-border);
	background: var(--ls-header-background);
	color: var(--ls-header-text);
	box-shadow: 0 1px 8px rgba(21, 33, 45, 0.04);
}

.ls-site-header .ls-navbar-inner {
	min-height: var(--ls-header-height);
	gap: 1rem;
}

.ls-site-header .ls-navbar-brand {
	display: flex;
	flex: 0 1 auto;
	align-items: center;
	align-self: stretch;
	min-width: 0;
}

.ls-site-header .navbar-brand,
.ls-site-header .custom-logo-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	color: var(--ls-header-text);
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
}

.ls-site-header .custom-logo,
.ls-site-header .custom-logo-link img {
	display: block;
	width: min(225px, 48vw);
	max-width: 100%;
	height: auto;
	max-height: 56px;
	object-fit: contain;
}

/*
 * Temporary, tightly fitted contrast plate for the current light logo.
 * Remove it when a dedicated dark-on-light logo asset becomes available.
 */
.ls-site-header .custom-logo-link {
	min-height: calc(var(--ls-header-height) - 8px);
	padding: 0.15rem 0.4rem;
	border-radius: 0.25rem;
	background: #263b52;
}

.ls-site-header .ls-primary-navigation {
	min-width: 0;
}

/* Compact actions for the two existing DrugDetect-F1 SiteOrigin buttons. */
body.page-id-38 #panel-38-1-1-1,
body.page-id-38 #panel-38-1-1-2 {
	display: inline-block;
	width: auto;
	margin: 0.5rem 0.5rem 0.5rem 0;
}

body.page-id-38 .so-widget-sow-button .ow-button-base {
	text-align: left;
}

body.page-id-38 .so-widget-sow-button .ow-button-base a.sowb-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0.6rem 0.9rem;
	border: 1px solid #263b52;
	border-radius: 0.35rem;
	background: #263b52;
	box-shadow: none;
	color: #fff;
	font-family: inherit;
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.25;
	text-shadow: none;
}

body.page-id-38 .so-widget-sow-button .ow-button-base a.sowb-button:hover,
body.page-id-38 .so-widget-sow-button .ow-button-base a.sowb-button:focus {
	border-color: #17283a;
	background: #17283a;
	color: #fff;
}

body.page-id-38 .so-widget-sow-button .ow-button-base a.sowb-button:focus-visible {
	outline: 3px solid #8bb7ea;
	outline-offset: 3px;
}

body.page-id-38 .so-widget-sow-button .sow-icon-fontawesome {
	display: none;
}

@media (max-width: 479.98px) {
	body.page-id-38 #panel-38-1-1-1,
	body.page-id-38 #panel-38-1-1-2 {
		display: block;
		margin-right: 0;
	}

	body.page-id-38 .so-widget-sow-button .ow-button-base a.sowb-button {
		width: 100%;
	}
}

/*
 * Site footer. The previous Footer Full widget remains stored for rollback.
 */
.ls-site-footer {
	--ls-footer-ink: #f7f9fa;
	--ls-footer-muted: #b9c4cc;
	--ls-footer-border: rgba(255, 255, 255, 0.14);
	padding: clamp(3rem, 6vw, 5rem) 0 1.5rem;
	background: #17283a;
	color: var(--ls-footer-ink);
}

.ls-footer-container {
	width: min(1120px, calc(100% - 2rem));
	margin-inline: auto;
}

body.home #pl-8 {
	max-width: 100%;
	overflow-x: clip;
}

body.home .ls-home-lead {
	font-size: inherit;
	font-weight: inherit;
}

body.home #panel-8-0-0-0 h1 {
	font-size: clamp(2rem, 10vw, 4rem);
	line-height: 1.08;
	overflow-wrap: anywhere;
}

.ls-footer-grid {
	display: grid;
	grid-template-columns: minmax(220px, 1.4fr) repeat(3, minmax(150px, 0.8fr));
	gap: clamp(2rem, 5vw, 4rem);
}

.ls-site-footer h2 {
	margin: 0 0 1rem;
	color: #fff;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.01em;
}

.ls-footer-brand h2 {
	font-size: 1.25rem;
}

.ls-footer-brand p,
.ls-footer-newsletter p {
	max-width: 38ch;
	margin: 0;
	color: var(--ls-footer-muted);
	line-height: 1.65;
}

.ls-footer-nav ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ls-footer-nav li + li {
	margin-top: 0.65rem;
}

.ls-site-footer a {
	color: var(--ls-footer-ink);
	text-decoration-color: transparent;
	text-underline-offset: 0.2em;
	transition: color 160ms ease, text-decoration-color 160ms ease;
}

.ls-site-footer a:hover,
.ls-site-footer a:focus {
	color: #fff;
	text-decoration-color: currentcolor;
}

.ls-site-footer a:focus-visible,
.ls-site-footer input:focus-visible,
.ls-site-footer button:focus-visible {
	outline: 3px solid #8bb7ea;
	outline-offset: 3px;
}

.ls-footer-contact address {
	margin: 0 0 0.8rem;
	color: var(--ls-footer-muted);
	font-style: normal;
	line-height: 1.65;
}

.ls-footer-contact address span {
	display: block;
}

.ls-footer-contact > a {
	display: block;
	width: fit-content;
}

.ls-footer-contact > a + a {
	margin-top: 0.45rem;
}

.ls-footer-newsletter {
	display: grid;
	grid-template-columns: minmax(220px, 0.8fr) minmax(300px, 1.2fr);
	gap: clamp(2rem, 6vw, 5rem);
	align-items: start;
	margin-top: clamp(2.5rem, 6vw, 4.5rem);
	padding: clamp(2rem, 4vw, 3rem) 0;
	border-top: 1px solid var(--ls-footer-border);
}

.ls-footer-newsletter .nf-form-fields-required {
	display: none;
}

.ls-footer-newsletter .nf-field-container {
	margin-bottom: 0.85rem;
}

.ls-footer-newsletter label {
	color: var(--ls-footer-ink);
	font-weight: 600;
}

.ls-footer-newsletter input:not([type="button"]):not([type="submit"]) {
	width: 100%;
	min-height: 46px;
	padding: 0.65rem 0.8rem;
	border: 1px solid #7f909d;
	border-radius: 0.3rem;
	background: #fff;
	color: #17283a;
}

.ls-footer-newsletter input[type="button"],
.ls-footer-newsletter input[type="submit"],
.ls-footer-newsletter button {
	min-height: 46px;
	padding: 0.65rem 1rem;
	border: 1px solid #fff;
	border-radius: 0.3rem;
	background: #fff;
	color: #17283a;
	font-weight: 700;
}

.ls-footer-newsletter .nf-error-msg,
.ls-footer-newsletter .ninja-forms-req-symbol {
	color: #ffb9b9;
}

.ls-footer-legal {
	padding-top: 1.5rem;
	border-top: 1px solid var(--ls-footer-border);
}

.ls-footer-legal p {
	margin: 0;
	color: var(--ls-footer-muted);
	font-size: 0.875rem;
}

@media (max-width: 991.98px) {
	.ls-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767.98px) {
	.ls-footer-newsletter {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 479.98px) {
	.ls-footer-grid {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ls-site-footer *,
	.ls-site-footer *::before,
	.ls-site-footer *::after {
		scroll-behavior: auto;
		transition-duration: 0.01ms;
		animation-duration: 0.01ms;
		animation-iteration-count: 1;
	}
}

/* Company advisor separation; the original Mike Stanley widget remains stored. */
body.page-id-302 #pgc-302-3-3 {
	display: none;
}

body.page-id-302 #pg-302-2,
body.page-id-302 #pg-302-3,
body.page-id-302 #pg-302-4 {
	display: none;
}

.ls-company-management {
	padding: clamp(3.5rem, 7vw, 6rem) 0;
}

.ls-company-management h2 {
	margin-bottom: 1rem;
	color: #1d2a36;
	font-size: clamp(2rem, 4vw, 3.2rem);
	font-weight: 650;
	letter-spacing: -0.025em;
}

.ls-company-management__intro {
	max-width: 72ch;
	margin-bottom: 2.5rem;
	color: #5a6875;
	font-size: 1.0625rem;
	line-height: 1.7;
}

.ls-management-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.25rem;
}

.ls-management-card {
	min-width: 0;
	padding: 1.4rem;
	border: 1px solid #dfe5e8;
	border-radius: 0.65rem;
	background: #fff;
	text-align: center;
}

.ls-management-card img {
	display: block;
	width: min(100%, 180px);
	aspect-ratio: 1;
	height: auto;
	margin: 0 auto 1.1rem;
	border-radius: 50%;
	object-fit: cover;
}

.ls-management-card h3 {
	margin-bottom: 0.4rem;
	font-size: 1.2rem;
	font-weight: 650;
}

.ls-management-card p {
	margin: 0;
	color: #657481;
	line-height: 1.5;
}

/* Dedicated homepage presentation; SiteOrigin page 8 remains the rollback source. */
.ls-homepage-hero {
	padding: clamp(4rem, 9vw, 7.5rem) 0;
	background: linear-gradient(135deg, #f7f8f9 0%, #fff 62%);
}

.ls-homepage-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(340px, 0.95fr);
	gap: clamp(2rem, 7vw, 6rem);
	align-items: center;
}

.ls-homepage-hero__media {
	margin: 0;
	overflow: hidden;
	border: 1px solid var(--ls-product-border);
	border-radius: 0.75rem;
	background: #fff;
	box-shadow: 0 24px 60px rgba(29, 42, 54, 0.1);
}

.ls-homepage-hero__media img {
	display: block;
	width: 100%;
	height: 430px;
	object-fit: contain;
}

.ls-homepage-products {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
	margin-top: 2.5rem;
}

.ls-homepage-product {
	display: grid;
	grid-template-rows: 280px 1fr;
	overflow: hidden;
	border: 1px solid var(--ls-product-border);
	border-radius: 0.7rem;
	background: #fff;
}

.ls-homepage-product > div:last-child {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: clamp(1.5rem, 3vw, 2.25rem);
}

.ls-homepage-product__media {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #f5f7f8;
}

.ls-homepage-product__media img {
	width: 100%;
	height: 280px;
	object-fit: contain;
}

.ls-homepage-product__media--infrared span {
	width: min(48%, 190px);
	aspect-ratio: 1;
	border-radius: 50%;
	background: radial-gradient(circle, #bd4a2a 0 4%, transparent 4.5% 24%, rgba(159, 62, 36, 0.22) 24.5% 26%, transparent 26.5%), linear-gradient(145deg, #fff, #e7ecef);
	box-shadow: 0 16px 36px rgba(29, 42, 54, 0.12);
}

.ls-homepage-product h3 {
	margin-bottom: 0.75rem;
	font-size: 1.5rem;
	font-weight: 650;
}

.ls-homepage-product p:not(.ls-product-eyebrow) {
	margin-bottom: 1.5rem;
	color: var(--ls-product-muted);
	line-height: 1.65;
}

.ls-homepage-product .ls-product-action {
	margin-top: auto;
}

.ls-homepage-process {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	margin: 2.5rem 0;
}

.ls-homepage-process article {
	padding: 1.5rem;
	border: 1px solid var(--ls-product-border);
	border-radius: 0.6rem;
	background: #fff;
	text-align: center;
}

.ls-homepage-process img {
	width: 100%;
	height: 180px;
	margin-bottom: 1rem;
	object-fit: contain;
}

.ls-homepage-process h3 {
	margin: 0;
	font-size: 1.15rem;
	font-weight: 650;
}

.ls-homepage-company {
	padding: clamp(3.5rem, 7vw, 6rem) 0;
	background: #17283a;
}

.ls-homepage-company .ls-product-eyebrow,
.ls-homepage-company .ls-product-heading {
	color: #fff;
}

.ls-homepage-company .ls-product-action--secondary {
	border-color: #fff;
	color: #fff;
}

body.page-id-302 #pl-302 {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	column-gap: 1.25rem;
}

body.page-id-302 #pg-302-0,
body.page-id-302 #pg-302-1,
body.page-id-302 #pg-302-2 {
	grid-column: 1 / -1;
}

body.page-id-302 #pg-302-3,
body.page-id-302 #pg-302-4,
body.page-id-302 #pg-302-3 > .panel-row-style,
body.page-id-302 #pg-302-4 > .panel-row-style {
	display: contents;
}

body.page-id-302 #pg-302-3 .panel-grid-cell,
body.page-id-302 #pg-302-4 .panel-grid-cell {
	width: auto;
	margin-bottom: 1.25rem;
}

body.page-id-302 #pg-302-3 .panel-grid-cell-empty,
body.page-id-302 #pg-302-4 .panel-grid-cell-empty {
	display: none;
}

.ls-company-advisors {
	padding: clamp(3.5rem, 7vw, 6rem) 0;
	background: #f5f7f8;
}

.ls-company-advisors h2,
.ls-home-products > .ls-layout-container > h2 {
	margin-bottom: 1rem;
	color: #1d2a36;
	font-size: clamp(2rem, 4vw, 3.2rem);
	font-weight: 650;
	letter-spacing: -0.025em;
}

.ls-company-advisors__intro {
	max-width: 68ch;
	margin-bottom: 2.5rem;
	color: #5a6875;
	font-size: 1.0625rem;
	line-height: 1.7;
}

.ls-advisor-grid {
	display: grid;
	grid-template-columns: minmax(220px, 280px);
	gap: 1rem;
}

.ls-advisor-card {
	min-width: 0;
	padding: 1.25rem;
	border: 1px solid #dfe5e8;
	border-radius: 0.65rem;
	background: #fff;
	text-align: center;
}

.ls-advisor-card img {
	display: flex;
	align-items: center;
	justify-content: center;
	width: min(100%, 150px);
	aspect-ratio: 1;
	height: auto;
	margin: 0 auto 1rem;
	border-radius: 50%;
	object-fit: cover;
}

.ls-advisor-card h3 {
	margin-bottom: 0.4rem;
	font-size: 1.08rem;
	font-weight: 650;
}

.ls-advisor-card p {
	margin: 0;
	color: #657481;
	font-size: 0.9rem;
	line-height: 1.5;
}

/* Homepage: preserve SiteOrigin copy while normalizing its layout and routing. */
body.home #pg-8-0 > .panel-row-style,
body.home #pg-8-1 > .panel-row-style,
body.home #pg-8-2 > .panel-row-style,
body.home #pg-8-3 > .panel-row-style,
body.home #pg-8-4 > .panel-row-style {
	width: min(1120px, calc(100% - 2rem));
	margin-inline: auto;
}

body.home #pg-8-0 {
	padding: clamp(4rem, 9vw, 7rem) 0;
	background: linear-gradient(135deg, #f7f8f9 0%, #fff 65%);
}

body.home #pg-8-1,
body.home #pg-8-2,
body.home #pg-8-3,
body.home #pg-8-4 {
	padding: clamp(3rem, 6vw, 5rem) 0;
}

body.home #pg-8-2,
body.home #pg-8-4 {
	background: #f5f7f8;
}

body.home #pg-8-3 p:empty,
body.home #pg-8-3 p:has(> br:only-child) {
	display: none;
}

body.home #pg-8-4 > .panel-row-style {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

body.home #pg-8-4 .panel-grid-cell {
	width: auto;
	padding: 0;
	overflow: hidden;
	border: 1px solid #dfe5e8;
	border-radius: 0.65rem;
	background: #fff;
}

body.home #pg-8-4 a {
	display: block;
	height: 100%;
	color: #1d2a36;
	text-decoration: none;
}

body.home #pg-8-4 .solutions_btns img {
	display: block;
	width: 100%;
	height: 220px;
	object-fit: cover;
}

body.home #pg-8-4 .serviceLink {
	margin: 0;
	padding: 1.25rem;
	font-size: 1.25rem;
	font-weight: 650;
}

body.home #pg-8-4 a:hover .serviceLink,
body.home #pg-8-4 a:focus .serviceLink {
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

body.home #pg-8-4 a:focus-visible {
	outline: 3px solid #8bb7ea;
	outline-offset: -4px;
}

.ls-home-products {
	padding: clamp(3.5rem, 7vw, 6rem) 0;
}

.ls-home-product-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
	margin-top: 2.5rem;
}

.ls-home-product {
	display: grid;
	grid-template-columns: minmax(150px, 0.75fr) minmax(0, 1.25fr);
	gap: clamp(1.25rem, 3vw, 2rem);
	align-items: center;
	padding: clamp(1.4rem, 3vw, 2rem);
	border: 1px solid #dfe5e8;
	border-radius: 0.7rem;
	background: #fff;
}

.ls-home-product__media {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 210px;
	border-radius: 0.5rem;
	background: #f5f7f8;
}

.ls-home-product__media img {
	width: 100%;
	max-height: 210px;
	object-fit: contain;
}

.ls-home-product__media--infrared span {
	width: 62%;
	aspect-ratio: 1;
	border-radius: 50%;
	background: radial-gradient(circle, #bd4a2a 0 4%, transparent 4.5% 24%, rgba(159, 62, 36, 0.22) 24.5% 26%, transparent 26.5%), linear-gradient(145deg, #fff, #e7ecef);
	box-shadow: 0 14px 30px rgba(29, 42, 54, 0.12);
}

.ls-home-product h3 {
	margin-bottom: 0.75rem;
	color: #1d2a36;
	font-size: 1.4rem;
	font-weight: 650;
}

.ls-home-product > div:last-child > p:not(.ls-eyebrow) {
	color: #5a6875;
	line-height: 1.6;
}

.ls-home-product .ls-product-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0.65rem 1rem;
	border: 1px solid #1d2a36;
	border-radius: 0.35rem;
	background: #1d2a36;
	color: #fff;
	font-weight: 600;
	text-decoration: none;
}

.ls-home-product .ls-product-action:hover,
.ls-home-product .ls-product-action:focus {
	background: #0c151d;
	color: #fff;
}

.ls-home-product .ls-product-action:focus-visible {
	outline: 3px solid #8bb7ea;
	outline-offset: 3px;
}

@media (max-width: 991.98px) {
	.ls-management-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.page-id-302 #pl-302 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ls-home-product-grid,
	.ls-home-product {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767.98px) {
	.ls-homepage-hero__grid,
	.ls-homepage-products,
	.ls-homepage-process {
		grid-template-columns: 1fr;
	}

	.ls-homepage-hero__media img {
		height: auto;
		max-height: 380px;
	}

	body.home #pg-8-4 > .panel-row-style,
	.ls-home-product-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 479.98px) {
	.ls-management-grid {
		grid-template-columns: 1fr;
	}

	body.page-id-302 #pl-302 {
		grid-template-columns: 1fr;
	}

	.ls-advisor-grid {
		grid-template-columns: 1fr;
	}
}

.ls-site-header .navbar-nav {
	align-items: center;
	gap: 0.125rem;
}

.ls-site-header .navbar-nav > .menu-item > .nav-link {
	position: relative;
	padding: 0.6rem 0.625rem;
	color: var(--ls-header-text);
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.25;
	transition:
		color 160ms ease,
		background-color 160ms ease;
}

.ls-site-header .navbar-nav > .menu-item > .nav-link:hover,
.ls-site-header .navbar-nav > .menu-item > .nav-link:focus {
	color: var(--ls-header-focus);
}

.ls-site-header .navbar-nav > .current-menu-item > .nav-link,
.ls-site-header .navbar-nav > .current-menu-parent > .nav-link,
.ls-site-header .navbar-nav > .current-menu-ancestor > .nav-link {
	color: var(--ls-header-focus);
}

.ls-site-header .navbar-nav > .current-menu-item > .nav-link::after,
.ls-site-header .navbar-nav > .current-menu-parent > .nav-link::after,
.ls-site-header .navbar-nav > .current-menu-ancestor > .nav-link::after {
	position: absolute;
	right: 0.625rem;
	bottom: 0.25rem;
	left: 0.625rem;
	height: 2px;
	border-radius: 999px;
	background: currentColor;
	content: "";
}

.ls-site-header a:focus-visible,
.ls-site-header button:focus-visible {
	outline: 3px solid #8bb7ea;
	outline-offset: 3px;
}

.ls-site-header .dropdown-menu {
	margin-top: 0.5rem;
	padding: 0.5rem;
	border: 1px solid var(--ls-header-border);
	border-radius: 0.5rem;
	background: var(--ls-header-background);
	box-shadow: 0 12px 28px rgba(21, 33, 45, 0.12);
}

.ls-site-header .dropdown-item {
	padding: 0.625rem 0.75rem;
	border-radius: 0.3rem;
	color: var(--ls-header-text);
	font-size: 0.925rem;
}

.ls-site-header .dropdown-item:hover,
.ls-site-header .dropdown-item:focus,
.ls-site-header .dropdown-item.active,
.ls-site-header .dropdown-item:active {
	background: #f2f5f7;
	color: var(--ls-header-focus);
}

.ls-site-header .navbar-nav > .ls-menu-cta > .nav-link {
	margin-left: 0.375rem;
	padding-right: 0.875rem;
	padding-left: 0.875rem;
	border: 1px solid var(--ls-header-cta-background);
	border-radius: 999px;
	background: var(--ls-header-cta-background);
	color: var(--ls-header-cta-text);
}

.ls-site-header .navbar-nav > .ls-menu-cta > .nav-link:hover,
.ls-site-header .navbar-nav > .ls-menu-cta > .nav-link:focus {
	border-color: #17283a;
	background: #17283a;
	color: var(--ls-header-cta-text);
}

.ls-site-header .navbar-nav > .ls-menu-cta > .nav-link::after {
	display: none;
}

.ls-site-header .navbar-toggler {
	padding: 0.4rem;
	border-color: var(--ls-header-border);
	border-radius: 0.375rem;
}

.ls-site-header .navbar-toggler:focus {
	box-shadow: none;
}

@media (max-width: 1199.98px) {
	.ls-site-header {
		min-height: 64px;
	}

	.ls-site-header .ls-navbar-inner {
		min-height: 64px;
		gap: 0.75rem;
	}

	.ls-site-header .ls-primary-navigation {
		flex-basis: 100%;
		padding: 0.75rem 0 1rem;
		border-top: 1px solid var(--ls-header-border);
	}

	.ls-site-header .navbar-nav {
		align-items: stretch;
		gap: 0.125rem;
	}

	.ls-site-header .navbar-nav > .menu-item > .nav-link {
		padding: 0.75rem;
	}

	.ls-site-header .navbar-nav > .current-menu-item > .nav-link::after,
	.ls-site-header .navbar-nav > .current-menu-parent > .nav-link::after,
	.ls-site-header .navbar-nav > .current-menu-ancestor > .nav-link::after {
		display: none;
	}

	.ls-site-header .dropdown-menu {
		margin: 0 0 0.5rem;
		padding: 0.25rem 0 0.25rem 0.75rem;
		border: 0;
		border-left: 2px solid var(--ls-header-border);
		border-radius: 0;
		box-shadow: none;
	}

	.ls-site-header .navbar-nav > .ls-menu-cta > .nav-link {
		display: inline-flex;
		justify-content: center;
		width: 100%;
		margin: 0.5rem 0 0;
	}
}

/*
 * Everest Infrared Thermometry product page.
 */
.ls-product-page {
	--ls-product-ink: #1d2a36;
	--ls-product-muted: #5a6875;
	--ls-product-accent: #9f3e24;
	--ls-product-surface: #f5f7f8;
	--ls-product-border: #dfe5e8;

	color: var(--ls-product-ink);
}

.ls-product-page .ls-product-container {
	width: min(1120px, calc(100% - 2rem));
	margin-inline: auto;
}

.ls-product-page .ls-product-hero {
	padding: clamp(4rem, 9vw, 7.5rem) 0;
	background: linear-gradient(135deg, #f7f8f9 0%, #fff 62%);
}

.ls-product-page .ls-product-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.8fr);
	gap: clamp(2rem, 7vw, 6rem);
	align-items: center;
}

.ls-product-page .ls-product-eyebrow {
	margin-bottom: 0.75rem;
	color: var(--ls-product-accent);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.ls-product-page h1 {
	max-width: 14ch;
	margin-bottom: 1.25rem;
	font-size: clamp(2.4rem, 6vw, 4.8rem);
	font-weight: 650;
	letter-spacing: -0.04em;
	line-height: 1.02;
}

.ls-product-page .ls-product-lead {
	max-width: 62ch;
	color: var(--ls-product-muted);
	font-size: clamp(1.05rem, 2vw, 1.25rem);
	line-height: 1.65;
}

.ls-product-page .ls-product-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 2rem;
}

.ls-product-page .ls-product-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 0.7rem 1.1rem;
	border: 1px solid var(--ls-product-ink);
	border-radius: 0.35rem;
	background: var(--ls-product-ink);
	color: #fff;
	font-weight: 600;
	text-decoration: none;
	transition: background-color 160ms ease, color 160ms ease;
}

.ls-product-page .ls-product-action:hover,
.ls-product-page .ls-product-action:focus {
	background: #0c151d;
	color: #fff;
}

.ls-product-page .ls-product-action--secondary {
	background: transparent;
	color: var(--ls-product-ink);
}

.ls-product-page .ls-product-action--secondary:hover,
.ls-product-page .ls-product-action--secondary:focus {
	background: var(--ls-product-ink);
	color: #fff;
}

.ls-product-page .ls-product-action:focus-visible,
.ls-product-page a:focus-visible {
	outline: 3px solid #8bb7ea;
	outline-offset: 3px;
}

.ls-product-page .ls-everest-hero-media {
	overflow: hidden;
	margin: 0;
	min-height: 340px;
	border: 1px solid var(--ls-product-border);
	border-radius: 1rem;
	background: #fff;
	box-shadow: 0 24px 60px rgba(29, 42, 54, 0.1);
}

.ls-product-page .ls-everest-hero-media img {
	display: block;
	width: 100%;
	height: 340px;
	object-fit: cover;
	object-position: center;
}

.ls-product-page .ls-sighting-visual {
	position: relative;
	min-height: 340px;
	border: 1px solid var(--ls-product-border);
	border-radius: 50%;
	background:
		radial-gradient(circle at center, transparent 0 8%, #bd4a2a 8.5% 10%, transparent 10.5% 24%, rgba(159, 62, 36, 0.22) 24.5% 25.5%, transparent 26%),
		linear-gradient(145deg, #fff, #edf1f3);
	box-shadow: 0 24px 60px rgba(29, 42, 54, 0.1);
}

.ls-product-page .ls-sighting-visual::before,
.ls-product-page .ls-sighting-visual::after {
	position: absolute;
	top: 50%;
	left: 50%;
	background: rgba(159, 62, 36, 0.3);
	content: "";
	transform: translate(-50%, -50%);
}

.ls-product-page .ls-sighting-visual::before {
	width: 62%;
	height: 1px;
}

.ls-product-page .ls-sighting-visual::after {
	width: 1px;
	height: 62%;
}

.ls-product-page .ls-product-section {
	padding: clamp(3.5rem, 7vw, 6rem) 0;
}

.ls-product-page .ls-product-section--muted {
	background: var(--ls-product-surface);
}

.ls-product-page .ls-product-heading {
	max-width: 22ch;
	margin-bottom: 1rem;
	font-size: clamp(2rem, 4vw, 3.2rem);
	font-weight: 650;
	letter-spacing: -0.025em;
}

.ls-product-page .ls-product-intro {
	max-width: 70ch;
	margin-bottom: 2.5rem;
	color: var(--ls-product-muted);
	font-size: 1.0625rem;
	line-height: 1.7;
}

.ls-product-page .ls-product-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.ls-product-page .ls-product-card {
	height: 100%;
	padding: clamp(1.4rem, 3vw, 2rem);
	border: 1px solid var(--ls-product-border);
	border-radius: 0.65rem;
	background: #fff;
}

.ls-product-page .ls-product-card h3 {
	margin-bottom: 0.75rem;
	font-size: 1.25rem;
	font-weight: 650;
}

.ls-product-page .ls-product-card p {
	margin: 0;
	color: var(--ls-product-muted);
	line-height: 1.65;
}

.ls-product-page .ls-product-closing {
	display: flex;
	gap: 2rem;
	align-items: center;
	justify-content: space-between;
}

/* Everest catalog landing, category navigation, and instrument pages. */
.ls-everest-catalog-nav {
	position: relative;
	z-index: 20;
	border-top: 1px solid var(--ls-product-border);
	border-bottom: 1px solid var(--ls-product-border);
	background: #fff;
}

.ls-everest-catalog-nav__list,
.ls-everest-catalog-nav__menu {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ls-everest-catalog-nav__list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ls-everest-catalog-nav__item {
	position: relative;
}

.ls-everest-catalog-nav__item + .ls-everest-catalog-nav__item {
	border-left: 1px solid var(--ls-product-border);
}

.ls-everest-catalog-nav__trigger {
	display: flex;
	min-height: 64px;
	align-items: center;
	justify-content: center;
	padding: 0.75rem 1rem;
	color: var(--ls-product-ink);
	font-weight: 650;
	text-align: center;
	text-decoration: none;
}

.ls-everest-catalog-nav__trigger::after {
	width: 0.45rem;
	height: 0.45rem;
	margin: -0.2rem 0 0 0.65rem;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	content: "";
	transform: rotate(45deg);
}

.ls-everest-catalog-nav__trigger:hover,
.ls-everest-catalog-nav__trigger:focus {
	background: var(--ls-product-surface);
	color: var(--ls-product-accent);
}

.ls-everest-catalog-nav__menu {
	position: absolute;
	top: calc(100% + 1px);
	left: 0;
	display: none;
	width: max(100%, 320px);
	padding: 0.8rem;
	border: 1px solid var(--ls-product-border);
	border-top: 0;
	border-radius: 0 0 0.55rem 0.55rem;
	background: #fff;
	box-shadow: 0 18px 35px rgba(29, 42, 54, 0.13);
}

.ls-everest-catalog-nav__item:last-child .ls-everest-catalog-nav__menu {
	right: 0;
	left: auto;
}

.ls-everest-catalog-nav__item:hover .ls-everest-catalog-nav__menu,
.ls-everest-catalog-nav__item:focus-within .ls-everest-catalog-nav__menu {
	display: block;
}

.ls-everest-catalog-nav__menu a {
	display: block;
	padding: 0.7rem 0.8rem;
	border-radius: 0.3rem;
	color: var(--ls-product-ink);
	font-size: 0.925rem;
	text-decoration: none;
}

.ls-everest-catalog-nav__menu a:hover,
.ls-everest-catalog-nav__menu a:focus {
	background: var(--ls-product-surface);
	color: var(--ls-product-accent);
}

.ls-everest-catalog-nav__group + .ls-everest-catalog-nav__group {
	margin-top: 0.65rem;
	padding-top: 0.65rem;
	border-top: 1px solid var(--ls-product-border);
}

.ls-everest-catalog-nav__group > .ls-everest-catalog-nav__group-title {
	padding: 0.35rem 0.55rem;
	color: var(--ls-product-accent);
	font-size: 0.73rem;
	font-weight: 750;
	letter-spacing: 0.075em;
	text-transform: uppercase;
}

.ls-everest-catalog-nav__group > .ls-everest-catalog-nav__group-title:hover,
.ls-everest-catalog-nav__group > .ls-everest-catalog-nav__group-title:focus {
	background: transparent;
	text-decoration: underline;
	text-underline-offset: 0.16em;
}

.ls-everest-catalog-nav__group ul {
	margin: 0.15rem 0 0;
	padding: 0;
	list-style: none;
}

.ls-everest-catalog-nav__group ul a {
	padding: 0.48rem 0.55rem;
	font-size: 0.9rem;
}

.ls-everest-catalog-nav__group p {
	margin: 0;
	padding: 0.45rem 0.55rem;
	color: var(--ls-product-muted);
	font-size: 0.85rem;
}

.ls-everest-catalog-nav__all {
	margin-top: 0.8rem;
	padding-top: 0.8rem;
	border-top: 1px solid var(--ls-product-border);
}

.ls-everest-catalog-nav__all > a {
	display: flex;
	min-height: 42px;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--ls-product-ink);
	background: var(--ls-product-ink);
	color: #fff;
	font-weight: 650;
	text-align: center;
}

.ls-everest-catalog-nav__all > a:hover,
.ls-everest-catalog-nav__all > a:focus {
	background: #0c151d;
	color: #fff;
}

.ls-everest-category-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
}

.ls-everest-category-card {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr);
	min-height: 285px;
	overflow: hidden;
	border: 1px solid var(--ls-product-border);
	border-radius: 0.75rem;
	background: #fff;
}

.ls-everest-category-card__visual {
	position: relative;
	display: grid;
	place-items: center;
	background: linear-gradient(155deg, #edf1f3, #dfe6e9);
}

.ls-everest-category-card__visual span {
	position: relative;
	display: block;
	width: 76px;
	height: 142px;
	border: 3px solid #6f7e87;
	border-radius: 38px 38px 15px 15px;
	background: linear-gradient(90deg, #afb9be, #f7f9fa 42%, #89979e);
	box-shadow: 0 16px 24px rgba(29, 42, 54, 0.18);
	transform: rotate(-8deg);
}

.ls-everest-category-card__visual span::before {
	position: absolute;
	top: -19px;
	left: 17px;
	width: 36px;
	height: 28px;
	border: 3px solid #6f7e87;
	border-radius: 13px 13px 5px 5px;
	background: #2d3941;
	content: "";
}

.ls-everest-category-card__visual--fixed-mounted span,
.ls-everest-category-card__visual--miniature span,
.ls-everest-category-card__visual--microminiature span {
	width: 105px;
	height: 48px;
	border-radius: 24px 8px 8px 24px;
	transform: rotate(-5deg);
}

.ls-everest-category-card__visual--fixed-mounted span::before,
.ls-everest-category-card__visual--miniature span::before,
.ls-everest-category-card__visual--microminiature span::before {
	top: 8px;
	left: -20px;
	width: 32px;
	height: 26px;
	border-radius: 50%;
}

.ls-everest-category-card__visual--miniature span {
	width: 82px;
	height: 40px;
}

.ls-everest-category-card__visual--microminiature span {
	width: 62px;
	height: 31px;
}

.ls-everest-category-card__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: clamp(1.35rem, 3vw, 2rem);
}

.ls-everest-category-card h3 {
	margin-bottom: 0.7rem;
	font-size: 1.45rem;
	font-weight: 650;
}

.ls-everest-category-card h3 a {
	color: inherit;
	text-decoration: none;
}

.ls-everest-category-card h3 a:hover,
.ls-everest-category-card h3 a:focus {
	color: var(--ls-product-accent);
	text-decoration: underline;
	text-underline-offset: 0.14em;
}

.ls-everest-category-card p {
	margin-bottom: 1.25rem;
	color: var(--ls-product-muted);
	line-height: 1.6;
}

.ls-everest-category-card__links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem 0.85rem;
	margin-top: auto;
}

.ls-everest-category-card__links a,
.ls-everest-product-card__link {
	color: var(--ls-product-accent);
	font-size: 0.9rem;
	font-weight: 650;
	text-decoration: none;
}

.ls-everest-category-card__links a:hover,
.ls-everest-category-card__links a:focus,
.ls-everest-product-card__link:hover,
.ls-everest-product-card__link:focus {
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.ls-everest-featured,
.ls-everest-technology {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(2rem, 7vw, 6rem);
	align-items: center;
}

.ls-everest-featured__facts {
	display: grid;
	gap: 0.7rem;
}

.ls-everest-featured__facts div {
	display: grid;
	gap: 0.2rem;
	padding: 1.1rem 1.25rem;
	border: 1px solid var(--ls-product-border);
	border-radius: 0.55rem;
	background: #fff;
}

.ls-everest-featured__facts strong {
	font-size: 1.1rem;
}

.ls-everest-featured__facts span {
	color: var(--ls-product-muted);
	font-size: 0.925rem;
}

.ls-everest-path-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin-top: 2.25rem;
}

.ls-everest-path-card {
	display: flex;
	min-height: 220px;
	flex-direction: column;
	align-items: flex-start;
	padding: clamp(1.4rem, 3vw, 2rem);
	border: 1px solid var(--ls-product-border);
	border-radius: 0.7rem;
	background: #fff;
	color: var(--ls-product-ink);
	text-decoration: none;
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

a.ls-everest-path-card:hover,
a.ls-everest-path-card:focus {
	border-color: #b8c2c7;
	box-shadow: 0 14px 30px rgba(29, 42, 54, 0.1);
	color: var(--ls-product-ink);
	transform: translateY(-2px);
}

.ls-everest-path-card__label {
	margin-bottom: 0.65rem;
	color: var(--ls-product-accent);
	font-size: 0.72rem;
	font-weight: 750;
	letter-spacing: 0.075em;
	text-transform: uppercase;
}

.ls-everest-path-card > strong {
	margin-bottom: 0.75rem;
	font-size: clamp(1.2rem, 2.5vw, 1.55rem);
	font-weight: 650;
	line-height: 1.25;
}

.ls-everest-path-card > span:not(.ls-everest-path-card__label):not(.ls-everest-path-card__actions) {
	color: var(--ls-product-muted);
	line-height: 1.6;
}

.ls-everest-path-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: auto;
	padding-top: 1.2rem;
}

.ls-everest-path-card__actions a {
	padding: 0.48rem 0.7rem;
	border: 1px solid var(--ls-product-border);
	border-radius: 999px;
	color: var(--ls-product-accent);
	font-size: 0.85rem;
	font-weight: 650;
	text-decoration: none;
}

.ls-everest-path-card__actions a:hover,
.ls-everest-path-card__actions a:focus {
	border-color: var(--ls-product-accent);
	background: #fff8f5;
}

.ls-everest-catalog-page h1 {
	max-width: none;
	margin-bottom: 1rem;
	font-size: clamp(2.35rem, 5vw, 4rem);
}

.ls-everest-filter-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	margin: 2rem 0;
}

.ls-everest-filter-links a {
	padding: 0.6rem 0.9rem;
	border: 1px solid var(--ls-product-border);
	border-radius: 999px;
	color: var(--ls-product-ink);
	font-size: 0.925rem;
	font-weight: 600;
	text-decoration: none;
}

.ls-everest-filter-links a:hover,
.ls-everest-filter-links a:focus,
.ls-everest-filter-links a[aria-current="page"] {
	border-color: var(--ls-product-ink);
	background: var(--ls-product-ink);
	color: #fff;
}

.ls-everest-product-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.ls-everest-product-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-height: 290px;
	padding: clamp(1.35rem, 3vw, 1.8rem);
	border: 1px solid var(--ls-product-border);
	border-radius: 0.65rem;
	background: #fff;
}

.ls-everest-product-card__media {
	display: block;
	width: calc(100% + clamp(2.7rem, 6vw, 3.6rem));
	height: 180px;
	margin: calc(clamp(1.35rem, 3vw, 1.8rem) * -1) calc(clamp(1.35rem, 3vw, 1.8rem) * -1) 1.35rem;
	overflow: hidden;
	border-bottom: 1px solid var(--ls-product-border);
	border-radius: 0.65rem 0.65rem 0 0;
	background: var(--ls-product-surface);
}

.ls-everest-product-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.ls-everest-product-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 0.65rem;
	margin-bottom: 1rem;
	color: var(--ls-product-accent);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.ls-everest-product-card h3 {
	margin-bottom: 0.7rem;
	font-size: 1.3rem;
	font-weight: 650;
}

.ls-everest-product-card h3 a {
	color: inherit;
	text-decoration: none;
}

.ls-everest-product-card h3 a:hover,
.ls-everest-product-card h3 a:focus {
	color: var(--ls-product-accent);
}

.ls-everest-product-card p {
	margin-bottom: 1.4rem;
	color: var(--ls-product-muted);
	line-height: 1.6;
}

.ls-everest-product-card__link {
	margin-top: auto;
}

.ls-everest-empty,
.ls-everest-archive-note {
	max-width: 72ch;
	padding: 1.2rem 1.4rem;
	border-left: 4px solid var(--ls-product-accent);
	background: #fff;
	color: var(--ls-product-muted);
	line-height: 1.65;
}

/* Everest category-based product comparison. */
.ls-everest-compare-hero .ls-product-container { max-width: 920px; }

.ls-everest-category-picker {
	display: grid;
	grid-template-columns: minmax(220px, 1fr) auto;
	gap: 0.55rem 1rem;
	align-items: end;
	max-width: 720px;
	margin-top: 1.75rem;
}

.ls-everest-category-picker label { grid-column: 1 / -1; font-weight: 650; }

.ls-everest-category-picker select {
	width: 100%;
	min-height: 48px;
	padding: 0.65rem 2.5rem 0.65rem 0.8rem;
	border: 1px solid #aeb9c1;
	border-radius: 0.35rem;
	background-color: #fff;
	color: var(--ls-product-ink);
	font: inherit;
}

.ls-everest-category-picker select:focus,
.ls-everest-compare-option:focus-within { outline: 3px solid #8bb7ea; outline-offset: 2px; }

.ls-everest-compare-selector fieldset { margin: 1.75rem 0 0; padding: 0; border: 0; }

.ls-everest-compare-options {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.ls-everest-compare-option {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.85rem;
	align-items: start;
	min-height: 100%;
	margin: 0;
	padding: 1.15rem;
	border: 1px solid var(--ls-product-border);
	border-radius: 0.55rem;
	background: #fff;
	cursor: pointer;
}

.ls-everest-compare-option:has(input:checked) { border-color: #245e8a; box-shadow: inset 0 0 0 1px #245e8a; }
.ls-everest-compare-option input { width: 1.15rem; height: 1.15rem; margin-top: 0.2rem; accent-color: #245e8a; }
.ls-everest-compare-option strong,
.ls-everest-compare-option span { display: block; }
.ls-everest-compare-option strong { margin-bottom: 0.45rem; color: var(--ls-product-ink); }
.ls-everest-compare-option span { color: var(--ls-product-muted); line-height: 1.55; }
.ls-everest-selection-status { margin: 1rem 0; color: var(--ls-product-muted); }
.ls-everest-compare-selector .ls-product-action:disabled { cursor: not-allowed; opacity: 0.52; }

.ls-everest-compare-error {
	margin: 1.5rem 0;
	padding: 1rem 1.15rem;
	border-left: 4px solid #b42318;
	background: #fff1f0;
	color: #7a1711;
}

.ls-everest-comparison-scroll {
	overflow-x: auto;
	margin-top: 2rem;
	border: 1px solid var(--ls-product-border);
	border-radius: 0.6rem;
	background: #fff;
}

#comparison-results { scroll-margin-top: 2rem; }

.ls-everest-comparison-table { width: 100%; min-width: 760px; margin: 0; border-collapse: collapse; }
.ls-everest-comparison-table th,
.ls-everest-comparison-table td {
	min-width: 190px;
	padding: 0.9rem 1rem;
	border-right: 1px solid var(--ls-product-border);
	border-bottom: 1px solid var(--ls-product-border);
	vertical-align: top;
	text-align: left;
	line-height: 1.5;
}
.ls-everest-comparison-table th:first-child { min-width: 210px; }
.ls-everest-comparison-table thead th { position: sticky; top: 0; z-index: 1; background: #263b52; color: #fff; }
.ls-everest-comparison-table tbody th[scope="row"] { background: #f7f9fa; font-weight: 650; }
.ls-everest-comparison-table .ls-everest-comparison-group th { background: #dfe8ee; color: #263442; font-size: 1rem; }
.ls-everest-comparison-table tr:last-child > * { border-bottom: 0; }
.ls-everest-comparison-table tr > *:last-child { border-right: 0; }

.ls-everest-instrument-mark {
	display: grid;
	min-height: 340px;
	place-items: center;
	padding: 2rem;
	border: 1px solid var(--ls-product-border);
	border-radius: 1rem;
	background:
		radial-gradient(circle at center, rgba(159, 62, 36, 0.18) 0 2%, transparent 2.5% 16%, rgba(159, 62, 36, 0.16) 16.5% 17.2%, transparent 17.7%),
		linear-gradient(145deg, #fff, #e9eef0);
	box-shadow: 0 24px 60px rgba(29, 42, 54, 0.1);
}

.ls-everest-instrument-media {
	display: grid;
	min-height: 340px;
	place-items: center;
	margin: 0;
	padding: 1.25rem;
	overflow: hidden;
	border: 1px solid var(--ls-product-border);
	border-radius: 1rem;
	background: #fff;
	box-shadow: 0 24px 60px rgba(29, 42, 54, 0.1);
}

.ls-everest-instrument-media img {
	display: block;
	width: 100%;
	height: 315px;
	object-fit: contain;
}

.ls-everest-instrument-mark span {
	max-width: 13ch;
	color: var(--ls-product-ink);
	font-size: clamp(1.4rem, 3vw, 2.2rem);
	font-weight: 700;
	text-align: center;
}

.ls-everest-application-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin: 0 0 2rem;
	padding: 0;
	list-style: none;
}

.ls-everest-specification-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	max-width: 900px;
	margin: 0 0 2rem;
	padding: 0;
	border-top: 1px solid var(--ls-product-border);
	list-style: none;
}

.ls-everest-specification-list li {
	padding: 1rem;
	border-bottom: 1px solid var(--ls-product-border);
	color: var(--ls-product-muted);
	line-height: 1.55;
}

.ls-everest-specification-list li:nth-child(odd) {
	border-right: 1px solid var(--ls-product-border);
}

.ls-everest-model-specifications {
	background: #fff;
}

.ls-everest-specification-groups {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.ls-everest-specification-group {
	overflow: hidden;
	border: 1px solid var(--ls-product-border);
	border-radius: 0.65rem;
	background: #fff;
}

.ls-everest-specification-group h3 {
	margin: 0;
	padding: 1rem 1.15rem;
	border-bottom: 1px solid var(--ls-product-border);
	background: var(--ls-product-surface);
	font-size: 1.05rem;
	font-weight: 700;
}

.ls-everest-specification-group dl {
	margin: 0;
}

.ls-everest-specification-group dl > div {
	padding: 0.85rem 1.15rem;
}

.ls-everest-specification-group dl > div + div {
	border-top: 1px solid var(--ls-product-border);
}

.ls-everest-specification-group dt {
	margin-bottom: 0.2rem;
	color: var(--ls-product-ink);
	font-size: 0.77rem;
	font-weight: 750;
	letter-spacing: 0.045em;
	text-transform: uppercase;
}

.ls-everest-specification-group dd {
	margin: 0;
	color: var(--ls-product-muted);
	font-size: 0.93rem;
	line-height: 1.5;
}

.ls-everest-application-list li {
	padding: 0.65rem 0.9rem;
	border: 1px solid var(--ls-product-border);
	border-radius: 999px;
	background: #fff;
	font-weight: 600;
}

/* DrugDetect-F1 uses the shared product-page system with verified legacy assets. */
.ls-drugdetect-page {
	--ls-product-accent: #315d86;
}

.ls-drugdetect-hero-media,
.ls-drugdetect-feature figure {
	margin: 0;
}

.ls-drugdetect-hero-media img {
	display: block;
	width: 100%;
	max-height: 430px;
	object-fit: contain;
}

.ls-drugdetect-feature {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(2rem, 7vw, 6rem);
	align-items: center;
}

.ls-drugdetect-award {
	display: grid;
	grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.1fr);
	gap: clamp(2rem, 7vw, 6rem);
	align-items: center;
}

.ls-drugdetect-award figure {
	margin: 0;
	overflow: hidden;
	border: 1px solid var(--ls-product-border);
	border-radius: 0.75rem;
	background: #fff;
	box-shadow: 0 18px 40px rgba(29, 42, 54, 0.1);
}

.ls-drugdetect-award img {
	display: block;
	width: 100%;
	height: auto;
}

.ls-drugdetect-feature figure img {
	display: block;
	width: 100%;
	max-height: 440px;
	object-fit: contain;
}

.ls-drugdetect-feature-grid .ls-product-card {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.ls-drugdetect-feature-grid .ls-product-card img {
	width: 100%;
	height: 210px;
	margin-bottom: 1.4rem;
	object-fit: contain;
}

.ls-drugdetect-list {
	margin: 0;
	padding-left: 1.2rem;
	color: var(--ls-product-muted);
	line-height: 1.65;
}

.ls-drugdetect-list li + li {
	margin-top: 0.45rem;
}

.ls-drugdetect-spec-grid,
.ls-drugdetect-guidance,
.ls-drugdetect-resource-layout {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(2rem, 6vw, 5rem);
}

.ls-drugdetect-spec-grid {
	margin-top: 2.5rem;
}

.ls-drugdetect-spec-grid h3,
.ls-drugdetect-resource-layout h3,
.ls-drugdetect-note h3 {
	margin-bottom: 1rem;
	font-size: 1.35rem;
	font-weight: 650;
}

.ls-drugdetect-spec-grid h4 {
	margin: 1.5rem 0 0.6rem;
	font-size: 1rem;
	font-weight: 700;
}

.ls-drugdetect-spec-grid img {
	display: block;
	width: min(100%, 480px);
	height: auto;
	margin-top: 1rem;
}

.ls-drugdetect-guidance {
	align-items: start;
}

.ls-drugdetect-guidance > div > p:not(.ls-product-eyebrow) {
	max-width: 68ch;
	color: var(--ls-product-muted);
	line-height: 1.7;
}

.ls-drugdetect-note {
	padding: clamp(1.5rem, 4vw, 2.25rem);
	border-left: 4px solid var(--ls-product-accent);
	background: var(--ls-product-surface);
}

.ls-drugdetect-note p {
	margin-bottom: 0.8rem;
	line-height: 1.6;
}

.ls-drugdetect-note p:last-child {
	margin-bottom: 0;
}

.ls-drugdetect-resource-layout {
	align-items: start;
	margin-top: 2rem;
}

.ls-drugdetect-downloads {
	margin: 0 0 2rem;
}

.ls-drugdetect-video iframe,
.ls-drugdetect-video video {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
	border: 0;
	border-radius: 0.5rem;
	background: #0c151d;
}

/* Technology and Applications uses the shared product-page presentation. */
.ls-applications-page {
	--ls-product-accent: #315d86;
}

.ls-applications-page .ls-product-hero-grid {
	grid-template-columns: minmax(0, 0.9fr) minmax(340px, 1.1fr);
	gap: clamp(2rem, 6vw, 5rem);
}

.ls-applications-hero-media {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 400px;
	margin: 0;
	overflow: hidden;
	border: 1px solid var(--ls-product-border);
	border-radius: 0.75rem;
	background: #fff;
	box-shadow: 0 24px 60px rgba(29, 42, 54, 0.1);
}

.ls-applications-hero-media img {
	display: block;
	width: 100%;
	height: 400px;
	object-fit: contain;
}

.ls-application-feature {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(2rem, 7vw, 6rem);
	align-items: center;
}

.ls-application-feature--reverse .ls-application-media {
	order: 2;
}

.ls-application-feature .ls-product-heading a {
	color: inherit;
	text-decoration: none;
}

.ls-application-feature .ls-product-heading a:hover,
.ls-application-feature .ls-product-heading a:focus {
	text-decoration: underline;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.14em;
}

.ls-application-feature .ls-product-intro {
	margin-bottom: 1.25rem;
}

.ls-application-media {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 360px;
	overflow: hidden;
	border-radius: 0.7rem;
	background: #f5f7f8;
}

.ls-application-media img {
	display: block;
	width: 100%;
	height: 360px;
	object-fit: cover;
}

.ls-application-infrared img {
	padding: clamp(1rem, 3vw, 2rem);
	object-fit: contain;
}

.ls-application-infrared span {
	position: relative;
	width: min(62%, 280px);
	aspect-ratio: 1;
	border: 1px solid #dfe5e8;
	border-radius: 50%;
	background:
		radial-gradient(circle at center, transparent 0 8%, #bd4a2a 8.5% 10%, transparent 10.5% 24%, rgba(159, 62, 36, 0.22) 24.5% 25.5%, transparent 26%),
		linear-gradient(145deg, #fff, #e7ecef);
	box-shadow: 0 20px 45px rgba(29, 42, 54, 0.12);
}

.ls-application-infrared span::before,
.ls-application-infrared span::after {
	position: absolute;
	top: 50%;
	left: 50%;
	background: rgba(159, 62, 36, 0.3);
	content: "";
	transform: translate(-50%, -50%);
}

.ls-application-infrared span::before {
	width: 62%;
	height: 1px;
}

.ls-application-infrared span::after {
	width: 1px;
	height: 62%;
}

.ls-application-research-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
	margin-top: 2.5rem;
}

.ls-application-research {
	display: grid;
	grid-template-rows: 220px 1fr;
	overflow: hidden;
	border: 1px solid var(--ls-product-border);
	border-radius: 0.65rem;
	background: #fff;
}

.ls-application-research img {
	width: 100%;
	height: 220px;
	object-fit: cover;
}

.ls-application-research > div {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: clamp(1.4rem, 3vw, 2rem);
}

.ls-application-research h3 {
	margin-bottom: 0.75rem;
	font-size: 1.35rem;
	font-weight: 650;
}

.ls-application-research p:not(.ls-application-status) {
	margin-bottom: 1.5rem;
	color: var(--ls-product-muted);
	line-height: 1.65;
}

.ls-application-research .ls-product-action {
	margin-top: auto;
}

.ls-application-status {
	margin-bottom: 0.6rem;
	color: var(--ls-product-accent);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

@media (max-width: 767.98px) {
	.ls-product-page .ls-product-hero-grid,
	.ls-product-page .ls-product-grid,
	.ls-drugdetect-feature,
	.ls-drugdetect-award,
	.ls-drugdetect-spec-grid,
	.ls-drugdetect-guidance,
	.ls-drugdetect-resource-layout {
		grid-template-columns: 1fr;
	}

	.ls-application-feature,
	.ls-application-research-grid {
		grid-template-columns: 1fr;
	}

	.ls-applications-page .ls-product-hero-grid {
		grid-template-columns: 1fr;
	}

	.ls-applications-hero-media {
		min-height: 300px;
	}

	.ls-applications-hero-media img {
		height: auto;
		max-height: 380px;
	}

	.ls-application-feature--reverse .ls-application-media {
		order: 0;
	}

	.ls-application-media,
	.ls-application-media img {
		min-height: 260px;
		height: 260px;
	}

	.ls-product-page .ls-sighting-visual {
		min-height: 260px;
	}

	.ls-product-page .ls-everest-hero-media {
		min-height: 260px;
	}

	.ls-product-page .ls-everest-hero-media img {
		height: 260px;
	}

	.ls-product-page .ls-product-closing {
		display: block;
	}

	.ls-everest-category-grid,
	.ls-everest-featured,
	.ls-everest-technology,
	.ls-everest-product-grid,
	.ls-everest-path-grid,
	.ls-everest-specification-groups,
	.ls-everest-specification-list {
		grid-template-columns: 1fr;
	}

	.ls-everest-specification-list li:nth-child(odd) {
		border-right: 0;
	}

	.ls-everest-category-card {
		grid-template-columns: 105px minmax(0, 1fr);
	}

	.ls-everest-catalog-nav__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ls-everest-catalog-nav__item:nth-child(3) {
		border-left: 0;
	}

	.ls-everest-catalog-nav__item:nth-child(n + 3) {
		border-top: 1px solid var(--ls-product-border);
	}

	.ls-everest-catalog-nav__menu {
		position: static;
		display: block;
		width: auto;
		padding: 0 0.6rem 0.7rem;
		border: 0;
		border-radius: 0;
		box-shadow: none;
	}

	.ls-everest-catalog-nav__trigger {
		min-height: 52px;
		padding-bottom: 0.35rem;
	}

	.ls-everest-catalog-nav__trigger::after {
		display: none;
	}

	.ls-everest-catalog-nav__group + .ls-everest-catalog-nav__group {
		margin-top: 0.4rem;
		padding-top: 0.4rem;
	}

	.ls-everest-catalog-nav__group > .ls-everest-catalog-nav__group-title {
		padding: 0.3rem 0.4rem;
		font-size: 0.68rem;
	}

	.ls-everest-catalog-nav__group ul a {
		padding: 0.32rem 0.4rem;
		font-size: 0.76rem;
		text-align: center;
	}

	.ls-everest-catalog-nav__group p {
		padding: 0.3rem 0.4rem;
		font-size: 0.72rem;
		text-align: center;
	}

	.ls-everest-catalog-nav__all {
		margin-top: 0.5rem;
		padding-top: 0.5rem;
	}

	.ls-everest-catalog-nav__all > a {
		min-height: 36px;
		padding: 0.35rem 0.45rem;
		font-size: 0.76rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ls-site-header *,
	.ls-site-header *::before,
	.ls-site-header *::after {
		scroll-behavior: auto;
		transition-duration: 0.01ms;
		animation-duration: 0.01ms;
		animation-iteration-count: 1;
	}
}

/*
 * Shared child-theme layout components.
 */
.ls-layout-container {
	width: min(1120px, calc(100% - 2rem));
	margin-inline: auto;
}

.ls-eyebrow {
	margin: 0 0 0.65rem;
	color: #49657b;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.085em;
	text-transform: uppercase;
}

.ls-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0.65rem 1rem;
	border: 1px solid #263b52;
	border-radius: 0.35rem;
	background: #263b52;
	color: #fff;
	font-weight: 600;
	text-decoration: none;
}

.ls-button:hover,
.ls-button:focus {
	background: #17283a;
	color: #fff;
}

.ls-button:focus-visible {
	outline: 3px solid #8bb7ea;
	outline-offset: 3px;
}

/* Compact replacement for legacy SiteOrigin molecular title rows. */
.ls-page-intro {
	padding: clamp(2.75rem, 6vw, 4.75rem) 0;
	border-bottom: 1px solid #e3e8eb;
	background: #f7f9fa;
}

.ls-page-intro__title {
	max-width: 20ch;
	margin: 0;
	color: #1d2a36;
	font-size: clamp(2.25rem, 5vw, 4rem);
	font-weight: 650;
	letter-spacing: -0.035em;
	line-height: 1.05;
}

.ls-page-intro__copy {
	max-width: 68ch;
	margin: 1rem 0 0;
	color: #5a6875;
	font-size: clamp(1rem, 2vw, 1.1875rem);
	line-height: 1.65;
}

.ls-page-intro .ls-button {
	margin-top: 1.5rem;
}

/* The original SiteOrigin rows remain stored for immediate rollback. */
body.page-id-29237 #pg-29237-0,
body.page-id-29237 #pg-29237-1,
body.page-id-38 #pg-38-0,
body.page-id-61 #pg-61-0,
body.page-id-46 #pg-46-0,
body.page-id-302 #pg-302-0,
body.page-id-381 #pg-381-0 {
	display: none;
}

/*
 * Contact page.
 */
.ls-contact-page {
	padding: clamp(3rem, 7vw, 6rem) 0;
	color: #1d2a36;
}

.ls-contact-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(320px, 1.2fr);
	gap: clamp(2.5rem, 7vw, 6rem);
	align-items: start;
}

.ls-contact-details h2,
.ls-contact-form > h2 {
	margin-bottom: 1.5rem;
	font-size: clamp(1.65rem, 3vw, 2.25rem);
	font-weight: 650;
	letter-spacing: -0.02em;
}

.ls-contact-details address {
	margin-bottom: 2rem;
	color: #53616e;
	font-style: normal;
	line-height: 1.7;
}

.ls-contact-details address span {
	display: block;
}

.ls-contact-list {
	display: grid;
	gap: 1.25rem;
	margin: 0;
}

.ls-contact-list div {
	padding-top: 1rem;
	border-top: 1px solid #e3e8eb;
}

.ls-contact-list dt {
	margin-bottom: 0.25rem;
	color: #667480;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.ls-contact-list dd {
	margin: 0;
}

.ls-contact-list a {
	color: #245e8a;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

.ls-contact-form {
	padding: clamp(1.5rem, 4vw, 2.5rem);
	border: 1px solid #e0e6e9;
	border-radius: 0.75rem;
	background: #fff;
	box-shadow: 0 18px 45px rgba(29, 42, 54, 0.08);
}

.ls-contact-form .nf-form-fields-required {
	margin-bottom: 1.25rem;
	color: #667480;
	font-size: 0.875rem;
}

.ls-contact-form .nf-field-container {
	margin-bottom: 1.25rem;
}

.ls-contact-form .nf-field-label label {
	margin-bottom: 0.4rem;
	color: #263442;
	font-size: 0.9375rem;
	font-weight: 650;
}

.ls-contact-form .nf-field-element input:not([type="button"]),
.ls-contact-form .nf-field-element textarea,
.ls-contact-form .nf-field-element select {
	width: 100%;
	min-height: 46px;
	padding: 0.7rem 0.8rem;
	border: 1px solid #aeb9c1;
	border-radius: 0.35rem;
	background: #fff;
	color: #1d2a36;
	font: inherit;
}

.ls-contact-form .nf-field-element textarea {
	min-height: 150px;
	resize: vertical;
}

.ls-contact-form .nf-field-element input:focus,
.ls-contact-form .nf-field-element textarea:focus,
.ls-contact-form .nf-field-element select:focus {
	border-color: #245e8a;
	outline: 3px solid #8bb7ea;
	outline-offset: 1px;
	box-shadow: none;
}

.ls-contact-form .nf-field-element input[type="button"],
.ls-contact-form .nf-field-element input[type="submit"] {
	min-height: 44px;
	padding: 0.65rem 1.15rem;
	border: 1px solid #263b52;
	border-radius: 0.35rem;
	background: #263b52;
	color: #fff;
	font: inherit;
	font-weight: 650;
}

.ls-contact-form .nf-field-element input[type="button"]:hover,
.ls-contact-form .nf-field-element input[type="button"]:focus,
.ls-contact-form .nf-field-element input[type="submit"]:hover,
.ls-contact-form .nf-field-element input[type="submit"]:focus {
	border-color: #17283a;
	background: #17283a;
	color: #fff;
}

.ls-contact-form .nf-error .ninja-forms-field {
	border-color: #b42318;
}

.ls-contact-form .nf-error-msg,
.ls-contact-form .nf-form-errors {
	color: #9f1c13;
	font-size: 0.9rem;
}

.ls-contact-form .nf-pass .ninja-forms-field {
	border-color: #417b52;
}

@media (max-width: 767.98px) {
	.ls-everest-category-picker,
	.ls-everest-compare-options {
		grid-template-columns: 1fr;
	}

	.ls-everest-category-picker .ls-product-action { width: 100%; }

	.ls-contact-grid {
		grid-template-columns: 1fr;
	}

	.ls-contact-form {
		padding: 1.25rem;
	}
}

/*
 * Company management cards. The SiteOrigin widgets and profile links remain
 * unchanged; these rules only normalize their front-end presentation.
 */
body.page-id-302 #pg-302-2 > .panel-grid-cell {
	width: min(1120px, calc(100% - 2rem));
	margin-inline: auto;
}

body.page-id-302 #panel-302-2-0-0 > .panel-widget-style {
	padding: clamp(2.5rem, 6vw, 4.5rem) 0 1.5rem;
	background: #fff;
}

body.page-id-302 #panel-302-2-0-0 h3 {
	margin-bottom: 0.75rem;
	color: #1d2a36;
	font-size: clamp(1.8rem, 4vw, 2.75rem);
	font-weight: 650;
	letter-spacing: -0.025em;
}

body.page-id-302 #panel-302-2-0-0 p {
	max-width: 74ch;
	margin-bottom: 0;
	color: #5a6875;
	font-size: 1.0625rem;
	line-height: 1.7;
}

body.page-id-302 #pg-302-3 > .panel-row-style,
body.page-id-302 #pg-302-4 > .panel-row-style {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.25rem;
	width: min(1120px, calc(100% - 2rem));
	margin-inline: auto;
	padding: 0 0 1.25rem;
	background: #fff;
}

body.page-id-302 #pg-302-4 > .panel-row-style {
	padding-bottom: clamp(3.5rem, 7vw, 6rem);
}

body.page-id-302 #pg-302-3 .panel-grid-cell,
body.page-id-302 #pg-302-4 .panel-grid-cell {
	width: auto;
	margin: 0;
}

body.page-id-302 #pg-302-3 .panel-grid-cell-empty,
body.page-id-302 #pg-302-4 .panel-grid-cell-empty {
	display: none;
}

body.page-id-302 #pg-302-3 .so-panel,
body.page-id-302 #pg-302-4 .so-panel,
body.page-id-302 #pg-302-3 .textwidget,
body.page-id-302 #pg-302-4 .textwidget {
	height: 100%;
	margin: 0;
}

body.page-id-302 #pg-302-3 .textwidget > a,
body.page-id-302 #pg-302-4 .textwidget > a {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	border: 1px solid #e0e6e9;
	border-radius: 0.7rem;
	background: #fff;
	box-shadow: 0 12px 30px rgba(29, 42, 54, 0.07);
	color: #1d2a36;
	text-decoration: none;
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

body.page-id-302 #pg-302-3 .textwidget > a:hover,
body.page-id-302 #pg-302-4 .textwidget > a:hover {
	border-color: #b7c4cc;
	box-shadow: 0 16px 36px rgba(29, 42, 54, 0.12);
	transform: translateY(-2px);
}

body.page-id-302 #pg-302-3 .textwidget > a:focus-visible,
body.page-id-302 #pg-302-4 .textwidget > a:focus-visible {
	outline: 3px solid #8bb7ea;
	outline-offset: 3px;
}

body.page-id-302 #pg-302-3 .spect-timeline,
body.page-id-302 #pg-302-4 .spect-timeline {
	width: 100%;
	margin: 0;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	border-radius: 0;
	background: #eef2f4;
	box-shadow: none;
}

body.page-id-302 #pg-302-3 .spect-timeline img,
body.page-id-302 #pg-302-4 .spect-timeline img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
	object-position: center top;
}

body.page-id-302 #pg-302-3 h4,
body.page-id-302 #pg-302-4 h4 {
	margin: 1rem 1rem 0.3rem;
	color: #1d2a36;
	font-size: 1.15rem;
	font-weight: 650;
	line-height: 1.25;
	text-align: left;
}

body.page-id-302 #pg-302-3 .team-member-position,
body.page-id-302 #pg-302-4 .team-member-position {
	margin: 0 1rem 1.1rem;
	color: #5f6d79;
	font-size: 0.925rem;
	line-height: 1.45;
	text-align: left;
}

/*
 * DrugDetect-F1 refinements. Preserve the original SiteOrigin flow while
 * standardizing content width, spacing, and mixed source-image sizes.
 */
body.page-id-38 #pg-38-1 > .panel-row-style,
body.page-id-38 #pg-38-2 > .panel-row-style,
body.page-id-38 #pg-38-3 > .panel-row-style,
body.page-id-38 #pg-38-4 > .panel-row-style {
	width: min(1120px, calc(100% - 2rem));
	margin-inline: auto;
}

body.page-id-38 #pg-38-1 > .panel-row-style {
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: center;
	padding: clamp(2.75rem, 6vw, 4.75rem) 0;
}

body.page-id-38 #panel-38-1-0-0 {
	overflow: hidden;
	border-radius: 0.5rem;
	background: #f7f9fa;
}

body.page-id-38 #panel-38-1-0-0 .sow-slider-image-wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 320px;
}

body.page-id-38 #panel-38-1-0-0 .sow-slider-foreground-image {
	width: 100%;
	max-height: 400px;
	object-fit: contain;
}

body.page-id-38 #panel-38-1-1-0 h2 {
	margin-bottom: 1rem;
	color: #1d2a36;
	font-size: clamp(1.8rem, 4vw, 2.75rem);
	font-weight: 650;
	letter-spacing: -0.025em;
	line-height: 1.12;
}

body.page-id-38 #pg-38-2 > .panel-row-style {
	padding: 0 0 clamp(3.5rem, 7vw, 5.5rem);
}

body.page-id-38 #pgc-38-2-0 {
	width: 100%;
}

body.page-id-38 #pgc-38-2-0 > .so-panel {
	display: flow-root;
	max-width: 920px;
	margin: 0 auto;
	padding: clamp(2rem, 5vw, 3.75rem) 0;
	border-bottom: 1px solid #e5eaed;
}

body.page-id-38 #pgc-38-2-0 > .so-panel:last-child {
	border-bottom: 0;
}

body.page-id-38 #pgc-38-2-0 h2 {
	margin-bottom: 1rem;
	color: #1d2a36;
	font-size: clamp(1.65rem, 3vw, 2.25rem);
	font-weight: 650;
	letter-spacing: -0.02em;
}

body.page-id-38 #pgc-38-2-0 img {
	width: min(42%, 380px);
	height: auto;
	max-height: 300px;
	padding: 0.75rem;
	border-radius: 0.4rem;
	background: #f7f9fa;
	object-fit: contain;
}

body.page-id-38 #pgc-38-2-0 img.alignleft {
	margin: 0 2rem 1rem 0;
}

body.page-id-38 #pgc-38-2-0 img.alignright {
	margin: 0 0 1rem 2rem;
}

body.page-id-38 #pgc-38-2-0 > .so-panel:last-child img {
	display: block;
	float: none;
	width: 100%;
	max-height: 360px;
	margin: 0;
	object-fit: contain;
}

/* Neutralize legacy spacer paragraphs while preserving editable kit copy. */
body.page-id-38 #panel-38-2-0-5 .textwidget {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 0.9fr);
	align-items: center;
	gap: clamp(1.5rem, 4vw, 3rem);
}

body.page-id-38 #panel-38-2-0-5 p {
	display: none;
}

body.page-id-38 #panel-38-2-0-5 p:first-child,
body.page-id-38 #panel-38-2-0-5 p:has(> strong:first-child) {
	display: block;
	margin: 0;
}

body.page-id-38 #panel-38-2-0-5 p:has(> strong:first-child) {
	font-size: 1rem;
	line-height: 1.7;
}

body.page-id-38 #pg-38-3 > .panel-row-style {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: clamp(2rem, 5vw, 4rem);
	padding: 0 0 clamp(3rem, 6vw, 5rem);
	border-top: 1px solid #e5eaed;
}

body.page-id-38 #pg-38-3 .panel-grid-cell {
	display: contents;
	padding: 0;
}

body.page-id-38 #pg-38-3 .so-panel {
	display: flow-root;
	width: 100%;
	max-width: 920px;
	margin: 0 auto;
	padding: clamp(2rem, 5vw, 3.75rem) 0;
	border-bottom: 1px solid #e5eaed;
}

body.page-id-38 #panel-38-3-0-0 {
	grid-column: 1;
	grid-row: 1;
	max-width: none;
}

body.page-id-38 #panel-38-3-1-0 {
	grid-column: 2;
	grid-row: 1;
	max-width: none;
}

body.page-id-38 #panel-38-3-0-1 {
	grid-column: 1 / -1;
	grid-row: 2;
}

body.page-id-38 #panel-38-3-0-2 {
	grid-column: 1 / -1;
	grid-row: 3;
	border-bottom: 0;
}

body.page-id-38 #pg-38-3 img {
	display: block;
	float: none;
	width: min(100%, 760px);
	height: auto;
	max-height: none;
	margin: 1.5rem 0 0;
	object-fit: contain;
}

body.page-id-38 #panel-38-3-0-0 p:first-child > strong,
body.page-id-38 #panel-38-3-1-0 p:first-child > strong,
body.page-id-38 #panel-38-3-0-2 p:first-child {
	color: #1d2a36;
	font-size: clamp(1.55rem, 3vw, 2.1rem);
	font-weight: 650;
	letter-spacing: -0.02em;
}

body.page-id-38 #panel-38-3-1-0 p,
body.page-id-38 #panel-38-3-0-1 p {
	margin: 0 0 0.9rem;
}

body.page-id-38 #panel-38-3-1-0 ul,
body.page-id-38 #panel-38-3-0-1 ul {
	margin: 0 0 1.35rem;
	padding-left: 1.25rem;
}

body.page-id-38 #panel-38-3-1-0 li,
body.page-id-38 #panel-38-3-0-1 li {
	margin-bottom: 0.35rem;
}

body.page-id-38 #panel-38-3-1-0 strong,
body.page-id-38 #panel-38-3-0-1 strong {
	font-size: inherit;
	letter-spacing: normal;
}

body.page-id-38 #panel-38-3-1-0 p:first-child > strong {
	font-size: clamp(1.55rem, 3vw, 2.1rem);
	letter-spacing: -0.02em;
}

body.page-id-38 #panel-38-3-0-2 p:has(a.btn) {
	display: inline-block;
	margin: 0.35rem 0.45rem 0.35rem 0;
}

body.page-id-38 #panel-38-3-0-2 a.btn,
body.page-id-38 #panel-38-3-0-1 a[href$=".pdf"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0.6rem 0.9rem;
	border: 1px solid #315d86;
	border-radius: 0.3rem;
	/* Override legacy inline colors stored by SiteOrigin. */
	background: transparent !important;
	box-shadow: none;
	color: #234e74 !important;
	font-size: 0.9rem;
	font-weight: 650 !important;
	line-height: 1.25;
	text-align: center;
	text-decoration: none;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

body.page-id-38 #panel-38-3-0-2 a.btn:hover,
body.page-id-38 #panel-38-3-0-2 a.btn:focus,
body.page-id-38 #panel-38-3-0-1 a[href$=".pdf"]:hover,
body.page-id-38 #panel-38-3-0-1 a[href$=".pdf"]:focus {
	border-color: #17283a;
	background: #17283a !important;
	color: #fff !important;
}

body.page-id-38 #panel-38-3-0-2 a.btn:focus-visible,
body.page-id-38 #panel-38-3-0-1 a[href$=".pdf"]:focus-visible {
	outline: 3px solid #8bb7ea;
	outline-offset: 3px;
}

body.page-id-38 #panel-38-3-0-2 iframe {
	display: block;
	width: min(100%, 720px);
	aspect-ratio: 16 / 9;
	height: auto;
	margin: 1.25rem 0 2rem;
	border: 0;
	border-radius: 0.4rem;
}

body.page-id-38 #panel-38-3-0-2 p:empty {
	display: none;
}

body.page-id-38 #pg-38-4 > .panel-row-style {
	display: none;
}

@media (max-width: 991.98px) {
	body.page-id-302 #pg-302-3 > .panel-row-style,
	body.page-id-302 #pg-302-4 > .panel-row-style {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.page-id-38 #pg-38-1 > .panel-row-style {
		align-items: stretch;
	}
}

@media (max-width: 767.98px) {
	body.page-id-38 #panel-38-1-0-0 .sow-slider-image-wrapper {
		min-height: 240px;
	}

	body.page-id-38 #pgc-38-2-0 img,
	body.page-id-38 #pgc-38-2-0 img.alignleft,
	body.page-id-38 #pgc-38-2-0 img.alignright {
		display: block;
		float: none;
		width: min(100%, 480px);
		max-height: 360px;
		margin: 0 auto 1.5rem;
	}

	body.page-id-38 #pgc-38-2-0 > .so-panel:last-child img {
		width: min(100%, 480px);
		max-height: 360px;
	}

	body.page-id-38 #panel-38-2-0-5 .textwidget,
	body.page-id-38 #pg-38-3 > .panel-row-style {
		display: block;
	}

	body.page-id-38 #panel-38-2-0-5 p:first-child {
		margin-bottom: 1.5rem;
	}

	body.page-id-38 #panel-38-3-0-2 p:has(a.btn) {
		display: block;
		margin-right: 0;
	}

	body.page-id-38 #panel-38-3-0-2 a.btn,
	body.page-id-38 #panel-38-3-0-1 a[href$=".pdf"] {
		width: 100%;
	}
}

@media (max-width: 479.98px) {
	body.page-id-302 #pg-302-3 > .panel-row-style,
	body.page-id-302 #pg-302-4 > .panel-row-style {
		grid-template-columns: 1fr;
	}
}

/*
 * The dedicated child-theme Management Team replaces these legacy SiteOrigin
 * rows visually. Their database records remain intact for rollback.
 */
body.page-id-302 #pl-302 > #pg-302-2,
body.page-id-302 #pl-302 > #pg-302-3,
body.page-id-302 #pl-302 > #pg-302-4 {
	display: none;
}
