/* DragonSat Vision 2.0 enhancements */

:root {
	--ds-blue: #2878ff;
	--ds-blue-dark: #155bcc;
	--ds-cyan: #5bd8ff;
	--ds-navy: #051522;
	--ds-navy-2: #09243a;
	--ds-ink: #071522;
	--ds-ink-soft: #17283a;
	--ds-off-white: #f6f8fb;
	--ds-cloud: #edf2f7;
	--ds-line: #dce4ed;
	--ds-muted: #5d6e80;
	--ds-radius: 20px;
	--ds-radius-lg: 30px;
	--ds-radius-xl: 44px;
	--ds-shadow-sm: 0 10px 34px rgba(6, 25, 41, 0.08);
	--ds-shadow: 0 28px 76px rgba(6, 25, 41, 0.14);
	--ds-container: 1320px;
	--ds-section: clamp(78px, 8vw, 126px);
}

[hidden] {
	display: none !important;
}

body {
	font-size: 16px;
}

h1,
h2,
h3 {
	text-wrap: balance;
}

p {
	text-wrap: pretty;
}

.site-shell {
	overflow: clip;
}

.section-heading h2 {
	letter-spacing: -0.045em;
}

.section-intro {
	line-height: 1.72;
}

.button {
	letter-spacing: -0.01em;
}

/* Header */
.announcement-bar {
	background: #071d2f;
}

.announcement-inner {
	min-height: 36px;
}

.site-header {
	border-bottom-color: rgba(6, 25, 41, 0.075);
}

.header-inner {
	min-height: 78px;
	gap: 28px;
}

.brand-mark {
	width: 42px;
	height: 42px;
}

.brand-word {
	font-size: 1.36rem;
	font-weight: 820;
	letter-spacing: -0.055em;
}

.primary-menu {
	gap: 4px;
}

.primary-menu > li > a {
	padding: 10px 13px;
	border-radius: 999px;
	font-size: 0.88rem;
}

.primary-menu > li.current-menu-item > a,
.primary-menu > li.current_page_item > a,
.primary-menu > li > a:hover {
	background: var(--ds-cloud);
	color: var(--ds-blue-dark);
}

.header-support-link {
	padding: 9px 0;
}

.header-cta {
	padding-inline: 17px;
}

