:root {
	--ntegrity-canvas: #050817;
	--ntegrity-surface: #0d1429;
	--ntegrity-surface-raised: #131d38;
	--ntegrity-surface-soft: rgba(18, 28, 54, 0.82);
	--ntegrity-ink: #f7f8fc;
	--ntegrity-muted: #aeb8ce;
	--ntegrity-cobalt: #2066f9;
	--ntegrity-electric: #4f7cff;
	--ntegrity-cobalt-deep: #0332e2;
	--ntegrity-shadow-blue: #112b8c;
	--ntegrity-border: rgba(131, 154, 217, 0.24);
	--ntegrity-molecule: #68749a;
	--ntegrity-footer: #03050d;
	--ntegrity-violet-deep: #6532b8;
	--ntegrity-violet-vivid: #9a43dc;
	--ntegrity-success: #41d997;
	--ntegrity-danger: #ff636e;
	--ntegrity-font-display: "Barlow Condensed", Arial, sans-serif;
	--ntegrity-font-body: Inter, Arial, sans-serif;
	--ntegrity-content-width: 1280px;
	--ntegrity-reading-width: 760px;
	--ntegrity-radius-small: 8px;
	--ntegrity-radius-medium: 14px;
	--ntegrity-shadow-soft: 0 22px 60px rgba(0, 0, 0, 0.32);
	--ntegrity-gradient: linear-gradient(110deg, #2066f9 0%, #4d52f4 48%, #8b3fc7 100%);
}

html { scroll-behavior: smooth; background: var(--ntegrity-canvas); }
body.ntegrity-site {
	margin: 0;
	background-color: var(--ntegrity-canvas);
	background-image: linear-gradient(180deg, rgba(5, 8, 23, 0.64), rgba(5, 8, 23, 0.88)), url("../images/home/molecular-ultrawide.png");
	background-attachment: fixed;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	color: var(--ntegrity-ink);
	font-family: var(--ntegrity-font-body);
	font-size: 16px;
	line-height: 1.55;
}
.ntegrity-site *, .ntegrity-site *::before, .ntegrity-site *::after { box-sizing: border-box; }
.ntegrity-site h1, .ntegrity-site h2, .ntegrity-site h3, .ntegrity-site h4 { color: var(--ntegrity-ink); font-family: var(--ntegrity-font-display); font-weight: 500; letter-spacing: -.01em; line-height: .95; text-transform: uppercase; }
.ntegrity-site a { color: #79a0ff; }
.ntegrity-site a:hover { color: #b87af0; }
.ntegrity-site :focus-visible { outline: 3px solid var(--ntegrity-electric); outline-offset: 3px; }
.ntegrity-skip-link { position: absolute; left: 16px; top: -100px; z-index: 10000; background: var(--ntegrity-surface-raised); color: var(--ntegrity-ink); padding: 12px 16px; }
.ntegrity-skip-link:focus { top: 16px; }

.ntegrity-header { position: sticky; top: 0; z-index: 100; background: rgba(4, 7, 18, .88); border-bottom: 1px solid var(--ntegrity-border); backdrop-filter: blur(18px); }
.admin-bar .ntegrity-header { top: 32px; }
.ntegrity-header__inner { width: min(100% - 40px, var(--ntegrity-content-width)); min-height: 78px; margin: 0 auto; display: grid; grid-template-columns: minmax(180px, 1fr) auto minmax(180px, 1fr); align-items: center; gap: 28px; }
.ntegrity-brand, .ntegrity-brand a { display: inline-flex; align-items: center; }
.ntegrity-brand a { gap: 12px; color: var(--ntegrity-ink); text-decoration: none; }
.ntegrity-brand .custom-logo, .ntegrity-header-logo { display: block; width: 230px; height: auto; max-width: 100%; max-height: 54px; object-fit: contain; }
.ntegrity-brand__mark { font-family: var(--ntegrity-font-display); font-size: 52px; font-weight: 500; line-height: 1; }
.ntegrity-brand__name { font-family: var(--ntegrity-font-display); font-size: 19px; font-weight: 500; letter-spacing: .19em; line-height: .9; text-transform: uppercase; }
.ntegrity-brand__name small { display: block; font-size: 11px; letter-spacing: .6em; margin-top: 8px; }
.ntegrity-navigation__list, .ntegrity-navigation__utility, .ntegrity-footer ul { list-style: none; margin: 0; padding: 0; }
.ntegrity-navigation__list { display: flex; align-items: center; gap: 25px; }
.ntegrity-navigation__list a, .ntegrity-header__actions a { color: #edf1fb; font-size: 12px; font-weight: 600; letter-spacing: .035em; text-decoration: none; text-transform: uppercase; }
.ntegrity-navigation__list a:hover, .ntegrity-header__actions a:hover, .ntegrity-navigation__list .current-menu-item > a { color: #9f6df0; }
.ntegrity-navigation__utility, .ntegrity-menu-toggle { display: none; }
.ntegrity-header__actions { position: relative; display: flex; justify-content: flex-end; align-items: center; gap: 16px; }
.ntegrity-product-search { position: relative; display: inline-flex; align-items: center; }
.ntegrity-site button.ntegrity-product-search__toggle { appearance: none; display: inline-grid; place-items: center; width: 40px; height: 40px; min-height: 40px; padding: 0; border: 1px solid transparent; border-radius: 50%; background: transparent; color: var(--ntegrity-ink); box-shadow: none; }
.ntegrity-product-search__toggle svg { fill: none; stroke: currentColor; stroke-linecap: round; stroke-width: 1.75; }
.ntegrity-site button.ntegrity-product-search__toggle:hover, .ntegrity-site button.ntegrity-product-search__toggle:focus, .ntegrity-site button.ntegrity-product-search__toggle[aria-expanded="true"] { border-color: var(--ntegrity-border); background: var(--ntegrity-surface-raised); color: #a67cf4; }
.ntegrity-product-search__form { position: absolute; right: 0; top: calc(100% + 18px); z-index: 120; display: none; grid-template-columns: minmax(190px, 1fr) auto; width: min(390px, calc(100vw - 40px)); padding: 10px; border: 1px solid var(--ntegrity-border); border-radius: var(--ntegrity-radius-medium); background: rgba(10, 16, 34, .98); box-shadow: var(--ntegrity-shadow-soft); }
.ntegrity-product-search.is-open .ntegrity-product-search__form { display: grid; }
.ntegrity-product-search__form input[type="search"] { width: 100%; min-height: 44px; padding: 9px 12px; border: 1px solid var(--ntegrity-border); border-radius: var(--ntegrity-radius-small) 0 0 var(--ntegrity-radius-small); background: var(--ntegrity-surface-raised); color: var(--ntegrity-ink); }
.ntegrity-site .ntegrity-product-search__form button[type="submit"] { border-radius: 0 var(--ntegrity-radius-small) var(--ntegrity-radius-small) 0; padding: 0 18px; }
.ntegrity-content { min-height: 60vh; }
.ntegrity-site button, .ntegrity-site input, .ntegrity-site select, .ntegrity-site textarea { font: inherit; }
.ntegrity-site input[type="text"], .ntegrity-site input[type="email"], .ntegrity-site input[type="tel"], .ntegrity-site input[type="password"], .ntegrity-site input[type="number"], .ntegrity-site input[type="search"], .ntegrity-site select, .ntegrity-site textarea { background: rgba(18, 28, 54, .92); border: 1px solid var(--ntegrity-border); border-radius: var(--ntegrity-radius-small); color: var(--ntegrity-ink); }
.ntegrity-site input::placeholder, .ntegrity-site textarea::placeholder { color: #7f8aa4; opacity: 1; }
.ntegrity-site select option { background: #101a33; color: var(--ntegrity-ink); }
.ntegrity-site .elementor-button, .ntegrity-site button[type="submit"], .ntegrity-site input[type="submit"] { min-height: 44px; border: 1px solid transparent; border-radius: var(--ntegrity-radius-small); background: var(--ntegrity-gradient); color: #fff; box-shadow: 0 12px 28px rgba(32, 102, 249, .2); font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.ntegrity-site .elementor-button:hover, .ntegrity-site button[type="submit"]:hover, .ntegrity-site input[type="submit"]:hover { border-color: rgba(255,255,255,.2); color: #fff; filter: brightness(1.12); transform: translateY(-1px); }

.ntegrity-footer { position: relative; overflow: hidden; background: rgba(3, 5, 13, .97); border-top: 1px solid var(--ntegrity-border); color: var(--ntegrity-ink); }
.ntegrity-footer::before { position: absolute; inset: 0 0 auto; height: 3px; content: ""; background: var(--ntegrity-gradient); }
.ntegrity-footer__inner { position: relative; width: min(100% - 40px, var(--ntegrity-content-width)); margin: 0 auto; padding: 62px 0 44px; display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 48px; }
.ntegrity-footer__identity { display: flex; flex-direction: column; gap: 12px; }
.ntegrity-footer-logo { display: block; width: 230px; max-width: 100%; height: auto; }
.ntegrity-footer__identity strong { font-family: var(--ntegrity-font-display); font-size: 30px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; }
.ntegrity-footer__identity span { color: #9da8c2; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; }
.ntegrity-footer a { color: #cbd3e5; font-size: 13px; text-decoration: none; }
.ntegrity-footer a:hover { color: #a873ef; }
.ntegrity-footer li + li { margin-top: 10px; }
.ntegrity-footer__compliance { width: min(100% - 40px, var(--ntegrity-content-width)); margin: 0 auto; padding: 18px 0 25px; border-top: 1px solid var(--ntegrity-border); color: #8994ad; font-size: 12px; }

@media (max-width: 1024px) {
	.ntegrity-header__inner { grid-template-columns: 1fr auto; }
	.ntegrity-site button.ntegrity-menu-toggle { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 12px; border: 1px solid var(--ntegrity-border); border-radius: var(--ntegrity-radius-small); background: var(--ntegrity-surface-raised); color: var(--ntegrity-ink); box-shadow: none; }
	.ntegrity-site button.ntegrity-menu-toggle:hover, .ntegrity-site button.ntegrity-menu-toggle:focus { background: #18264a; border-color: var(--ntegrity-cobalt); color: #fff; }
	.ntegrity-header__actions a { display: none; }
	.ntegrity-product-search__form { top: calc(100% + 14px); }
	.ntegrity-navigation { position: absolute; left: 0; right: 0; top: 100%; display: none; background: rgba(5, 8, 23, .98); border-top: 1px solid var(--ntegrity-border); box-shadow: var(--ntegrity-shadow-soft); }
	.ntegrity-navigation.is-open { display: block; }
	.ntegrity-navigation__list { display: block; }
	.ntegrity-navigation__list li { border-bottom: 1px solid var(--ntegrity-border); }
	.ntegrity-navigation__list a { display: block; padding: 17px 20px; font-family: var(--ntegrity-font-display); font-size: 24px; }
	.ntegrity-navigation__utility { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--ntegrity-border); }
	.ntegrity-navigation__utility a { padding: 15px 20px; background: var(--ntegrity-surface); color: var(--ntegrity-ink); font-size: 12px; text-decoration: none; }
}
@media (max-width: 782px) { .admin-bar .ntegrity-header { top: 46px; } }
@media (max-width: 700px) {
	body.ntegrity-site { background-attachment: scroll; background-position: center top; }
	.ntegrity-header__inner, .ntegrity-footer__inner, .ntegrity-footer__compliance { width: min(100% - 28px, var(--ntegrity-content-width)); }
	.ntegrity-header__inner { min-height: 68px; }
	.ntegrity-brand .custom-logo, .ntegrity-header-logo { width: 180px; max-width: 100%; max-height: 46px; }
	.ntegrity-footer__inner { grid-template-columns: 1fr; gap: 30px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .ntegrity-site * { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }
