/*
Libero Alter Website Prototype
Version: 0.3.1
Changes:
- Inquiry-focused responsive homepage design.
- Added mobile navigation, cards, CTA, FAQ, and contact-dialog styling.
*/

:root {
  --navy-950: #07111f;
  --navy-900: #0b1728;
  --navy-800: #10243d;
  --navy-700: #173657;
  --blue-600: #0b6bdc;
  --blue-500: #1683f5;
  --blue-300: #79b7ff;
  --cyan-400: #33c8d7;
  --white: #ffffff;
  --gray-50: #f6f8fb;
  --gray-100: #edf1f5;
  --gray-200: #dce3ea;
  --gray-400: #8c9aaa;
  --gray-600: #526171;
  --gray-800: #263442;
  --text: #152333;
  --shadow: 0 22px 60px rgba(4, 18, 37, .13);
  --radius-sm: 12px;
  --radius-md: 20px;
  --radius-lg: 32px;
  --container: 1200px;
  --header-height: 84px;
}

/* ========================================================================== 
   v0.5.22 consolidated navigation, public-example images and contact context
   ========================================================================== */
.la-nowrap {
	white-space: nowrap;
}

.site-header a:focus-visible,
.site-header summary:focus-visible {
	outline: 3px solid #8fceff;
	outline-offset: 4px;
}

body .global-nav__list > .la-public-examples-menu > a {
	padding-right: 14px;
}

body .global-nav--desktop .global-nav__list > li > a {
	white-space: nowrap;
}

body .global-nav__list > .la-public-examples-menu > a::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	width: 6px;
	height: 6px;
	border-right: 1px solid currentColor;
	border-bottom: 1px solid currentColor;
	transform: translateY(-65%) rotate(45deg);
}

@media (min-width: 981px) {
	body .global-nav--desktop .global-nav__list > .la-public-examples-menu:hover > .sub-menu,
	body .global-nav--desktop .global-nav__list > .la-public-examples-menu:focus-within > .sub-menu {
		visibility: visible !important;
		opacity: 1 !important;
		pointer-events: auto !important;
		transform: translateY(0) !important;
		transition: none !important;
	}
}

.public-case-card__figure {
	position: relative;
	margin: -26px -26px 22px;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	background: var(--gray-100);
	border-radius: var(--radius-md) var(--radius-md) 0 0;
}

.public-case-card__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.public-case-card__figure figcaption {
	position: absolute;
	left: 12px;
	bottom: 12px;
	margin: 0;
	padding: 5px 9px;
	color: #fff;
	background: rgba(7, 23, 39, .88);
	border: 1px solid rgba(255, 255, 255, .42);
	border-radius: 999px;
	font-size: 11px;
	font-weight: 800;
}

.text-link--inquiry {
	margin-top: 10px !important;
}

.contact-prefill-context {
	margin: 0 0 26px;
	padding: clamp(20px, 3vw, 28px);
	background: #edf6ff;
	border: 1px solid #97c8ee;
	border-left: 5px solid var(--blue-600);
	border-radius: 14px;
}

.contact-prefill-context__label {
	margin: 0 0 7px;
	color: var(--blue-700, #075aa6);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .08em;
}

.contact-prefill-context h2 {
	margin: 0;
	color: var(--navy-950);
	font-size: clamp(1.35rem, 3vw, 2rem);
	line-height: 1.35;
}

.contact-prefill-context p:last-child {
	margin: 9px 0 0;
	color: var(--gray-700, #40546a);
}

@media (min-width: 981px) and (max-width: 1320px) {
	body .global-nav__list {
		gap: 13px;
	}

	.global-nav {
		gap: 16px;
		font-size: 12px;
	}

	.nav-cta {
		padding-inline: 15px;
	}
}

@media (max-width: 980px) {
	body .mobile-nav__list > .la-public-examples-menu > a {
		font-weight: 900;
	}

	body .mobile-nav__list > .la-public-examples-menu > .sub-menu {
		padding-left: 16px;
		border-left: 2px solid rgba(143, 206, 255, .55);
	}
}

@media (max-width: 680px) {
	.public-case-card__figure {
		margin: -22px -22px 20px;
	}
}

/* v0.5.5 usability polish */
.eyebrow span[lang="en"] { font-size: .86em; opacity: .78; }
.content-card__body { padding: clamp(1rem, 2vw, 1.35rem); }
.content-card__summary { line-height: 1.72; }
.content-card__bullets ul { margin-block: .45rem 0; padding-inline-start: 1.2rem; }
.content-card__bullets li + li { margin-top: .3rem; }
.product-card .content-card__link { margin-top: auto; }
.text-link--replacement { display: block; margin-top: .55rem !important; }
.product-meta-details--long-copy p { max-width: 72ch; line-height: 1.8; }
.comparison-card__details { margin-top: .85rem; border-top: 1px solid rgba(22, 42, 62, .14); padding-top: .75rem; }
.comparison-card__details summary { cursor: pointer; font-weight: 700; color: var(--color-blue, #145b8c); }
.comparison-card__details[open] summary { margin-bottom: .65rem; }
.legacy-products { margin-top: clamp(3rem, 7vw, 6rem); border: 2px solid #c49a2e; border-radius: 16px; padding: clamp(1.25rem, 3vw, 2rem); background: #fffaf0; }
.legacy-products__notice { max-width: 74ch; }
.legacy-products__notice strong { color: #8a3b1e; }
.legacy-products .content-card__media { filter: grayscale(.45); opacity: .76; }
.legacy-products .product-card { border-color: #d7bf7b; background: #fffdf8; }
.case-filter { display: flex; align-items: center; flex-wrap: wrap; gap: .6rem; margin-bottom: 2rem; padding: 1rem; border: 1px solid rgba(22, 42, 62, .14); border-radius: 12px; background: #fff; }
.case-filter strong { width: 100%; }
.case-filter a { display: inline-flex; min-height: 42px; align-items: center; padding: .45rem .8rem; border: 1px solid currentColor; border-radius: 999px; text-decoration: none; }
.case-filter a[aria-current="page"] { background: #173d5d; color: #fff; }
.public-example-tags { display: flex; flex-wrap: wrap; gap: .5rem; padding: 0; list-style: none; }
.public-example-tags li { padding: .35rem .7rem; border: 1px solid currentColor; border-radius: 999px; font-size: .88rem; }
.contact-consent-guidance { margin: 0 0 1.25rem; padding: 1rem 1.1rem; border: 2px solid #1f6d95; border-radius: 10px; background: #f2f9fc; }
.contact-consent-guidance p { margin: .45rem 0 0; }
.contact-consent-guidance--fallback-hidden { display: none; }
.contact-consent-guidance--submit { display: block; margin-top: 1.25rem; }

@media (max-width: 680px) {
  .content-hero h1, .single-hero h1, .page-hero h1 { font-size: clamp(1.8rem, 8.2vw, 2.45rem); line-height: 1.22; letter-spacing: -.025em; overflow-wrap: anywhere; text-wrap: pretty; }
  .product-group__heading h2, .section-heading h2, .legacy-products h2 { font-size: clamp(1.45rem, 6.4vw, 2rem); line-height: 1.32; word-break: keep-all; overflow-wrap: break-word; text-wrap: pretty; }
  .content-card h2, .content-card h3 { overflow-wrap: anywhere; text-wrap: pretty; }
  .wireless-comparison-card > dl > div:nth-child(n+3) { display: none; }
  .wireless-comparison-card .comparison-card__details dl > div { display: grid; }
  .comparison-card__details { display: block; }
  .case-filter a { flex: 1 1 calc(50% - .6rem); justify-content: center; text-align: center; }
  .legacy-products { padding: 1rem; }
}

@media (max-width: 390px) {
  .content-hero h1, .single-hero h1, .page-hero h1 { font-size: clamp(1.72rem, 8.7vw, 2.05rem); }
  .content-card__body { padding: .95rem; }
  .case-filter a { flex-basis: 100%; }
}

/* ==========================================================================
   v0.5.13 official logos, flow diagrams, comparisons and contact refinement
   ========================================================================== */
.pillar-hero__grid {
	grid-template-columns: minmax(0, .92fr) minmax(480px, 1.08fr);
	gap: clamp(34px, 5vw, 68px);
	align-items: center;
}

.pillar-system-diagram {
	padding: 18px;
	background: rgba(255, 255, 255, .075);
}

.system-flow {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.system-flow > li {
	position: relative;
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
	min-height: 72px;
	padding: 10px 14px;
	color: #fff;
	background: rgba(3, 19, 32, .72);
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: 12px;
}

.system-flow > li:not(:last-child)::after {
	content: "↓";
	position: absolute;
	left: 26px;
	bottom: -14px;
	z-index: 2;
	color: var(--pillar-accent);
	font-size: 16px;
	font-weight: 900;
}

.system-flow__number {
	display: grid;
	width: 38px;
	height: 38px;
	place-items: center;
	color: #061725 !important;
	background: var(--pillar-accent);
	border-radius: 50%;
	font-size: 11px !important;
	font-weight: 900;
}

.system-flow li > div {
	display: grid;
	gap: 3px;
	min-width: 0;
}

.system-flow strong {
	color: #fff;
	font-size: 15px;
	line-height: 1.35;
}

.system-flow small {
	color: rgba(255, 255, 255, .72);
	font-size: 11px;
	font-weight: 700;
}

.system-flow__logo {
	display: block;
	width: auto;
	max-width: min(100%, 220px);
	height: 38px;
	object-fit: contain;
	object-position: left center;
}

.system-flow__logo--sensorcloud {
	height: 31px;
}

.system-flow__software {
	min-height: 104px !important;
}

.system-flow__software-logos {
	display: flex !important;
	flex-wrap: wrap;
	gap: 6px 10px !important;
	align-items: center;
	margin-top: 4px;
}

.system-flow__software-logos img {
	display: block;
	width: auto;
	max-width: 112px;
	height: 28px;
	object-fit: contain;
}

.inertialconnect-mark {
	display: inline-flex !important;
	align-items: center;
	gap: 5px;
	color: #79d7ff !important;
	font: 800 12px/1.2 Arial, sans-serif;
}

.inertialconnect-mark em {
	padding: 2px 5px;
	color: #4b2d00;
	background: #ffd891;
	border-radius: 999px;
	font-size: 8px;
	font-style: normal;
	text-transform: uppercase;
}

.software-brand-visual {
	display: flex;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 18px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	background: linear-gradient(145deg, #fff, #edf4f8);
	box-sizing: border-box;
}

.software-brand-visual img {
	display: block;
	width: min(88%, 330px) !important;
	height: auto !important;
	max-height: 120px;
	object-fit: contain !important;
	background: transparent !important;
}

.software-brand-visual--sensorcloud img {
	width: min(92%, 390px) !important;
}

.software-brand-visual figcaption {
	color: #345367;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .04em;
	text-align: center;
}

.software-brand-visual--hero {
	min-height: 320px;
}

.inertial-software-guide {
	margin-top: 0;
	margin-bottom: clamp(42px, 6vw, 72px);
}

.software-logo {
	display: flex;
	height: 70px;
	align-items: center;
	justify-content: flex-start;
}

.software-logo img {
	display: block;
	width: auto;
	max-width: 230px;
	height: 62px;
	object-fit: contain;
	object-position: left center;
}

.software-logo--inertialconnect {
	gap: 8px;
	font-family: Arial, sans-serif;
}

.software-logo--inertialconnect strong {
	color: #1269a8;
	font-size: clamp(20px, 2.2vw, 27px);
	letter-spacing: -.03em;
}

.software-logo--inertialconnect span {
	padding: 4px 8px;
	color: #5b3300;
	background: #ffe5b9;
	border-radius: 999px;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.wireless-comparison-family-row th {
	padding: 10px 14px !important;
	color: #dffbff !important;
	background: #245b71 !important;
	font-size: 12px !important;
	letter-spacing: .04em;
	text-align: left !important;
}

.wireless-comparison-card__category {
	width: fit-content;
	margin: 0 0 8px;
	padding: 4px 8px;
	color: #16445c;
	background: #dceff5;
	border-radius: 999px;
	font-size: 10px;
	font-weight: 900;
}

.interface-common-groups ul {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.interface-lines,
.interface-lines > span {
	display: block;
}

.interface-lines > span + span {
	margin-top: 5px;
	padding-top: 5px;
	border-top: 1px solid #e0e9ee;
}

.inertial-matrix .comparison-table-wrap {
	scrollbar-gutter: auto;
}

.inertial-comparison-table[data-mode="major"] {
	width: 100%;
	min-width: 900px;
}

.inertial-comparison-table[data-mode="detail"] {
	min-width: 1320px;
}

.support-policy-heading span {
	display: block;
}

.contact-layout {
	grid-template-columns: minmax(260px, .58fr) minmax(0, 1.42fr);
	gap: clamp(34px, 4vw, 56px);
}

.contact-form-shell .elementor-container,
.contact-form-shell .elementor-column,
.contact-form-shell .elementor-widget-wrap,
.contact-form-shell .elementor-widget,
.contact-form-shell .elementor-widget-container,
.contact-form-shell .wpcf7 {
	width: 100% !important;
	max-width: 100% !important;
}

@media (max-width: 1100px) {
	.interface-common-groups ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 980px) {
	.pillar-hero__grid {
		grid-template-columns: 1fr;
	}

	.pillar-system-diagram {
		width: min(100%, 680px);
	}
}

@media (max-width: 680px) {
	.pillar-system-diagram {
		padding: 12px;
	}

	.system-flow > li {
		grid-template-columns: 36px minmax(0, 1fr);
		padding: 9px 11px;
	}

	.system-flow__number {
		width: 32px;
		height: 32px;
	}

	.system-flow > li:not(:last-child)::after {
		left: 21px;
	}

	.interface-common-groups {
		display: block;
	}

	.interface-common-groups ul {
		grid-template-columns: 1fr;
	}

	.software-logo {
		height: 58px;
	}

	.software-logo img {
		height: 52px;
	}
}

/* ========================================================================== 
   v0.5.9 customer-facing content, family navigation and Japanese wrapping
   ========================================================================== */
.hero h1,
.page-hero h1,
.pillar-hero h1,
.single-hero h1,
.section-heading h2,
.home-pillar-card h3 {
	line-break: strict;
	word-break: keep-all;
	overflow-wrap: break-word;
	text-wrap: balance;
}

.home-pillar-card li {
	padding: 0;
}

.home-pillar-card li a {
	display: flex;
	min-height: 44px;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 10px 12px;
	color: inherit;
	border-radius: inherit;
	font-weight: 700;
	text-decoration: none;
}

.home-pillar-card li a:hover,
.home-pillar-card li a:focus-visible {
	color: #fff;
	background: rgba(255, 255, 255, .12);
	outline: 2px solid #ffcf57;
	outline-offset: 2px;
}

.home-pillar-card li a span {
	flex: 0 0 auto;
	font-size: 1rem;
}

.product-selection-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin: 22px 0;
}

.source-review-badge {
	width: fit-content;
	margin: 0 0 8px;
	padding: 4px 9px;
	color: #553700;
	background: #fff0bd;
	border: 1px solid #8a6100;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 800;
}

.product-selection-grid > div {
	padding: 18px;
	background: #f5f8fa;
	border: 1px solid #d9e3e9;
	border-radius: 12px;
}

.product-selection-grid dt {
	margin-bottom: 7px;
	color: #17364b;
	font-weight: 800;
}

.product-selection-grid dd {
	margin: 0;
}

.selection-caution {
	margin-top: 16px;
	padding: 16px 18px;
	background: #fff8e6;
	border-left: 4px solid #d89200;
}

.selection-caution p {
	margin: 6px 0 0;
}

.inertial-family-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin: 20px 0 26px;
}

.inertial-family-nav a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 13px;
	color: #17364b;
	background: #eef5f8;
	border: 1px solid #c9d8e2;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 800;
	text-decoration: none;
}

.inertial-family-nav a:hover,
.inertial-family-nav a:focus-visible {
	color: #fff;
	background: #173d5d;
}

.inertial-family-nav a span {
	display: inline-grid;
	min-width: 1.6em;
	min-height: 1.6em;
	place-items: center;
	padding: 0 .35em;
	color: #17364b;
	background: #fff;
	border-radius: 999px;
	font-size: 10px;
}

.comparison-table .comparison-family-row th {
	padding-block: 12px;
	color: #fff;
	background: #315a74;
	font-size: 14px;
	letter-spacing: .04em;
}

.comparison-family-row {
	scroll-margin-top: 120px;
}

@media (max-width: 767px) {
	.product-selection-grid {
		grid-template-columns: 1fr;
	}

	.inertial-family-nav {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.inertial-family-nav a {
		justify-content: space-between;
	}

	.public-example-title {
		word-break: normal;
		overflow-wrap: anywhere;
	}
}

/* ========================================================================== 
   v0.5.12 top, wireless, inertial and company UX refinement
   ========================================================================== */
.hero-foot a {
	display: flex;
	min-width: 0;
	min-height: 56px;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 16px 10px;
	color: rgba(255, 255, 255, .76);
	border-right: 1px solid rgba(255, 255, 255, .1);
	font-size: 12px;
	font-weight: 800;
	text-align: center;
	text-decoration: none;
	transition: color .18s ease, background .18s ease;
}

.hero-foot a:last-child {
	border-right: 0;
}

.hero-foot a:hover,
.hero-foot a:focus-visible {
	color: #fff;
	background: rgba(45, 207, 214, .14);
	outline: 3px solid #63e9ed;
	outline-offset: -3px;
}

.hero-foot a span {
	flex: 0 0 auto;
	color: #63e9ed;
}

.home-pillar-card__heading {
	display: flex;
	max-width: 100%;
	flex-direction: column;
	gap: .06em;
	font-size: clamp(1.85rem, 2.8vw, 2.55rem) !important;
	line-height: 1.22 !important;
	letter-spacing: -.025em;
	text-wrap: pretty;
}

.home-pillar-card__heading span {
	display: block;
	max-width: 100%;
	white-space: nowrap;
}

.no-break {
	display: inline-block;
	white-space: nowrap;
}

.pillar-hero__title {
	display: flex;
	max-width: 30em;
	flex-wrap: wrap;
	column-gap: .35em;
	line-break: strict;
	text-wrap: balance;
}

.pillar-hero__title > span {
	display: inline-block;
}

.pillar-system-diagram {
	padding: 12px;
	background: rgba(255, 255, 255, .045);
	box-shadow: 0 24px 60px rgba(0, 12, 22, .35);
}

.pillar-system-diagram img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 16px;
}

.pillar-system-diagram > p {
	margin: 10px 8px 2px;
	color: rgba(255, 255, 255, .72);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .02em;
	text-align: center;
}

.comparison-table-note {
	margin: 16px 0 0;
	padding: 13px 16px;
	color: #294d63;
	background: #eef6fa;
	border-left: 4px solid #2b91b1;
	font-size: 12px;
	line-height: 1.75;
}

.wireless-comparison-table-wrap,
.comparison-table-wrap {
	width: 100%;
	max-width: 100%;
	scrollbar-gutter: stable;
	border: 1px solid #cfdee7;
	border-radius: 12px;
}

.wireless-comparison-table {
	min-width: 1040px;
	table-layout: fixed;
}

.wireless-comparison-table th:first-child {
	width: 168px;
}

.wireless-comparison-table th:last-child {
	width: 100px;
}

.wireless-comparison-table th,
.wireless-comparison-table td {
	overflow-wrap: anywhere;
	word-break: normal;
}

.inertial-software-guide {
	margin-top: clamp(42px, 6vw, 72px);
	padding: clamp(24px, 4vw, 38px);
	color: #17364b;
	background: #f5f9fb;
	border: 1px solid #cbdce5;
	border-radius: 18px;
}

.inertial-software-guide .product-group__heading h2,
.inertial-software-guide .product-group__heading p {
	color: #17364b;
}

.inertial-software-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.inertial-software-grid article {
	padding: 20px;
	background: #fff;
	border: 1px solid #d4e1e8;
	border-radius: 13px;
	box-shadow: 0 12px 30px rgba(16, 54, 75, .06);
}

.inertial-software-grid h3 {
	margin: 8px 0 10px;
	color: #102f46;
	font-size: 17px;
}

.inertial-software-grid article > p:last-child {
	margin-bottom: 0;
	color: #5a7180;
	font-size: 13px;
}

.software-name {
	margin: 0;
	color: #1269a8;
	font-family: Arial, sans-serif;
	font-size: 18px;
	font-weight: 900;
}

.software-name span {
	display: inline-flex;
	margin-left: 4px;
	padding: 3px 7px;
	color: #5b3300;
	background: #ffe5b9;
	border-radius: 999px;
	font-size: 10px;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.comparison-table .comparison-family-row th {
	text-align: left;
}

.comparison-table .comparison-family-row th strong,
.comparison-table .comparison-family-row th span {
	display: inline;
}

.comparison-table .comparison-family-row th span {
	margin-left: 1em;
	color: rgba(255, 255, 255, .82);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0;
}

.comparison-family-note {
	margin: 0;
	padding: 10px 12px;
	color: #405f71;
	background: #edf5f8;
	border-radius: 9px;
	font-size: 12px;
}

.interface-common-groups ul {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.interface-common-groups li span {
	line-height: 1.65;
}

.page-hero--about {
	background:
		radial-gradient(circle at 84% 20%, rgba(55, 210, 215, .2), transparent 28%),
		linear-gradient(128deg, #07131f, #102d47);
}

.company-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
	gap: clamp(38px, 6vw, 84px);
	align-items: center;
}

.company-hero-grid h1 span {
	display: block;
}

.company-hero-visual,
.company-service-visual {
	margin: 0;
}

.company-hero-visual img,
.company-service-visual img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 20px;
	box-shadow: 0 24px 60px rgba(0, 17, 31, .24);
}

.about-intro-grid .entry-content .elementor-section[data-id="de5447e"] {
	display: none;
}

.about-intro-grid .elementor-heading-title,
.about-intro-grid .elementor-button-text,
.about-intro-grid p {
	line-break: strict;
	overflow-wrap: break-word;
	word-break: normal;
}

.company-service-flow {
	padding-top: 0;
}

.company-service-visual {
	margin-top: 30px;
}

.company-service-flow .section-heading h2 {
	width: auto;
	max-width: 100%;
}

.company-service-flow .section-heading h2 span,
.la-company-heading-line {
	display: block;
}

@media (max-width: 980px) {
	.hero-foot a:nth-child(5) {
		grid-column: 1 / -1;
	}

	.pillar-system-diagram {
		width: min(100%, 640px);
		max-width: none;
	}

	.inertial-software-grid,
	.company-hero-grid {
		grid-template-columns: 1fr;
	}

	.company-hero-visual {
		width: min(100%, 660px);
	}
}

@media (max-width: 680px) {
	.company-service-flow .section-heading h2 {
		font-size: clamp(1.55rem, 7vw, 2rem);
		line-height: 1.28;
		word-break: keep-all;
		overflow-wrap: normal;
		text-wrap: wrap;
	}

	.hero-foot {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hero-foot a {
		min-height: 50px;
		padding: 12px 8px;
		font-size: 10px;
	}

	.home-pillar-card {
		padding: 28px 24px;
	}

	.home-pillar-card__heading {
		font-size: 1.65rem !important;
	}

	.pillar-hero__title {
		display: block;
	}

	.pillar-hero__title > span {
		margin-right: .25em;
	}

	.inertial-software-grid {
		grid-template-columns: 1fr;
	}

	.interface-common-groups {
		display: block;
	}

	.interface-common-groups ul {
		grid-template-columns: 1fr;
	}

	.company-hero-grid h1 {
		font-size: clamp(2rem, 10.5vw, 3rem);
	}

	.company-hero-grid h1 span:first-child {
		text-wrap: balance;
	}

	.company-service-flow {
		padding-top: 0;
	}
}

@media (max-width: 360px) {
	.home-pillar-card {
		padding-inline: 20px;
	}

	.home-pillar-card__heading {
		font-size: 1.45rem !important;
		letter-spacing: -.04em;
	}
}

/* ========================================================================== 
   v0.5.10 final content and evidence corrections
   ========================================================================== */
.semantic-heading .semantic-line {
	display: inline-block;
	max-width: 100%;
	white-space: nowrap;
}

.inertial-matrix {
	margin-top: clamp(36px, 5vw, 64px);
	padding-top: clamp(30px, 4vw, 48px);
}

.has-js .content-card__media {
	position: relative;
}

.has-js .content-card__media .content-card__placeholder--loading {
	position: absolute;
	inset: 0;
	z-index: 2;
	padding: 18px;
	font-size: clamp(.78rem, 1.6vw, .95rem);
	line-height: 1.5;
	letter-spacing: .04em;
	text-align: center;
}

.has-js .content-card__media.is-image-ready .content-card__placeholder--loading {
	display: none;
}

.content-card__media.is-image-error .content-card__placeholder,
.product-card .content-card__placeholder:not(.content-card__placeholder--loading),
.single-hero__image .content-card__placeholder {
	padding: 18px;
	font-size: clamp(.82rem, 1.8vw, 1rem);
	line-height: 1.5;
	letter-spacing: .04em;
	text-align: center;
}

body .lifecycle-badge.lifecycle-badge--not_recommended_for_new_designs,
body .lifecycle-badge.lifecycle-badge--not_recommended_for_new_designs:hover,
body .lifecycle-badge.lifecycle-badge--not_recommended_for_new_designs:focus-within {
	color: #241800;
	background: #ffe39b;
	border: 1px solid #765000;
}

body .lifecycle-badge.lifecycle-badge--end_of_life,
body .lifecycle-badge.lifecycle-badge--end_of_life:hover,
body .lifecycle-badge.lifecycle-badge--end_of_life:focus-within {
	color: #fff;
	background: #7c2030;
	border: 1px solid #f2a7b4;
}

@media (max-width: 640px) {
	.semantic-heading--company,
	.semantic-heading--cta,
	.support-proof .semantic-heading {
		font-size: clamp(1.05rem, 5.3vw, 1.45rem) !important;
		letter-spacing: -.03em;
	}

	.product-card .content-card__statement {
		display: block;
		overflow: visible;
		-webkit-box-orient: initial;
		-webkit-line-clamp: initial;
	}
}

@media (max-width: 320px) {
  .content-hero h1, .single-hero h1, .page-hero h1 { font-size: 1.65rem; letter-spacing: -.035em; }
  .product-group__heading h2, .section-heading h2, .legacy-products h2 { font-size: 1.35rem; }
  .button { width: 100%; justify-content: center; }
}

* { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: 112px;
}

body {
  margin: 0;
  color: var(--text);
  background: var(--white);
  font-family: "Noto Sans JP", "Yu Gothic UI", "Yu Gothic", "Meiryo", sans-serif;
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: .02em;
  -webkit-font-smoothing: antialiased;
}

body.dialog-open { overflow: hidden; }

img { max-width: 100%; display: block; }

button, input, select, textarea {
  font: inherit;
}

button, a {
  -webkit-tap-highlight-color: transparent;
}

button { cursor: pointer; }

a {
  color: inherit;
  text-decoration: none;
}

.container {
  width: min(calc(100% - 48px), var(--container));
  margin-inline: auto;
}

.skip-link {
  position: fixed;
  left: 20px;
  top: -100px;
  z-index: 9999;
  padding: 12px 18px;
  background: var(--white);
  color: var(--navy-950);
  border-radius: 8px;
}

.skip-link:focus { top: 20px; }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  height: var(--header-height);
  background: rgba(7, 17, 31, .96);
  border-bottom: 1px solid rgba(255,255,255,.08);
  backdrop-filter: blur(18px);
}

.header-inner {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.brand {
  min-width: 270px;
  display: flex;
  align-items: center;
  gap: 16px;
}

.brand img {
  width: 150px;
  height: auto;
}

.brand-copy {
  display: grid;
  color: var(--white);
  line-height: 1.35;
}

.brand-copy strong {
  font-size: 12px;
  letter-spacing: .06em;
}

.brand-copy small {
  margin-top: 3px;
  color: rgba(255,255,255,.58);
  font-size: 9px;
  letter-spacing: .02em;
}

.global-nav {
  display: flex;
  align-items: center;
  gap: 26px;
  color: rgba(255,255,255,.84);
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
}

.global-nav a {
  position: relative;
  padding: 10px 0;
}

.global-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 3px;
  height: 2px;
  background: var(--blue-500);
  transition: right .2s ease;
}

.global-nav a:hover::after,
.global-nav a:focus-visible::after {
  right: 0;
}

.nav-cta {
  min-height: 46px;
  padding: 0 19px;
  color: var(--white);
  background: var(--blue-600);
  border: 1px solid var(--blue-500);
  border-radius: 8px;
  font-weight: 700;
}

.nav-cta:hover { background: var(--blue-500); }

.menu-toggle {
  display: none;
  position: relative;
  width: 44px;
  height: 44px;
  padding: 10px;
  background: transparent;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 8px;
}

.menu-toggle > span:not(.sr-only) {
  display: block;
  position: absolute;
  left: 10px;
  width: 22px;
  height: 2px;
  margin: 0;
  background: var(--white);
  transition: top .2s ease, transform .2s ease, opacity .2s ease;
}

.menu-toggle > span:nth-child(1) { top: 13px; }
.menu-toggle > span:nth-child(2) { top: 20px; }
.menu-toggle > span:nth-child(3) { top: 27px; }

.hero {
  position: relative;
  overflow: hidden;
  min-height: calc(100vh - 114px);
  color: var(--white);
  background: var(--navy-950);
}

.hero-bg {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(4,14,27,.98) 0%, rgba(6,20,37,.92) 42%, rgba(6,20,37,.35) 68%, rgba(6,20,37,.65) 100%),
    url("../images/hero-off-highway.jpg") center/cover no-repeat;
  transform: scale(1.01);
}

.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .19;
  background-image:
    linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: linear-gradient(90deg, #000 0, transparent 75%);
}

.hero-grid {
  position: relative;
  z-index: 1;
  min-height: calc(100vh - 180px);
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(340px, .72fr);
  align-items: center;
  gap: clamp(48px, 7vw, 100px);
  padding-top: 80px;
  padding-bottom: 60px;
}

.eyebrow {
  margin: 0 0 20px;
  color: var(--blue-300);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .18em;
}

.eyebrow--blue { color: var(--blue-600); }

.hero h1 {
  max-width: 760px;
  margin: 0;
  font-size: clamp(44px, 5.6vw, 76px);
  line-height: 1.18;
  letter-spacing: -.045em;
}

.hero h1 span { color: var(--blue-300); }

.hero-lead {
  max-width: 720px;
  margin: 30px 0 0;
  color: rgba(255,255,255,.78);
  font-size: clamp(16px, 1.6vw, 19px);
  line-height: 2;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 38px;
}

.button {
  min-height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  padding: 0 28px;
  border: 1px solid transparent;
  border-radius: 8px;
  font-weight: 800;
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}

.button:hover,
.button:focus-visible {
  transform: translateY(-2px);
}

.button--primary {
  color: var(--white);
  background: var(--blue-600);
  border-color: var(--blue-500);
  box-shadow: 0 13px 35px rgba(11,107,220,.32);
}

.button--primary:hover { background: var(--blue-500); }

.button--secondary {
  color: var(--white);
  background: rgba(255,255,255,.07);
  border-color: rgba(255,255,255,.25);
}

.button--secondary:hover { background: rgba(255,255,255,.13); }

.button--dark {
  color: var(--white);
  background: var(--navy-900);
  border-color: var(--navy-900);
}

.button--white {
  color: var(--navy-950);
  background: var(--white);
}

.hero-proof {
  max-width: 750px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin: 44px 0 0;
  padding: 26px 0 0;
  border-top: 1px solid rgba(255,255,255,.17);
  list-style: none;
}

.hero-proof li {
  display: grid;
  gap: 2px;
}

.hero-proof strong {
  font-size: 15px;
}

.hero-proof span {
  color: rgba(255,255,255,.55);
  font-size: 12px;
}

.hero-panel {
  padding: 28px;
  background: rgba(9, 25, 45, .84);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: var(--radius-md);
  box-shadow: 0 24px 70px rgba(0,0,0,.28);
  backdrop-filter: blur(18px);
}

.hero-panel__head {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 14px;
  color: rgba(255,255,255,.67);
  font-size: 11px;
  font-weight: 700;
}

.status-dot {
  width: 8px;
  height: 8px;
  background: #4de1ad;
  border-radius: 50%;
  box-shadow: 0 0 0 6px rgba(77,225,173,.12);
}

.hero-panel h2 {
  margin: 0 0 22px;
  font-size: 22px;
  line-height: 1.45;
}

.quick-needs {
  display: grid;
  gap: 8px;
}

.quick-needs button {
  width: 100%;
  display: grid;
  grid-template-columns: 38px 1fr;
  align-items: center;
  gap: 12px;
  padding: 13px 14px;
  color: var(--white);
  text-align: left;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 10px;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.quick-needs button:hover {
  background: rgba(22,131,245,.16);
  border-color: rgba(121,183,255,.45);
  transform: translateX(3px);
}

.need-icon {
  width: 34px;
  height: 34px;
  display: inline-grid;
  place-items: center;
  color: var(--blue-300);
  background: rgba(22,131,245,.14);
  border-radius: 8px;
  font-size: 10px;
  font-weight: 900;
}

.quick-needs button span:last-child {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
}

.hero-panel__note {
  margin: 16px 0 0;
  color: rgba(255,255,255,.48);
  font-size: 11px;
}

.hero-foot {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border-top: 1px solid rgba(255,255,255,.12);
}

.hero-foot p {
  margin: 0;
  padding: 19px 10px;
  color: rgba(255,255,255,.58);
  border-right: 1px solid rgba(255,255,255,.1);
  font-size: 11px;
  font-weight: 700;
  text-align: center;
}

.hero-foot p:last-child { border-right: 0; }

.section {
  padding: 112px 0;
}

.section--light { background: var(--gray-50); }

.section--dark {
  color: var(--white);
  background:
    radial-gradient(circle at 87% 10%, rgba(22,131,245,.15), transparent 28%),
    var(--navy-950);
}

.section-heading {
  margin-bottom: 54px;
}

.section-heading--split {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(300px, .72fr);
  align-items: end;
  gap: 80px;
}

.section-heading h2 {
  margin: 0;
  color: var(--navy-950);
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.35;
  letter-spacing: -.035em;
}

.section-heading > p,
.section-heading > div + p {
  margin: 0;
  color: var(--gray-600);
}

.section-heading--inverse h2 { color: var(--white); }

.section-heading--inverse > p,
.section-heading--inverse > div + p {
  color: rgba(255,255,255,.62);
}

.challenge-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 20px;
}

.challenge-card {
  position: relative;
  min-height: 330px;
  padding: 28px;
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: var(--radius-md);
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.challenge-card:hover {
  transform: translateY(-5px);
  border-color: rgba(22,131,245,.38);
  box-shadow: var(--shadow);
}

.challenge-card--featured {
  grid-row: span 2;
  min-height: 680px;
  padding: 0;
  display: flex;
  flex-direction: column;
}

.challenge-media {
  min-height: 315px;
  background-position: center;
  background-size: cover;
}

.challenge-media--wireless {
  background-image:
    linear-gradient(180deg, rgba(5,16,29,0) 40%, rgba(5,16,29,.74) 100%),
    url("../images/hero-off-highway.jpg");
  background-position: 64% center;
}

.challenge-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 34px;
}

.card-kicker {
  display: block;
  margin-bottom: 12px;
  color: var(--blue-600);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .14em;
}

.challenge-card h3 {
  margin: 0;
  color: var(--navy-950);
  font-size: 23px;
  line-height: 1.45;
}

.challenge-card p {
  margin: 16px 0 0;
  color: var(--gray-600);
  font-size: 14px;
}

.challenge-card ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 22px 0 26px;
  padding: 0;
  list-style: none;
}

.challenge-card li,
.product-tags span {
  padding: 6px 10px;
  color: var(--navy-700);
  background: #edf5ff;
  border-radius: 5px;
  font-size: 11px;
  font-weight: 700;
}

.challenge-icon {
  width: 64px;
  height: 64px;
  margin-bottom: 28px;
  color: var(--blue-600);
}

.challenge-icon svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.text-link {
  display: inline-flex;
  align-items: center;
  margin-top: auto;
  padding: 0;
  color: var(--blue-600);
  background: none;
  border: 0;
  font-size: 13px;
  font-weight: 800;
}

.text-link--light { color: var(--blue-300); }

.product-category-grid {
  display: grid;
  gap: 1px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.14);
}

.product-category {
  min-height: 210px;
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr) minmax(270px, .7fr) 56px;
  align-items: center;
  gap: 30px;
  padding: 34px;
  background: var(--navy-900);
  transition: background .2s ease;
}

.product-category:hover { background: #102844; }

.product-no {
  color: rgba(255,255,255,.25);
  font-size: 13px;
  font-weight: 900;
}

.product-category h3 {
  margin: 0 0 12px;
  font-size: 27px;
}

.product-category p {
  margin: 0;
  color: rgba(255,255,255,.59);
  font-size: 14px;
}

.product-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.product-tags span {
  color: rgba(255,255,255,.78);
  background: rgba(255,255,255,.08);
}

.round-link {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  color: var(--white);
  background: transparent;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 50%;
  font-size: 22px;
  transition: background .2s ease, transform .2s ease;
}

.round-link:hover {
  background: var(--blue-600);
  transform: rotate(12deg);
}

.section--system {
  overflow: hidden;
  background:
    linear-gradient(90deg, var(--white) 0 56%, var(--gray-100) 56% 100%);
}

.system-grid {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  align-items: center;
  gap: 70px;
}

.system-copy h2 {
  margin: 0;
  font-size: clamp(34px, 3.8vw, 52px);
  line-height: 1.35;
  letter-spacing: -.035em;
}

.system-copy > p:not(.eyebrow) {
  margin: 24px 0 0;
  color: var(--gray-600);
}

.check-list {
  display: grid;
  gap: 10px;
  margin: 28px 0 34px;
  padding: 0;
  list-style: none;
}

.check-list li {
  position: relative;
  padding-left: 30px;
  font-size: 14px;
  font-weight: 700;
}

.check-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--blue-600);
  font-weight: 900;
}

.system-visual {
  padding: 44px 0 44px 44px;
}

.system-visual img {
  width: 100%;
  border-radius: 12px;
  box-shadow: var(--shadow);
}

.system-visual p {
  margin: 12px 0 0;
  color: var(--gray-600);
  font-size: 11px;
}

.section--support {
  background: var(--white);
}

.support-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--gray-200);
  border-bottom: 1px solid var(--gray-200);
}

.support-steps article {
  min-height: 270px;
  padding: 34px 26px;
  border-right: 1px solid var(--gray-200);
}

.support-steps article:last-child { border-right: 0; }

.support-steps span {
  color: var(--blue-600);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .12em;
}

.support-steps h3 {
  margin: 32px 0 14px;
  font-size: 20px;
}

.support-steps p {
  margin: 0;
  color: var(--gray-600);
  font-size: 13px;
}

.support-proof {
  margin-top: 64px;
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 60px;
  padding: 50px;
  color: var(--white);
  background:
    linear-gradient(120deg, rgba(5,16,30,.96), rgba(14,55,91,.88)),
    url("../images/hero-uav.jpg") center/cover;
  border-radius: var(--radius-lg);
}

.support-proof h3 {
  max-width: 560px;
  margin: 0;
  font-size: clamp(30px, 3vw, 43px);
  line-height: 1.4;
}

.support-proof__copy > p:not(.eyebrow) {
  max-width: 620px;
  margin: 20px 0 26px;
  color: rgba(255,255,255,.69);
}

.support-proof__metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: center;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: var(--radius-md);
  backdrop-filter: blur(6px);
}

.support-proof__metrics div {
  min-height: 150px;
  display: grid;
  align-content: center;
  gap: 6px;
  padding: 18px;
  text-align: center;
  border-right: 1px solid rgba(255,255,255,.15);
}

.support-proof__metrics div:last-child { border-right: 0; }

.support-proof__metrics strong {
  font-size: 32px;
}

.support-proof__metrics span {
  color: rgba(255,255,255,.56);
  font-size: 11px;
}

.section--resources { background: var(--gray-50); }

.resource-grid {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 20px;
}

.resource-card {
  min-height: 280px;
  display: flex;
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: var(--radius-md);
  overflow: hidden;
  transition: box-shadow .2s ease, transform .2s ease;
}

.resource-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow);
}

.resource-card--large {
  grid-row: span 2;
  min-height: 580px;
  display: grid;
  grid-template-rows: 1fr auto;
}

.resource-image {
  min-height: 310px;
  background-position: center;
  background-size: cover;
}

.resource-image--imu {
  background-image:
    linear-gradient(180deg, rgba(6,18,32,.02), rgba(6,18,32,.3)),
    url("../images/hero-navigation.jpg");
}

.resource-content {
  display: flex;
  flex-direction: column;
  padding: 30px;
}

.resource-content > span {
  color: var(--blue-600);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .12em;
}

.resource-content h3 {
  margin: 16px 0 10px;
  color: var(--navy-950);
  font-size: 21px;
  line-height: 1.5;
}

.resource-card--large h3 { font-size: 27px; }

.resource-content p {
  margin: 0 0 24px;
  color: var(--gray-600);
  font-size: 13px;
}

.resource-content a {
  margin-top: auto;
  color: var(--blue-600);
  font-size: 13px;
  font-weight: 800;
}

.faq {
  margin-top: 80px;
  display: grid;
  grid-template-columns: .6fr 1.4fr;
  gap: 90px;
  align-items: start;
}

.faq-intro h3 {
  margin: 0;
  font-size: 32px;
}

.faq-intro p:last-child {
  color: var(--gray-600);
}

.faq-list {
  border-top: 1px solid var(--gray-200);
}

.faq-list details {
  border-bottom: 1px solid var(--gray-200);
}

.faq-list summary {
  position: relative;
  padding: 24px 48px 24px 0;
  cursor: pointer;
  font-weight: 800;
  list-style: none;
}

.faq-list summary::-webkit-details-marker { display: none; }

.faq-list summary::after {
  content: "+";
  position: absolute;
  right: 6px;
  top: 20px;
  color: var(--blue-600);
  font-size: 24px;
  font-weight: 400;
}

.faq-list details[open] summary::after { content: "−"; }

.faq-list details p {
  margin: -4px 48px 24px 0;
  color: var(--gray-600);
  font-size: 14px;
}

.company-section {
  color: var(--white);
  background: var(--navy-900);
}

.company-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 100px;
  align-items: start;
}

.company-grid h2 {
  margin: 0;
  font-size: clamp(34px, 4vw, 52px);
  line-height: 1.4;
}

.company-grid > div:last-child > p {
  margin: 0;
  color: rgba(255,255,255,.64);
  font-size: 17px;
}

.company-links {
  display: flex;
  gap: 22px;
  margin-top: 34px;
}

.company-links a,
.company-links button {
  padding: 0;
  color: var(--blue-300);
  background: transparent;
  border: 0;
  font-size: 13px;
  font-weight: 800;
}

.final-cta {
  color: var(--white);
  background: var(--blue-600);
}

.final-cta__inner {
  min-height: 380px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 70px;
}

.final-cta h2 {
  margin: 0;
  font-size: clamp(36px, 4.5vw, 60px);
  line-height: 1.3;
  letter-spacing: -.04em;
}

.final-cta p:not(.eyebrow) {
  max-width: 720px;
  margin: 20px 0 0;
  color: rgba(255,255,255,.75);
}

.site-footer {
  padding: 74px 0 24px;
  color: rgba(255,255,255,.66);
  background: var(--navy-950);
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.6fr repeat(3, 1fr);
  gap: 60px;
}

.footer-brand img {
  width: 190px;
}

.footer-brand p {
  max-width: 330px;
  margin-top: 20px;
  font-size: 12px;
}

.footer-grid h3 {
  margin: 0 0 18px;
  color: var(--white);
  font-size: 12px;
}

.footer-grid a,
.footer-grid p,
.footer-link {
  display: block;
  margin: 8px 0;
  padding: 0;
  color: rgba(255,255,255,.55);
  background: none;
  border: 0;
  font-size: 11px;
  text-align: left;
}

.footer-grid a:hover,
.footer-link:hover { color: var(--white); }

.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  margin-top: 60px;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,.1);
  font-size: 10px;
}

.floating-contact {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 800;
  min-width: 128px;
  height: 54px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  padding: 0 18px;
  color: var(--white);
  background: var(--blue-600);
  border: 0;
  border-radius: 999px;
  box-shadow: 0 15px 40px rgba(5,41,86,.34);
  font-weight: 800;
}

.floating-contact:hover { background: var(--blue-500); }

.contact-dialog {
  width: min(1080px, calc(100% - 30px));
  max-height: calc(100vh - 30px);
  padding: 0;
  color: var(--text);
  background: var(--white);
  border: 0;
  border-radius: var(--radius-md);
  box-shadow: 0 30px 100px rgba(0,0,0,.38);
}

.contact-dialog::backdrop {
  background: rgba(3,10,20,.74);
  backdrop-filter: blur(5px);
}

.dialog-shell {
  position: relative;
  display: grid;
  grid-template-columns: .75fr 1.25fr;
}

.dialog-close {
  position: absolute;
  right: 18px;
  top: 15px;
  z-index: 2;
  width: 42px;
  height: 42px;
  color: var(--navy-950);
  background: rgba(255,255,255,.88);
  border: 1px solid var(--gray-200);
  border-radius: 50%;
  font-size: 24px;
}

.dialog-intro {
  padding: 52px 42px;
  color: var(--white);
  background:
    linear-gradient(150deg, rgba(7,17,31,.96), rgba(14,59,101,.92)),
    url("../images/hero-navigation.jpg") center/cover;
}

.dialog-intro h2 {
  margin: 0;
  font-size: 34px;
  line-height: 1.35;
}

.dialog-intro > p:not(.eyebrow) {
  color: rgba(255,255,255,.68);
}

.dialog-intro ul {
  display: grid;
  gap: 10px;
  margin: 30px 0 0;
  padding: 0;
  list-style: none;
}

.dialog-intro li {
  position: relative;
  padding-left: 24px;
  font-size: 13px;
}

.dialog-intro li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--blue-300);
}

.contact-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  padding: 52px 42px 36px;
  overflow-y: auto;
}

.contact-form label {
  display: grid;
  gap: 7px;
  color: var(--gray-800);
  font-size: 12px;
  font-weight: 800;
}

.contact-form label:nth-of-type(1),
.contact-form label:nth-of-type(5),
.contact-form label:nth-of-type(6),
.contact-form .file-field,
.contact-form .check-field,
.contact-form .button,
.form-result {
  grid-column: 1 / -1;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
  width: 100%;
  padding: 13px 14px;
  color: var(--text);
  background: var(--gray-50);
  border: 1px solid var(--gray-200);
  border-radius: 8px;
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
  outline-color: var(--blue-500);
  border-color: var(--blue-500);
  box-shadow: 0 0 0 3px rgba(22,131,245,.13);
}

.file-field span {
  padding: 12px 14px;
  color: var(--gray-600);
  background: var(--gray-50);
  border: 1px dashed var(--gray-200);
  border-radius: 8px;
  font-size: 11px;
  font-weight: 500;
}

.file-field input { display: none; }

/* Package A — approved accessibility and resilient-layout integration. */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline: 3px solid #1683f5;
  outline-offset: 3px;
  scroll-margin-block: 7rem;
}

#main:focus { outline: none; }

.skip-link:focus {
  position: fixed;
  inset: max(8px, env(safe-area-inset-top)) auto auto 8px;
  z-index: 100000;
}

.technical-figure {
  margin: 0;
  min-width: 0;
}

.technical-figure > a,
.technical-figure img {
  display: block;
  max-width: 100%;
}

.entry-content :where(table,pre,.technical-figure) {
  max-width: 100%;
}

.entry-content :where(table,pre) {
  overflow-x: auto;
}

:where(.site-main,.entry-content,.content-card) :where(h1,h2,h3,p,li,dd) {
  overflow-wrap: break-word;
}

@media (max-width: 640px) {
  .breadcrumbs { white-space: normal; overflow-wrap: anywhere; }
  .floating-contact { inset-inline-end: max(12px, env(safe-area-inset-right)); inset-block-end: max(12px, env(safe-area-inset-bottom)); }
}

@media (forced-colors: active) {
  :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline: 3px solid Highlight; }
}

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

.contact-form .check-field {
  display: flex;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 9px;
  font-weight: 500;
}

.check-field input {
  width: 17px;
  height: 17px;
}

.form-result {
  min-height: 22px;
  margin: 0;
  color: var(--blue-600);
  font-size: 12px;
  font-weight: 800;
}

@media (max-width: 1080px) {
  .brand-copy { display: none; }

  .global-nav {
    gap: 17px;
    font-size: 12px;
  }

  .hero-grid {
    grid-template-columns: 1fr .72fr;
    gap: 42px;
  }

  .challenge-grid {
    grid-template-columns: 1fr 1fr;
  }

  .challenge-card--featured {
    grid-row: span 2;
  }

  .product-category {
    grid-template-columns: 50px 1fr 220px 50px;
    gap: 20px;
  }

  .support-proof {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 860px) {
  :root { --header-height: 70px; }

  .container { width: min(calc(100% - 32px), var(--container)); }

  .brand { min-width: 0; }

  .brand img { width: 142px; }

  .menu-toggle {
    display: block;
  }

  .global-nav {
    position: fixed;
    left: 0;
    right: 0;
    top: 100px;
    display: none;
    padding: 20px 24px 30px;
    background: var(--navy-950);
    border-top: 1px solid rgba(255,255,255,.1);
    border-bottom: 1px solid rgba(255,255,255,.1);
  }

  .global-nav.is-open {
    display: grid;
    gap: 4px;
  }

  .global-nav a {
    padding: 12px 0;
    font-size: 14px;
  }

  .nav-cta {
    margin-top: 10px;
  }

  .menu-toggle[aria-expanded="true"] > span:nth-child(1) {
    top: 20px;
    transform: rotate(45deg);
  }

  .menu-toggle[aria-expanded="true"] > span:nth-child(2) { opacity: 0; }

  .menu-toggle[aria-expanded="true"] > span:nth-child(3) {
    top: 20px;
    transform: rotate(-45deg);
  }

  .hero {
    min-height: auto;
  }

  .hero-bg {
    background:
      linear-gradient(180deg, rgba(4,14,27,.9) 0%, rgba(4,14,27,.96) 68%, rgba(4,14,27,1) 100%),
      url("../images/hero-off-highway.jpg") 64% top/auto 430px no-repeat;
  }

  .hero-grid {
    min-height: auto;
    grid-template-columns: 1fr;
    padding-top: 78px;
    padding-bottom: 48px;
  }

  .hero-copy {
    padding-top: 160px;
  }

  .hero-panel {
    max-width: none;
  }

  .hero-foot {
    grid-template-columns: repeat(2, 1fr);
  }

  .hero-foot p:nth-child(5) { grid-column: 1 / -1; }

  .section { padding: 80px 0; }

  .section-heading--split,
  .system-grid,
  .company-grid,
  .faq {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .product-group__heading,
  .section-heading--split {
    grid-template-columns: minmax(0, 1fr);
  }

  .product-group__heading > *,
  .section-heading--split > * {
    min-width: 0;
    max-width: 100%;
  }

  .challenge-grid {
    grid-template-columns: 1fr;
  }

  .challenge-card--featured {
    grid-row: auto;
    min-height: auto;
  }

  .challenge-media { min-height: 280px; }

  .product-category {
    grid-template-columns: 42px 1fr 50px;
  }

  .product-category .product-tags {
    grid-column: 2 / -1;
  }

  .section--system {
    background: var(--white);
  }

  .system-visual {
    padding: 0;
  }

  .support-steps {
    grid-template-columns: 1fr 1fr;
  }

  .support-steps article:nth-child(2) { border-right: 0; }
  .support-steps article:nth-child(-n+2) { border-bottom: 1px solid var(--gray-200); }

  .resource-grid {
    grid-template-columns: 1fr;
  }

  .resource-card--large {
    grid-row: auto;
  }

  .final-cta__inner {
    min-height: 440px;
    grid-template-columns: 1fr;
    gap: 30px;
    padding-top: 70px;
    padding-bottom: 70px;
  }

  .footer-grid {
    grid-template-columns: 1.4fr 1fr;
  }

  .dialog-shell {
    grid-template-columns: 1fr;
  }

  .dialog-intro {
    padding: 40px 28px;
  }

  .dialog-intro ul { display: none; }

  .contact-form {
    padding: 34px 28px;
  }
}

@media (max-width: 560px) {
  body { font-size: 15px; }

  .hero h1 {
    font-size: 39px;
  }

  .hero-actions .button {
    width: 100%;
  }

  .hero-proof {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .hero-proof li {
    grid-template-columns: 95px 1fr;
    align-items: center;
  }

  .hero-foot {
    display: none;
  }

  .challenge-body {
    padding: 26px;
  }

  .product-category {
    min-height: 0;
    grid-template-columns: 1fr 48px;
    padding: 26px 22px;
  }

  .product-no { display: none; }
  .product-category .product-tags { grid-column: 1 / -1; }

  .support-steps {
    grid-template-columns: 1fr;
  }

  .support-steps article {
    min-height: 220px;
    border-right: 0;
    border-bottom: 1px solid var(--gray-200);
  }

  .support-proof {
    padding: 34px 24px;
    border-radius: var(--radius-md);
  }

  .support-proof__metrics {
    grid-template-columns: 1fr;
  }

  .support-proof__metrics div {
    min-height: 100px;
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.15);
  }

  .support-proof__metrics div:last-child { border-bottom: 0; }

  .resource-card { min-height: 0; }
  .resource-image { min-height: 240px; }

  .company-links {
    flex-direction: column;
    align-items: flex-start;
  }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .footer-bottom {
    flex-direction: column;
    gap: 4px;
  }

  .floating-contact {
    right: 14px;
    bottom: 14px;
    min-width: 112px;
  }

  .contact-dialog {
    width: calc(100% - 16px);
    max-height: calc(100vh - 16px);
  }

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

  .contact-form label {
    grid-column: 1 / -1 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}


/* WordPress integration: Version 0.2.0 */
.admin-bar .site-header { top: 32px; }
.global-nav__list { display: flex; align-items: center; gap: 26px; margin: 0; padding: 0; list-style: none; }
.global-nav__list li { margin: 0; }
.global-nav__list a { display: block; }
.custom-logo-link { display: flex; align-items: center; }
.custom-logo { width: 150px; height: auto; }
.site-main { min-height: 60vh; }
.archive-hero, .single-hero, .page-hero { padding: 92px 0 70px; color: #fff; background: radial-gradient(circle at 85% 10%, rgba(22,131,245,.2), transparent 35%), var(--navy-950); }
.archive-hero h1, .single-hero h1, .page-hero h1 { max-width: 900px; margin: 0; font-size: clamp(38px, 5vw, 64px); line-height: 1.28; letter-spacing: -.04em; }
.archive-hero p, .single-hero p, .page-hero p { max-width: 760px; margin: 22px 0 0; color: rgba(255,255,255,.68); }
.breadcrumbs { margin-bottom: 22px; color: rgba(255,255,255,.52); font-size: 12px; }
.breadcrumbs a { color: var(--blue-300); }
.content-section { padding: 84px 0 112px; }
.content-grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 64px; align-items: start; }
.entry-content > *:first-child { margin-top: 0; }
.entry-content h2 { margin: 2.1em 0 .7em; color: var(--navy-950); font-size: 32px; line-height: 1.4; }
.entry-content h3 { margin: 1.8em 0 .6em; font-size: 24px; }
.entry-content p, .entry-content li { color: var(--gray-600); }
.entry-content img { border-radius: 14px; }
.entry-content a { color: var(--blue-600); text-decoration: underline; text-underline-offset: 3px; }
.content-sidebar { position: sticky; top: 120px; display: grid; gap: 18px; }
.sidebar-card { padding: 24px; background: var(--gray-50); border: 1px solid var(--gray-200); border-radius: 14px; }
.sidebar-card h2, .sidebar-card h3 { margin: 0 0 14px; font-size: 18px; }
.sidebar-card p { margin: 0; color: var(--gray-600); font-size: 13px; }
.sidebar-card .button { width: 100%; margin-top: 18px; }
.card-list { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; }
.content-card { min-height: 360px; display: flex; flex-direction: column; overflow: hidden; background: #fff; border: 1px solid var(--gray-200); border-radius: 18px; transition: transform .2s, box-shadow .2s; }
.content-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.content-card__image { aspect-ratio: 16/10; overflow: hidden; background: var(--gray-100); }
.content-card__image img { width: 100%; height: 100%; object-fit: cover; }
.content-card__placeholder { height: 100%; display: grid; place-items: center; color: var(--blue-600); font-size: 44px; font-weight: 900; background: linear-gradient(135deg,#edf5ff,#f5f8fb); }
.content-card__body { flex: 1; display: flex; flex-direction: column; padding: 24px; }
.content-card__type { margin-bottom: 8px; color: var(--blue-600); font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.content-card h2, .content-card h3 { margin: 0 0 12px; color: var(--navy-950); font-size: 21px; line-height: 1.45; }
.content-card p { margin: 0 0 20px; color: var(--gray-600); font-size: 13px; }
.content-card__link { margin-top: auto; color: var(--blue-600); font-size: 13px; font-weight: 800; }
.meta-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; margin: 34px 0; background: var(--gray-200); border: 1px solid var(--gray-200); }
.meta-grid > div { padding: 20px; background: #fff; }
.meta-grid dt { color: var(--gray-600); font-size: 11px; font-weight: 800; }
.meta-grid dd { margin: 7px 0 0; color: var(--navy-950); font-weight: 700; white-space: pre-line; }
.meta-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 30px 0; }
.archive-empty { padding: 55px; text-align: center; background: var(--gray-50); border: 1px solid var(--gray-200); border-radius: 18px; }
.pagination { margin-top: 50px; }
.nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.page-numbers { min-width: 42px; height: 42px; display: grid; place-items: center; padding: 0 12px; border: 1px solid var(--gray-200); border-radius: 8px; }
.page-numbers.current { color: #fff; background: var(--blue-600); border-color: var(--blue-600); }
.wp-block-image figcaption { color: var(--gray-600); font-size: 12px; }
.notice-box { padding: 20px 22px; background: #edf5ff; border-left: 4px solid var(--blue-600); border-radius: 0 10px 10px 0; }
.contact-page-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 54px; }
.contact-page-info { padding: 34px; color: #fff; background: var(--navy-900); border-radius: 20px; }
.contact-page-info h2 { margin-top: 0; font-size: 28px; }
.contact-page-info p, .contact-page-info li { color: rgba(255,255,255,.68); }
.site-footer .menu { margin: 0; padding: 0; list-style: none; }
.edit-link { display: inline-block; margin-top: 24px; font-size: 12px; }
@media (max-width: 860px) {
  .admin-bar .site-header { top: 46px; }
  .global-nav__list { display: grid; gap: 4px; }
  .content-grid, .contact-page-grid { grid-template-columns: 1fr; }
  .content-sidebar { position: static; }
  .card-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 560px) {
  .card-list, .meta-grid { grid-template-columns: 1fr; }
  .archive-hero, .single-hero, .page-hero { padding: 70px 0 55px; }
  .content-section { padding: 62px 0 80px; }
}
@media screen and (max-width: 782px) { .admin-bar .site-header { top: 46px; } }

/* v0.2.0 WordPress anchor adaptation */
.quick-needs a { width:100%; display:grid; grid-template-columns:38px 1fr; align-items:center; gap:12px; padding:13px 14px; color:var(--white); text-align:left; background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.1); border-radius:10px; transition:background .2s ease,border-color .2s ease,transform .2s ease; }
.quick-needs a:hover,.quick-needs a:focus-visible { background:rgba(22,131,245,.16); border-color:rgba(121,183,255,.45); transform:translateX(3px); }
.quick-needs a span:last-child { font-size:13px; font-weight:700; line-height:1.5; }


/* ==========================================================================
   Real-data compatibility additions
   Version: 0.3.0
   ========================================================================== */
.mobile-nav{display:none}
.content-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.content-grid--applications{grid-template-columns:repeat(3,minmax(0,1fr))}
.content-card{background:#fff;border:1px solid #dce3e8;min-width:0;display:flex;flex-direction:column}
.content-card__media{display:block;background:#f4f7f9;aspect-ratio:4/3;overflow:hidden}
.content-card__media img,.content-card__placeholder{width:100%;height:100%;object-fit:contain;display:block}
.content-card__placeholder{display:grid;place-items:center;font-size:2rem;font-weight:900;color:#15487a;background:linear-gradient(135deg,#eaf5fb,#f4f7f9)}
.content-card__body{padding:24px;display:flex;flex-direction:column;flex:1}
.content-card__body h3{font-size:1.25rem;margin:.3rem 0 .7rem}
.content-card__body h3 a{color:inherit;text-decoration:none}
.content-card__body .text-link{margin-top:auto}
.content-card__kicker{font-size:.76rem;font-weight:800;letter-spacing:.08em;color:#0e6ac7;margin:0}
.external-source{display:inline-block;margin-top:.6rem;font-size:.82rem}
.taxonomy-links{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 32px}
.taxonomy-links a{display:flex;gap:8px;align-items:center;padding:9px 14px;border:1px solid #c8d5df;background:#fff;color:#102235;text-decoration:none;border-radius:999px;font-weight:700}
.taxonomy-links a:hover{background:#0e6ac7;color:#fff}
.taxonomy-links span{font-size:.75rem;opacity:.7}
.section-action{text-align:center;margin:34px 0 0}
.news-section{background:#fff}
.news-list{border-top:1px solid #dce3e8}
.news-list a{display:grid;grid-template-columns:120px 1fr auto;gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid #dce3e8;color:inherit;text-decoration:none}
.news-list time{font-family:monospace;color:#526575}
.archive-hero{
	background:
		radial-gradient(circle at 85% 10%, rgba(22,131,245,.2), transparent 35%),
		var(--navy-950);
	color:#fff;
	padding:72px 0 64px
}
.archive-hero--dark{background:#081a2b;color:#fff}
.archive-hero h1{font-size:clamp(2rem,5vw,4rem);margin:.3rem 0 1rem}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:.82rem;margin:0 0 24px}
.breadcrumbs a{color:inherit}
.single-hero{background:#eaf1f6;padding:48px 0 72px}
.single-hero--application{background:#081a2b;color:#fff}
.single-hero__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:64px;align-items:center}
.single-hero h1{font-size:clamp(2.25rem,5vw,4.5rem);line-height:1.05;margin:.4rem 0 1rem}
.single-lead{font-size:1.12rem;max-width:760px}
.single-taxonomy{font-weight:800;color:#0e6ac7}
.single-hero--application .single-taxonomy{color:#82d8ff}
.single-hero__image{background:#fff;min-height:340px;display:grid;place-items:center;padding:24px}
.single-hero__image img{max-height:420px;width:100%;object-fit:contain}
.single-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:64px;align-items:start}
.entry-content{font-size:1.02rem;line-height:1.85}
.entry-content--narrow{max-width:860px}
.entry-content img{max-width:100%;height:auto}
.entry-content table{width:100%;border-collapse:collapse;display:block;overflow-x:auto}
.entry-content th,.entry-content td{border:1px solid #dce3e8;padding:10px}
.single-sidebar{position:sticky;top:110px}
.consult-card{background:#f1f6fa;border-top:6px solid #0e6ac7;padding:28px}
.consult-card h2{font-size:1.35rem}
.document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.document-grid a{display:flex;justify-content:space-between;gap:20px;align-items:center;background:#fff;border:1px solid #0e6ac7;padding:20px;color:inherit;text-decoration:none}
.page-hero{background:linear-gradient(90deg,rgba(5,25,43,.92),rgba(5,25,43,.65)),var(--page-hero-image,none) center/cover;color:#fff;padding:64px 0}
.page-hero h1{font-size:clamp(2rem,5vw,4rem)}
.page-content>.container{max-width:1100px}
.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:40px}
.footer-menu h2{font-size:.9rem;text-transform:uppercase;letter-spacing:.08em}
.footer-menu__list{list-style:none;margin:0;padding:0}
.footer-menu__list li{margin:.65rem 0}
.footer-menu__list a{color:#d8e5ee;text-decoration:none}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.15);margin-top:40px;padding-top:20px}
.button--outline,.button--outline-light{border:1px solid currentColor;background:transparent}
.button--outline-light{color:#fff}
.pagination,.nav-links{margin-top:36px}
.nav-links{display:flex;gap:8px}
.nav-links .page-numbers{padding:8px 12px;border:1px solid #c8d5df}
.nav-links .current{background:#0e6ac7;color:#fff}
@media(max-width:980px){
 .global-nav--desktop{display:none}
 .menu-toggle{display:block}
 .mobile-nav.is-open{display:block}
 .mobile-nav{position:absolute;left:0;right:0;top:100%;background:#071827;padding:20px;z-index:99}
 .mobile-nav__list{list-style:none;padding:0;margin:0}
 .mobile-nav__list a{display:block;color:#fff;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.12)}
 .content-grid,.content-grid--applications{grid-template-columns:repeat(2,minmax(0,1fr))}
 .single-hero__grid,.single-layout{grid-template-columns:1fr}
 .single-sidebar{position:static}
 .footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
 .content-grid,.content-grid--applications,.document-grid,.footer-grid{grid-template-columns:1fr}
 .news-list a{grid-template-columns:1fr auto}
 .news-list time{grid-column:1/-1}
 .single-hero{padding-bottom:48px}
 .single-hero__image{min-height:240px}
 .footer-bottom{display:block}
}


/* Contact Form 7 responsive containment — v0.3.1 */
.wpcf7,
.wpcf7-form,
.wpcf7-form .form-contact {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}
.wpcf7-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.wpcf7-form select,
.wpcf7-form textarea,
.wpcf7-form .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}
.wpcf7-form textarea { resize: vertical; }
@media (max-width: 640px) {
	.wpcf7 { padding: 16px; }
	.wpcf7-form table.form-contact,
	.wpcf7-form table.form-contact tbody,
	.wpcf7-form table.form-contact tr,
	.wpcf7-form table.form-contact th,
	.wpcf7-form table.form-contact td {
		display: block;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}
	.wpcf7-form table.form-contact {
		border: 0;
		overflow: visible;
	}
	.wpcf7-form table.form-contact tr { margin-bottom: 18px; }
	.wpcf7-form table.form-contact th,
	.wpcf7-form table.form-contact td {
		border: 0;
		padding: 6px 0;
	}
	.wpcf7-form input[type="submit"] {
		max-width: 100%;
		white-space: normal;
	}
}

/* ========================================================================== 
   v0.5.4 visual polish, metadata disclosure and grouped comparisons
   ========================================================================== */
.product-card .content-card__role,
.single-product-category {
	width: fit-content;
	margin: 0 0 10px !important;
	padding: 5px 10px;
	color: #12374d !important;
	background: #e7f1f7;
	border: 1px solid #bfd3df;
	border-radius: 999px;
	font-size: 11px !important;
	font-weight: 800;
	letter-spacing: 0;
}

.pillar-products .product-card .content-card__role {
	color: #0b3145 !important;
	background: #dff3ff;
	border-color: #9bcce6;
}

.content-card h2,
.content-card h3,
.content-card h2 a,
.content-card h3 a,
.wireless-comparison-table th,
.comparison-table th {
	overflow-wrap: anywhere;
	word-break: normal;
}

.content-card__summary {
	max-width: 46ch;
	line-height: 1.72;
}

.content-card__bullets {
	margin: 0 0 22px;
	padding: 15px 16px;
	color: #17364b;
	background: #f3f7fa;
	border-left: 3px solid #18875f;
	border-radius: 0 10px 10px 0;
}

.content-card__bullets > strong {
	display: block;
	margin-bottom: 7px;
	font-size: 12px;
}

.content-card__bullets ul {
	margin: 0;
	padding-left: 1.2em;
	font-size: 12px;
	line-height: 1.75;
}

.content-card__bullets li + li {
	margin-top: 4px;
}

.pillar-products .content-card__bullets {
	color: #f2f8fc;
	background: rgba(255, 255, 255, .09);
	border-left-color: #80e8c2;
}

.product-group + .product-group {
	position: relative;
	border-top: 0;
}

.product-group + .product-group::before {
	position: absolute;
	top: 0;
	left: 0;
	width: min(110px, 28vw);
	height: 1px;
	content: "";
	background: rgba(255, 255, 255, .3);
}

.product-key-points {
	margin: 14px 0 0;
	padding: 18px 22px 18px 42px;
	background: #f3f8fb;
	border-left: 4px solid #1677b8;
	border-radius: 0 12px 12px 0;
}

.product-key-points li + li {
	margin-top: 8px;
}

.product-meta-details {
	margin-top: 28px;
	padding: 14px 16px;
	background: #f8fafb;
	border: 1px solid #dce5ea;
	border-radius: 10px;
}

.product-meta-details summary {
	color: #28485e;
	font-size: 13px;
	font-weight: 800;
	cursor: pointer;
}

.product-meta-details .product-summary-list {
	margin-top: 14px;
}

.source-checked-date {
	color: #4d6474;
	font-size: 13px;
}

.source-materials__actions .button--secondary,
.document-grid a,
.entry-content .text-link,
.content-sidebar .text-link {
	color: #0a5f9f;
}

.source-materials__actions .button--secondary {
	color: #11384f !important;
	background: #fff;
	border-color: #8ea9ba;
	box-shadow: none;
}

.source-materials__actions .button--secondary:hover,
.source-materials__actions .button--secondary:focus-visible {
	color: #fff !important;
	background: #17486d;
	border-color: #17486d;
}

.wireless-comparison {
	margin-top: clamp(70px, 9vw, 120px);
	padding-top: clamp(52px, 7vw, 84px);
	border-top: 1px solid rgba(255, 255, 255, .18);
	scroll-margin-top: calc(var(--header-height) + 72px);
}

.wireless-comparison h2,
.wireless-comparison h3 {
	color: #fff;
}

.wireless-comparison .section-heading > p {
	color: rgba(255, 255, 255, .76);
}

.wireless-comparison__group {
	margin-top: 42px;
}

.wireless-comparison__group h3 {
	margin: 0 0 14px;
	font-size: clamp(1.25rem, 2.5vw, 1.75rem);
}

.wireless-comparison-table-wrap {
	max-width: 100%;
	overflow: auto;
	background: #fff;
	border: 1px solid #b9cad5;
	border-radius: 12px;
}

.wireless-comparison-table {
	width: 100%;
	min-width: 980px;
	border-collapse: collapse;
	color: #102e42;
	table-layout: fixed;
}

.wireless-comparison-table caption {
	padding: 13px 16px;
	color: #fff;
	font-weight: 800;
	text-align: left;
	background: #123b5c;
}

.wireless-comparison-table th,
.wireless-comparison-table td {
	padding: 12px;
	font-size: 12px;
	line-height: 1.55;
	text-align: left;
	vertical-align: top;
	border: 1px solid #d5e0e7;
}

.wireless-comparison-table thead th {
	color: #fff;
	background: #17486d;
}

.wireless-comparison-table tbody th {
	background: #f6fafc;
}

.wireless-comparison-table a,
.wireless-comparison-card a {
	color: #075f9e;
	font-weight: 800;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.wireless-comparison-cards {
	display: none;
}

.inertial-comparison-table .comparison-group-row th {
	top: 0;
	height: 38px;
	color: #eaf7ff;
	background: #0f3553;
	border-bottom-color: #7393a9;
}

.inertial-comparison-table .comparison-label-row th {
	top: 38px;
	background: #17486d;
}

.inertial-comparison-table .comparison-label-row th:first-child {
	left: auto;
	z-index: 3;
	min-width: 0;
	max-width: 180px;
	background: #17486d;
}

.inertial-comparison-table .comparison-group-row th:first-child {
	left: 0;
	z-index: 7;
	background: #0b2c46;
}

.comparison-card__group + .comparison-card__group {
	margin-top: 16px;
	padding-top: 14px;
	border-top: 1px solid #d9e4ea;
}

.comparison-card__group h4 {
	margin: 0 0 9px;
	color: #315a74;
	font-size: 12px;
	letter-spacing: .04em;
}

@media (max-width: 680px) {
	.content-card__summary {
		max-width: none;
	}

	.wireless-comparison-table-wrap {
		display: none;
	}

	.wireless-comparison-cards {
		display: grid;
		gap: 14px;
	}

	.wireless-comparison-card {
		padding: 20px;
		color: #102e42;
		background: #fff;
		border: 1px solid #d1dee6;
		border-radius: 12px;
	}

	.wireless-comparison-card h4 {
		margin: 0 0 14px;
		font-size: 1.15rem;
	}

	.wireless-comparison-card dl {
		display: grid;
		gap: 1px;
		margin: 0 0 18px;
		background: #dce7ee;
	}

	.wireless-comparison-card dl > div {
		display: grid;
		grid-template-columns: 104px minmax(0, 1fr);
		gap: 10px;
		padding: 10px 12px;
		background: #fff;
	}

	.wireless-comparison-card dt {
		font-weight: 800;
	}

	.wireless-comparison-card dd {
		margin: 0;
	}
}


/* ==========================================================================
   Approved full-site implementation
   Version: 0.4.0
   ========================================================================== */
:root {
	--wireless-green: #1aa36f;
	--wireless-green-dark: #0d6f4c;
	--wireless-green-soft: #e8f8f1;
}

:focus-visible {
	outline: 3px solid #79b7ff;
	outline-offset: 3px;
}

.site-main {
	overflow: clip;
}

.challenge-media--dynamic {
	display: block;
	background-color: var(--gray-100);
	background-position: center;
	background-size: cover;
}

.challenge-body--compact {
	min-height: 100%;
}

.challenge-card h3 a,
.product-category {
	color: inherit;
	text-decoration: none;
}

.product-category--wireless {
	box-shadow: inset 5px 0 0 var(--wireless-green);
}

.product-category--wireless .product-tags span:first-child,
.family-badge--wireless {
	color: #b9f3da;
	background: rgba(26, 163, 111, .18);
	border-color: rgba(77, 225, 173, .45);
}

.product-category--inertial {
	box-shadow: inset 5px 0 0 var(--blue-500);
}

.product-category--neutral {
	box-shadow: inset 5px 0 0 var(--gray-400);
}

.family-badge {
	width: fit-content;
	display: inline-flex;
	align-items: center;
	margin: 0 0 10px;
	padding: 5px 9px;
	color: var(--blue-600);
	background: #edf5ff;
	border: 1px solid #cfe4ff;
	border-radius: 999px;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .08em;
}

.family-badge--wireless {
	color: var(--wireless-green-dark);
	background: var(--wireless-green-soft);
	border-color: #bce8d4;
}

.family-badge--neutral {
	color: var(--gray-600);
	background: var(--gray-100);
	border-color: var(--gray-200);
}

.product-card--wireless {
	border-top: 4px solid var(--wireless-green);
}

.product-card--inertial {
	border-top: 4px solid var(--blue-500);
}

.product-card--neutral {
	border-top: 4px solid var(--gray-400);
}

.product-card--wireless .content-card__kicker,
.product-card--wireless .content-card__link {
	color: var(--wireless-green-dark);
}

.support-proof__values {
	display: grid;
	grid-template-columns: auto 1fr;
	align-content: center;
	gap: 10px 18px;
	padding: 30px;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: var(--radius-md);
	background: rgba(255, 255, 255, .035);
}

.support-proof__values strong {
	color: var(--white);
	font-size: 20px;
}

.support-proof__values span {
	align-self: center;
	color: rgba(255, 255, 255, .62);
	font-size: 12px;
}

.resource-data-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.archive-hero,
.single-hero,
.page-hero {
	position: relative;
}

.archive-hero::after,
.single-hero::after,
.page-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	opacity: .18;
	background-image:
		linear-gradient(rgba(255,255,255,.09) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.09) 1px, transparent 1px);
	background-size: 56px 56px;
	mask-image: linear-gradient(90deg, #000, transparent 80%);
}

.archive-hero > .container,
.single-hero > .container,
.page-hero > .container {
	position: relative;
	z-index: 1;
}

.archive-hero > .container > p:last-child,
.page-hero > .container > p:last-child {
	max-width: 780px;
}

.archive-filter {
	margin-bottom: 40px;
}

.card-list > .content-card {
	min-width: 0;
	border-radius: 18px;
}

.content-card__image.content-card__media {
	aspect-ratio: 16 / 10;
}

.content-card__image.content-card__media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	background: #fff;
}

.content-card__type {
	margin: 0 0 8px;
}

.content-card__kicker {
	margin: 0 0 8px;
}

.single-hero--product,
.single-hero--resource,
.single-hero--post {
	color: var(--white);
	background:
		radial-gradient(circle at 85% 10%, rgba(22, 131, 245, .22), transparent 34%),
		var(--navy-950);
}

.single-hero--product .single-taxonomy,
.single-hero--resource .single-taxonomy {
	color: var(--blue-300);
}

.single-hero--product .family-badge--wireless {
	color: #b9f3da;
	background: rgba(26, 163, 111, .18);
	border-color: rgba(77, 225, 173, .45);
}

.single-hero--product .family-badge--inertial {
	color: var(--blue-300);
	background: rgba(22, 131, 245, .16);
	border-color: rgba(121, 183, 255, .38);
}

.single-layout {
	grid-template-columns: minmax(0, 1fr) 320px;
}

.content-sidebar {
	position: sticky;
	top: 120px;
	display: grid;
	gap: 18px;
}

.entry-content > :first-child {
	margin-top: 0;
}

.entry-content h2 {
	margin-top: 2.1em;
	color: var(--navy-950);
	font-size: clamp(25px, 3vw, 34px);
	line-height: 1.45;
}

.entry-content h3 {
	margin-top: 1.8em;
	color: var(--navy-800);
}

.entry-content iframe,
.entry-content video {
	max-width: 100%;
}

.document-grid a {
	border-radius: 10px;
}

.page-hero--contact {
	background:
		linear-gradient(90deg, rgba(5,25,43,.96), rgba(5,25,43,.65)),
		url("../images/hero-off-highway.jpg") center/cover;
}

.page-hero--about {
	background:
		linear-gradient(90deg, rgba(5,25,43,.96), rgba(5,25,43,.58)),
		url("../images/hero-uav.jpg") center/cover;
}

.page-hero--legal,
.page-hero--404 {
	background:
		radial-gradient(circle at 85% 10%, rgba(22,131,245,.2), transparent 32%),
		var(--navy-950);
}

.contact-layout {
	display: grid;
	grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
	gap: 64px;
	align-items: start;
}

.contact-page-info {
	position: sticky;
	top: 120px;
}

.contact-page-info h2,
.about-intro-grid h2,
.not-found-links h2 {
	margin: 0 0 22px;
	color: var(--navy-950);
	font-size: clamp(30px, 4vw, 46px);
	line-height: 1.4;
}

.contact-form-shell {
	min-width: 0;
}

.contact-form-shell .elementor,
.contact-form-shell .elementor-section-wrap,
.contact-form-shell .elementor-element {
	max-width: 100%;
}

.privacy-link-note {
	margin-top: 20px;
	color: var(--gray-600);
	font-size: 13px;
}

.privacy-link-note a {
	color: var(--blue-600);
	font-weight: 800;
	text-decoration: underline;
}

.about-intro-grid {
	display: grid;
	grid-template-columns: minmax(240px, .6fr) minmax(0, 1.4fr);
	gap: 80px;
	align-items: start;
}

.support-steps--three {
	grid-template-columns: repeat(3, 1fr);
}

.legal-content {
	width: min(100%, 900px);
	margin-inline: auto;
	padding: clamp(30px, 5vw, 64px);
	background: #fff;
	border: 1px solid var(--gray-200);
	border-radius: 18px;
	box-shadow: 0 18px 50px rgba(4, 18, 37, .08);
}

.not-found-links {
	text-align: center;
}

.page-link-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 12px;
	margin-top: 34px;
	text-align: left;
}

.page-link-grid a {
	min-height: 150px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 24px;
	color: var(--navy-950);
	background: var(--gray-50);
	border: 1px solid var(--gray-200);
	border-radius: 14px;
	transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.page-link-grid a:hover {
	transform: translateY(-4px);
	border-color: var(--blue-500);
	box-shadow: var(--shadow);
}

.page-link-grid span {
	color: var(--blue-600);
	font-size: 12px;
	font-weight: 800;
}

.case-study-layout {
	width: min(100%, 900px);
	margin-inline: auto;
}

@media (max-width: 980px) {
	.resource-data-grid,
	.card-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.contact-layout,
	.about-intro-grid,
	.single-layout {
		grid-template-columns: 1fr;
	}

	.contact-page-info,
	.content-sidebar {
		position: static;
	}

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

@media (max-width: 640px) {
	.resource-data-grid,
	.card-list,
	.support-steps--three,
	.page-link-grid {
		grid-template-columns: 1fr;
	}

	.support-proof__values {
		padding: 22px;
	}

	.legal-content {
		padding: 24px 18px;
		border-radius: 12px;
	}

	.page-link-grid a {
		min-height: 120px;
	}
}

/* ==========================================================================
   v0.4.0 migration-surface normalization
   Legacy Elementor global colors load after the theme on this installation.
   Keep the approved theme chrome and dark surfaces readable without changing
   Elementor content or stored site settings.
   ========================================================================== */
body .hero h1,
body .archive-hero h1,
body .single-hero h1,
body .page-hero h1,
body .section--dark .section-heading h2,
body .support-proof h3,
body .final-cta h2,
body .contact-page-info h2 {
	color: var(--white);
}

body .site-header .global-nav a,
body .site-header .mobile-nav a,
body .site-header a.nav-cta,
body a.button--primary,
body a.button--secondary,
body a.button--dark,
body a.button--outline-light,
body a.floating-contact {
	color: var(--white);
}

body .site-footer a {
	color: rgba(255, 255, 255, .66);
}

body .site-footer a.button--outline-light {
	color: var(--white);
}

@media (min-width: 981px) {
	body .global-nav__list {
		gap: 18px;
	}

	body .global-nav__list > li {
		position: relative;
	}

	body .global-nav__list .sub-menu {
		position: absolute;
		top: calc(100% - 2px);
		left: -18px;
		z-index: 20;
		width: max-content;
		min-width: 250px;
		max-width: 340px;
		margin: 0;
		padding: 12px 18px;
		visibility: hidden;
		opacity: 0;
		list-style: none;
		white-space: normal;
		background: var(--navy-900);
		border: 1px solid rgba(255, 255, 255, .12);
		border-radius: 10px;
		box-shadow: 0 18px 42px rgba(0, 0, 0, .28);
		pointer-events: none;
		transform: translateY(8px);
		transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
	}

	body .global-nav__list .sub-menu .sub-menu {
		top: -13px;
		left: calc(100% + 10px);
	}

	body .global-nav__list li:hover > .sub-menu,
	body .global-nav__list li:focus-within > .sub-menu {
		visibility: visible;
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
	}

	body .global-nav__list .sub-menu a {
		padding: 9px 0;
		font-size: 12px;
		line-height: 1.55;
	}
}

body .mobile-nav__list .sub-menu {
	margin: 0;
	padding: 0 0 0 18px;
	list-style: none;
}

body .mobile-nav__list .sub-menu a {
	font-size: 12px;
	opacity: .78;
}

/* --------------------------------------------------------------------------
   Version 0.5.0: dual-pillar navigation and public use-example library
   -------------------------------------------------------------------------- */

:root {
	--wireless-accent: #42d3d8;
	--wireless-deep: #075f69;
	--wireless-soft: #dff9fa;
	--inertial-accent: #ffb64d;
	--inertial-deep: #8a4c00;
	--inertial-soft: #fff0d9;
}

.quick-needs--pillars a {
	align-items: flex-start;
}

.quick-needs--pillars strong,
.quick-needs--pillars small {
	display: block;
}

.quick-needs--pillars small {
	margin-top: 3px;
	color: rgba(255, 255, 255, .66);
	font-size: 11px;
	line-height: 1.55;
}

.home-pillar-choice {
	overflow: hidden;
	background:
		radial-gradient(circle at 16% 20%, rgba(51, 200, 215, .12), transparent 28%),
		radial-gradient(circle at 84% 74%, rgba(255, 182, 77, .12), transparent 28%),
		var(--gray-50);
}

.home-pillar-grid,
.pillar-gateway-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.home-pillar-card {
	position: relative;
	min-height: 560px;
	padding: clamp(30px, 5vw, 54px);
	overflow: hidden;
	color: var(--white);
	background: var(--navy-900);
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: var(--radius-lg);
	box-shadow: 0 28px 70px rgba(5, 19, 36, .18);
}

.home-pillar-card::before {
	position: absolute;
	top: -110px;
	right: -90px;
	width: 330px;
	height: 330px;
	content: "";
	border-radius: 50%;
	filter: blur(6px);
	opacity: .24;
}

.home-pillar-card--wireless {
	background:
		linear-gradient(145deg, rgba(6, 103, 113, .74), rgba(7, 17, 31, .98) 56%),
		var(--navy-900);
}

.home-pillar-card--wireless::before {
	background: var(--wireless-accent);
}

.home-pillar-card--inertial {
	background:
		linear-gradient(145deg, rgba(113, 66, 9, .78), rgba(7, 17, 31, .98) 56%),
		var(--navy-900);
}

.home-pillar-card--inertial::before {
	background: var(--inertial-accent);
}

.home-pillar-card > * {
	position: relative;
	z-index: 1;
}

.home-pillar-card h3 {
	margin: 20px 0 12px;
	color: var(--white);
	font-size: clamp(2rem, 4vw, 3.5rem);
	line-height: 1.15;
}

.home-pillar-card__title {
	max-width: 18em;
	margin: 0 0 18px;
	color: var(--white);
	font-size: clamp(1.1rem, 2vw, 1.35rem);
	font-weight: 700;
	line-height: 1.55;
}

.home-pillar-card > p:not(.eyebrow, .home-pillar-card__title) {
	max-width: 38em;
	color: rgba(255, 255, 255, .72);
}

.home-pillar-card ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 9px;
	margin: 28px 0 36px;
	padding: 0;
	list-style: none;
}

.home-pillar-card li {
	padding: 10px 12px;
	color: rgba(255, 255, 255, .84);
	font-size: 13px;
	background: rgba(255, 255, 255, .07);
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: 9px;
}

.home-pillar-card__links {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px;
}

.home-pillar-card__links > a:not(.button) {
	color: var(--white);
	font-size: 13px;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 4px;
}

.pillar-page {
	--pillar-accent: var(--wireless-accent);
	--pillar-deep: var(--wireless-deep);
	--pillar-soft: var(--wireless-soft);
}

.pillar-page--inertial {
	--pillar-accent: var(--inertial-accent);
	--pillar-deep: var(--inertial-deep);
	--pillar-soft: var(--inertial-soft);
}

.pillar-hero {
	position: relative;
	overflow: hidden;
	color: var(--white);
	background:
		linear-gradient(128deg, rgba(7, 17, 31, .98), rgba(16, 36, 61, .92)),
		var(--navy-950);
}

.pillar-hero::after {
	position: absolute;
	right: -9vw;
	bottom: -42%;
	width: min(58vw, 760px);
	aspect-ratio: 1;
	content: "";
	border: 1px solid color-mix(in srgb, var(--pillar-accent) 40%, transparent);
	border-radius: 50%;
	box-shadow:
		0 0 0 48px color-mix(in srgb, var(--pillar-accent) 7%, transparent),
		0 0 0 108px color-mix(in srgb, var(--pillar-accent) 4%, transparent);
}

.pillar-hero__glow {
	position: absolute;
	top: -190px;
	left: 24%;
	width: 480px;
	height: 480px;
	background: var(--pillar-accent);
	border-radius: 50%;
	filter: blur(150px);
	opacity: .12;
}

.pillar-hero__grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr);
	gap: clamp(40px, 7vw, 90px);
	align-items: end;
	min-height: 640px;
	padding-block: clamp(80px, 10vw, 136px);
}

.pillar-hero .breadcrumbs {
	margin-bottom: 34px;
	color: rgba(255, 255, 255, .58);
}

.pillar-hero h1 {
	max-width: 12em;
	margin: 12px 0 18px;
	color: var(--white);
	font-size: clamp(3rem, 7vw, 6rem);
	line-height: 1.02;
	letter-spacing: -.045em;
}

.pillar-hero__title {
	max-width: 25em;
	margin: 0 0 14px;
	color: var(--pillar-accent);
	font-size: clamp(1.25rem, 2.3vw, 1.7rem);
	font-weight: 800;
	line-height: 1.55;
}

.pillar-hero__lead {
	max-width: 50em;
	color: rgba(255, 255, 255, .72);
	font-size: 16px;
}

.pillar-hero__panel {
	padding: 28px;
	background: rgba(255, 255, 255, .06);
	border: 1px solid rgba(255, 255, 255, .13);
	border-radius: var(--radius-md);
	backdrop-filter: blur(18px);
}

.pillar-hero__panel > p {
	margin: 0 0 16px;
	color: rgba(255, 255, 255, .64);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
}

.pillar-hero__panel ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.pillar-hero__panel li {
	display: grid;
	grid-template-columns: 56px 1fr;
	gap: 14px;
	align-items: baseline;
	padding: 16px 0;
	border-top: 1px solid rgba(255, 255, 255, .1);
}

.pillar-hero__panel strong {
	color: var(--pillar-accent);
	font-size: 28px;
	line-height: 1;
}

.pillar-hero__panel span {
	color: rgba(255, 255, 255, .82);
	font-size: 13px;
}

.pillar-local-nav {
	position: sticky;
	top: var(--header-height);
	z-index: 90;
	background: rgba(255, 255, 255, .96);
	border-bottom: 1px solid var(--gray-200);
	box-shadow: 0 8px 24px rgba(7, 17, 31, .06);
	backdrop-filter: blur(12px);
}

.pillar-local-nav .container {
	display: flex;
	gap: 8px 28px;
	overflow-x: auto;
	scrollbar-width: thin;
}

.pillar-local-nav a {
	flex: 0 0 auto;
	padding: 15px 0 13px;
	color: var(--gray-600);
	font-size: 13px;
	font-weight: 700;
	border-bottom: 3px solid transparent;
}

.pillar-local-nav a:hover,
.pillar-local-nav a:focus-visible {
	color: var(--pillar-deep);
	border-color: var(--pillar-accent);
}

.capability-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	margin: 34px 0 0;
	padding: 0;
	list-style: none;
}

.capability-grid li {
	min-height: 148px;
	padding: 24px;
	background: var(--pillar-soft);
	border: 1px solid color-mix(in srgb, var(--pillar-accent) 35%, var(--gray-200));
	border-radius: var(--radius-sm);
}

.capability-grid span {
	display: block;
	margin-bottom: 28px;
	color: var(--pillar-deep);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
}

.capability-grid strong {
	color: var(--navy-900);
	font-size: 17px;
}

.pillar-products .content-card {
	background: rgba(255, 255, 255, .06);
	border-color: rgba(255, 255, 255, .12);
}

.pillar-products .content-card h2,
.pillar-products .content-card h3,
.pillar-products .content-card a {
	color: var(--white);
}

.pillar-products .content-card p {
	color: rgba(255, 255, 255, .66);
}

.pillar-shared-note {
	margin: 30px 0 0;
	padding: 18px 20px;
	color: rgba(255, 255, 255, .8);
	font-size: 13px;
	background: color-mix(in srgb, var(--pillar-accent) 12%, transparent);
	border: 1px solid color-mix(in srgb, var(--pillar-accent) 38%, transparent);
	border-radius: 10px;
}

.case-library {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.public-case-card {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	padding: 26px;
	background: var(--white);
	border: 1px solid var(--gray-200);
	border-radius: var(--radius-md);
	box-shadow: 0 16px 42px rgba(7, 17, 31, .07);
}

.public-case-card__meta {
	display: flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 18px;
}

.public-case-card__meta span,
.public-case-card__meta strong {
	padding: 5px 8px;
	font-size: 10px;
	line-height: 1.2;
	border-radius: 999px;
}

.public-case-card__meta span {
	color: var(--white);
	background: var(--pillar-deep);
}

.public-case-card__meta strong {
	color: var(--pillar-deep);
	background: var(--pillar-soft);
}

.public-case-card h3 {
	margin: 0 0 8px;
	color: var(--navy-900);
	font-size: 19px;
	line-height: 1.45;
}

.public-case-card > p {
	color: var(--gray-600);
	font-size: 13px;
}

.public-case-card .public-case-card__organization {
	margin: 0 0 17px;
	color: var(--pillar-deep);
	font-size: 11px;
	font-weight: 800;
}

.public-case-card dl {
	margin: auto 0 18px;
	padding-top: 18px;
	border-top: 1px solid var(--gray-100);
}

.public-case-card dt {
	color: var(--gray-400);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .08em;
}

.public-case-card dd {
	margin: 4px 0 0;
	color: var(--gray-800);
	font-size: 12px;
}

.public-case-card > a {
	color: var(--pillar-deep);
	font-size: 12px;
	font-weight: 800;
	text-decoration: underline;
	text-underline-offset: 4px;
}

.source-disclaimer {
	display: grid;
	grid-template-columns: minmax(180px, .3fr) minmax(0, 1fr);
	gap: 28px;
	margin-top: 24px;
	padding: 22px 26px;
	background: var(--navy-900);
	border-radius: var(--radius-sm);
}

.source-disclaimer strong {
	color: var(--pillar-accent);
}

.source-disclaimer p {
	margin: 0;
	color: rgba(255, 255, 255, .68);
	font-size: 12px;
}

.pillar-choice {
	padding-top: 54px;
}

.pillar-gateway {
	display: flex;
	flex-direction: column;
	min-height: 370px;
	padding: clamp(28px, 4vw, 44px);
	color: var(--white);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow);
}

.pillar-gateway--wireless {
	background:
		radial-gradient(circle at 85% 18%, rgba(66, 211, 216, .34), transparent 28%),
		linear-gradient(145deg, #0a6370, var(--navy-950));
}

.pillar-gateway--inertial {
	background:
		radial-gradient(circle at 85% 18%, rgba(255, 182, 77, .35), transparent 28%),
		linear-gradient(145deg, #714109, var(--navy-950));
}

.pillar-gateway__eyebrow {
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .12em;
	opacity: .7;
}

.pillar-gateway h3 {
	margin: 18px 0 14px;
	color: var(--white);
	font-size: clamp(2rem, 4vw, 3.1rem);
	line-height: 1.15;
}

.pillar-gateway p {
	color: rgba(255, 255, 255, .7);
}

.pillar-gateway > strong {
	margin-top: auto;
	color: var(--white);
	font-size: 14px;
}

@media (max-width: 1100px) {
	.case-library {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

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

@media (max-width: 980px) {
	.home-pillar-grid,
	.pillar-gateway-grid,
	.pillar-hero__grid {
		grid-template-columns: 1fr;
	}

	.home-pillar-card {
		min-height: auto;
	}

	.pillar-hero__grid {
		min-height: auto;
		padding-block: 72px;
	}

	.pillar-hero__panel {
		max-width: 560px;
	}

	.pillar-local-nav {
		top: 72px;
	}
}

@media (max-width: 680px) {
	.home-pillar-grid,
	.pillar-gateway-grid,
	.case-library,
	.capability-grid,
	.source-disclaimer {
		grid-template-columns: 1fr;
	}

	.home-pillar-card ul {
		grid-template-columns: 1fr;
	}

	.pillar-hero h1 {
		font-size: clamp(2.7rem, 14vw, 4.2rem);
	}

	.pillar-local-nav .container {
		width: 100%;
		padding-inline: 20px;
	}

	.public-case-card {
		padding: 22px;
	}
}

/* ==========================================================================
   v0.5.1 product navigation, comparison and Japanese typography
   ========================================================================== */
body .pillar-hero h1 {
	color: #fff;
}

body .content-hero h1 {
	color: #fff;
}

h1,
h2,
h3 {
	text-wrap: balance;
	line-break: strict;
	word-break: normal;
	overflow-wrap: normal;
}

p,
li,
dt,
dd,
figcaption,
summary {
	text-wrap: pretty;
	line-break: strict;
	word-break: normal;
}

.entry-content,
.content-hero__lead,
.pillar-hero__lead,
.section-heading > p {
	max-width: 72ch;
}

.entry-content a,
.public-example-source dd,
.source-materials a {
	overflow-wrap: anywhere;
}

.choice-help {
	display: grid;
	grid-template-columns: minmax(220px, .9fr) minmax(280px, 1.4fr) auto;
	gap: 28px;
	align-items: center;
	margin-top: 28px;
	padding: 28px;
	background: var(--gray-50);
	border: 1px solid var(--gray-200);
	border-radius: var(--radius-md);
}

.choice-help h3,
.choice-help p {
	margin: 0;
}

.capability-grid li {
	padding: 0;
	overflow: hidden;
}

.capability-grid a {
	display: flex;
	flex-direction: column;
	min-height: 148px;
	padding: 24px;
	color: inherit;
	transition: transform .18s ease, background-color .18s ease;
}

.capability-grid a:hover,
.capability-grid a:focus-visible {
	background: color-mix(in srgb, var(--pillar-accent) 13%, #fff);
	transform: translateY(-2px);
}

.capability-grid a small {
	display: block;
	margin-top: auto;
	padding-top: 14px;
	color: var(--pillar-deep);
	font-size: 12px;
	font-weight: 800;
}

.product-group,
.inertial-matrix,
.legacy-products {
	scroll-margin-top: calc(var(--header-height) + 72px);
}

.product-group + .product-group,
.legacy-products {
	margin-top: clamp(70px, 9vw, 120px);
	padding-top: clamp(52px, 7vw, 84px);
	border-top: 1px solid rgba(255, 255, 255, .16);
}

.inertial-matrix {
	margin-top: clamp(36px, 5vw, 64px);
	padding-top: clamp(30px, 4vw, 48px);
	border-top: 1px solid rgba(255, 255, 255, .16);
}

.product-group__heading {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 28px;
	align-items: end;
	margin-bottom: 30px;
}

.product-group__heading h2,
.inertial-matrix h2,
.legacy-products h2 {
	margin: 6px 0 8px;
	color: #fff;
	font-size: clamp(1.8rem, 4vw, 3rem);
}

.product-group__heading p,
.inertial-matrix .section-heading > p,
.legacy-products > p {
	color: rgba(255, 255, 255, .72);
}

.product-group__count {
	margin: 0;
	white-space: nowrap;
}

.product-group__count strong {
	color: var(--pillar-accent);
	font-size: 2rem;
}

.comparison-table-wrap {
	max-width: 100%;
	overflow-x: auto;
	margin-top: 26px;
	background: #fff;
	border: 1px solid var(--gray-200);
	border-radius: 12px;
}

.comparison-table {
	width: max-content;
	min-width: 100%;
	border-collapse: collapse;
	color: var(--navy-900);
	background: #fff;
}

.comparison-table caption {
	padding: 16px;
	color: #fff;
	font-weight: 800;
	text-align: left;
	background: var(--navy-800);
}

.comparison-table th,
.comparison-table td {
	max-width: 260px;
	padding: 12px 14px;
	font-size: 12px;
	text-align: center;
	vertical-align: top;
	border: 1px solid var(--gray-200);
}

.comparison-table thead th {
	position: sticky;
	top: 0;
	z-index: 1;
	color: #fff;
	background: var(--navy-700);
}

.comparison-table tbody th {
	min-width: 170px;
	text-align: left;
}

.comparison-table td:nth-last-child(4),
.comparison-table td:nth-last-child(3) {
	min-width: 240px;
	text-align: left;
}

.comparison-table a {
	color: var(--blue-700);
	font-weight: 800;
	text-decoration: underline;
}

.comparison-cards {
	display: none;
}

.legacy-products {
	padding: clamp(28px, 5vw, 54px);
	background: rgba(255, 196, 0, .08);
	border: 1px solid rgba(255, 196, 0, .28);
	border-radius: var(--radius-md);
}

.lifecycle-badge {
	display: inline-flex;
	margin: 10px 0;
	padding: 5px 10px;
	color: var(--navy-900);
	font-size: 11px;
	font-weight: 800;
	background: #e6f7f0;
	border-radius: 999px;
}

.lifecycle-badge--not_recommended {
	color: #532d00;
	background: #ffe5b4;
}

.product-facts + .product-facts {
	margin-top: 44px;
	padding-top: 36px;
	border-top: 1px solid var(--gray-200);
}

.product-summary-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	margin: 28px 0 0;
	background: var(--gray-200);
	border: 1px solid var(--gray-200);
}

.product-summary-list > div {
	padding: 16px;
	background: #fff;
}

.product-summary-list dt {
	color: var(--gray-500);
	font-size: 12px;
	font-weight: 800;
}

.product-summary-list dd {
	margin: 4px 0 0;
	color: var(--navy-900);
	font-weight: 700;
}

.successor-note,
.translation-caution,
.source-hold {
	padding: 16px 18px;
	background: #fff7e3;
	border-left: 4px solid #d58b00;
}

.legacy-content {
	margin-top: 40px;
	padding: 18px;
	background: var(--gray-50);
	border: 1px solid var(--gray-200);
	border-radius: 10px;
}

.legacy-content summary {
	color: var(--navy-800);
	font-weight: 800;
	cursor: pointer;
}

.source-materials__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 24px 0;
}

.document-summary {
	max-width: 860px;
	padding: clamp(22px, 4vw, 36px);
	background: #fff;
	border: 1px solid var(--gray-200);
	border-radius: var(--radius-md);
}

.document-summary h3 {
	margin-top: 0;
}

.source-hold {
	max-width: 860px;
	margin-top: 18px;
}

@media (max-width: 900px) {
	.choice-help {
		grid-template-columns: 1fr;
	}

	.product-group__heading {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 680px) {
	.comparison-table-wrap {
		display: none;
	}

	.comparison-cards {
		display: grid;
		gap: 14px;
		margin-top: 24px;
	}

	.comparison-card {
		padding: 20px;
		color: var(--navy-900);
		background: #fff;
		border: 1px solid var(--gray-200);
		border-radius: 12px;
	}

	.comparison-card h3,
	.comparison-card p {
		margin-top: 0;
	}

	.comparison-card a {
		color: var(--blue-700);
	}

	.product-summary-list {
		grid-template-columns: 1fr;
	}

	.legacy-products {
		padding: 22px 16px;
	}
}

/* ========================================================================== 
   v0.5.3 wireless measurement navigation, product cards and inertial matrix
   ========================================================================== */
.measurement-filter {
	margin: 0 0 clamp(46px, 7vw, 76px);
	padding: clamp(22px, 4vw, 32px);
	background: rgba(255, 255, 255, .07);
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 18px;
}

.measurement-filter__label {
	margin: 0 0 14px;
	color: rgba(255, 255, 255, .74);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
}

.measurement-filter__links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.measurement-filter__links a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 9px 15px;
	color: #f5fbff;
	background: #193750;
	border: 1px solid #58758c;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 800;
	text-decoration: none;
}

.measurement-filter__links a:hover,
.measurement-filter__links a:focus-visible,
.measurement-filter__links a[aria-current="page"] {
	color: #062d20;
	background: #8be8c4;
	border-color: #8be8c4;
}

.measurement-results {
	scroll-margin-top: calc(var(--header-height) + 32px);
}

.supporting-products {
	margin-top: clamp(64px, 9vw, 110px);
	padding-top: clamp(48px, 7vw, 76px);
	border-top: 1px solid rgba(255, 255, 255, .18);
}

.measurement-empty {
	padding: clamp(28px, 5vw, 48px);
	color: #16324a;
	background: #f4f9fc;
	border: 1px solid #d5e3ec;
	border-radius: 16px;
}

.measurement-empty h2,
.measurement-empty h3,
.measurement-empty p {
	margin-top: 0;
	color: inherit;
}

.content-card__role {
	width: fit-content;
	margin: 0 0 10px !important;
	padding: 5px 10px;
	color: #12374d !important;
	background: #e7f1f7;
	border: 1px solid #bfd3df;
	border-radius: 999px;
	font-size: 11px !important;
	font-weight: 800;
}

.content-card__statement {
	margin: 0 0 12px !important;
	color: #102e42 !important;
	font-size: 14px !important;
	font-weight: 900;
	line-height: 1.55;
}

.pillar-products .content-card__statement {
	color: #fff !important;
}

.measurement-labels {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin: 0 0 16px;
	padding: 0;
	list-style: none;
}

.measurement-labels li {
	padding: 5px 9px;
	color: #0b4f35;
	background: #ddf7eb;
	border: 1px solid #94d9bd;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 800;
}

.content-card__summary {
	margin-bottom: 18px !important;
	line-height: 1.75;
}

.content-card__uses {
	margin: 0 0 20px;
	padding: 14px 16px;
	color: #17364b;
	background: #f3f7fa;
	border-radius: 10px;
}

.content-card__uses > strong,
.product-variant-brief > strong {
	display: block;
	margin-bottom: 7px;
	font-size: 12px;
}

.content-card__uses ul,
.product-variant-brief ul {
	margin: 0;
	padding-left: 18px;
	font-size: 12px;
	line-height: 1.7;
}

.pillar-products .content-card__uses,
.pillar-products .product-variant-brief {
	color: #e7f3fb;
	background: rgba(255, 255, 255, .09);
}

.product-variant-brief {
	margin: 0 0 20px;
	padding: 14px 16px;
	color: #17364b;
	background: #eef5f9;
	border-left: 3px solid #29a979;
}

.product-variant-brief li + li {
	margin-top: 5px;
}

.product-variant-brief b,
.product-variant-brief span {
	display: block;
}

.lifecycle-badge--current {
	color: #0b4f35;
	background: #ddf7eb;
	border: 1px solid #94d9bd;
}

.system-concept-visual {
	display: block;
	width: 100%;
	height: 100%;
}

.system-concept-visual img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover !important;
	background: #071a2d !important;
}

.single-hero__image .system-concept-visual {
	aspect-ratio: 16 / 9;
}

.single-product-statement {
	margin-bottom: 10px !important;
	color: #b9f3da !important;
	font-size: 17px;
	font-weight: 900;
}

.product-variants {
	margin-top: 34px;
	padding-top: 12px;
}

.product-variant-table-wrap {
	max-width: 100%;
	overflow: auto;
}

.product-variant-table {
	width: 100%;
	min-width: 720px;
	border-collapse: collapse;
}

.product-variant-table th,
.product-variant-table td {
	padding: 11px 12px;
	text-align: left;
	border: 1px solid var(--gray-200);
}

.product-variant-table thead th {
	color: #fff;
	background: var(--navy-700);
}

.variant-caution {
	padding: 14px 16px;
	background: #fff7e3;
	border-left: 4px solid #d58b00;
}

.interface-common-groups {
	margin-top: 28px;
	padding: clamp(20px, 4vw, 30px);
	color: #17364b;
	background: #edf6fb;
	border: 1px solid #c7dce8;
	border-radius: 14px;
}

.interface-common-groups h3,
.interface-common-groups p {
	margin-top: 0;
}

.interface-common-groups ul {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 18px 0;
	padding: 0;
	list-style: none;
}

.interface-common-groups li {
	display: grid;
	gap: 5px;
	padding: 14px;
	background: #fff;
	border: 1px solid #d1e0e9;
	border-radius: 10px;
}

.comparison-mode-switch {
	display: flex;
	gap: 8px;
	margin-top: 24px;
}

.comparison-mode-switch button {
	min-height: 42px;
	padding: 8px 16px;
	color: #17364b;
	background: #fff;
	border: 1px solid #9db6c7;
	border-radius: 8px;
	font-weight: 800;
	cursor: pointer;
}

.comparison-mode-switch button[aria-pressed="true"] {
	color: #fff;
	background: #1269a8;
	border-color: #1269a8;
}

.comparison-table-wrap {
	max-height: min(72vh, 760px);
	overflow: auto;
	overscroll-behavior: contain;
}

.comparison-table {
	width: 100%;
	min-width: 980px;
	table-layout: fixed;
}

.comparison-table [data-comparison-detail-column] {
	display: none;
}

.comparison-table[data-mode="detail"] {
	width: max-content;
	min-width: 1480px;
	table-layout: auto;
}

.comparison-table[data-mode="detail"] [data-comparison-detail-column] {
	display: table-cell;
}

.comparison-table th,
.comparison-table td {
	max-width: 180px;
	padding: 10px 9px;
	font-size: 11px;
	vertical-align: middle;
}

.comparison-table thead th {
	top: 0;
	z-index: 3;
	background: #17486d;
}

.comparison-table tbody th {
	position: sticky;
	left: 0;
	z-index: 2;
	min-width: 154px;
	max-width: 172px;
	color: #102e42;
	background: #fff;
	box-shadow: 1px 0 0 #d3dee6;
	overflow-wrap: normal;
	word-break: keep-all;
}

.comparison-table thead th:first-child {
	left: 0;
	z-index: 5;
	min-width: 154px;
	max-width: 172px;
	background: #123b5c;
}

.comparison-table tbody tr:hover td,
.comparison-table tbody tr:hover th {
	background: #eef7fc;
}

.comparison-table tbody th:focus-within {
	z-index: 6;
}

.comparison-table td:nth-last-child(4),
.comparison-table td:nth-last-child(3) {
	min-width: 0;
	text-align: center;
}

.comparison-card dl {
	display: grid;
	gap: 1px;
	margin: 18px 0;
	background: #dce7ee;
}

.comparison-card dl > div {
	display: grid;
	grid-template-columns: 110px minmax(0, 1fr);
	gap: 10px;
	padding: 10px 12px;
	background: #fff;
}

.comparison-card dt {
	font-weight: 800;
}

.comparison-card dd {
	margin: 0;
}

@media (max-width: 900px) {
	.interface-common-groups ul {
		grid-template-columns: 1fr;
	}

	.comparison-table {
		min-width: 940px;
	}
}

@media (max-width: 680px) {
	.measurement-filter__links {
		display: grid;
		grid-template-columns: 1fr;
	}

	.measurement-filter__links a {
		justify-content: center;
	}

	.content-card__uses {
		padding: 13px 14px;
	}

	.content-card__media--concept,
	.single-hero__image .system-concept-visual {
		aspect-ratio: 720 / 1040;
	}

	.comparison-mode-switch,
	.interface-common-groups {
		display: none;
	}

	.comparison-card dl > div {
		grid-template-columns: 104px minmax(0, 1fr);
	}
}

@media (prefers-reduced-motion: reduce) {
	.pillar-local-nav {
		backdrop-filter: none;
	}
}

/* WordPress-managed public examples and pillar child pages — v0.5.0 */
.global-nav a[aria-current="page"],
.mobile-nav a[aria-current="page"] {
	text-decoration: underline;
	text-decoration-color: var(--pillar-accent, var(--cyan-400));
	text-decoration-thickness: 3px;
	text-underline-offset: 8px;
}

.public-case-card h3 a {
	color: inherit;
}

.public-case-card h3 a:hover,
.public-case-card h3 a:focus-visible {
	color: var(--pillar-deep);
	text-decoration: underline;
	text-underline-offset: 4px;
}

.content-hero {
	position: relative;
	overflow: hidden;
	padding: 92px 0 76px;
	color: var(--white);
	background:
		radial-gradient(circle at 86% 12%, color-mix(in srgb, var(--pillar-accent, var(--blue-500)) 28%, transparent), transparent 34%),
		var(--navy-950);
}

.content-hero__inner {
	position: relative;
	z-index: 1;
}

.content-hero h1 {
	max-width: 980px;
	margin: 12px 0 18px;
	color: var(--white);
	font-size: clamp(2.35rem, 6vw, 4.8rem);
	line-height: 1.12;
	letter-spacing: -.045em;
}

.content-hero__lead {
	max-width: 820px;
	margin: 0;
	color: rgba(255, 255, 255, .72);
	font-size: clamp(1rem, 2vw, 1.25rem);
}

.public-example-facts {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	margin: 38px 0 0;
	padding: 0;
	list-style: none;
	background: rgba(255, 255, 255, .14);
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: var(--radius-sm);
	overflow: hidden;
}

.public-example-hero__figure {
	margin: 2rem 0 0;
	overflow: hidden;
	border: 1px solid var(--color-line, #d8e0e8);
	border-radius: 1rem;
	background: #f6f8fa;
}

.public-example-hero__image {
	display: block;
	width: 100%;
	max-height: 30rem;
	object-fit: cover;
}

.public-example-hero__figure figcaption {
	padding: .65rem 1rem;
	color: var(--color-text-muted, #52616d);
	font-size: .875rem;
}

.public-example-facts li {
	display: flex;
	flex-direction: column;
	padding: 18px;
	background: rgba(7, 17, 31, .72);
}

.public-example-facts strong {
	color: var(--pillar-accent, var(--cyan-400));
	font-size: 10px;
	letter-spacing: .08em;
}

.public-example-facts span {
	color: rgba(255, 255, 255, .82);
	font-size: 12px;
}

.public-example-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(300px, .55fr);
	gap: clamp(36px, 6vw, 84px);
	align-items: start;
}

.public-example-body > h2,
.public-example-source > h2 {
	margin: 8px 0 28px;
	color: var(--navy-900);
	font-size: clamp(1.8rem, 3.5vw, 2.8rem);
	line-height: 1.3;
}

.public-example-body section {
	padding: 22px 0;
	border-top: 1px solid var(--gray-200);
}

.public-example-body h3 {
	margin: 0 0 8px;
	color: var(--pillar-deep, var(--navy-700));
	font-size: 1rem;
}

.public-example-body p {
	margin: 0;
}

.public-example-status {
	margin-top: 10px !important;
	color: var(--gray-600);
	font-size: 12px;
}

.public-example-source {
	position: sticky;
	top: calc(var(--header-height) + 28px);
	padding: 28px;
	background: var(--gray-50);
	border: 1px solid var(--gray-200);
	border-radius: var(--radius-md);
}

.public-example-source dl {
	margin: 0 0 24px;
}

.public-example-source dt {
	margin-top: 14px;
	color: var(--gray-400);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .08em;
}

.public-example-source dd {
	margin: 3px 0 0;
	color: var(--gray-800);
	font-size: 13px;
	overflow-wrap: anywhere;
}

.source-disclaimer--large {
	grid-template-columns: minmax(180px, .28fr) minmax(0, 1fr);
}

.source-disclaimer--large p + p {
	margin-top: 10px;
}

.text-link--inverse {
	color: var(--white);
}

.pillar-section-page .card-list:empty {
	display: none;
}

@media (max-width: 900px) {
	.public-example-facts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.public-example-layout {
		grid-template-columns: 1fr;
	}

	.public-example-source {
		position: static;
	}
}

@media (max-width: 560px) {
	.content-hero {
		padding: 68px 0 56px;
	}

	.public-example-facts {
		grid-template-columns: 1fr;
	}

	.public-example-facts li,
	.public-example-source {
		padding: 18px;
	}

	.source-disclaimer--large {
		grid-template-columns: 1fr;
	}
}

/* ========================================================================== 
   v0.5.4 final contrast QA corrections
   ========================================================================== */
.la-pillar-wireless {
	--pillar-accent: var(--wireless-accent);
	--pillar-deep: var(--wireless-deep);
	--pillar-soft: var(--wireless-soft);
}

.la-pillar-inertial {
	--pillar-accent: var(--inertial-accent);
	--pillar-deep: var(--inertial-deep);
	--pillar-soft: var(--inertial-soft);
}

body .site-header .brand-copy strong {
	color: #9dccff;
}

body .quick-needs--pillars a,
body .quick-needs--pillars a strong,
body .quick-needs--pillars a span {
	color: #fff;
}

body .quick-needs--pillars a small,
body .hero-panel__note {
	color: rgba(255, 255, 255, .82);
}

body .company-links a,
body .company-links button {
	color: #9dccff;
}

body .final-cta .eyebrow,
body .final-cta p:not(.eyebrow) {
	color: #fff;
}

body .single-hero .breadcrumbs,
body .archive-hero .breadcrumbs,
body .page-hero .breadcrumbs,
body .content-hero .breadcrumbs {
	color: rgba(255, 255, 255, .78);
}

body .single-hero .breadcrumbs a,
body .archive-hero .breadcrumbs a,
body .page-hero .breadcrumbs a,
body .content-hero .breadcrumbs a {
	color: #a9d0ff;
}

body .public-case-card dt,
body .public-example-source dt {
	color: #526171;
}

body .source-disclaimer strong {
	color: var(--pillar-accent, #9dccff);
}

body .source-disclaimer p {
	color: rgba(255, 255, 255, .84);
}

body .contact-page-info .sidebar-card {
	color: var(--text);
}

body .contact-page-info .sidebar-card h2,
body .contact-page-info .sidebar-card h3 {
	color: var(--navy-950);
}

body .contact-page-info .sidebar-card p {
	color: var(--gray-600);
}

body .wpcf7-form span[style*="color:red"] {
	color: #b5121b !important;
}

/* ========================================================================== 
   v0.5.6 focused visual and public-content corrections
   ========================================================================== */
.floating-contact {
	display: none;
}

.legacy-successor-link {
	margin: 18px 0 0;
}

.legacy-successor-link a {
	display: inline-flex;
	padding: 9px 13px;
	color: #fff;
	border: 1px solid rgba(255, 255, 255, .58);
	border-radius: 8px;
	font-weight: 800;
	text-decoration: underline;
	text-underline-offset: 4px;
}

.single-hero--product .lifecycle-badge + h1 {
	margin-top: 12px;
}

.related-card--text-only {
	min-height: 0;
}

.related-card--text-only .content-card__body {
	height: 100%;
	padding-top: clamp(1.3rem, 2.6vw, 1.8rem);
}

.public-case-card__meta strong {
	max-width: 100%;
	overflow-wrap: break-word;
	word-break: normal;
}

.public-example-facts {
	margin-top: 28px;
}

.public-example-facts li {
	min-height: 78px;
	padding: 13px 15px;
}

.public-example-facts span,
.public-example-source dd {
	overflow-wrap: break-word;
	word-break: normal;
	hyphens: auto;
}

.comparison-mobile-group {
	display: block;
}

.comparison-mobile-group > summary {
	display: none;
}

@media (min-width: 1280px) {
	.floating-contact {
		display: flex;
		top: 50%;
		right: 0;
		bottom: auto;
		width: 40px;
		min-width: 40px;
		height: 132px;
		padding: 12px 8px;
		gap: 8px;
		border-radius: 12px 0 0 12px;
		box-shadow: 0 12px 28px rgba(5, 41, 86, .28);
		transform: translateY(-50%);
		writing-mode: vertical-rl;
	}

	.floating-contact strong {
		display: none;
	}
}

@media (max-width: 680px) {
	body:has(> .floating-contact) {
		padding-bottom: calc(80px + env(safe-area-inset-bottom));
	}

	.floating-contact {
		display: flex;
		left: 16px;
		right: 16px;
		bottom: calc(12px + env(safe-area-inset-bottom));
		width: auto;
		min-width: 0;
		height: 56px;
		padding: 0 18px;
		border-radius: 14px;
		transition: opacity .18s ease, visibility .18s ease;
	}

	body.la-menu-open .floating-contact,
	body.la-form-focus .floating-contact,
	body.la-filter-open .floating-contact,
	body.la-cta-collision .floating-contact {
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
	}

	.pillar-local-nav {
		position: relative;
		top: auto;
	}

	.pillar-local-nav .container {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 7px;
		width: 100%;
		padding: 10px 16px;
		overflow: visible;
		scrollbar-width: none;
	}

	.pillar-local-nav a {
		display: flex;
		min-width: 0;
		min-height: 42px;
		align-items: center;
		justify-content: center;
		padding: 7px 6px;
		border: 1px solid #cbd9e2;
		border-radius: 999px;
		font-size: 11px;
		line-height: 1.25;
		text-align: center;
		white-space: normal;
		word-break: keep-all;
		overflow-wrap: normal;
	}

	.pillar-local-nav a[aria-current="page"] {
		color: #fff;
		background: var(--pillar-deep, #173d5d);
		border-color: var(--pillar-deep, #173d5d);
	}

	.product-card .content-card__summary,
	.product-card .product-variant-brief,
	.product-card .measurement-labels li:nth-child(n + 3),
	.product-card .content-card__bullets li:nth-child(n + 3) {
		display: none;
	}

	.product-card .content-card__statement {
		display: -webkit-box;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 1;
	}

	.product-card .content-card__bullets {
		margin-bottom: 14px;
		padding: 11px 12px;
	}

	.product-card .content-card__media--concept {
		aspect-ratio: 4 / 3;
	}

	.comparison-mobile-group {
		margin-top: 12px;
		border: 1px solid rgba(255, 255, 255, .26);
		border-radius: 12px;
		overflow: hidden;
	}

	.inertial-matrix .comparison-mobile-group {
		border-color: #c9d8e2;
	}

	.comparison-mobile-group > summary {
		display: flex;
		min-height: 52px;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		padding: 12px 15px;
		color: #fff;
		background: rgba(255, 255, 255, .1);
		font-weight: 800;
		cursor: pointer;
		list-style: none;
	}

	.inertial-matrix .comparison-mobile-group > summary {
		color: #17364b;
		background: #eef5f8;
	}

	.comparison-mobile-group > summary::-webkit-details-marker {
		display: none;
	}

	.comparison-mobile-group > summary::after {
		content: "+";
		font-size: 1.25rem;
		line-height: 1;
	}

	.comparison-mobile-group[open] > summary::after {
		content: "−";
	}

	.comparison-mobile-group > summary:focus-visible {
		outline: 3px solid #ffcf57;
		outline-offset: -3px;
	}

	.comparison-mobile-group > summary small {
		margin-left: auto;
		font-size: 11px;
		font-weight: 700;
		white-space: nowrap;
		opacity: .82;
	}

	.comparison-mobile-group__items {
		padding: 12px;
	}

	.comparison-cards--grouped {
		gap: 10px;
	}

	.comparison-cards--grouped .comparison-mobile-group__items {
		display: grid;
		gap: 12px;
		background: #f7fafc;
	}

	.comparison-card {
		padding: 16px;
	}

	.comparison-card__status {
		width: fit-content;
		padding: 4px 8px;
		color: #713619;
		background: #fff2cb;
		border-radius: 999px;
		font-size: 11px;
		font-weight: 800;
	}

	.public-example-facts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.public-example-facts li:nth-child(2),
	.public-example-facts li:nth-child(3) {
		grid-column: 1 / -1;
	}

	.public-example-facts li,
	.public-example-source {
		padding: 14px;
	}
}

@media (max-width: 360px) {
	.pillar-local-nav .container {
		padding-inline: 10px;
	}

	.pillar-local-nav a {
		font-size: 10px;
	}
}

/* ========================================================================== 
   v0.5.7 final ChatGPT review corrections
   ========================================================================== */
body .lifecycle-badge.lifecycle-badge--not_recommended,
body .lifecycle-badge.lifecycle-badge--not_recommended:hover,
body .lifecycle-badge.lifecycle-badge--not_recommended:focus-within {
	color: #241800;
	background: #ffe39b;
	border: 1px solid #765000;
}

.public-example-title__term {
	display: inline-block;
	white-space: nowrap;
}

body.single-public_example .site-main > .section,
body.single-product .site-main > .section,
body.single-product .site-main > .content-section {
	padding-block: clamp(48px, 5vw, 60px);
}

@media (min-width: 1280px) {
	body:has(> .floating-contact) .container {
		width: min(calc(100% - 144px), var(--container));
	}

	.floating-contact {
		right: 12px;
		width: 48px;
		min-width: 48px;
		height: 140px;
		padding: 14px 10px;
		border-radius: 12px;
	}
}

@media (max-width: 1279px) {
	.floating-contact {
		display: none;
	}
}

@media (max-width: 767px) {
	body:has(> .floating-contact) {
		padding-bottom: 0;
	}

	.floating-contact {
		display: none !important;
	}

	.public-example-title {
		font-size: clamp(1.2rem, 6vw, 1.45rem);
		line-height: 1.35;
		text-wrap: pretty;
	}
}

@media (max-width: 390px) {
	.public-example-facts {
		grid-template-columns: 1fr;
	}

	.public-example-facts > li {
		grid-column: 1 / -1;
		min-height: 0;
	}
}

/* v0.5.13 final cascade overrides for rules defined in earlier theme layers. */
.pillar-hero__grid {
	grid-template-columns: minmax(0, .92fr) minmax(480px, 1.08fr);
	gap: clamp(34px, 5vw, 68px);
	align-items: center;
}

.pillar-system-diagram {
	padding: 18px;
	background: rgba(255, 255, 255, .075);
}

.pillar-system-diagram .system-flow__number {
	color: #061725 !important;
	font-size: 11px !important;
}

.pillar-system-diagram .system-flow strong {
	color: #fff;
	font-size: 15px;
	line-height: 1.35;
}

.pillar-system-diagram .system-flow__logo {
	width: auto;
	max-width: min(100%, 220px);
	height: 38px;
	object-fit: contain;
	object-position: left center;
	border-radius: 0;
}

.pillar-system-diagram .system-flow__logo--sensorcloud {
	height: 31px;
}

.pillar-system-diagram .system-flow__software-logos img {
	width: auto;
	max-width: 112px;
	height: 28px;
	object-fit: contain;
	border-radius: 0;
}

.pillar-system-diagram .inertialconnect-mark {
	color: #79d7ff !important;
	font: 800 12px/1.2 Arial, sans-serif;
}

.content-card__media .software-brand-visual img,
.single-hero__image .software-brand-visual img {
	width: min(88%, 330px) !important;
	height: auto !important;
	max-height: 120px;
	object-fit: contain !important;
	background: transparent !important;
}

.content-card__media .software-brand-visual--sensorcloud img,
.single-hero__image .software-brand-visual--sensorcloud img {
	width: min(92%, 390px) !important;
}

.inertial-software-guide {
	margin-top: 0;
	margin-bottom: clamp(42px, 6vw, 72px);
}

.interface-common-groups ul {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.inertial-comparison-table[data-mode="major"] {
	width: 100%;
	min-width: 900px;
}

.inertial-comparison-table[data-mode="detail"] {
	min-width: 1320px;
}

.contact-layout {
	grid-template-columns: minmax(260px, .58fr) minmax(0, 1.42fr);
	gap: clamp(34px, 4vw, 56px);
}

@media (max-width: 1100px) {
	.interface-common-groups ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 980px) {
	.pillar-hero__grid,
	.contact-layout {
		grid-template-columns: 1fr;
	}

	.pillar-system-diagram {
		width: min(100%, 680px);
	}
}

@media (max-width: 680px) {
	.interface-common-groups {
		display: block;
	}

	.interface-common-groups ul {
		grid-template-columns: 1fr;
	}

	.pillar-system-diagram {
		padding: 12px;
	}
}

/* ==========================================================================
   v0.5.14 responsive evidence, logo contrast and comparison deduplication
   ========================================================================== */
.system-flow__brand-step {
	min-height: 92px !important;
}

.system-flow__logo-plate {
	display: flex !important;
	width: fit-content;
	max-width: 100%;
	min-height: 56px;
	padding: 7px 11px;
	align-items: center;
	justify-content: flex-start;
	gap: 8px;
	color: #17364b;
	background: #fff;
	border: 1px solid rgba(199, 220, 232, .95);
	border-radius: 9px;
	box-shadow: 0 6px 16px rgba(0, 17, 31, .16);
	box-sizing: border-box;
}

.pillar-system-diagram .system-flow__logo-plate .system-flow__logo,
.pillar-system-diagram .system-flow__logo-plate > img {
	display: block;
	width: auto;
	max-width: 88px;
	height: 42px;
	object-fit: contain;
	object-position: center;
}

.pillar-system-diagram .system-flow__logo-plate.system-flow__logo-plate--sensorcloud > img {
	width: auto;
	max-width: 220px !important;
	height: 34px;
	max-height: 34px;
}

.system-flow__brand-name {
	color: #17364b;
	font: 900 13px/1.15 Arial, sans-serif;
	letter-spacing: -.02em;
	white-space: nowrap;
}

.pillar-system-diagram .system-flow__brand-name {
	color: #17364b !important;
}

.system-flow__software {
	min-height: 184px !important;
}

.system-flow__software-plates {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px !important;
	margin-top: 6px;
}

.system-flow__software-card {
	display: grid;
	grid-template-rows: 76px auto;
	gap: 5px;
	min-width: 0;
}

.system-flow__software-card .system-flow__logo-plate {
	width: 100%;
	min-width: 0;
	min-height: 76px;
	padding: 6px;
	flex-direction: column;
	justify-content: center;
	gap: 2px;
}

.pillar-system-diagram .system-flow__software-card img {
	width: auto;
	max-width: 70px;
	height: 36px;
	object-fit: contain;
}

.system-flow__software-card .system-flow__brand-name {
	font-size: 13px;
}

.system-flow__software-card > small {
	font-size: 9px;
	line-height: 1.35;
	text-align: center;
	text-wrap: balance;
}

.system-flow__software-card .inertialconnect-mark {
	justify-content: center;
	color: #1269a8 !important;
	font-size: 12px;
	white-space: nowrap;
}

.company-service-cards,
.company-service-cards__note {
	display: none;
}

.interface-common-groups ul {
	grid-template-columns: repeat(6, minmax(0, 1fr));
}

.interface-common-groups li {
	grid-column: span 2;
	align-content: start;
	min-width: 0;
}

.interface-common-groups li:nth-child(4) {
	grid-column: 2 / span 2;
}

.interface-common-groups li:nth-child(5) {
	grid-column: 4 / span 2;
}

.interface-common-card__heading {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 10px;
}

.interface-common-card__heading strong {
	line-height: 1.45;
	word-break: keep-all;
	overflow-wrap: break-word;
}

.interface-common-card__count {
	display: inline-flex;
	min-width: 48px;
	min-height: 24px;
	padding: 3px 8px;
	align-items: center;
	justify-content: center;
	color: #0b5687;
	background: #dff2fb;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 900;
	line-height: 1;
	white-space: nowrap;
}

.interface-lines > span {
	font-size: 14px;
	line-height: 1.55;
	word-break: keep-all;
	overflow-wrap: break-word;
}

.comparison-table .comparison-family-row th .comparison-family-software,
.comparison-family-note span {
	display: block;
	margin-top: 6px;
	color: #dffbff;
	font-size: 11px;
	font-weight: 800;
}

.comparison-family-note span {
	color: #2b566f;
	font-size: 12px;
}

@media (max-width: 1100px) {
	.interface-common-groups ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.interface-common-groups li,
	.interface-common-groups li:nth-child(4),
	.interface-common-groups li:nth-child(5) {
		grid-column: auto;
	}
}

@media (max-width: 900px) {
	.company-service-visual {
		display: none;
	}

	.company-service-cards {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px;
		margin: 30px 0 0;
		padding: 0;
		list-style: none;
	}

	.company-service-cards > li {
		position: relative;
		padding: 24px;
		background: #fff;
		border: 1px solid #cbdde7;
		border-radius: 16px;
		box-shadow: 0 14px 32px rgba(16, 54, 75, .1);
	}

	.company-service-card__heading {
		display: grid;
		grid-template-columns: 48px minmax(0, 1fr);
		gap: 14px;
		align-items: center;
	}

	.company-service-card__heading > span {
		display: grid;
		width: 48px;
		height: 48px;
		place-items: center;
		color: #087d88;
		background: #ddf8f9;
		border-radius: 50%;
		font-size: 15px;
		font-weight: 900;
	}

	.company-service-cards > li:nth-child(2) .company-service-card__heading > span {
		color: #176fd1;
		background: #e7f0ff;
	}

	.company-service-cards > li:nth-child(3) .company-service-card__heading > span {
		color: #9d5707;
		background: #fff0db;
	}

	.company-service-cards > li:nth-child(4) .company-service-card__heading > span {
		color: #28864c;
		background: #e7f7ec;
	}

	.company-service-card__heading h3 {
		margin: 0;
		color: #123b5c;
		font-size: 20px;
		line-height: 1.4;
	}

	.company-service-card__heading p {
		margin: 3px 0 0;
		color: #617784;
		font-size: 14px;
		line-height: 1.55;
	}

	.company-service-cards ul {
		margin: 18px 0 0;
		padding: 16px 0 0 20px;
		border-top: 1px solid #e1ebf0;
		color: #28485d;
		font-size: 14px;
		line-height: 1.65;
	}

	.company-service-cards ul li + li {
		margin-top: 4px;
	}

	.company-service-cards__note {
		display: block;
		margin: 18px 0 0;
		padding: 12px 18px;
		color: #fff;
		background: #123b5c;
		border-radius: 10px;
		font-size: 14px;
		font-weight: 700;
		line-height: 1.65;
	}
}

@media (max-width: 768px) {
	.interface-common-groups ul {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 680px) {
	.company-service-cards {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.company-service-cards > li:not(:last-child)::after {
		content: "↓";
		position: absolute;
		left: 50%;
		bottom: -28px;
		color: #238ea7;
		font-size: 20px;
		font-weight: 900;
		transform: translateX(-50%);
	}
}

@media (max-width: 480px) {
	.system-flow__software {
		min-height: 386px !important;
	}

	.system-flow__software-plates {
		grid-template-columns: 1fr;
	}

	.system-flow__software-card {
		grid-template-columns: 1fr;
		grid-template-rows: 70px auto;
		gap: 4px;
		align-items: center;
	}

	.system-flow__software-card .system-flow__logo-plate {
		min-height: 70px;
	}

	.system-flow__software-card > small {
		padding-inline: 4px;
		font-size: 11px;
		line-height: 1.35;
		text-align: center;
		white-space: normal;
	}

	.system-flow__brand-step .system-flow__logo-plate {
		width: 100%;
	}

	.company-service-cards > li {
		padding: 20px;
	}
}

@media (max-width: 340px) {
	.company-service-card__heading {
		grid-template-columns: 42px minmax(0, 1fr);
		gap: 11px;
	}

	.company-service-card__heading > span {
		width: 42px;
		height: 42px;
	}
}

/* ==========================================================================
   v0.5.15 final mobile wrapping and inertial comparison width corrections
   ========================================================================== */
.inertial-matrix .comparison-table-wrap {
	width: 100%;
	min-width: 0;
	scroll-padding-inline: 1px;
}

.inertial-comparison-table[data-mode="major"] {
	width: 100%;
	min-width: 0;
	table-layout: fixed;
}

.inertial-comparison-table[data-mode="major"] .comparison-col--product {
	width: 22%;
}

.inertial-comparison-table[data-mode="major"] .comparison-col--form,
.inertial-comparison-table[data-mode="major"] .comparison-col--category {
	width: 11%;
}

.inertial-comparison-table[data-mode="major"] .comparison-col--output {
	width: 8%;
}

.inertial-comparison-table[data-mode="major"] .comparison-col--interface {
	width: 16%;
}

.inertial-comparison-table[data-mode="major"] .comparison-col--link {
	width: 8%;
}

.inertial-comparison-table[data-mode="major"] th,
.inertial-comparison-table[data-mode="major"] td {
	word-break: normal;
	overflow-wrap: break-word;
}

.inertial-comparison-table[data-mode="major"] tbody th {
	min-width: 0;
	max-width: none;
}

@media (max-width: 680px) {
	.wireless-comparison .section-heading--split {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 18px;
		width: 100%;
		min-width: 0;
		max-width: 100%;
	}

	.wireless-comparison .section-heading--split > div,
	.wireless-comparison .section-heading--split > p,
	.wireless-comparison .section-heading--split h2 {
		width: 100%;
		min-width: 0;
		max-width: 100%;
	}

	.wireless-comparison .section-heading--split h2 {
		font-size: clamp(1.35rem, 7vw, 1.75rem);
		line-height: 1.35;
		white-space: normal;
		word-break: normal;
		overflow-wrap: break-word;
		text-wrap: pretty;
	}

	.wireless-comparison-title__lead {
		display: block;
	}

	.wireless-comparison .section-heading--split > p {
		white-space: normal;
		word-break: normal;
		overflow-wrap: break-word;
		text-wrap: pretty;
	}
}

/* ==========================================================================
   Technical content visual system — Human Visual Gate recovery 2026-08-25
   ========================================================================== */
.entry-content--technical,
.technical-guide,
.technology-hub {
	min-width: 0;
}

.entry-content--technical > :first-child,
.technical-guide > :first-child,
.technology-hub > :first-child {
	margin-top: 0;
}

.entry-content--technical h2,
.technical-guide h2,
.technology-hub h2 {
	color: var(--navy-950);
	line-height: 1.35;
	word-break: normal;
	overflow-wrap: normal;
	text-wrap: pretty;
}

.entry-content--technical h3,
.technical-guide h3,
.technology-hub h3 {
	color: var(--navy-950);
	line-height: 1.45;
	word-break: normal;
	overflow-wrap: normal;
	text-wrap: pretty;
}

.entry-content--technical > h2,
.technical-guide > h2 {
	margin: clamp(42px, 6vw, 72px) 0 18px;
	padding-top: clamp(28px, 4vw, 42px);
	border-top: 1px solid var(--gray-200);
	font-size: clamp(1.65rem, 3vw, 2.2rem);
}

.entry-content--technical > h3,
.technical-guide > h3 {
	margin: 28px 0 10px;
	font-size: clamp(1.15rem, 2vw, 1.4rem);
}

.entry-content--technical p,
.entry-content--technical li,
.technical-guide p,
.technical-guide li {
	line-height: 1.9;
}

.entry-content--technical ul,
.entry-content--technical ol,
.technical-guide ul,
.technical-guide ol {
	padding-left: 1.4em;
}

.entry-content--technical li + li,
.technical-guide li + li {
	margin-top: .45em;
}

.entry-content--technical hr,
.technical-guide hr {
	margin: clamp(36px, 5vw, 60px) 0;
	border: 0;
	border-top: 1px solid var(--gray-200);
}

.entry-content--technical .la-tech-diagram,
.entry-content--technical .tech-diagram,
.technical-guide .la-tech-diagram,
.technical-guide .tech-diagram {
	margin: clamp(28px, 4vw, 48px) 0;
	padding: clamp(18px, 3vw, 30px);
	overflow: hidden;
	background: var(--gray-50);
	border: 1px solid var(--gray-200);
	border-radius: 18px;
}

.entry-content--technical .la-tech-diagram picture,
.entry-content--technical .tech-diagram picture,
.technical-guide .la-tech-diagram picture,
.technical-guide .tech-diagram picture {
	display: block;
}

.entry-content--technical .la-tech-diagram img,
.entry-content--technical .tech-diagram img,
.entry-content--technical .la-tech-diagram svg,
.entry-content--technical .tech-diagram svg,
.technical-guide .la-tech-diagram img,
.technical-guide .tech-diagram img,
.technical-guide .la-tech-diagram svg,
.technical-guide .tech-diagram svg {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	object-fit: contain;
}

.entry-content--technical .la-tech-diagram figcaption,
.entry-content--technical .tech-diagram figcaption,
.technical-guide .la-tech-diagram figcaption,
.technical-guide .tech-diagram figcaption {
	margin-top: 14px;
	color: var(--gray-600);
	font-size: .82rem;
	line-height: 1.6;
	text-align: center;
}

.entry-content--technical table,
.technical-guide table {
	display: table;
	width: 100%;
	margin: 26px 0;
	background: #fff;
}

.entry-content--technical .table-scroll,
.technical-guide .table-scroll {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}


.entry-content--technical .la-table-wrap,
.technical-guide .la-table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	margin: 26px 0;
}

.technical-guide > h3 {
	padding: 18px 20px;
	background: #fff;
	border: 1px solid var(--gray-200);
	border-left: 4px solid var(--blue-600);
	border-radius: 12px;
}

.technical-guide > h3 + p {
	margin: -2px 8px 26px;
	padding: 0 14px 8px;
	color: var(--gray-600);
}

.technical-guide > h3 a {
	color: var(--blue-600);
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}

.technology-hub__lead {
	max-width: 900px;
	margin: 0 0 clamp(30px, 5vw, 54px);
	color: var(--gray-700);
	font-size: clamp(1.03rem, 1.8vw, 1.16rem);
	line-height: 1.9;
}


.technology-map {
	margin: 0 0 clamp(30px, 5vw, 54px);
	padding: clamp(18px, 3vw, 28px);
	background: var(--gray-50);
	border: 1px solid var(--gray-200);
	border-radius: 18px;
	overflow: hidden;
}

.technology-map svg {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}

.technology-map text {
	font-family: inherit;
	fill: var(--navy-950);
}

.technology-map figcaption {
	margin-top: 12px;
	color: var(--gray-600);
	font-size: .82rem;
	line-height: 1.6;
	text-align: center;
}

.technology-domain-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.technology-domain-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: clamp(24px, 3vw, 32px);
	background: #fff;
	border: 1px solid var(--gray-200);
	border-radius: 18px;
	box-shadow: 0 12px 32px rgba(5, 25, 43, .06);
}

.technology-domain-card__eyebrow {
	margin: 0 0 10px;
	color: var(--blue-600);
	font-size: .72rem;
	font-weight: 900;
	letter-spacing: .12em;
}

.technology-domain-card h2 {
	margin: 0 0 12px;
	font-size: clamp(1.35rem, 2vw, 1.65rem);
}

.technology-domain-card > p:not(.technology-domain-card__eyebrow) {
	margin: 0 0 20px;
	color: var(--gray-600);
	font-size: .92rem;
	line-height: 1.8;
}

.technology-link-list {
	display: grid;
	gap: 0;
	margin: auto 0 0;
	padding: 0;
	list-style: none;
}

.technology-link-list li {
	margin: 0;
	border-top: 1px solid var(--gray-200);
}

.technology-link-list a {
	display: block;
	padding: 13px 0;
	color: var(--blue-600);
	font-weight: 800;
	line-height: 1.55;
	text-decoration: none;
}

.technology-link-list a:hover,
.technology-link-list a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 4px;
}

.technology-next-step {
	margin-top: clamp(34px, 6vw, 64px);
	padding: clamp(26px, 4vw, 40px);
	background: var(--gray-50);
	border: 1px solid var(--gray-200);
	border-radius: 18px;
}

.technology-next-step h2 {
	margin: 0 0 12px;
}

.technology-next-step p {
	max-width: 900px;
}

@media (max-width: 980px) {
	.technology-domain-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.entry-content--technical > h2,
	.technical-guide > h2 {
		font-size: clamp(1.45rem, 6.5vw, 1.85rem);
	}

	.entry-content--technical .la-tech-diagram,
	.entry-content--technical .tech-diagram,
	.technical-guide .la-tech-diagram,
	.technical-guide .tech-diagram {
		margin-inline: 0;
		padding: 14px;
		border-radius: 14px;
	}

	.technical-guide > h3 {
		padding: 16px;
	}

	.technology-map {
		padding: 12px;
		border-radius: 14px;
	}
}

/* Technical-page hero wrapping: prevent unnatural Japanese single-character breaks */
body.single-related_info .single-hero h1,
body.page-id-2971 .page-hero h1,
body.page-id-3451 .page-hero h1,
body.page-id-3453 .page-hero h1,
body.page-id-3455 .page-hero h1,
body.page-id-3457 .page-hero h1,
body.page-id-3459 .page-hero h1,
body.page-id-3461 .page-hero h1,
body.page-id-3441 .page-hero h1,
body.page-id-3443 .page-hero h1,
body.page-id-3445 .page-hero h1,
body.page-id-3447 .page-hero h1,
body.page-id-3449 .page-hero h1 {
	word-break: normal;
	overflow-wrap: normal;
	text-wrap: pretty;
}

/* ==========================================================================
   Technical diagram assets — HP-006 / HP-011 Human Review 2026-08-25
   ========================================================================== */
.pillar-technical-diagram {
	width: min(100%, 680px);
	margin: clamp(28px, 5vw, 48px) auto;
	padding: 20px;
	background: #fff;
	border: 1px solid var(--gray-200);
	border-radius: 18px;
	box-shadow: 0 12px 32px rgba(5, 25, 43, .06);
}

.pillar-technical-diagram img {
	display: block;
	width: 100%;
	max-width: 640px;
	height: auto;
	margin: 0 auto;
}

.pillar-technical-diagram figcaption {
	margin: 14px auto 0;
	color: var(--gray-600);
	font-size: .82rem;
	line-height: 1.6;
	text-align: center;
}

@media (max-width: 640px) {
	.pillar-technical-diagram {
		margin-block: 24px;
		padding: 12px;
		border-radius: 14px;
	}
}


/* ========================================================================== 
   Application Human Review fast pass — 2026-08-30
   Version: 1.0.0
   Changes:
   - Shows the six approved Legacy Application hero images as landscape assets
     instead of forcing them into a padded square-like media box.
   - Uses a landscape ratio for Application cards so Human Review sees the
     intended visual composition without the large white frame.
   - Scope is presentation-only; Application body copy and asset bindings stay unchanged.
   ========================================================================== */
.single-hero--application .single-hero__grid {
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(24px, 4vw, 40px);
}

.single-hero--application .single-hero__image--application {
	min-height: 0;
	padding: 0;
	overflow: hidden;
	background: transparent;
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: 18px;
}

.single-hero--application .single-hero__image--application > a {
	display: block;
	width: 100%;
}

.single-hero--application .single-hero__image--application img {
	display: block;
	width: 100%;
	height: auto;
	max-height: none;
	margin: 0;
	object-fit: contain;
	background: transparent;
}

.application-card .content-card__image.content-card__media {
	aspect-ratio: 12 / 5;
	background: #0b1d2c;
}

.application-card .content-card__image.content-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	background: transparent;
}

@media (max-width: 640px) {
	.single-hero--application .single-hero__grid {
		gap: 22px;
	}

	.single-hero--application .single-hero__image--application {
		border-radius: 14px;
	}

	.application-card .content-card__image.content-card__media {
		aspect-ratio: 2 / 1;
	}
}


/* BEGIN LA FINAL SOURCE IMPLEMENTATION 20260831 */
.site-main{overflow:visible}
:where(main,article,section,[id]){scroll-margin-top:calc(var(--header-height,72px) + 24px)}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #087d88;outline-offset:3px;box-shadow:0 0 0 2px #fff}
:where(button,.button,[role="button"],summary){min-inline-size:24px;min-block-size:24px}
:where(.container,.single-layout,.card-list,.case-library,.related-grid)>*{min-width:0}
:where(h1,h2,h3,p,li,dd,dt){line-break:strict;word-break:normal;overflow-wrap:anywhere}
@supports(text-wrap:pretty){:where(p,li){text-wrap:pretty}:where(h1,h2,h3){text-wrap:balance}}
.technical-figure,.table-scroll,.comparison-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
.technical-figure img,.technical-figure svg,.la-final-figure img{display:block;width:100%;height:auto;max-width:none}
.la-final-source-state{padding-block:clamp(1.5rem,4vw,3.5rem);background:#f5f9fb}
.la-final-visuals{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:1rem}
.la-final-figure{margin:0;border:1px solid #c9dbe3;border-radius:14px;background:#fff;padding:.75rem}
.la-final-figure--human-approved-context,.single-application .single-hero__image{aspect-ratio:16/9;padding:0;overflow:hidden;background:transparent}
.la-final-figure--human-approved-context img,.single-application .single-hero__image img{width:100%;height:100%;object-fit:cover}
.la-final-copy{margin-block:1.25rem;padding:1rem 1.125rem;border-inline-start:4px solid #087d88;background:#fff;color:#173b4d}
.la-final-related-links{margin-top:1.5rem;border-top:1px solid #c9dbe3;padding-top:1rem}
.la-final-related-links ul{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;padding-inline-start:1.25rem}
.floating-contact{inset-block-end:max(1rem,env(safe-area-inset-bottom));inset-inline-end:max(1rem,env(safe-area-inset-right))}
@media(max-width:600px){.la-final-visuals{grid-template-columns:1fr}.la-final-related-links ul{display:block}.la-final-related-links li+li{margin-top:.5rem}}
@media(forced-colors:active){.la-final-copy,.la-final-figure{border:1px solid CanvasText}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/* END LA FINAL SOURCE IMPLEMENTATION 20260831 */