/* Homepage hero */
.hero-section-v2 {
	min-height: auto;
	padding-top: clamp(70px, 8vw, 112px);
	background:
		radial-gradient(circle at 78% 24%, rgba(40, 120, 255, 0.24), transparent 30%),
		radial-gradient(circle at 13% 85%, rgba(91, 216, 255, 0.1), transparent 28%),
		linear-gradient(128deg, #04111d 0%, #071b2d 48%, #0b2c48 100%);
}

.hero-inner-v2 {
	grid-template-columns: minmax(0, 0.92fr) minmax(520px, 1.08fr);
	gap: clamp(38px, 5vw, 76px);
}

.hero-section-v2 .hero-copy {
	padding: 0 0 76px;
}

.hero-section-v2 .hero-copy h1 {
	max-width: 760px;
	margin-bottom: 25px;
	font-size: clamp(3.5rem, 6vw, 6.15rem);
	line-height: 0.98;
}

.hero-section-v2 .hero-description {
	max-width: 610px;
}

.hero-proof-v2 {
	padding: 0;
	margin-top: 30px;
	list-style: none;
}

.hero-proof-v2 li {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}

.hero-visual-v2 {
	min-height: 590px;
}

.hero-visual-v2 > img {
	right: -5%;
	bottom: 8px;
	width: min(790px, 112%);
}

.hero-screen-card {
	position: absolute;
	z-index: 5;
	display: grid;
	grid-template-columns: 44px 1fr;
	align-items: center;
	gap: 12px;
	min-width: 210px;
	padding: 13px 15px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 16px;
	background: rgba(4, 20, 34, 0.72);
	box-shadow: 0 22px 55px rgba(0, 0, 0, 0.25);
	backdrop-filter: blur(18px);
}

.hero-screen-card > span {
	display: grid;
	width: 44px;
	height: 44px;
	place-items: center;
	border-radius: 13px;
	background: rgba(91, 216, 255, 0.12);
	color: var(--ds-cyan);
}

.hero-screen-card strong,
.hero-screen-card small {
	display: block;
}

.hero-screen-card strong {
	color: #fff;
	font-size: 0.88rem;
}

.hero-screen-card small {
	color: rgba(255, 255, 255, 0.55);
	font-size: 0.68rem;
}

.hero-screen-card-live {
	top: 82px;
	left: -8px;
}

.hero-screen-card-stream {
	right: -20px;
	bottom: 130px;
}

.hero-value-strip {
	position: relative;
	z-index: 4;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-bottom: 0;
	border-radius: 24px 24px 0 0;
	background: rgba(3, 18, 30, 0.82);
	box-shadow: 0 -16px 50px rgba(0, 0, 0, 0.14);
	backdrop-filter: blur(18px);
}

.hero-value-strip > div {
	display: grid;
	grid-template-columns: 50px 1fr;
	gap: 2px 14px;
	align-items: center;
	min-height: 104px;
	padding: 22px 26px;
	border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.hero-value-strip > div:last-child {
	border-right: 0;
}

.hero-value-strip > div > span {
	grid-row: 1 / 3;
	display: grid;
	width: 50px;
	height: 50px;
	place-items: center;
	border-radius: 15px;
	background: rgba(40, 120, 255, 0.13);
	color: var(--ds-cyan);
}

.hero-value-strip strong,
.hero-value-strip small {
	display: block;
}

.hero-value-strip strong {
	color: #fff;
	font-size: 0.88rem;
}

.hero-value-strip small {
	color: rgba(255, 255, 255, 0.48);
	font-size: 0.72rem;
	line-height: 1.4;
}

/* Connection selector */
.connection-section {
	background: var(--ds-off-white);
}

.connection-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
	margin-top: 54px;
}

.connection-card {
	position: relative;
	display: flex;
	min-height: 390px;
	flex-direction: column;
	align-items: flex-start;
	padding: 34px;
	border: 1px solid var(--ds-line);
	border-radius: var(--ds-radius-lg);
	background: #fff;
	box-shadow: 0 12px 38px rgba(6, 25, 41, 0.045);
	overflow: hidden;
	transition: transform var(--ds-transition), box-shadow var(--ds-transition), border-color var(--ds-transition);
}

.connection-card::before {
	position: absolute;
	top: -80px;
	right: -80px;
	width: 210px;
	height: 210px;
	border-radius: 50%;
	background: rgba(40, 120, 255, 0.055);
	content: "";
}

.connection-card:hover {
	border-color: rgba(40, 120, 255, 0.32);
	box-shadow: var(--ds-shadow);
	color: inherit;
	transform: translateY(-7px);
}

.connection-card-icon {
	display: grid;
	width: 64px;
	height: 64px;
	place-items: center;
	margin-bottom: 48px;
	border-radius: 19px;
	background: var(--ds-cloud);
	color: var(--ds-blue);
}

.connection-card-icon .icon {
	width: 30px;
	height: 30px;
}

.connection-card-label {
	margin-bottom: 9px;
	color: var(--ds-blue-dark);
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.connection-card h3 {
	font-size: clamp(1.55rem, 2.1vw, 2.05rem);
}

.connection-card p {
	margin-bottom: 26px;
	color: var(--ds-muted);
	font-size: 0.94rem;
}

.connection-card .text-link {
	margin-top: auto;
}

.connection-card-aerial .connection-card-icon {
	background: rgba(47, 188, 140, 0.1);
	color: var(--ds-green);
}

.connection-card-satellite .connection-card-icon {
	background: rgba(255, 107, 61, 0.1);
	color: var(--ds-orange);
}

.connection-help-link {
	margin: 28px 0 0;
	text-align: center;
}

.connection-help-link a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 750;
}

/* Product cards */
.products-section-v2 {
	background: #fff;
}

.product-grid-home {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.product-card-v2 {
	display: flex;
	min-height: 100%;
	flex-direction: column;
	border-radius: 24px;
}

.product-card-v2 .product-card-art {
	min-height: 255px;
	padding: 26px 22px 12px;
	background:
		radial-gradient(circle at 50% 42%, rgba(40, 120, 255, 0.1), transparent 38%),
		linear-gradient(145deg, #f4f7fb, #e9eff6);
}

.product-card-image-link {
	display: grid;
	height: 100%;
	min-height: 210px;
	place-items: center;
}

.product-card-v2 .product-art-image {
	width: 96%;
	height: 205px;
	object-fit: contain;
	filter: drop-shadow(0 24px 22px rgba(6, 25, 41, 0.16));
	transition: transform 300ms ease;
}

.product-card-v2:hover .product-art-image {
	transform: translateY(-6px) scale(1.025);
}

.product-badge {
	position: absolute;
	top: 17px;
	left: 17px;
	z-index: 3;
	padding: 7px 10px;
	border-radius: 999px;
	background: var(--ds-ink);
	color: #fff;
	font-size: 0.65rem;
	font-weight: 820;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.product-badge-status {
	background: var(--ds-blue-dark);
}

.product-compare-toggle {
	position: absolute;
	right: 14px;
	bottom: 14px;
	z-index: 4;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 38px;
	padding: 8px 12px;
	border: 1px solid rgba(6, 25, 41, 0.1);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 8px 24px rgba(6, 25, 41, 0.1);
	color: var(--ds-ink-soft);
	font-size: 0.72rem;
	font-weight: 780;
	backdrop-filter: blur(12px);
}

.product-compare-toggle:hover,
.product-compare-toggle.is-selected {
	border-color: var(--ds-blue);
	background: var(--ds-blue);
	color: #fff;
}

.product-card-v2 .product-card-body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 25px 25px 24px;
}

.product-card-v2 .product-type {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 10px;
	color: var(--ds-blue-dark);
	font-size: 0.69rem;
	font-weight: 820;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.product-card-v2 .product-type span {
	color: var(--ds-muted);
	font-size: 0.63rem;
	letter-spacing: 0.03em;
}

.product-card-v2 h3 {
	margin-bottom: 9px;
	font-size: 1.45rem;
}

.product-card-tagline {
	margin-bottom: 18px !important;
	color: var(--ds-muted);
	font-size: 0.88rem !important;
	line-height: 1.58;
}

.product-card-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	padding: 0;
	margin: 0 0 22px;
	list-style: none;
}

.product-card-chips li {
	padding: 6px 9px;
	border-radius: 999px;
	background: var(--ds-cloud);
	color: var(--ds-ink-soft);
	font-size: 0.65rem;
	font-weight: 720;
}

.product-card-footer {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 14px;
	padding-top: 17px;
	margin-top: auto;
	border-top: 1px solid var(--ds-line);
}

.product-card-price small,
.product-card-price {
	display: block;
}

.product-card-price {
	font-size: 1.02rem;
	font-weight: 820;
	line-height: 1.05;
}

.product-card-price small {
	margin-bottom: 3px;
	color: var(--ds-muted);
	font-size: 0.58rem;
	font-weight: 650;
	text-transform: uppercase;
}

/* Featured product */
.flagship-section {
	background:
		radial-gradient(circle at 22% 48%, rgba(40, 120, 255, 0.21), transparent 28%),
		linear-gradient(135deg, #04131f, #08243a 60%, #0d3553);
	color: #fff;
	overflow: hidden;
}

.flagship-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	align-items: center;
	gap: clamp(48px, 7vw, 105px);
}

.flagship-art {
	position: relative;
	display: grid;
	min-height: 520px;
	place-items: center;
}

.flagship-art > img {
	position: relative;
	z-index: 2;
	width: 96%;
	filter: drop-shadow(0 42px 45px rgba(0, 0, 0, 0.38));
}

.flagship-halo {
	position: absolute;
	width: min(480px, 82%);
	aspect-ratio: 1;
	border: 1px solid rgba(91, 216, 255, 0.16);
	border-radius: 50%;
	box-shadow: 0 0 0 70px rgba(255, 255, 255, 0.02), 0 0 0 140px rgba(255, 255, 255, 0.012);
}

.flagship-float {
	position: absolute;
	z-index: 4;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 13px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 999px;
	background: rgba(4, 20, 34, 0.72);
	color: rgba(255, 255, 255, 0.82);
	font-size: 0.72rem;
	font-weight: 750;
	backdrop-filter: blur(14px);
}

.flagship-float-picture {
	top: 22%;
	left: 1%;
}

.flagship-float-connect {
	right: 0;
	bottom: 22%;
}

.flagship-copy h2 {
	margin-bottom: 17px;
	color: #fff;
	font-size: clamp(2.8rem, 5vw, 5.1rem);
}

.flagship-model {
	margin: 0 0 8px;
	color: rgba(255, 255, 255, 0.48);
	font-size: 0.72rem;
	font-weight: 750;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.flagship-tagline {
	max-width: 600px;
	color: rgba(255, 255, 255, 0.68);
	font-size: 1.12rem;
}

.flagship-feature-list {
	padding: 0;
	margin: 28px 0;
	list-style: none;
}

.flagship-feature-list li {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 7px 0;
	color: rgba(255, 255, 255, 0.78);
}

.flagship-feature-list .icon {
	color: var(--ds-cyan);
}

.flagship-facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	margin: 28px 0;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 16px;
	overflow: hidden;
}

.flagship-facts > div {
	padding: 15px;
	background: rgba(255, 255, 255, 0.045);
}

.flagship-facts small,
.flagship-facts strong {
	display: block;
}

.flagship-facts small {
	margin-bottom: 3px;
	color: rgba(255, 255, 255, 0.42);
	font-size: 0.62rem;
	text-transform: uppercase;
}

.flagship-facts strong {
	color: #fff;
	font-size: 0.82rem;
}

.flagship-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

/* Simplicity */
.simplicity-section {
	background: var(--ds-off-white);
}

.simplicity-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	align-items: center;
	gap: clamp(50px, 8vw, 120px);
}

.simplicity-copy h2 {
	font-size: clamp(2.5rem, 4.6vw, 4.7rem);
}

.simplicity-copy > p:not(.eyebrow) {
	margin-bottom: 28px;
	color: var(--ds-muted);
	font-size: 1.04rem;
}

.simplicity-card-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.simplicity-card {
	min-height: 245px;
	padding: 28px;
	border: 1px solid var(--ds-line);
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 10px 30px rgba(6, 25, 41, 0.04);
}

.simplicity-card > span {
	display: grid;
	width: 50px;
	height: 50px;
	place-items: center;
	margin-bottom: 40px;
	border-radius: 15px;
	background: var(--ds-cloud);
	color: var(--ds-blue);
}

.simplicity-card h3 {
	font-size: 1.3rem;
}

.simplicity-card p {
	margin: 0;
	color: var(--ds-muted);
	font-size: 0.86rem;
}

/* Home comparison */
.compare-home-section {
	background: #fff;
}

.compare-home-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(440px, 1.15fr);
	align-items: center;
	gap: clamp(50px, 8vw, 120px);
}

.compare-home-copy h2 {
	font-size: clamp(2.5rem, 4.6vw, 4.8rem);
}

.compare-home-copy > p:not(.eyebrow) {
	margin-bottom: 29px;
	color: var(--ds-muted);
	font-size: 1.04rem;
}

.compare-home-visual {
	padding: 28px;
	border: 1px solid var(--ds-line);
	border-radius: 28px;
	background: var(--ds-off-white);
	box-shadow: var(--ds-shadow);
	transform: rotate(1.5deg);
}

.compare-mini-head,
.compare-mini-row {
	display: grid;
	grid-template-columns: 100px repeat(3, 1fr);
	gap: 10px;
	align-items: center;
	padding: 12px 0;
	border-bottom: 1px solid var(--ds-line);
}

.compare-mini-head {
	padding-top: 0;
}

.compare-mini-head::before {
	content: "";
}

.compare-mini-head span {
	height: 105px;
	border-radius: 16px;
	background:
		radial-gradient(circle at center, rgba(40, 120, 255, 0.14), transparent 48%),
		linear-gradient(145deg, #e8eef5, #f8fafc);
}

.compare-mini-row:last-child {
	border-bottom: 0;
}

.compare-mini-row strong {
	font-size: 0.72rem;
	letter-spacing: 0.04em;
}

.compare-mini-row span {
	height: 12px;
	border-radius: 999px;
	background: #dce4ed;
}

.compare-mini-row span:nth-of-type(1) { width: 80%; }
.compare-mini-row span:nth-of-type(2) { width: 62%; }
.compare-mini-row span:nth-of-type(3) { width: 72%; }

/* Support and registration home cards */
.support-register-section {
	padding-top: 0;
	background: #fff;
}

.support-register-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
}

.support-register-card {
	position: relative;
	display: flex;
	min-height: 430px;
	flex-direction: column;
	align-items: flex-start;
	padding: clamp(34px, 4vw, 52px);
	border-radius: var(--ds-radius-lg);
	overflow: hidden;
}

.support-register-card:hover {
	color: inherit;
	transform: translateY(-5px);
}

.support-register-support {
	background: linear-gradient(140deg, #082137, #0e3c5e);
	color: #fff;
}

.support-register-registration {
	border: 1px solid var(--ds-line);
	background: linear-gradient(145deg, #f5f8fb, #e9f0f7);
}

.support-register-card .support-register-icon {
	display: grid;
	width: 66px;
	height: 66px;
	place-items: center;
	margin-bottom: 56px;
	border-radius: 20px;
	background: rgba(91, 216, 255, 0.13);
	color: var(--ds-cyan);
}

.support-register-registration .support-register-icon {
	background: rgba(40, 120, 255, 0.1);
	color: var(--ds-blue);
}

.support-register-card h2 {
	max-width: 620px;
	font-size: clamp(2rem, 3.4vw, 3.5rem);
}

.support-register-support h2 {
	color: #fff;
}

.support-register-card > p:not(.eyebrow) {
	max-width: 590px;
	margin-bottom: 30px;
	color: var(--ds-muted);
}

.support-register-support > p:not(.eyebrow) {
	color: rgba(255, 255, 255, 0.64);
}

.support-register-card .button {
	margin-top: auto;
}

/* Commercial section */
.manufacturer-section-v2 {
	background:
		radial-gradient(circle at 8% 85%, rgba(91, 216, 255, 0.11), transparent 25%),
		linear-gradient(135deg, #04131f, #08243a);
}

.manufacturer-section-v2 .manufacturer-inner {
	align-items: start;
}

.manufacturer-section-v2 .manufacturer-card {
	border-color: rgba(255, 255, 255, 0.11);
	background: rgba(255, 255, 255, 0.055);
	backdrop-filter: blur(12px);
}

/* Global footer choices */
.global-choice-cta {
	padding: 0;
	background: var(--ds-navy);
}

.global-choice-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-right: 1px solid rgba(255, 255, 255, 0.09);
	border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.global-choice-card {
	display: grid;
	grid-template-columns: 56px 1fr auto;
	align-items: center;
	gap: 18px;
	min-height: 132px;
	padding: 26px 32px;
	border-right: 1px solid rgba(255, 255, 255, 0.09);
	color: #fff;
	transition: background var(--ds-transition);
}

.global-choice-card:last-child {
	border-right: 0;
}

.global-choice-card:hover {
	background: rgba(255, 255, 255, 0.055);
	color: #fff;
}

.global-choice-icon {
	display: grid;
	width: 56px;
	height: 56px;
	place-items: center;
	border-radius: 17px;
	background: rgba(91, 216, 255, 0.11);
	color: var(--ds-cyan);
}

.global-choice-card small,
.global-choice-card strong {
	display: block;
}

.global-choice-card small {
	margin-bottom: 3px;
	color: rgba(255, 255, 255, 0.46);
	font-size: 0.68rem;
}

.global-choice-card strong {
	font-size: 1.02rem;
}

.global-choice-card > .icon {
	color: var(--ds-cyan);
}

.site-footer {
	background: #030e18;
}

.footer-main {
	padding-top: 76px;
}

/* Page heroes */
.page-hero,
.product-hero-section-v2 {
	background:
		radial-gradient(circle at 78% 28%, rgba(40, 120, 255, 0.21), transparent 28%),
		linear-gradient(135deg, #04121e, #08243a 60%, #0d3553);
}

.page-hero-copy h1 {
	font-size: clamp(3.1rem, 5.7vw, 5.8rem);
}

.product-catalog-hero .page-hero-inner,
.support-page-hero-v2 .page-hero-inner,
.registration-page-hero .page-hero-inner,
.warranty-page-hero .page-hero-inner,
.technology-page-hero .page-hero-inner,
.compliance-page-hero .page-hero-inner {
	min-height: 520px;
}

/* Catalogue */
.product-catalog-section {
	background: var(--ds-off-white);
}

.catalog-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 18px;
	border: 1px solid var(--ds-line);
	border-radius: 20px;
	background: #fff;
	box-shadow: var(--ds-shadow-sm);
}

.catalog-search-field {
	position: relative;
	flex: 1;
	max-width: 620px;
}

.catalog-search-field > .icon {
	position: absolute;
	top: 50%;
	left: 17px;
	width: 20px;
	height: 20px;
	color: var(--ds-muted);
	transform: translateY(-50%);
}

.catalog-search-field input {
	width: 100%;
	height: 52px;
	padding: 0 18px 0 49px;
	border: 1px solid var(--ds-line);
	border-radius: 999px;
	background: var(--ds-off-white);
	color: var(--ds-ink);
}

.catalog-search-field input:focus {
	border-color: var(--ds-blue);
	background: #fff;
	box-shadow: 0 0 0 4px rgba(40, 120, 255, 0.1);
	outline: 0;
}

.catalog-filter-panels {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin: 24px 0;
}

.catalog-filter-group {
	padding: 18px;
	border: 1px solid var(--ds-line);
	border-radius: 18px;
	background: #fff;
}

.catalog-filter-group legend {
	padding: 0 7px;
	color: var(--ds-muted);
	font-size: 0.67rem;
	font-weight: 820;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

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

.filter-button {
	min-height: 40px;
	padding: 8px 13px;
	border: 1px solid var(--ds-line);
	border-radius: 999px;
	background: var(--ds-off-white);
	color: var(--ds-ink-soft);
	font-size: 0.73rem;
	font-weight: 720;
}

.filter-button:hover,
.filter-button.is-active {
	border-color: var(--ds-blue);
	background: var(--ds-blue);
	color: #fff;
}

.catalog-result-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin: 28px 0 18px;
}

.catalog-result-bar p {
	margin: 0;
	color: var(--ds-muted);
	font-size: 0.8rem;
	font-weight: 700;
}

.catalog-result-bar button {
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--ds-blue-dark);
	font-size: 0.75rem;
	font-weight: 780;
}

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

.product-empty-filter,
.support-no-results {
	padding: 58px 30px;
	border: 1px dashed #c9d5e1;
	border-radius: 24px;
	background: #fff;
	text-align: center;
}

.product-empty-filter > span,
.support-no-results > span {
	display: grid;
	width: 60px;
	height: 60px;
	place-items: center;
	margin: 0 auto 18px;
	border-radius: 18px;
	background: var(--ds-cloud);
	color: var(--ds-blue);
}

.compare-callout-section-v2 {
	background: #fff;
}

.compare-callout-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

/* Comparison picker */
.compare-picker-section {
	padding-bottom: 40px;
	background: #fff;
}

.compare-picker-heading,
.comparison-tools {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 28px;
}

.compare-picker-heading h2 {
	margin-bottom: 0;
	font-size: clamp(2rem, 3.5vw, 3.7rem);
}

.compare-picker-heading > p {
	margin: 0;
	padding: 9px 13px;
	border-radius: 999px;
	background: var(--ds-cloud);
	color: var(--ds-blue-dark);
	font-size: 0.75rem;
	font-weight: 780;
}

.compare-choice-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 24px;
}

.compare-choice {
	position: relative;
	display: grid;
	grid-template-columns: 38px 74px 1fr;
	align-items: center;
	gap: 10px;
	min-height: 108px;
	padding: 13px;
	border: 1px solid var(--ds-line);
	border-radius: 18px;
	background: #fff;
	cursor: pointer;
	transition: border-color var(--ds-transition), box-shadow var(--ds-transition), transform var(--ds-transition);
}

.compare-choice:hover,
.compare-choice.is-selected {
	border-color: rgba(40, 120, 255, 0.55);
	box-shadow: var(--ds-shadow-sm);
	transform: translateY(-2px);
}

.compare-choice input {
	position: absolute;
	opacity: 0;
}

.compare-choice-check {
	display: grid;
	width: 30px;
	height: 30px;
	place-items: center;
	border: 1px solid var(--ds-line);
	border-radius: 9px;
	color: transparent;
}

.compare-choice.is-selected .compare-choice-check {
	border-color: var(--ds-blue);
	background: var(--ds-blue);
	color: #fff;
}

.compare-choice-art {
	display: grid;
	width: 74px;
	height: 68px;
	place-items: center;
	border-radius: 12px;
	background: var(--ds-cloud);
}

.compare-choice-art img {
	width: 95%;
	height: 95%;
	object-fit: contain;
}

.compare-choice-copy small,
.compare-choice-copy strong {
	display: block;
}

.compare-choice-copy small {
	color: var(--ds-muted);
	font-size: 0.6rem;
	font-weight: 700;
}

.compare-choice-copy strong {
	font-size: 0.86rem;
	line-height: 1.25;
}

.comparison-tools {
	align-items: center;
	margin-bottom: 15px;
}

.comparison-tools p {
	margin: 0;
}

.comparison-differences-toggle {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	font-size: 0.76rem;
	font-weight: 720;
}

.comparison-differences-toggle input {
	width: 18px;
	height: 18px;
	accent-color: var(--ds-blue);
}

/* Support page */
.support-hero-search {
	position: relative;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 10px;
	max-width: 680px;
	padding: 7px;
	margin-top: 30px;
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.09);
	backdrop-filter: blur(15px);
}

.support-hero-search > .icon {
	position: absolute;
	top: 50%;
	left: 24px;
	color: rgba(255, 255, 255, 0.64);
	transform: translateY(-50%);
}

.support-hero-search input {
	min-width: 0;
	height: 48px;
	padding: 0 16px 0 48px;
	border: 0;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
	outline: 0;
}

.support-hero-search input::placeholder {
	color: rgba(255, 255, 255, 0.48);
}

.support-option-grid-v2 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.support-option-grid-v2 .support-option-card {
	min-height: 330px;
}

.support-option-grid-v2 .support-option-card .text-link {
	margin-top: auto;
}

.manuals-section-v2 {
	background: var(--ds-off-white);
}

.support-list-heading {
	align-items: flex-end;
}

.support-list-heading > p {
	margin: 0;
	color: var(--ds-muted);
	font-size: 0.78rem;
	font-weight: 720;
}

.support-product-row-v2 {
	grid-template-columns: minmax(280px, 1.15fr) minmax(160px, 0.45fr) minmax(340px, 1fr);
	gap: 20px;
	align-items: center;
}

.support-product-identity {
	grid-template-columns: 104px 1fr;
}

.support-product-art {
	width: 104px;
	height: 78px;
}

.product-status {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	padding: 5px 8px;
	border-radius: 999px;
	background: rgba(18, 128, 94, 0.1);
	color: var(--ds-success);
	font-size: 0.58rem;
	font-style: normal;
	font-weight: 780;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.product-status-coming-soon {
	background: rgba(40, 120, 255, 0.1);
	color: var(--ds-blue-dark);
}

.product-status-out-of-stock,
.product-status-discontinued {
	background: rgba(201, 63, 70, 0.08);
	color: var(--ds-danger);
}

.support-software-status small,
.support-software-status strong,
.support-software-status span {
	display: block;
}

.support-software-status small {
	color: var(--ds-muted);
	font-size: 0.62rem;
	font-weight: 740;
	text-transform: uppercase;
}

.support-software-status strong {
	font-size: 0.83rem;
}

.support-software-status span {
	color: var(--ds-muted);
	font-size: 0.67rem;
}

/* Product page */
.product-hero-section-v2 {
	min-height: 650px;
	padding-block: clamp(70px, 7vw, 100px);
}

.product-hero-section-v2 .product-hero-inner {
	grid-template-columns: minmax(0, 0.9fr) minmax(480px, 1.1fr);
}

.product-hero-section-v2 .product-hero-copy {
	padding-block: 0;
}

.product-hero-section-v2 .product-hero-copy h1 {
	font-size: clamp(3.4rem, 6.1vw, 6.2rem);
}

.product-hero-section-v2 .product-hero-art {
	min-height: 500px;
}

.product-hero-section-v2 .product-hero-art > img {
	width: 100%;
	max-height: 500px;
	object-fit: contain;
}

.product-hero-meta .product-status {
	border: 1px solid rgba(255, 255, 255, 0.17);
	background: rgba(255, 255, 255, 0.08);
	color: var(--ds-cyan);
}

.product-hero-price {
	display: flex;
	align-items: baseline;
	gap: 10px;
	margin: 0 0 25px;
}

.product-hero-price small {
	color: rgba(255, 255, 255, 0.48);
	font-size: 0.7rem;
	font-weight: 720;
	text-transform: uppercase;
}

.product-hero-price strong {
	color: #fff;
	font-size: 1.45rem;
}

.product-subnav {
	position: sticky;
	top: 78px;
	z-index: 32;
	border-top: 1px solid var(--ds-line);
	border-bottom: 1px solid var(--ds-line);
	background: rgba(255, 255, 255, 0.95);
	backdrop-filter: blur(16px);
}

.product-subnav-inner {
	display: flex;
	min-height: 60px;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.product-subnav-inner > strong {
	font-size: 0.82rem;
}

.product-subnav-inner > div {
	display: flex;
	align-items: center;
	gap: 4px;
}

.product-subnav a {
	padding: 9px 12px;
	border-radius: 999px;
	color: var(--ds-muted);
	font-size: 0.72rem;
	font-weight: 720;
}

.product-subnav a:hover,
.product-subnav a.is-active {
	background: var(--ds-cloud);
	color: var(--ds-blue-dark);
}

.product-facts-strip {
	padding-block: 25px;
	background: var(--ds-off-white);
}

.product-facts-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border: 1px solid var(--ds-line);
	border-radius: 18px;
	background: #fff;
	overflow: hidden;
}

.product-facts-grid > div {
	padding: 20px 24px;
	border-right: 1px solid var(--ds-line);
}

.product-facts-grid > div:last-child {
	border-right: 0;
}

.product-facts-grid small,
.product-facts-grid strong {
	display: block;
}

.product-facts-grid small {
	margin-bottom: 4px;
	color: var(--ds-muted);
	font-size: 0.62rem;
	font-weight: 720;
	text-transform: uppercase;
}

.product-facts-grid strong {
	font-size: 0.9rem;
}

.product-overview-section-v2 {
	background: #fff;
}

.product-benefit-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.product-benefit-card {
	min-height: 270px;
}

.product-box-section {
	background: #fff;
}

.product-box-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	align-items: start;
	gap: clamp(50px, 8vw, 110px);
}

.product-box-grid > div > p:not(.eyebrow) {
	color: var(--ds-muted);
}

.product-box-grid ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.product-box-grid li {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 72px;
	padding: 15px;
	border: 1px solid var(--ds-line);
	border-radius: 15px;
	background: var(--ds-off-white);
	font-size: 0.83rem;
	font-weight: 680;
}

.product-box-grid li .icon {
	width: 22px;
	height: 22px;
	color: var(--ds-blue);
}

.software-status-card {
	display: inline-grid;
	grid-template-columns: 48px 1fr;
	align-items: center;
	gap: 13px;
	padding: 12px 17px;
	margin: -28px 0 24px;
	border: 1px solid var(--ds-line);
	border-radius: 15px;
	background: #fff;
}

.software-status-card > span {
	display: grid;
	width: 48px;
	height: 48px;
	place-items: center;
	border-radius: 14px;
	background: var(--ds-cloud);
	color: var(--ds-blue);
}

.software-status-card small,
.software-status-card strong,
.software-status-card em {
	display: block;
}

.software-status-card small {
	color: var(--ds-muted);
	font-size: 0.6rem;
	text-transform: uppercase;
}

.software-status-card strong {
	font-size: 0.85rem;
}

.software-status-card em {
	color: var(--ds-muted);
	font-size: 0.65rem;
	font-style: normal;
}

.product-service-section {
	background: #fff;
}

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

.product-service-card {
	display: grid;
	grid-template-columns: 68px 1fr;
	gap: 22px;
	padding: 34px;
	border: 1px solid var(--ds-line);
	border-radius: 26px;
	background: var(--ds-off-white);
}

.product-service-card:hover {
	border-color: rgba(40, 120, 255, 0.38);
	box-shadow: var(--ds-shadow-sm);
	color: inherit;
}

.product-service-card > span {
	display: grid;
	width: 68px;
	height: 68px;
	place-items: center;
	border-radius: 20px;
	background: rgba(40, 120, 255, 0.1);
	color: var(--ds-blue);
}

.product-service-card small {
	color: var(--ds-blue-dark);
	font-size: 0.66rem;
	font-weight: 820;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.product-service-card h2 {
	margin: 7px 0 10px;
	font-size: clamp(1.55rem, 2.5vw, 2.45rem);
}

.product-service-card p {
	color: var(--ds-muted);
	font-size: 0.87rem;
}

.product-service-card-dark {
	border-color: transparent;
	background: linear-gradient(140deg, #082137, #0d3a5a);
	color: #fff;
}

.product-service-card-dark > span {
	background: rgba(91, 216, 255, 0.12);
	color: var(--ds-cyan);
}

.product-service-card-dark h2 {
	color: #fff;
}

.product-service-card-dark p {
	color: rgba(255, 255, 255, 0.62);
}

.product-service-card-dark .text-link,
.product-service-card-dark small {
	color: var(--ds-cyan);
}

.product-faq-section {
	background: var(--ds-off-white);
}

/* Forms */
.form-field small {
	display: block;
	margin-top: 6px;
	color: var(--ds-muted);
	font-size: 0.67rem;
}

.form-support-fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	padding: 18px;
	border: 1px solid var(--ds-line);
	border-radius: 14px;
	background: var(--ds-off-white);
}

.form-fieldset {
	padding: 0;
	margin: 0 0 28px;
	border: 0;
}

.form-fieldset legend {
	width: 100%;
	padding: 0 0 13px;
	margin-bottom: 18px;
	border-bottom: 1px solid var(--ds-line);
	color: var(--ds-ink);
	font-size: 1rem;
	font-weight: 800;
}

.registration-form .button {
	margin-top: 0;
}

/* Registration */
.registration-hero-visual,
.technology-hero-visual,
.compliance-hero-visual {
	position: relative;
	display: grid;
	min-height: 320px;
	place-items: center;
}

.registration-hero-visual > span,
.technology-hero-visual > span {
	position: absolute;
	display: grid;
	width: 104px;
	height: 104px;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, 0.13);
	border-radius: 28px;
	background: rgba(255, 255, 255, 0.07);
	color: var(--ds-cyan);
	backdrop-filter: blur(14px);
}

.registration-hero-visual > span:nth-child(1) { width: 145px; height: 145px; }
.registration-hero-visual > span:nth-child(2) { top: 25px; right: 8%; }
.registration-hero-visual > span:nth-child(3) { bottom: 25px; left: 8%; }
.registration-hero-visual .icon,
.technology-hero-visual .icon {
	width: 48px;
	height: 48px;
}

.registration-main-section {
	background: var(--ds-off-white);
}

.registration-main-grid {
	display: grid;
	grid-template-columns: minmax(300px, 0.72fr) minmax(0, 1.28fr);
	align-items: start;
	gap: clamp(40px, 7vw, 90px);
}

.registration-guide {
	position: sticky;
	top: 120px;
}

.registration-guide ol {
	padding: 0;
	margin: 30px 0;
	list-style: none;
}

.registration-guide li {
	display: grid;
	grid-template-columns: 45px 1fr;
	gap: 14px;
	padding: 18px 0;
	border-bottom: 1px solid var(--ds-line);
}

.registration-guide li > span {
	display: grid;
	width: 40px;
	height: 40px;
	place-items: center;
	border-radius: 12px;
	background: var(--ds-cloud);
	color: var(--ds-blue-dark);
	font-size: 0.68rem;
	font-weight: 820;
}

.registration-guide li strong {
	display: block;
	margin-bottom: 3px;
}

.registration-guide li p {
	margin: 0;
	color: var(--ds-muted);
	font-size: 0.82rem;
}

.registration-privacy-note {
	display: grid;
	grid-template-columns: 40px 1fr;
	gap: 12px;
	padding: 16px;
	border-radius: 14px;
	background: #fff;
	color: var(--ds-muted);
	font-size: 0.75rem;
}

.registration-privacy-note > span {
	color: var(--ds-blue);
}

.registration-privacy-note p {
	margin: 0;
}

.registration-form-panel {
	padding: clamp(28px, 4vw, 48px);
	border: 1px solid var(--ds-line);
	border-radius: 28px;
	background: #fff;
	box-shadow: var(--ds-shadow-sm);
}

.registration-form-panel > h2 {
	margin-bottom: 6px;
	font-size: 2rem;
}

.registration-form-panel > p {
	margin-bottom: 28px;
	color: var(--ds-muted);
	font-size: 0.78rem;
}

/* Warranty */
.warranty-hero-visual {
	display: grid;
	min-height: 320px;
	place-items: center;
}

.warranty-hero-visual > span {
	display: grid;
	width: 220px;
	height: 220px;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 50%;
	background: rgba(91, 216, 255, 0.08);
	color: var(--ds-cyan);
	box-shadow: 0 0 0 55px rgba(255, 255, 255, 0.025), 0 0 0 110px rgba(255, 255, 255, 0.015);
}

.warranty-hero-visual .icon {
	width: 90px;
	height: 90px;
}

.warranty-steps-section {
	background: var(--ds-off-white);
}

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

.warranty-step-grid > div {
	padding: 30px;
	border: 1px solid var(--ds-line);
	border-radius: 22px;
	background: #fff;
}

.warranty-step-grid > div > span {
	display: inline-grid;
	width: 42px;
	height: 42px;
	place-items: center;
	margin-bottom: 48px;
	border-radius: 13px;
	background: var(--ds-cloud);
	color: var(--ds-blue-dark);
	font-size: 0.7rem;
	font-weight: 820;
}

.warranty-step-grid h2 {
	font-size: 1.45rem;
}

.warranty-step-grid p {
	margin: 0;
	color: var(--ds-muted);
	font-size: 0.86rem;
}

.warranty-coverage-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
	gap: clamp(50px, 8vw, 110px);
}

.warranty-coverage-grid > div:first-child > p:not(.eyebrow) {
	color: var(--ds-muted);
}

.warranty-info-list {
	display: grid;
	gap: 12px;
}

.warranty-info-list > div {
	display: grid;
	grid-template-columns: 50px 1fr;
	gap: 14px;
	padding: 18px;
	border: 1px solid var(--ds-line);
	border-radius: 16px;
	background: var(--ds-off-white);
}

.warranty-info-list > div > span {
	display: grid;
	width: 50px;
	height: 50px;
	place-items: center;
	border-radius: 14px;
	background: #fff;
	color: var(--ds-blue);
}

.warranty-info-list p {
	margin: 0;
	color: var(--ds-muted);
	font-size: 0.8rem;
}

.warranty-info-list strong {
	display: block;
	margin-bottom: 3px;
	color: var(--ds-ink);
}

.warranty-contact-section,
.technology-compare-section {
	background: linear-gradient(135deg, var(--ds-blue-dark), var(--ds-blue));
	color: #fff;
}

.warranty-contact-inner,
.technology-compare-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
}

.warranty-contact-inner h2,
.technology-compare-inner h2 {
	max-width: 850px;
	margin: 0;
	color: #fff;
	font-size: clamp(2rem, 3.6vw, 3.8rem);
}

/* How to choose */
.technology-hero-visual > span:nth-child(1) { top: 22px; left: 4%; }
.technology-hero-visual > span:nth-child(2) { width: 145px; height: 145px; }
.technology-hero-visual > span:nth-child(3) { right: 4%; bottom: 22px; }

.technology-connections-section {
	background: var(--ds-off-white);
}

.technology-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin-top: 52px;
}

.technology-card {
	display: flex;
	min-height: 420px;
	flex-direction: column;
	align-items: flex-start;
	padding: 32px;
	border: 1px solid var(--ds-line);
	border-radius: 24px;
	background: #fff;
}

.technology-card:hover {
	border-color: rgba(40, 120, 255, 0.35);
	box-shadow: var(--ds-shadow);
	color: inherit;
	transform: translateY(-5px);
}

.technology-card > span:first-child {
	display: grid;
	width: 62px;
	height: 62px;
	place-items: center;
	margin-bottom: 46px;
	border-radius: 18px;
	background: var(--ds-cloud);
	color: var(--ds-blue);
}

.technology-card > small {
	margin-bottom: 7px;
	color: var(--ds-blue-dark);
	font-size: 0.68rem;
	font-weight: 820;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.technology-card h2 {
	font-size: 1.65rem;
}

.technology-card p {
	color: var(--ds-muted);
	font-size: 0.87rem;
}

.technology-card .text-link {
	margin-top: auto;
}

.technology-decisions-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	gap: clamp(50px, 8vw, 110px);
}

.technology-decisions-grid > div:first-child > p:not(.eyebrow) {
	color: var(--ds-muted);
}

.decision-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 15px;
}

.decision-list > div {
	padding: 24px;
	border: 1px solid var(--ds-line);
	border-radius: 19px;
	background: var(--ds-off-white);
}

.decision-list > div > span {
	display: grid;
	width: 48px;
	height: 48px;
	place-items: center;
	margin-bottom: 28px;
	border-radius: 14px;
	background: #fff;
	color: var(--ds-blue);
}

.decision-list p {
	margin: 0;
	color: var(--ds-muted);
	font-size: 0.8rem;
}

.decision-list strong {
	display: block;
	margin-bottom: 5px;
	color: var(--ds-ink);
	font-size: 0.94rem;
}

/* Compliance */
.compliance-hero-visual {
	grid-template-columns: repeat(2, 130px);
	gap: 18px;
}

.compliance-hero-visual > span {
	display: grid;
	width: 130px;
	height: 160px;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 24px;
	background: rgba(255, 255, 255, 0.07);
	color: var(--ds-cyan);
	transform: rotate(-5deg);
}

.compliance-hero-visual > span:last-child {
	transform: rotate(5deg) translateY(26px);
}

.compliance-hero-visual .icon {
	width: 55px;
	height: 55px;
}

.compliance-main-section {
	background: var(--ds-off-white);
}

.compliance-product-list {
	display: grid;
	gap: 12px;
}

.compliance-product-row {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 20px;
	padding: 15px 18px;
	border: 1px solid var(--ds-line);
	border-radius: 18px;
	background: #fff;
}

.compliance-product-row > a:first-child {
	display: grid;
	grid-template-columns: 110px 1fr;
	align-items: center;
	gap: 18px;
}

.compliance-product-art {
	display: grid;
	width: 110px;
	height: 78px;
	place-items: center;
	border-radius: 14px;
	background: var(--ds-cloud);
}

.compliance-product-art img {
	width: 96%;
	height: 96%;
	object-fit: contain;
}

.compliance-product-row small,
.compliance-product-row strong {
	display: block;
}

.compliance-product-row small {
	color: var(--ds-muted);
	font-size: 0.63rem;
	font-weight: 720;
}

.compliance-product-row strong {
	font-size: 1rem;
}

.compliance-note-section {
	background: #fff;
}

.compliance-note-grid {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	padding: 28px;
	border: 1px solid var(--ds-line);
	border-radius: 22px;
	background: var(--ds-off-white);
}

.compliance-note-grid > div {
	display: grid;
	grid-template-columns: 55px 1fr;
	gap: 16px;
	align-items: center;
}

.compliance-note-grid > div > span {
	display: grid;
	width: 55px;
	height: 55px;
	place-items: center;
	border-radius: 16px;
	background: #fff;
	color: var(--ds-blue);
}

.compliance-note-grid h2 {
	margin-bottom: 5px;
	font-size: 1.25rem;
}

.compliance-note-grid p {
	margin: 0;
	color: var(--ds-muted);
	font-size: 0.8rem;
}

/* Compare tray and toast */
.compare-tray {
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 80;
	padding: 11px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.11);
	background: rgba(3, 16, 27, 0.96);
	box-shadow: 0 -18px 50px rgba(0, 0, 0, 0.22);
	color: #fff;
	transform: translateY(105%);
	transition: transform 240ms ease;
	backdrop-filter: blur(18px);
}

.compare-tray.is-visible {
	transform: translateY(0);
}

.compare-tray-inner {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 22px;
}

.compare-tray-summary {
	display: flex;
	align-items: center;
	gap: 11px;
}

.compare-tray-icon {
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	border-radius: 13px;
	background: rgba(91, 216, 255, 0.12);
	color: var(--ds-cyan);
}

.compare-tray-summary strong,
.compare-tray-summary span {
	display: block;
}

.compare-tray-summary strong {
	font-size: 0.82rem;
}

.compare-tray-summary div > span {
	color: rgba(255, 255, 255, 0.48);
	font-size: 0.63rem;
}

.compare-tray-products {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}

.compare-tray-chip {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 7px 8px 7px 11px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.06);
	font-size: 0.67rem;
}

.compare-tray-chip button {
	display: grid;
	width: 21px;
	height: 21px;
	place-items: center;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
	line-height: 1;
}

.compare-tray-actions {
	display: flex;
	align-items: center;
	gap: 11px;
}

.compare-clear {
	padding: 8px;
	border: 0;
	background: transparent;
	color: rgba(255, 255, 255, 0.6);
	font-size: 0.7rem;
	font-weight: 720;
}

.compare-tray .button {
	min-height: 44px;
	padding: 11px 17px;
	font-size: 0.8rem;
}

.compare-tray .button.is-disabled {
	opacity: 0.48;
}

.site-toast {
	position: fixed;
	right: 24px;
	bottom: 95px;
	z-index: 90;
	max-width: 340px;
	padding: 13px 16px;
	border-radius: 12px;
	background: var(--ds-ink);
	box-shadow: var(--ds-shadow);
	color: #fff;
	font-size: 0.78rem;
	font-weight: 680;
	opacity: 0;
	transform: translateY(10px);
	transition: opacity 200ms ease, transform 200ms ease;
}

.site-toast.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* Reveal */
.reveal-observe .reveal-up,
.reveal-observe .reveal-scale {
	opacity: 0;
	transition: opacity 600ms ease, transform 600ms cubic-bezier(.22,.75,.22,1);
}

.reveal-observe .reveal-up {
	transform: translateY(24px);
}

.reveal-observe .reveal-scale {
	transform: scale(.97);
}

.reveal-observe .is-visible {
	opacity: 1;
	transform: none;
}

/* Responsive */
@media (max-width: 1180px) {
	.hero-inner-v2,
	.product-hero-section-v2 .product-hero-inner {
		grid-template-columns: minmax(0, 0.92fr) minmax(430px, 1.08fr);
	}

	.product-grid-home,
	.support-option-grid-v2,
	.compare-choice-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

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

	.support-product-row-v2 {
		grid-template-columns: minmax(260px, 1fr) minmax(150px, .4fr);
	}

	.support-product-downloads {
		grid-column: 1 / -1;
		justify-content: flex-start;
		padding-top: 14px;
		border-top: 1px solid var(--ds-line);
	}
}

@media (max-width: 980px) {
	.container {
		width: min(calc(100% - 36px), var(--ds-container));
	}

	.header-inner {
		grid-template-columns: auto 1fr;
	}

	.header-actions {
		justify-self: end;
	}

	.header-support-link,
	.header-cta {
		display: none;
	}

	.menu-toggle {
		display: inline-grid;
	}

	.primary-navigation {
		position: fixed;
		top: 0;
		right: 0;
		z-index: 62;
		display: flex;
		width: min(420px, 90vw);
		height: 100dvh;
		flex-direction: column;
		padding: 105px 28px 28px;
		background: #fff;
		box-shadow: -30px 0 70px rgba(6, 25, 41, 0.2);
		transform: translateX(105%);
		transition: transform 260ms ease;
	}

	.menu-open .primary-navigation {
		transform: translateX(0);
	}

	.menu-backdrop {
		position: fixed;
		inset: 0;
		z-index: 58;
		display: block;
		background: rgba(3, 14, 24, 0.55);
		opacity: 0;
		pointer-events: none;
		transition: opacity 220ms ease;
	}

	.menu-open .menu-backdrop {
		opacity: 1;
		pointer-events: auto;
	}

	.primary-menu {
		display: grid;
		gap: 4px;
	}

	.primary-menu > li > a {
		display: block;
		padding: 13px 14px;
		font-size: 1rem;
	}

	.mobile-menu-actions {
		display: grid;
		gap: 10px;
		margin-top: auto;
	}

	.hero-inner-v2,
	.flagship-grid,
	.simplicity-grid,
	.compare-home-grid,
	.product-hero-section-v2 .product-hero-inner,
	.product-overview-grid,
	.product-specs-grid,
	.product-box-grid,
	.registration-main-grid,
	.warranty-coverage-grid,
	.technology-decisions-grid {
		grid-template-columns: 1fr;
	}

	.hero-section-v2 .hero-copy {
		padding-bottom: 30px;
	}

	.hero-visual-v2 {
		min-height: 520px;
	}

	.hero-visual-v2 > img {
		right: 50%;
		width: min(760px, 105%);
		transform: translateX(50%);
	}

	.hero-screen-card-live {
		left: 7%;
	}

	.hero-screen-card-stream {
		right: 5%;
	}

	.hero-value-strip {
		grid-template-columns: 1fr;
	}

	.hero-value-strip > div {
		min-height: 90px;
		border-right: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	}

	.hero-value-strip > div:last-child {
		border-bottom: 0;
	}

	.connection-card-grid,
	.technology-card-grid,
	.warranty-step-grid,
	.product-archive-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.flagship-art {
		min-height: 440px;
	}

	.flagship-copy {
		max-width: 760px;
	}

	.support-register-grid,
	.product-service-grid {
		grid-template-columns: 1fr;
	}

	.global-choice-grid {
		grid-template-columns: 1fr;
	}

	.global-choice-card {
		border-right: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.09);
	}

	.global-choice-card:last-child {
		border-bottom: 0;
	}

	.catalog-filter-panels {
		grid-template-columns: 1fr;
	}

	.product-subnav {
		top: 78px;
	}

	.product-subnav-inner > strong {
		display: none;
	}

	.product-subnav-inner {
		overflow-x: auto;
	}

	.product-subnav-inner > div {
		min-width: max-content;
	}

	.registration-guide {
		position: static;
	}

	.warranty-contact-inner,
	.technology-compare-inner {
		align-items: flex-start;
		flex-direction: column;
	}

	.compare-tray-inner {
		grid-template-columns: 1fr auto;
	}

	.compare-tray-products {
		grid-column: 1 / -1;
		grid-row: 2;
	}
}

@media (max-width: 720px) {
	:root {
		--ds-section: 72px;
	}

	.container,
	.content-narrow {
		width: min(calc(100% - 28px), var(--ds-container));
	}

	body {
		font-size: 15px;
	}

	.announcement-inner {
		min-height: 34px;
		font-size: 0.72rem;
	}

	.header-inner {
		min-height: 70px;
	}

	.brand-mark {
		width: 38px;
		height: 38px;
	}

	.brand-word {
		font-size: 1.22rem;
	}

	.hero-section-v2 {
		padding-top: 60px;
	}

	.hero-section-v2 .hero-copy h1,
	.product-hero-section-v2 .product-hero-copy h1,
	.page-hero-copy h1 {
		font-size: clamp(2.75rem, 14vw, 4.2rem);
	}

	.hero-actions,
	.product-hero-actions,
	.flagship-actions,
	.compare-callout-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.hero-actions .button,
	.product-hero-actions .button,
	.flagship-actions .button,
	.compare-callout-actions .button {
		width: 100%;
	}

	.hero-proof-v2 {
		display: grid;
		gap: 11px;
	}

	.hero-visual-v2 {
		min-height: 390px;
	}

	.hero-screen-card {
		min-width: 175px;
		grid-template-columns: 36px 1fr;
		padding: 10px 12px;
	}

	.hero-screen-card > span {
		width: 36px;
		height: 36px;
	}

	.hero-screen-card-live {
		top: 35px;
		left: 0;
	}

	.hero-screen-card-stream {
		right: 0;
		bottom: 48px;
	}

	.hero-value-strip > div {
		grid-template-columns: 42px 1fr;
		padding: 17px;
	}

	.hero-value-strip > div > span {
		width: 42px;
		height: 42px;
	}

	.section-title-row,
	.catalog-toolbar,
	.compare-picker-heading,
	.comparison-tools,
	.compliance-note-grid {
		align-items: flex-start;
		flex-direction: column;
	}

	.section-title-row .button,
	.catalog-toolbar .button,
	.compliance-note-grid .button {
		width: 100%;
	}

	.connection-card-grid,
	.product-grid-home,
	.product-archive-grid,
	.simplicity-card-grid,
	.support-register-grid,
	.support-option-grid-v2,
	.product-benefit-grid,
	.product-service-grid,
	.warranty-step-grid,
	.technology-card-grid,
	.decision-list,
	.compare-choice-grid {
		grid-template-columns: 1fr;
	}

	.connection-card {
		min-height: 340px;
		padding: 28px;
	}

	.connection-card-icon {
		margin-bottom: 34px;
	}

	.product-card-v2 .product-card-art {
		min-height: 235px;
	}

	.product-card-v2 .product-art-image {
		height: 190px;
	}

	.flagship-art {
		min-height: 340px;
	}

	.flagship-float {
		display: none;
	}

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

	.flagship-facts > div:nth-child(2n),
	.product-facts-grid > div:nth-child(2n) {
		border-right: 0;
	}

	.product-facts-grid > div {
		border-bottom: 1px solid var(--ds-line);
	}

	.product-facts-grid > div:nth-last-child(-n+2) {
		border-bottom: 0;
	}

	.compare-home-grid {
		gap: 44px;
	}

	.compare-home-visual {
		padding: 16px;
		transform: none;
	}

	.compare-mini-head,
	.compare-mini-row {
		grid-template-columns: 64px repeat(3, 1fr);
		gap: 7px;
	}

	.compare-mini-head span {
		height: 72px;
	}

	.support-register-card {
		min-height: 390px;
		padding: 30px;
	}

	.global-choice-card {
		grid-template-columns: 48px 1fr auto;
		padding: 22px 18px;
	}

	.global-choice-icon {
		width: 48px;
		height: 48px;
	}

	.page-hero-inner,
	.product-catalog-hero .page-hero-inner,
	.support-page-hero-v2 .page-hero-inner,
	.registration-page-hero .page-hero-inner,
	.warranty-page-hero .page-hero-inner,
	.technology-page-hero .page-hero-inner,
	.compliance-page-hero .page-hero-inner {
		min-height: 470px;
	}

	.page-hero-inner > *:last-child:not(.page-hero-copy) {
		display: none;
	}

	.catalog-toolbar {
		display: flex;
		padding: 14px;
	}

	.catalog-search-field {
		width: 100%;
	}

	.product-subnav {
		top: 70px;
	}

	.product-subnav-inner {
		width: 100%;
		padding-inline: 14px;
	}

	.product-subnav a {
		padding-inline: 10px;
	}

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

	.product-service-card {
		grid-template-columns: 52px 1fr;
		gap: 16px;
		padding: 24px;
	}

	.product-service-card > span {
		width: 52px;
		height: 52px;
	}

	.download-card-grid {
		grid-template-columns: 1fr;
	}

	.support-hero-search {
		grid-template-columns: 1fr;
		border-radius: 22px;
	}

	.support-hero-search input,
	.support-hero-search .button {
		width: 100%;
	}

	.support-product-row-v2 {
		grid-template-columns: 1fr;
	}

	.support-product-downloads {
		grid-column: auto;
	}

	.form-grid,
	.form-support-fields {
		grid-template-columns: 1fr;
	}

	.form-field-full {
		grid-column: auto;
	}

	.registration-form-panel,
	.contact-form-panel {
		padding: 24px 20px;
	}

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

	.compliance-product-row > div .button,
	.compliance-product-row > div .text-link {
		width: 100%;
		justify-content: center;
	}

	.comparison-scroll {
		margin-right: -14px;
		margin-left: -14px;
		border-radius: 0;
	}

	.compare-tray {
		padding: 9px 0;
	}

	.compare-tray-inner {
		grid-template-columns: 1fr auto;
		gap: 10px;
	}

	.compare-tray-products {
		display: none;
	}

	.compare-tray-summary .compare-tray-icon {
		display: none;
	}

	.compare-tray-actions .compare-clear {
		display: none;
	}

	.compare-tray .button {
		padding-inline: 14px;
	}

	.site-toast {
		right: 14px;
		bottom: 84px;
		left: 14px;
		max-width: none;
	}
}

@media (max-width: 480px) {
	.flagship-facts,
	.product-facts-grid {
		grid-template-columns: 1fr;
	}

	.flagship-facts > div,
	.product-facts-grid > div {
		border-right: 0;
		border-bottom: 1px solid var(--ds-line);
	}

	.product-facts-grid > div:nth-last-child(-n+2) {
		border-bottom: 1px solid var(--ds-line);
	}

	.product-facts-grid > div:last-child {
		border-bottom: 0;
	}

	.compare-choice {
		grid-template-columns: 34px 62px 1fr;
	}

	.compare-choice-art {
		width: 62px;
		height: 58px;
	}

	.compliance-product-row > a:first-child {
		grid-template-columns: 82px 1fr;
	}

	.compliance-product-art {
		width: 82px;
		height: 66px;
	}
}


/* WordPress toolbar and anchored product sections */
.is-product-page #overview,
.is-product-page #benefits,
.is-product-page #specifications,
.is-product-page #support {
	scroll-margin-top: 160px;
}

.admin-bar .site-header {
	top: 32px;
}

.admin-bar .product-subnav {
	top: 110px;
}

@media (max-width: 980px) {
	.admin-bar .primary-navigation {
		top: 32px;
		height: calc(100dvh - 32px);
	}

	.admin-bar .menu-backdrop {
		top: 32px;
	}
}

@media (max-width: 782px) {
	.admin-bar .site-header {
		top: 46px;
	}

	.admin-bar .primary-navigation {
		top: 46px;
		height: calc(100dvh - 46px);
	}

	.admin-bar .menu-backdrop {
		top: 46px;
	}

	.admin-bar .product-subnav {
		top: 116px;
	}
}

@media print {
	.announcement-bar,
	.site-header,
	.product-subnav,
	.global-choice-cta,
	.site-footer,
	.compare-tray,
	.site-toast,
	.button,
	.product-compare-toggle {
		display: none !important;
	}

	body {
		background: #fff;
		color: #000;
	}

	.section,
	.page-hero,
	.product-hero-section-v2 {
		padding: 28px 0;
	}

	* {
		box-shadow: none !important;
	}
}
