:root {
	--navy: #052f5d;
	--navy-deep: #031c38;
	--blue: #075db8;
	--teal: #04a9a7;
	--teal-bright: #14cfc5;
	--ink: #0c2847;
	--muted: #597087;
	--line: #dce8ef;
	--ice: #f3f9fc;
	--white: #fff;
	--shadow: 0 18px 60px #042b511f;
	--dt04-navy: var(--navy);
	--dt04-accent: var(--teal);
	/* Same declaration as innmi.com — Inter is not loaded as a webfont there,
	   so Windows renders Segoe UI (thinner than Google Inter Bold). */
	--font: Inter, Segoe UI, Arial, sans-serif;
	--container: 1180px;
	--gutter: clamp(22px, 5vw, 76px);
	--announcement-h: 36px;
}

*, *::before, *::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	border: 0 solid;
}
html {
	scroll-behavior: smooth;
	line-height: 1.5;
	-webkit-text-size-adjust: 100%;
}
body {
	margin: 0;
	font-family: Inter, Segoe UI, Arial, sans-serif;
	color: var(--ink);
	background: var(--white);
}
/* Match innmi reset: headings inherit body weight (regular), not browser bold. */
h1, h2, h3, h4, h5, h6 {
	font-size: inherit;
	font-weight: inherit;
}
b, strong { font-weight: bolder; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
ul { margin: 0; padding: 0; list-style: none; }
button, input, select, textarea { font: inherit; }
.screen-reader-text,
.sr-only {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap; border: 0;
}

.dt04-wrap {
	width: 100%;
	max-width: var(--container);
	margin-inline: auto;
	padding-inline: var(--gutter);
}

.site-main { display: block; width: 100%; min-height: 40vh; }

/* ========== ANNOUNCEMENT (scrolling) ========== */
.announcement-warning {
	z-index: 90;
	color: #fff;
	letter-spacing: 0.03em;
	background: linear-gradient(90deg, #063f78, #075ca3 56%, #069b9a);
	min-height: var(--announcement-h);
	font-size: 12px;
	font-weight: 700;
	position: sticky;
	top: 0;
	width: 100%;
	display: block;
	overflow: hidden;
	line-height: 1.3;
}

.announcement-warning-track {
	display: inline-flex;
	width: max-content;
	white-space: nowrap;
	will-change: transform;
	animation: announcement-warning-scroll 30s linear -6s infinite;
	backface-visibility: hidden;
}

.announcement-warning-message {
	align-items: center;
	gap: 9px;
	min-height: var(--announcement-h);
	min-width: max-content;
	padding: 7px 44px 7px 20px;
	display: inline-flex;
	flex: 0 0 auto;
	white-space: nowrap;
}

.announcement-badge {
	border: 1px solid rgba(255, 255, 255, 0.72);
	border-radius: 50%;
	place-items: center;
	width: 18px;
	height: 18px;
	display: grid;
	color: #dffdf9;
	flex: none;
	font-size: 11px;
	line-height: 1;
}

.announcement-warning-text {
	white-space: nowrap;
}

@keyframes announcement-warning-scroll {
	from { transform: translate(0); }
	to { transform: translate(-50%); }
}

/* ========== HEADER ========== */
.site-header {
	z-index: 50;
	-webkit-backdrop-filter: blur(16px);
	backdrop-filter: blur(16px);
	background: rgba(255, 255, 255, 0.94);
	border-bottom: 1px solid rgba(220, 232, 239, 0.8);
	justify-content: space-between;
	align-items: center;
	gap: 28px;
	width: 100%;
	height: 88px;
	padding: 6px var(--gutter);
	display: flex;
	position: sticky;
	top: 36px;
}
body:not(.dt04-has-announcement) .site-header { top: 0; }

/* Brand / logo crop (matches innmi oversized mark) */
.brand,
.site-logo {
	flex: none;
	width: 210px;
	height: 76px;
	display: block;
	position: relative;
	overflow: hidden;
	line-height: 0;
	max-width: none;
}
.brand img,
.site-logo img {
	object-fit: contain;
	width: 140px;
	max-width: none;
	height: 140px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.site-logo--text {
	display: flex;
	align-items: center;
	overflow: visible;
	width: auto;
	height: auto;
	min-height: 48px;
}
.site-logo--text .site-logo__text {
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--navy);
	line-height: 1.1;
	white-space: nowrap;
}

/* Desktop nav */
.desktop-nav {
	flex: 1;
	justify-content: center;
	align-items: center;
	display: flex;
	min-width: 0;
}
.desktop-nav__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: clamp(20px, 3vw, 48px);
}
.desktop-nav__list > li > a {
	color: #183958;
	padding: 12px 0;
	font-size: 14px;
	font-weight: 650;
	position: relative;
	display: inline-block;
}
.desktop-nav__list > li > a::after {
	content: "";
	background: var(--teal);
	height: 2px;
	transition: right 0.2s;
	position: absolute;
	bottom: 3px;
	left: 0;
	right: 100%;
}
.desktop-nav__list > li > a:hover::after,
.desktop-nav__list > li.current-menu-item > a::after,
.desktop-nav__list > li.current_page_item > a::after,
.desktop-nav__list > li.is-active > a::after,
.desktop-nav__list > li > a.is-active::after { right: 0; }
.desktop-nav__list > li.current-menu-item > a,
.desktop-nav__list > li.current_page_item > a,
.desktop-nav__list > li.is-active > a,
.desktop-nav__list > li > a.is-active { color: var(--navy); }

.header-actions {
	align-items: center;
	gap: 16px;
	display: flex;
	flex-shrink: 0;
}

/* Language */
.language-select { display: inline-flex; position: relative; }
.language-select select {
	appearance: none;
	-webkit-appearance: none;
	max-width: 132px;
	min-height: 38px;
	color: var(--navy);
	cursor: pointer;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23052f5d' d='M1.4.6 6 5.2 10.6.6 12 2 6 8 0 2z'/%3E%3C/svg%3E") no-repeat right 10px center;
	border: 1px solid #c9d8e2;
	border-radius: 10px;
	padding: 0 30px 0 10px;
	font-size: 12px;
	font-weight: 750;
}
.language-select.is-compact select {
	max-width: 106px;
}

/* Buttons */
.button {
	cursor: pointer;
	border: 1px solid transparent;
	border-radius: 12px;
	justify-content: center;
	align-items: center;
	gap: 12px;
	min-height: 48px;
	padding: 0 24px;
	font-size: 14px;
	font-weight: 800;
	transition: transform 0.2s, box-shadow 0.2s, background 0.2s;
	display: inline-flex;
	text-decoration: none;
	color: inherit;
}
.button:hover { transform: translateY(-2px); color: inherit; }
.button-small { min-height: 42px; padding-inline: 20px; }
.button-gradient {
	color: #fff;
	background: linear-gradient(100deg, #0758ac, #00aaa7);
	box-shadow: 0 12px 26px #01769738;
}
.button-gradient:hover { color: #fff; }

.menu-button {
	display: none;
	background: #fff;
	border: 1px solid #bad0dc;
	border-radius: 10px;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 5px;
	width: 42px;
	height: 42px;
	padding: 0;
	cursor: pointer;
}
.menu-button span {
	background: var(--navy);
	width: 20px;
	height: 2px;
	display: block;
	transition: transform 0.2s, opacity 0.2s;
}
body.dt04-nav-open .menu-button span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
body.dt04-nav-open .menu-button span:nth-child(2) { opacity: 0; }
body.dt04-nav-open .menu-button span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ========== FOOTER ========== */
.site-footer {
	color: rgba(255, 255, 255, 0.66);
	background: #02172d;
	grid-template-columns: 2fr 1fr 1fr;
	gap: 40px;
	padding: 64px max(28px, calc(50% - 590px)) 30px;
	display: grid;
}
.footer-brand {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
}
.footer-brand img,
.footer-brand__logo img,
.footer-brand .site-logo img {
	background: #fff;
	border-radius: 10px;
	width: 190px;
	height: auto;
	max-width: 190px;
	padding: 8px;
	position: static;
	transform: none;
	object-fit: contain;
}
.footer-brand .site-logo,
.footer-brand .brand,
.footer-brand__logo {
	width: auto;
	height: auto;
	overflow: visible;
}
.footer-brand p {
	margin: 0;
	font-size: 13px;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.66);
}
.footer-brand .site-logo--text .site-logo__text {
	color: #fff;
	background: rgba(255, 255, 255, 0.08);
	border-radius: 10px;
	padding: 12px 16px;
}
.footer-col {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	font-size: 13px;
}
.footer-col strong {
	color: #fff;
	margin-bottom: 5px;
	font-size: 14px;
}
.footer-col__list {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
}
.footer-col__list a {
	color: rgba(255, 255, 255, 0.66);
	font-size: 13px;
}
.footer-col__list a:hover { color: #fff; }
.footer-col__note {
	color: rgba(255, 255, 255, 0.45);
	font-size: 12px;
}
.footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	grid-column: 1 / -1;
	padding-top: 28px;
	font-size: 11px;
	color: rgba(255, 255, 255, 0.5);
}

/* ========== RESPONSIVE ========== */
@media (max-width: 1050px) {
	.desktop-nav__list { gap: 18px; }
}

@media (max-width: 820px) {
	.site-header {
		height: 72px;
		padding: 6px 18px;
		gap: 12px;
	}
	.brand,
	.site-logo {
		width: 172px;
		height: 60px;
	}
	.brand img,
	.site-logo img {
		width: 118px;
		height: 118px;
	}
	.site-logo--text { width: auto; height: auto; }
	.site-logo--text .site-logo__text { font-size: 18px; }

	.desktop-nav {
		border-bottom: 1px solid var(--line);
		background: #fff;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		padding: 12px 20px 24px;
		display: none;
		position: absolute;
		top: 72px;
		left: 0;
		right: 0;
		box-shadow: 0 20px 30px rgba(4, 43, 81, 0.12);
	}
	.desktop-nav.is-open { display: flex; }
	.desktop-nav__list {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		width: 100%;
	}
	.desktop-nav__list > li > a {
		border-bottom: 1px solid #edf2f5;
		padding: 14px 4px !important;
		display: block;
	}
	.desktop-nav__list > li > a::after { display: none; }

	.header-actions > .button { display: none; }
	.menu-button { display: flex; }

	.language-select select { max-width: 86px; }

	.site-footer {
		grid-template-columns: 1fr 1fr;
		padding: 54px 24px 30px;
		gap: 28px;
	}
	.footer-brand { grid-column: span 2; }
}

@media (max-width: 480px) {
	.site-footer {
		grid-template-columns: 1fr;
	}
	.footer-brand,
	.footer-bottom { grid-column: auto; }
}

/* ========== HERO CAROUSEL ========== */
.hero {
	--hero-h: 720px;
	background: var(--navy);
	isolation: isolate;
	border-radius: 28px;
	height: var(--hero-h);
	min-height: var(--hero-h);
	max-height: var(--hero-h);
	margin: 18px clamp(18px, 3vw, 48px) 0;
	position: relative;
	overflow: hidden;
}
.hero-slide {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.45s ease, visibility 0.45s ease;
	pointer-events: none;
}
.hero-slide.is-active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	z-index: 1;
}
.hero-background,
.hero-shade {
	position: absolute;
	inset: 0;
}
.hero-background {
	z-index: 0;
	background-color: var(--navy-deep);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}
.hero-background--empty {
	background: linear-gradient(135deg, #032545, #075c7c 56%, #069c9a);
}
.hero-shade {
	z-index: 1;
	background:
		radial-gradient(circle at 18% 65%, rgba(0, 169, 167, 0.28), transparent 34%),
		linear-gradient(90deg, rgba(2, 29, 58, 0.94) 0%, rgba(3, 48, 87, 0.8) 43%, rgba(1, 29, 57, 0.18) 75%, rgba(1, 29, 57, 0.05));
}
.hero-light .hero-shade {
	background:
		radial-gradient(circle at 25% 80%, rgba(0, 169, 167, 0.22), transparent 34%),
		linear-gradient(90deg, rgba(247, 251, 254, 0.98) 0%, rgba(247, 251, 254, 0.9) 39%, rgba(236, 246, 251, 0.28) 68%, rgba(5, 48, 92, 0.08));
}
.hero-content {
	position: relative;
	z-index: 2;
	width: min(620px, 54%);
	height: 100%;
	color: #fff;
	flex-direction: column;
	justify-content: center;
	padding: clamp(48px, 6vw, 100px) clamp(48px, 8vw, 124px);
	display: flex;
	box-sizing: border-box;
}
.hero-light .hero-content { color: var(--navy-deep); }
.eyebrow {
	color: var(--teal);
	letter-spacing: 0.14em;
	font-size: 12px;
	font-weight: 900;
	text-transform: uppercase;
}
.hero h1 {
	letter-spacing: -0.055em;
	max-width: 650px;
	margin: 22px 0 20px;
	font-size: clamp(44px, 6vw, 76px);
	line-height: 0.98;
}
.hero p {
	color: rgba(255, 255, 255, 0.78);
	max-width: 550px;
	margin: 0;
	font-size: clamp(16px, 1.5vw, 20px);
	line-height: 1.7;
}
.hero-light p { color: #38536d; }
.hero-actions {
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 34px;
	display: flex;
}
.button-outline {
	color: #fff;
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.75);
}
.hero-light .button-outline {
	color: var(--navy);
	background: rgba(255, 255, 255, 0.56);
	border-color: #7295ad;
}
.hero-arrow {
	z-index: 2;
	color: #fff;
	cursor: pointer;
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	background: rgba(4, 49, 91, 0.62);
	border: 1px solid rgba(255, 255, 255, 0.55);
	border-radius: 50%;
	place-items: center;
	width: 46px;
	height: 46px;
	font-size: 32px;
	line-height: 1;
	display: grid;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	padding: 0;
}
.hero-arrow-left { left: 20px; }
.hero-arrow-right { right: 20px; }
.hero-arrow:hover { background: rgba(4, 49, 91, 0.85); }
.hero-dots {
	gap: 9px;
	display: flex;
	position: absolute;
	bottom: 22px;
	left: 50%;
	transform: translate(-50%);
	z-index: 2;
}
.hero-dots button {
	cursor: pointer;
	background: transparent;
	border: 1px solid #fff;
	border-radius: 50%;
	width: 9px;
	height: 9px;
	padding: 0;
	transition: width 0.2s, border-radius 0.2s, background 0.2s;
}
.hero-dots button.active {
	background: #fff;
	border-radius: 8px;
	width: 28px;
}

@media (max-width: 820px) {
	.hero {
		--hero-h: 620px;
		border-radius: 22px;
		margin: 12px 14px 0;
	}
	.hero-background { background-position: 60%; }
	.hero-shade,
	.hero-light .hero-shade {
		background:
			linear-gradient(rgba(2, 26, 51, 0.1) 0%, rgba(2, 26, 51, 0.52) 34%, rgba(2, 26, 51, 0.98) 72%),
			linear-gradient(90deg, rgba(3, 35, 65, 0.25), rgba(3, 35, 65, 0.1));
	}
	.hero-content,
	.hero-light .hero-content {
		color: #fff;
		justify-content: flex-end;
		width: 100%;
		padding: 260px 28px 74px;
	}
	.hero h1 {
		margin: 14px 0;
		font-size: clamp(42px, 12vw, 58px);
	}
	.hero p,
	.hero-light p {
		color: rgba(255, 255, 255, 0.78);
		font-size: 15px;
		line-height: 1.55;
	}
	.hero-actions { margin-top: 24px; }
	.hero-actions .button { width: 100%; }
	.hero-light .button-outline {
		color: #fff;
		background: rgba(255, 255, 255, 0.08);
		border-color: rgba(255, 255, 255, 0.7);
	}
	.hero-arrow {
		width: 38px;
		height: 38px;
		top: 40%;
		font-size: 26px;
	}
	.hero-arrow-left { left: 10px; }
	.hero-arrow-right { right: 10px; }
}

@media (max-width: 480px) {
	.hero {
		--hero-h: 560px;
	}
	.hero-content {
		padding: 180px 22px 64px;
	}
	.hero h1 { font-size: 41px; }
}

/* ========== TRUST STRIP ========== */
.trust-strip {
	border: 1px solid var(--line);
	background: #fff;
	border-radius: 18px;
	grid-template-columns: repeat(4, 1fr);
	width: min(1280px, calc(100% - 48px));
	margin: 22px auto 0;
	display: grid;
	overflow: hidden;
	box-shadow: 0 14px 36px rgba(5, 47, 93, 0.06);
}
.trust-strip > div {
	border-right: 1px solid var(--line);
	justify-content: center;
	align-items: center;
	gap: 10px;
	min-height: 92px;
	padding: 20px;
	display: flex;
}
.trust-strip > div:last-child { border-right: 0; }
.trust-strip strong {
	color: var(--navy);
	font-size: 27px;
	font-weight: bolder;
	line-height: 1;
}
.trust-strip span {
	color: var(--muted);
	font-size: 13px;
	line-height: 1.35;
}

@media (max-width: 820px) {
	.trust-strip {
		grid-template-columns: 1fr 1fr;
		width: calc(100% - 28px);
	}
	.trust-strip > div {
		justify-content: flex-start;
		min-height: 78px;
		padding: 15px;
	}
	.trust-strip > div:nth-child(2n) { border-right: 0; }
	.trust-strip > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
	.trust-strip strong { font-size: 22px; }
	.trust-strip span { font-size: 11px; }
}

/* ========== PRODUCTS DIRECTORY (innmi) ========== */
.section {
	width: min(1280px, calc(100% - 48px));
	margin: 0 auto;
	padding: 110px 0;
}
.dt04-home .section {
	padding-top: 78px;
	padding-bottom: 78px;
}
.section-heading { margin-bottom: 48px; }
.dt04-home .section-heading { margin-bottom: 34px; }
.section-kicker {
	color: var(--teal);
	letter-spacing: 0.14em;
	font-size: 12px;
	font-weight: 900;
}
.section-heading h2 {
	color: var(--navy-deep);
	letter-spacing: -0.04em;
	margin: 14px 0;
	font-size: clamp(34px, 4vw, 54px);
	line-height: 1.08;
}
.section-heading p {
	max-width: 660px;
	color: var(--muted);
	margin: 0;
	line-height: 1.8;
}
.split-heading {
	justify-content: space-between;
	align-items: flex-end;
	gap: 40px;
	display: flex;
}
.search-box {
	background: #fff;
	border: 1px solid #bfd3df;
	border-radius: 14px;
	align-items: center;
	gap: 10px;
	width: min(420px, 100%);
	min-height: 52px;
	padding: 0 16px;
	display: flex;
	box-shadow: 0 8px 24px rgba(4, 43, 81, 0.06);
	flex: none;
}
.search-box span {
	color: var(--teal);
	font-size: 26px;
	line-height: 1;
}
.search-box input {
	width: 100%;
	color: var(--ink);
	background: transparent;
	border: 0;
	outline: 0;
	min-width: 0;
}

.product-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: start;
	gap: 22px;
	display: grid;
}
.product-card {
	border: 1px solid var(--line);
	background: #fff;
	border-radius: 20px;
	align-self: start;
	transition: transform 0.22s, box-shadow 0.22s, border-color 0.22s;
	overflow: hidden;
	box-shadow: 0 10px 28px rgba(3, 45, 84, 0.06);
	display: block;
	color: inherit;
	text-decoration: none;
}
.product-card:hover {
	border-color: #97d6d4;
	transform: translateY(-6px);
	box-shadow: 0 22px 42px rgba(4, 77, 121, 0.14);
}
.product-card.is-filtered-out,
.product-card[hidden] { display: none !important; }
.load-more[hidden] { display: none !important; }

.product-image {
	aspect-ratio: 1;
	background:
		radial-gradient(circle at 65% 20%, rgba(19, 207, 197, 0.16), transparent 25%),
		linear-gradient(145deg, #edf7fb, #f9fcfd);
	background-color: var(--dt04-product-img-bg, transparent);
	place-items: center;
	display: grid;
	position: relative;
	overflow: hidden;
}
.product-image > img,
.product-image__photo,
.vial-visual > img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.product-image__photo {
	object-fit: contain;
	padding: 8%;
	box-sizing: border-box;
}

.vial-visual {
	width: 100%;
	height: 100%;
	position: relative;
	container-type: inline-size;
}
.vial-carousel {
	isolation: isolate;
	aspect-ratio: 1;
	border-radius: inherit;
	align-self: stretch;
	height: auto;
	overflow: hidden;
}
.vial-carousel-track {
	width: 200%;
	height: 100%;
	transition: transform 0.65s cubic-bezier(0.3, 0.8, 0.3, 1);
	display: flex;
}
.vial-carousel-slide {
	flex: 0 0 50%;
	width: 50%;
	height: 100%;
	position: relative;
}
.vial-carousel-controls {
	z-index: 30;
	gap: 5px;
	display: flex;
	position: absolute;
	bottom: 3.8%;
	right: 4%;
}
.vial-carousel-controls button {
	cursor: pointer;
	background: rgba(8, 50, 92, 0.28);
	border: 0;
	border-radius: 999px;
	width: 7px;
	height: 7px;
	padding: 0;
	transition: width 0.2s, background 0.2s;
}
.vial-carousel-controls button.is-active {
	background: #0868c1;
	width: 17px;
}

.product-photo-template {
	position: absolute;
	inset: 0;
	overflow: hidden;
	container-type: inline-size;
}
.product-photo-template img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	display: block;
}
.vial-pack-badge,
.product-photo-badge {
	z-index: 20;
	color: #fff;
	letter-spacing: -0.025em;
	background: linear-gradient(110deg, #0849b5, #0869c8);
	border-radius: 999px;
	padding: 1.35% 2.1%;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 2.35cqw;
	font-weight: 900;
	line-height: 1;
	position: absolute;
	top: 3.2%;
	left: 3.2%;
	box-shadow: 0 0.7cqw 1.7cqw rgba(0, 54, 126, 0.18);
}

.product-template-name {
	--label-turn: 0deg;
	z-index: 3;
	color: #075ba6;
	width: 15.6%;
	height: 4.35%;
	transform: translate(-50%, -50%) perspective(45cqw) rotateY(var(--label-turn)) scaleX(0.78);
	transform-origin: 50%;
	text-shadow: 0 0.05em 0.08em rgba(0, 48, 105, 0.1);
	pointer-events: none;
	border-radius: 48% / 16%;
	position: absolute;
	overflow: hidden;
}
.product-template-name text {
	fill: #075ba6;
	letter-spacing: -0.6px;
	paint-order: stroke fill;
	stroke: rgba(7, 91, 166, 0.08);
	stroke-width: 0.35px;
	font-family: "Arial Narrow", Arial, Helvetica, sans-serif;
	font-size: 27px;
	font-style: italic;
	font-weight: 900;
}
.product-template-name.is-compact text {
	letter-spacing: -0.4px;
	font-size: 18px;
}
.product-template-name.is-extra-compact text {
	letter-spacing: -0.2px;
	font-size: 13.5px;
}

.product-template-spec {
	--label-turn: 0deg;
	z-index: 4;
	color: #fff;
	letter-spacing: -0.055em;
	text-align: center;
	text-overflow: clip;
	white-space: nowrap;
	width: 13.5%;
	min-height: 4.1%;
	transform: translate(-50%, -50%) perspective(45cqw) rotateY(var(--label-turn)) scaleX(0.86);
	transform-origin: 50%;
	text-shadow: 0 0.06em 0.1em rgba(0, 30, 78, 0.22);
	pointer-events: none;
	background: transparent;
	border-radius: 48% / 16%;
	place-items: center;
	padding: 0 0.5%;
	font-family: "Arial Narrow", Arial, Helvetica, sans-serif;
	font-size: 3.15cqw;
	font-style: normal;
	font-weight: 900;
	line-height: 1;
	display: grid;
	position: absolute;
	overflow: hidden;
}
.product-template-spec.is-compact {
	letter-spacing: -0.07em;
	font-size: 2.35cqw;
}
.product-template-spec.is-extra-compact {
	letter-spacing: -0.08em;
	font-size: 1.7cqw;
}

.front-template-name-1 { top: 36.8%; left: 26.79%; }
.front-template-name-2 { top: 36.8%; left: 42.03%; }
.front-template-name-3 { top: 36.8%; left: 57.66%; }
.front-template-name-4 { top: 36.8%; left: 72.89%; }
.front-template-name-5 { top: 52.7%; left: 39.7%; }
.front-template-name-6 { top: 52.7%; left: 59.75%; }
.front-template-name-7 { top: 73.9%; left: 21.89%; }
.front-template-name-8 { top: 73.9%; left: 40.07%; }
.front-template-name-9 { top: 73.9%; left: 58.45%; }
.front-template-name-10 { top: 73.9%; left: 76.75%; }
.front-template-name-2 { clip-path: inset(0 0 0 88%); }
.front-template-name-3 { clip-path: inset(0 88% 0 0); }
.front-template-name-1,
.front-template-spec-1 { --label-turn: 7deg; }
.front-template-name-4,
.front-template-spec-4 { --label-turn: -7deg; }
.front-template-name-7,
.front-template-spec-7 { --label-turn: 6deg; }
.front-template-name-8,
.front-template-spec-8 { --label-turn: 2deg; }
.front-template-name-9,
.front-template-spec-9 { --label-turn: -2deg; }
.front-template-name-10,
.front-template-spec-10 { --label-turn: -6deg; }
.front-template-spec-1 { top: 41.55%; left: 26.79%; }
.front-template-spec-2 { top: 41.55%; left: 41.95%; }
.front-template-spec-3 { top: 41.55%; left: 57.45%; }
.front-template-spec-4 { top: 41.55%; left: 72.89%; }
.front-template-spec-5 { top: 57.2%; left: 39.7%; }
.front-template-spec-6 { top: 57.2%; left: 59.75%; }
.front-template-spec-7 { top: 79.15%; left: 21.89%; }
.front-template-spec-8 { top: 79.15%; left: 40.07%; }
.front-template-spec-9 { top: 79.15%; left: 58.45%; }
.front-template-spec-10 { top: 79.15%; left: 76.75%; }

.angle-template-name {
	width: 17.2%;
	height: 4.15%;
	top: 52.2%;
	left: 56.35%;
	transform: translate(-50%, -50%) rotate(-4deg) skew(0.25deg) scaleX(0.76);
}
.angle-template-name text { font-size: 24px; }
.angle-template-name.is-compact text { font-size: 16.5px; }
.angle-template-name.is-extra-compact text { font-size: 12.5px; }
.angle-template-spec {
	width: 15.5%;
	height: 4%;
	min-height: 0;
	padding: 0 0.5%;
	font-size: 3.3cqw;
	line-height: 1.08;
	top: 56.95%;
	left: 56.94%;
	overflow: visible;
	transform: translate(-50%, -50%) rotate(-5.7deg) scaleX(0.86);
}
.angle-template-spec.is-compact { font-size: 2.3cqw; }
.angle-template-spec.is-extra-compact { font-size: 1.65cqw; }

.image-disclaimer {
	color: #8495a2;
	text-align: center;
	padding: 8px 14px 0;
	font-size: 9px;
	line-height: 1.35;
	display: block;
	font-weight: 400;
}
.product-copy {
	padding: 11px 18px 15px;
	font-weight: 400;
	line-height: normal;
}
/* Exact innmi.com card type scale — title ≠ spec */
.product-card .product-code {
	display: block;
	color: var(--teal);
	letter-spacing: 0.1em;
	font-size: 10px;
	font-weight: 900;
	line-height: normal;
	margin: 0;
}
.product-card .product-copy h3 {
	display: block;
	min-height: 0;
	color: var(--navy-deep);
	margin: 6px 0 3px;
	padding: 0;
	font-size: 19px;
	font-weight: 400;
	line-height: 1.22;
	letter-spacing: normal;
}
.product-card .product-copy p {
	display: block;
	color: var(--muted);
	margin: 0 0 10px;
	padding: 0;
	font-size: 13px;
	font-weight: 400;
	line-height: normal;
	letter-spacing: normal;
}
.product-card .text-link {
	display: inline;
	color: var(--blue);
	font-size: 12px;
	font-weight: 800;
	line-height: normal;
	letter-spacing: normal;
}

.button.dark-outline,
.dark-outline {
	color: var(--navy);
	background: #fff;
	border-color: #aac6d8;
}
.load-more {
	width: fit-content;
	max-width: 100%;
	margin: 26px auto 0;
	display: flex;
}
.products-empty {
	color: var(--muted);
	margin: 12px 0 0;
	font-size: 14px;
}
.products-empty[hidden],
.products-empty.is-hidden { display: none; }

@media (max-width: 1050px) {
	.product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
	.section {
		width: calc(100% - 32px);
		padding: 78px 0;
	}
	.dt04-home .section {
		padding-top: 54px;
		padding-bottom: 54px;
	}
	.section-heading { margin-bottom: 24px; }
	.section-heading h2 { font-size: 36px; }
	.split-heading {
		flex-direction: column;
		align-items: stretch;
		gap: 24px;
	}
	.product-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px;
	}
	.product-copy { padding: 11px 14px 14px; }
	.image-disclaimer {
		padding-inline: 8px;
		font-size: 8px;
	}
	.product-card .product-copy h3 { font-size: 16px; }
	.product-card .product-copy p { font-size: 11px; }
}
@media (max-width: 480px) {
	.product-grid {
		grid-template-columns: 1fr 1fr;
		gap: 10px;
	}
	.product-copy { padding: 10px 12px 13px; }
	.product-card .product-copy h3 { font-size: 14px; }
	.product-card .product-code { font-size: 8px; }
	.product-card .text-link { font-size: 10px; }
}

/* ========== COA SECTION (innmi) ========== */
.coa-section {
	background: linear-gradient(155deg, #031e3b, #064b81 62%, #039a99);
	padding: 64px clamp(24px, 5vw, 72px) 70px;
}
.coa-visual {
	border-radius: 28px;
	width: min(1280px, 100%);
	min-height: 590px;
	margin: 0 auto;
	position: relative;
	overflow: hidden;
}
.coa-visual > img {
	object-fit: cover;
	width: 100%;
	height: 590px;
	display: block;
}
.coa-visual::after {
	content: "";
	background: linear-gradient(90deg, rgba(2, 26, 52, 0.9), rgba(4, 56, 94, 0.36) 70%, transparent);
	position: absolute;
	inset: 0;
}
.coa-card {
	z-index: 2;
	color: #fff;
	width: min(540px, calc(100% - 56px));
	position: absolute;
	top: 50%;
	left: clamp(28px, 6vw, 88px);
	transform: translateY(-50%);
}
.coa-card .section-kicker { color: var(--teal-bright, #14cfc5); }
.coa-card h2 {
	color: #fff;
	letter-spacing: -0.04em;
	margin: 14px 0;
	font-size: clamp(34px, 4vw, 54px);
	line-height: 1.08;
}
.coa-card > p {
	color: rgba(255, 255, 255, 0.78);
	line-height: 1.8;
	margin: 0;
}
.coa-card small {
	color: rgba(255, 255, 255, 0.58);
	margin-top: 12px;
	display: block;
	font-size: 12px;
	line-height: 1.5;
}
.coa-search {
	background: #fff;
	border-radius: 14px;
	gap: 8px;
	margin-top: 28px;
	padding: 8px;
	display: flex;
	align-items: center;
}
.coa-search input {
	border: 0;
	outline: 0;
	flex: 1;
	min-width: 0;
	padding: 0 12px;
	color: var(--ink);
	background: transparent;
	min-height: 46px;
}
.coa-search button {
	background: linear-gradient(100deg, var(--blue), var(--teal));
	color: #fff;
	cursor: pointer;
	border: 0;
	border-radius: 9px;
	min-height: 46px;
	padding: 0 18px;
	font-weight: 800;
	flex: none;
	white-space: nowrap;
}
.coa-search button:hover { filter: brightness(1.05); }

.process-card {
	z-index: 4;
	width: min(1080px, calc(100% - 36px));
	box-shadow: var(--shadow);
	background: #fff;
	border-radius: 18px;
	grid-template-columns: repeat(4, 1fr);
	margin: -42px auto 0;
	display: grid;
	position: relative;
	overflow: hidden;
}
.process-card > div {
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 22px 16px;
	display: flex;
	position: relative;
	text-align: center;
}
.process-card > div:not(:last-child)::after {
	content: "";
	background: linear-gradient(90deg, var(--teal), var(--blue));
	width: 56px;
	height: 2px;
	position: absolute;
	top: 50%;
	right: -28px;
}
.process-card span {
	width: 44px;
	height: 44px;
	color: var(--teal);
	border: 1px solid #afd6dc;
	border-radius: 50%;
	place-items: center;
	font-size: 12px;
	font-weight: 900;
	display: grid;
}
.process-card strong {
	color: var(--navy);
	font-size: 14px;
}

@media (max-width: 820px) {
	.coa-section { padding: 44px 14px 54px; }
	.coa-visual {
		border-radius: 22px;
		min-height: 650px;
	}
	.coa-visual > img { height: 650px; }
	.coa-visual::after {
		background: linear-gradient(rgba(2, 26, 52, 0.25), rgba(2, 26, 52, 0.96) 64%);
	}
	.coa-card {
		top: auto;
		bottom: 34px;
		left: 24px;
		transform: none;
		width: calc(100% - 48px);
	}
	.coa-card h2 { font-size: 36px; }
	.coa-search { flex-direction: column; align-items: stretch; }
	.coa-search button { width: 100%; }
	.process-card { grid-template-columns: repeat(2, 1fr); }
	.process-card > div:nth-child(2)::after { display: none; }
	.process-card > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
	.process-card > div:not(:last-child)::after { display: none; }
}

/* ========== MANUFACTURING (innmi) ========== */
.section-heading.centered {
	text-align: center;
	flex-direction: column;
	align-items: center;
	display: flex;
}
.company-story {
	border: 1px solid var(--line);
	background:
		radial-gradient(circle at 100% 0, rgba(10, 178, 177, 0.14), transparent 34%),
		linear-gradient(145deg, #fff, #f2f9fb);
	border-radius: 24px;
	grid-template-columns: 0.78fr 1.22fr;
	gap: clamp(34px, 6vw, 82px);
	margin: -4px 0 30px;
	padding: clamp(24px, 3.2vw, 38px);
	display: grid;
}
.company-story-title span {
	color: var(--teal);
	letter-spacing: 0.14em;
	font-size: 11px;
	font-weight: 900;
}
.company-story-title h3 {
	color: var(--navy-deep);
	margin: 14px 0 0;
	font-size: clamp(28px, 3.2vw, 44px);
	line-height: 1.12;
	font-weight: 400;
}
.company-story-copy {
	gap: 16px;
	display: grid;
}
.company-story-copy p {
	color: var(--muted);
	margin: 0;
	font-size: 15px;
	line-height: 1.78;
	font-weight: 400;
}
.company-story-copy .company-invitation {
	border-left: 3px solid var(--teal);
	color: var(--navy);
	background: rgba(255, 255, 255, 0.72);
	border-radius: 0 12px 12px 0;
	padding: 16px 18px;
	font-weight: 700;
}

.media-layout {
	grid-template-columns: 0.74fr 1.26fr;
	gap: 22px;
	display: grid;
}
.video-card {
	background: var(--navy-deep);
	border-radius: 24px;
	min-height: 640px;
	position: relative;
	overflow: hidden;
}
.video-card video {
	object-fit: cover;
	width: 100%;
	height: 100%;
	min-height: 640px;
	display: block;
}
.media-caption {
	color: #fff;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	background: rgba(3, 30, 57, 0.74);
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: 14px;
	flex-direction: column;
	gap: 4px;
	padding: 18px;
	display: flex;
	position: absolute;
	bottom: 18px;
	left: 18px;
	right: 18px;
}
.media-caption span {
	color: var(--teal-bright);
	letter-spacing: 0.12em;
	font-size: 10px;
	font-weight: 900;
}
.media-caption strong {
	font-weight: 700;
	font-size: 14px;
	color: #fff;
}

.gallery-grid {
	grid-template-columns: repeat(2, 1fr);
	grid-auto-rows: 200px;
	gap: 18px;
	display: grid;
}
.gallery-grid figure {
	background: var(--ice);
	border-radius: 20px;
	margin: 0;
	position: relative;
	overflow: hidden;
}
.gallery-grid .gallery-wide { grid-column: span 2; }
.gallery-grid img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	transition: transform 0.35s;
	display: block;
}
.gallery-grid figure:hover img { transform: scale(1.035); }
.gallery-grid figcaption {
	color: #fff;
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	background: rgba(3, 31, 58, 0.66);
	border-radius: 10px;
	padding: 10px 12px;
	font-size: 11px;
	position: absolute;
	bottom: 12px;
	left: 12px;
	right: 12px;
}

.quality-cards {
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
	display: grid;
}
/* Beat .dt04-home .section padding so gap matches innmi (#home .quality-cards). */
.section.quality-cards,
.dt04-home .section.quality-cards {
	padding-top: 0;
	padding-bottom: 70px;
}
.quality-cards article {
	border: 1px solid var(--line);
	background: linear-gradient(145deg, #fff, var(--ice));
	border-radius: 20px;
	padding: 24px;
}
.quality-cards article > span {
	color: var(--teal);
	font-size: 12px;
	font-weight: 900;
}
.quality-cards h3 {
	color: var(--navy);
	margin: 18px 0 7px;
	font-size: 18px;
	font-weight: 400;
}
.quality-cards p {
	color: var(--muted);
	margin: 0;
	font-size: 14px;
	line-height: 1.7;
	font-weight: 400;
}

@media (max-width: 1050px) {
	.media-layout { grid-template-columns: 0.85fr 1.15fr; }
}
@media (max-width: 820px) {
	.media-layout { grid-template-columns: 1fr; }
	.company-story {
		grid-template-columns: 1fr;
		gap: 22px;
		margin-bottom: 30px;
		padding: 24px 20px;
	}
	.video-card,
	.video-card video {
		min-height: 560px;
		max-height: 660px;
	}
	.gallery-grid { grid-auto-rows: 170px; }
	.quality-cards {
		grid-template-columns: 1fr;
		gap: 12px;
	}
	.section.quality-cards,
	.dt04-home .section.quality-cards {
		padding-top: 0;
		padding-bottom: 52px;
	}
	.quality-cards article { padding: 20px; }
	.quality-cards h3 { margin-top: 14px; }
}
@media (max-width: 480px) {
	.gallery-grid {
		grid-auto-rows: 145px;
		gap: 10px;
	}
}

/* ========== PRESS / MEDIA RELEASE (innmi) ========== */
.press-release-section,
.dt04-home .section.press-release-section {
	padding-top: 0;
	padding-bottom: 72px;
}
.press-release-card {
	color: #fff;
	background: linear-gradient(118deg, #062c58 0%, #075b86 53%, #0ca8a2 125%);
	border: 1px solid #b9dce4;
	border-radius: 28px;
	grid-template-columns: minmax(0, 1fr) minmax(210px, 0.48fr) auto;
	align-items: end;
	gap: 32px;
	padding: clamp(26px, 4vw, 48px);
	display: grid;
	position: relative;
	overflow: hidden;
	box-shadow: 0 22px 48px rgba(2, 52, 81, 0.16);
}
.press-release-card::before,
.press-release-card::after {
	content: "";
	pointer-events: none;
	border: 1px solid rgba(134, 238, 229, 0.26);
	border-radius: 50%;
	position: absolute;
}
.press-release-card::before {
	width: 440px;
	height: 440px;
	top: -275px;
	right: -165px;
}
.press-release-card::after {
	width: 240px;
	height: 240px;
	bottom: -175px;
	right: 94px;
}
.press-release-orbit {
	background: linear-gradient(90deg, #f0faff, #4de0d2);
	border-radius: 999px;
	width: 84px;
	height: 12px;
	position: absolute;
	top: 38px;
	right: 58px;
	box-shadow: 0 0 0 8px rgba(255, 255, 255, 0.08);
}
.press-release-copy,
.press-release-video,
.press-release-link {
	z-index: 1;
	position: relative;
}
.press-release-meta {
	flex-wrap: wrap;
	gap: 9px;
	margin-bottom: 23px;
	display: flex;
}
.press-release-meta span {
	color: #d9f8f4;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	background: rgba(3, 30, 65, 0.18);
	border: 1px solid rgba(255, 255, 255, 0.32);
	border-radius: 999px;
	padding: 7px 10px;
	font-size: 10px;
	font-weight: 850;
}
.press-release-meta span:first-child {
	color: #075275;
	background: #fff;
	border-color: transparent;
}
.press-release-card h2 {
	color: #fff;
	letter-spacing: -0.045em;
	max-width: 710px;
	margin: 0;
	font-size: clamp(30px, 4.2vw, 56px);
	line-height: 1.04;
	font-weight: 400;
}
.press-release-card p {
	color: rgba(244, 255, 255, 0.85);
	max-width: 680px;
	margin: 20px 0 0;
	font-size: 16px;
	line-height: 1.72;
	font-weight: 400;
}
.press-release-video {
	aspect-ratio: 4 / 5;
	object-fit: cover;
	background: #042743;
	border: 1px solid rgba(205, 248, 245, 0.58);
	border-radius: 18px;
	width: 100%;
	max-height: 218px;
	display: block;
	box-shadow: 0 17px 36px rgba(0, 20, 48, 0.3);
}
.press-release-link {
	white-space: nowrap;
	justify-content: center;
	min-width: 224px;
	gap: 8px;
}

@media (max-width: 820px) {
	.press-release-section,
	.dt04-home .section.press-release-section {
		padding-top: 0;
		padding-bottom: 54px;
	}
	.press-release-card {
		border-radius: 23px;
		grid-template-columns: 1fr;
		align-items: start;
		gap: 20px;
	}
	.press-release-link { width: 100%; }
	.press-release-orbit {
		width: 62px;
		top: 27px;
		right: 29px;
	}
}

/* ========== FULFILLMENT (innmi) ========== */
.fulfillment-section,
.dt04-home .section.fulfillment-section {
	padding-top: 10px;
	padding-bottom: 72px;
}
.fulfillment-heading {
	justify-content: space-between;
	align-items: end;
	gap: 38px;
	display: flex;
}
.fulfillment-heading h2 {
	max-width: 620px;
	color: var(--navy-deep);
	letter-spacing: -0.04em;
	margin: 12px 0 14px;
	font-size: clamp(34px, 4vw, 54px);
	line-height: 1.08;
	font-weight: 400;
}
.fulfillment-heading p {
	max-width: 720px;
	color: var(--muted);
	margin: 0;
	line-height: 1.75;
	font-weight: 400;
}
.fulfillment-stats {
	background: #cfe5e8;
	border: 1px solid #cfe5e8;
	border-radius: 18px;
	grid-template-columns: repeat(2, minmax(120px, 1fr));
	gap: 1px;
	min-width: 290px;
	margin: 0;
	display: grid;
	overflow: hidden;
}
.fulfillment-stats div {
	background: #f7fcfc;
	min-width: 0;
	padding: 20px 18px;
}
.fulfillment-stats dt {
	color: var(--navy);
	font-size: 31px;
	font-weight: 900;
	line-height: 1;
}
.fulfillment-stats dd {
	color: #5d798b;
	margin: 8px 0 0;
	font-size: 11px;
	font-weight: 800;
	line-height: 1.3;
}
.fulfillment-notice {
	color: #367178;
	background: linear-gradient(100deg, #eef9f8, #e5f8f5);
	border: 1px solid #cce9e4;
	border-radius: 15px;
	margin: 24px 0 18px;
	padding: 15px 18px;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.55;
}
.fulfillment-toolbar {
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	margin-bottom: 16px;
	display: flex;
}
.fulfillment-filters {
	flex-wrap: wrap;
	gap: 10px;
	display: flex;
}
.fulfillment-filters button,
.fulfillment-refresh {
	color: #416179;
	cursor: pointer;
	background: #fff;
	border: 1px solid #cadde5;
	border-radius: 999px;
	min-height: 42px;
	font-size: 13px;
	font-weight: 850;
	transition: all 0.18s;
}
.fulfillment-filters button { padding: 0 17px; }
.fulfillment-filters button:hover,
.fulfillment-filters button:focus-visible,
.fulfillment-filters button.active {
	color: #fff;
	background: #052b3f;
	border-color: #083b56;
}
.fulfillment-refresh {
	color: var(--navy);
	align-items: center;
	gap: 7px;
	padding: 0 17px;
	display: inline-flex;
}
.fulfillment-refresh:hover:not(:disabled),
.fulfillment-refresh:focus-visible:not(:disabled) {
	border-color: var(--teal);
	background: #e8f9f8;
}
.fulfillment-refresh:disabled {
	cursor: wait;
	opacity: 0.65;
}
.fulfillment-refresh span { font-size: 18px; line-height: 1; }
.fulfillment-table {
	background: #05282e;
	border: 1px solid #123e4d;
	border-radius: 25px;
	overflow: hidden;
	box-shadow: 0 20px 54px rgba(5, 50, 61, 0.14);
}
.fulfillment-table-head,
.fulfillment-row {
	grid-template-columns: 0.75fr 1fr 0.82fr 1.55fr 0.9fr 0.85fr 0.92fr;
	align-items: center;
	column-gap: 16px;
	display: grid;
}
.fulfillment-table-head {
	color: #8ab8be;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	border-bottom: 1px solid rgba(178, 224, 218, 0.15);
	min-height: 56px;
	padding: 0 24px;
	font-size: 11px;
	font-weight: 900;
}
.fulfillment-row {
	color: #d9efed;
	border-bottom: 1px solid rgba(178, 224, 218, 0.12);
	min-height: 78px;
	padding: 12px 24px;
	font-size: 13px;
	line-height: 1.35;
}
.fulfillment-row:last-of-type { border-bottom: 0; }
.fulfillment-row.is-hidden { display: none; }
.fulfillment-row > strong {
	color: #fff;
	letter-spacing: 0.02em;
	font-size: 13px;
	font-weight: 700;
}
.fulfillment-product {
	gap: 4px;
	min-width: 0;
	display: grid;
}
.fulfillment-product b {
	color: #fff;
	overflow-wrap: anywhere;
	font-size: 14px;
	font-weight: 700;
}
.fulfillment-product small {
	color: #8fb2b6;
	font-size: 12px;
}
.fulfillment-status {
	color: #d5ebea;
	white-space: nowrap;
	background: rgba(127, 168, 178, 0.13);
	border-radius: 999px;
	justify-self: start;
	align-items: center;
	gap: 7px;
	padding: 8px 10px;
	font-size: 11px;
	font-weight: 850;
	display: inline-flex;
}
.fulfillment-status i {
	background: #91c2cf;
	border-radius: 50%;
	width: 7px;
	height: 7px;
	box-shadow: 0 0 0 4px rgba(145, 194, 207, 0.12);
	display: block;
}
.fulfillment-status.status-delivered i {
	background: #4fd7a4;
	box-shadow: 0 0 0 4px rgba(79, 215, 164, 0.12);
}
.fulfillment-status.status-dispatched i {
	background: #63c7ff;
	box-shadow: 0 0 0 4px rgba(99, 199, 255, 0.12);
}
.fulfillment-status.status-quality_review i {
	background: #f6ca69;
	box-shadow: 0 0 0 4px rgba(246, 202, 105, 0.12);
}
.fulfillment-state {
	color: #bad8d7;
	text-align: center;
	place-items: center;
	min-height: 190px;
	margin: 0;
	padding: 28px;
	display: grid;
}
.fulfillment-state[hidden] { display: none; }

@media (max-width: 820px) {
	.fulfillment-heading {
		gap: 25px;
		display: grid;
	}
	.fulfillment-stats {
		width: 100%;
		min-width: 0;
	}
	.fulfillment-toolbar {
		flex-direction: column;
		align-items: flex-start;
	}
	.fulfillment-refresh {
		justify-content: center;
		width: 100%;
	}
	.fulfillment-table { border-radius: 20px; }
	.fulfillment-table-head { display: none; }
	.fulfillment-row {
		grid-template-columns: 1fr 1fr;
		row-gap: 15px;
		min-height: 0;
		padding: 22px 18px;
	}
	.fulfillment-row > * {
		gap: 3px;
		display: grid;
	}
	.fulfillment-row > *::before {
		content: attr(data-label);
		color: #83afb4;
		letter-spacing: 0.04em;
		text-transform: uppercase;
		font-size: 10px;
		font-weight: 900;
	}
	.fulfillment-product { grid-column: span 2; }
	.fulfillment-status { justify-self: stretch; }
}
@media (max-width: 480px) {
	.fulfillment-section,
	.dt04-home .section.fulfillment-section { padding-top: 0; }
	.fulfillment-stats div { padding: 17px 14px; }
	.fulfillment-stats dt { font-size: 26px; }
	.fulfillment-filters {
		flex-wrap: nowrap;
		width: calc(100% + 8px);
		padding-bottom: 4px;
		overflow-x: auto;
	}
	.fulfillment-filters button { flex: none; }
	.fulfillment-row { grid-template-columns: 1fr; }
	.fulfillment-product { grid-column: auto; }
}

/* ---- Home reviews / customer feedback (innmi #customer-feedback) ---- */
.home-reviews-section,
.dt04-home .section.home-reviews-section {
	padding-top: 58px;
	padding-bottom: 62px;
}
.home-reviews-heading {
	justify-content: space-between;
	align-items: end;
	gap: 24px;
	margin-bottom: 22px;
	display: flex;
}
.home-reviews-heading > div { max-width: 720px; }
.home-reviews-heading h2 {
	color: #062745;
	letter-spacing: -0.05em;
	margin: 11px 0 10px;
	font-size: clamp(34px, 4.3vw, 55px);
	line-height: 1.06;
}
.home-reviews-heading p {
	color: #54728c;
	margin: 0;
	font-size: 16px;
	line-height: 1.7;
}
.home-reviews-heading .button {
	white-space: nowrap;
	flex: none;
}
.home-review-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 17px;
	display: grid;
}
.home-review-card {
	background: #fff;
	border: 1px solid #d9e9ef;
	border-radius: 21px;
	overflow: hidden;
	box-shadow: 0 15px 37px #04395412;
}
.home-review-placeholder {
	color: #0c8e91;
	background: linear-gradient(135deg, #e1f7f4, #dbeafb);
	place-items: center;
	height: 190px;
	font-family: Georgia, serif;
	font-size: 110px;
	line-height: 1;
	display: grid;
}
.home-review-content { padding: 21px 22px 23px; }
.home-review-content > p {
	color: #264762;
	white-space: pre-wrap;
	min-height: 78px;
	margin: 13px 0 16px;
	font-size: 15px;
	line-height: 1.62;
}
.home-review-content > strong {
	color: #007b80;
	font-size: 13px;
}
.review-stars {
	color: #f4c35f;
	letter-spacing: 0.06em;
	align-items: center;
	gap: 1px;
	font-size: 17px;
	display: inline-flex;
}
.review-stars i {
	color: #dce7ea;
	font-style: normal;
}
.home-reviews-empty {
	background: linear-gradient(105deg, #f4fcfc, #ecf7fb);
	border: 1px solid #cfe4e8;
	border-radius: 21px;
	align-items: center;
	gap: 18px;
	padding: 26px 29px;
	display: flex;
}
.home-reviews-empty > span {
	color: #008a89;
	background: #d7f4f1;
	border-radius: 50%;
	flex: none;
	place-items: center;
	width: 46px;
	height: 46px;
	font-size: 19px;
	display: grid;
}
.home-reviews-empty > div { flex: auto; }
.home-reviews-empty strong {
	color: #063b5d;
	font-size: 15px;
}
.home-reviews-empty p {
	color: #637f93;
	margin: 4px 0 0;
	font-size: 14px;
}
.home-reviews-empty a {
	color: #006fc1;
	white-space: nowrap;
	font-size: 14px;
	font-weight: 850;
}

@media (max-width: 980px) {
	.home-reviews-heading {
		flex-direction: column;
		align-items: flex-start;
	}
	.home-review-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 720px) {
	.home-reviews-section,
	.dt04-home .section.home-reviews-section {
		padding-top: 46px;
		padding-bottom: 50px;
	}
	.home-review-grid { grid-template-columns: 1fr; }
	.home-reviews-empty {
		flex-wrap: wrap;
		align-items: flex-start;
		padding: 22px;
	}
	.home-reviews-empty a { width: 100%; }
}


/* ---- Contact band (innmi #contact) ---- */
.contact-section {
	color: #fff;
	background:
		radial-gradient(circle at 10% 110%, rgba(0, 169, 167, 0.28), transparent 34%),
		linear-gradient(145deg, #031e3b, #073f70);
	grid-template-columns: 1fr 1fr;
	gap: clamp(42px, 6vw, 86px);
	padding: 72px max(28px, calc(50% - 590px));
	display: grid;
	width: 100%;
	box-sizing: border-box;
}
.contact-intro h2 {
	color: #fff;
	letter-spacing: -0.04em;
	margin: 14px 0;
	font-size: clamp(34px, 4vw, 54px);
	line-height: 1.08;
}
.contact-intro > p {
	max-width: 660px;
	color: rgba(255, 255, 255, 0.72);
	margin: 0;
	line-height: 1.8;
}
.contact-details {
	color: rgba(255, 255, 255, 0.82);
	flex-direction: column;
	gap: 12px;
	margin-top: 24px;
	font-weight: 650;
	display: flex;
}
.contact-details a:hover {
	color: #fff;
	text-decoration: underline;
}
.contact-form {
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 22px;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	padding: 24px;
	display: grid;
	align-content: start;
	position: relative;
}
.contact-form label {
	color: rgba(255, 255, 255, 0.75);
	flex-direction: column;
	gap: 8px;
	font-size: 12px;
	font-weight: 800;
	display: flex;
}
.contact-form label:nth-of-type(4) {
	grid-column: span 2;
}
.contact-form input,
.contact-form textarea {
	color: #fff;
	font: inherit;
	resize: vertical;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 10px;
	outline: 0;
	width: 100%;
	padding: 13px;
	box-sizing: border-box;
}
.contact-form input::placeholder,
.contact-form textarea::placeholder {
	color: rgba(255, 255, 255, 0.45);
}
.contact-form input:focus,
.contact-form textarea:focus {
	border-color: rgba(20, 207, 197, 0.7);
	box-shadow: 0 0 0 3px rgba(4, 169, 167, 0.18);
}
.contact-form .button {
	grid-column: span 2;
	justify-self: stretch;
	width: 100%;
}
.contact-form__hp {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
}
.contact-form__status {
	grid-column: 1 / -1;
	margin: 0;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.45;
}
.contact-form__status.is-success { color: #9ef0e6; }
.contact-form__status.is-error { color: #ffb4b4; }
.contact-form.is-submitting .button {
	opacity: 0.75;
	pointer-events: none;
}

@media (max-width: 820px) {
	.contact-intro h2 { font-size: 36px; }
	.contact-section {
		grid-template-columns: 1fr;
		padding: 54px 22px;
	}
	.contact-form {
		grid-template-columns: 1fr;
		padding: 20px;
	}
	.contact-form label:nth-of-type(4),
	.contact-form .button {
		grid-column: auto;
	}
}


/* WhatsApp gate (TikTok / FB / IG in-app browser escape) */
.dt04-wa-gate {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 16px;
}
.dt04-wa-gate[hidden] { display: none !important; }
.dt04-wa-gate__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(10, 10, 10, .55);
}
.dt04-wa-gate__panel {
  position: relative;
  z-index: 1;
  width: min(100%, 420px);
  padding: 22px 20px 18px;
  border-radius: 16px 16px 0 0;
  background: #fff;
  box-shadow: 0 -8px 32px rgba(0,0,0,.18);
  display: grid;
  gap: 12px;
}
.dt04-wa-gate__x {
  position: absolute;
  top: 10px;
  right: 12px;
  width: 36px;
  height: 36px;
  border: 0;
  background: transparent;
  color: #667781;
  font-size: 24px;
  cursor: pointer;
  line-height: 1;
}
.dt04-wa-gate__brand {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.dt04-wa-gate__logo {
  display: block;
  width: 40px;
  height: 40px;
  padding: 8px;
  border-radius: 50%;
  background: #25d366;
  color: #fff;
  box-sizing: border-box;
}
.dt04-wa-gate__panel h3 {
  margin: 0 28px 0 0;
  font-size: 22px;
  line-height: 1.2;
  color: #111b21;
}
.dt04-wa-gate__panel > p {
  margin: 0;
  color: #667781;
  font-size: 14px;
  line-height: 1.45;
  white-space: pre-line;
}
.dt04-wa-gate__phone {
  display: none !important; /* keep node for copy fallback; never show raw number */
}
.dt04-wa-gate__hint {
  margin: 0;
  color: #667781;
  font-size: 12px;
  line-height: 1.4;
  white-space: pre-line;
}
.dt04-wa-gate__copied {
  margin: 0;
  color: #128c7e;
  font-size: 13px;
  font-weight: 600;
}
.dt04-wa-gate__copied[hidden] { display: none !important; }
.dt04-wa-gate__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 0 16px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 15px;
  line-height: 1.2;
  text-decoration: none;
  border: 1.5px solid transparent;
  cursor: pointer;
  font-family: inherit;
  box-sizing: border-box;
  transition: background .15s ease, color .15s ease, border-color .15s ease, opacity .15s ease;
}
.dt04-wa-gate__btn-icon {
  flex: 0 0 auto;
  display: block;
}
.dt04-wa-gate__btn--primary {
  background: #25d366 !important;
  border-color: #25d366 !important;
  color: #fff !important;
  box-shadow: 0 6px 16px rgba(37, 211, 102, .28);
}
.dt04-wa-gate__btn--primary:hover {
  background: #1ebe57 !important;
  border-color: #1ebe57 !important;
  color: #fff !important;
}
.dt04-wa-gate__btn--primary.is-opening {
  opacity: .85;
  pointer-events: none;
}
.dt04-wa-gate__btn--ghost {
  background: #fff;
  color: #128c7e !important;
  border-color: rgba(18, 140, 126, .35);
}
.dt04-wa-gate__btn--ghost:hover {
  background: #f0faf4;
  border-color: #25d366;
  color: #075e54 !important;
}
body.dt04-wa-gate-open { overflow: hidden; }
.dt04-wa-gate[data-dt04-wa-platform="facebook"] .dt04-wa-gate__hint {
  padding: 10px 12px;
  background: #fff7e8;
  border-radius: 8px;
  color: #6a4b00;
  border: 1px solid #f0d9a0;
}
@media (min-width: 640px) {
  .dt04-wa-gate { align-items: center; }
  .dt04-wa-gate__panel { border-radius: 16px; }
}

/* ========== PRODUCT DETAIL (innmi /products/{slug} — exact spacing) ========== */
.detail-page {
	background: radial-gradient(circle at 90% 10%, #04a9a71a, transparent 28%), #f7fbfd;
	min-height: 100vh;
}

/* Flatten Woo product wrapper so breadcrumb/hero are layout siblings of header (like innmi). */
body.single-product .detail-page-inner.product {
	display: contents;
}

.detail-header {
	border-bottom: 1px solid var(--line);
	background: #fff;
	justify-content: space-between;
	align-items: center;
	height: 104px;
	padding: 10px max(24px, calc(50% - 590px));
	display: flex;
}
.detail-header-actions {
	align-items: center;
	gap: 12px;
	display: flex;
}

/* Beat WooCommerce a.button without changing innmi sizes */
body.woocommerce .detail-header a.button,
body.woocommerce-page .detail-header a.button,
body.woocommerce .detail-actions a.button,
body.woocommerce-page .detail-actions a.button,
body.woocommerce .detail-quality a.button,
body.woocommerce-page .detail-quality a.button,
.detail-header a.button,
.detail-actions a.button,
.detail-quality a.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	float: none;
	width: auto;
	margin: 0;
	line-height: normal;
	min-height: 48px;
	padding: 0 24px;
	font-size: 14px;
	font-weight: 800;
	border-radius: 12px;
	border: 1px solid transparent;
	text-decoration: none;
	text-shadow: none;
	box-shadow: none;
	background-image: none;
	white-space: nowrap;
	cursor: pointer;
	position: relative;
	overflow: visible;
	box-sizing: border-box;
	transition: transform 0.2s, box-shadow 0.2s, background 0.2s, border-color 0.2s, color 0.2s;
}
body.woocommerce .detail-header a.button:hover,
body.woocommerce .detail-actions a.button:hover,
body.woocommerce .detail-quality a.button:hover,
.detail-header a.button:hover,
.detail-actions a.button:hover,
.detail-quality a.button:hover {
	transform: translateY(-2px);
	text-decoration: none;
}

body.woocommerce .detail-header a.button,
body.woocommerce-page .detail-header a.button,
.detail-header a.button {
	min-height: 42px;
	padding: 0 20px;
	font-size: 14px;
}
body.woocommerce .detail-header a.button.dark-outline,
.detail-header a.button.dark-outline {
	color: var(--navy);
	background: #fff;
	border-color: #aac6d8;
}
body.woocommerce .detail-header a.button.dark-outline:hover,
.detail-header a.button.dark-outline:hover {
	color: var(--navy);
	background: #fff;
}

body.woocommerce .detail-actions a.button.button-gradient,
.detail-actions a.button.button-gradient {
	color: #fff;
	background: linear-gradient(100deg, #0758ac, #00aaa7);
	box-shadow: 0 12px 26px #01769738;
	border-color: transparent;
}
body.woocommerce .detail-actions a.button.button-gradient:hover,
.detail-actions a.button.button-gradient:hover {
	color: #fff;
	background: linear-gradient(100deg, #0758ac, #00aaa7);
}

body.woocommerce .detail-actions a.button.dark-outline,
.detail-actions a.button.dark-outline {
	color: var(--navy);
	background: #fff;
	border-color: #aac6d8;
	box-shadow: none;
}
body.woocommerce .detail-actions a.button.dark-outline:hover,
.detail-actions a.button.dark-outline:hover {
	color: var(--navy);
	background: #fff;
}

body.woocommerce .detail-quality a.button.button-outline,
.detail-quality a.button.button-outline {
	color: #fff;
	background: #ffffff14;
	border-color: #ffffffbf;
	box-shadow: none;
	flex: none;
}
body.woocommerce .detail-quality a.button.button-outline:hover,
.detail-quality a.button.button-outline:hover {
	color: #fff;
	background: #ffffff14;
	border-color: #ffffffbf;
}

.detail-breadcrumb {
	width: min(1180px, calc(100% - 48px));
	color: var(--muted);
	gap: 10px;
	margin: 26px auto;
	font-size: 12px;
	display: flex;
}
.detail-breadcrumb a {
	color: var(--blue);
	font-weight: 700;
}

.detail-hero {
	grid-template-columns: 0.86fr 1.14fr;
	align-items: center;
	gap: 70px;
	width: min(1180px, calc(100% - 48px));
	margin: 0 auto;
	padding: 30px 0 80px;
	display: grid;
}
.detail-media {
	min-width: 0;
}
.detail-image {
	aspect-ratio: 1;
	border: 1px solid var(--line);
	box-shadow: var(--shadow);
	background: #fff;
	border-radius: 28px;
	place-items: center;
	display: grid;
	position: relative;
	overflow: hidden;
}
.detail-image > .vial-visual,
.detail-image > .detail-image__photo,
.detail-image > img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.detail-image__photo {
	object-fit: contain;
}
.detail-image-disclaimer {
	color: #7d909f;
	text-align: center;
	margin: 10px 4px 0;
	font-size: 10px;
	line-height: 1.5;
}

.detail-copy h1 {
	color: var(--navy-deep);
	letter-spacing: -0.05em;
	margin: 18px 0 10px;
	font-size: clamp(44px, 6vw, 74px);
	line-height: 1;
	font-weight: 400;
}
.detail-aliases {
	color: var(--muted);
	font-size: 15px;
	line-height: 1.55;
	margin: 0 0 14px;
}
.detail-aliases__label {
	margin-right: 0.35em;
}
.detail-intro {
	color: var(--muted);
	font-size: 16px;
	line-height: 1.75;
	margin: 0;
}

.simple-specs {
	border: 1px solid var(--line);
	background: #fff;
	border-radius: 14px;
	margin: 26px 0 14px;
	overflow: hidden;
}
.simple-specs-head,
.simple-spec-row {
	grid-template-columns: 1fr 150px;
	align-items: center;
	gap: 20px;
	padding: 12px 16px;
	display: grid;
}
.simple-specs-head {
	color: #5b7386;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	background: #eaf3f7;
	font-size: 10px;
	font-weight: 900;
}
.simple-spec-row {
	color: #38546a;
	border-top: 1px solid #e5edf2;
	font-size: 13px;
}
.simple-spec-row strong {
	font-weight: 700;
}
.simple-spec-row code {
	color: #087f7b;
	background: #e8f7f5;
	border-radius: 7px;
	width: fit-content;
	padding: 6px 9px;
	font-family: Consolas, monospace;
	font-size: 12px;
	font-weight: 800;
}

.detail-disclaimer {
	color: #788c9c;
	margin: 0 0 20px;
	font-size: 11px;
}
.detail-actions {
	flex-wrap: wrap;
	gap: 12px;
	display: flex;
}

.detail-quality {
	background: linear-gradient(120deg, var(--navy-deep), #066e8a);
	color: #fff;
	justify-content: space-between;
	align-items: center;
	gap: 28px;
	padding: 70px max(28px, calc(50% - 590px));
	display: flex;
}
.detail-quality .section-kicker {
	color: var(--teal);
}
.detail-quality h2 {
	color: #fff;
	letter-spacing: -0.04em;
	margin: 14px 0;
	font-size: 40px;
	line-height: 1.08;
	font-weight: 400;
}
.detail-quality p {
	color: #ffffffb8;
	margin: 0;
}

.detail-page .woocommerce-notices-wrapper:empty {
	display: none;
}

/* innmi @media (width<=820px) — exact */
@media (max-width: 820px) {
	.detail-header {
		height: 88px;
		padding-inline: 16px;
	}
	body.woocommerce .detail-header a.button,
	body.woocommerce-page .detail-header a.button,
	.detail-header a.button {
		min-height: 38px;
		padding-inline: 12px;
		font-size: 11px;
	}
	.detail-header .language-select select {
		max-width: 86px;
	}
	.detail-breadcrumb,
	.detail-hero {
		width: calc(100% - 32px);
	}
	.detail-hero {
		grid-template-columns: 1fr;
		gap: 36px;
		padding-bottom: 56px;
	}
	.detail-copy h1 {
		font-size: 48px;
	}
	.simple-specs-head,
	.simple-spec-row {
		grid-template-columns: 1fr 105px;
		padding-inline: 13px;
	}
	.simple-spec-row {
		font-size: 12px;
	}
	body.woocommerce .detail-actions a.button,
	body.woocommerce-page .detail-actions a.button,
	.detail-actions a.button {
		width: 100%;
		white-space: normal;
	}
	.detail-quality {
		flex-direction: column;
		align-items: flex-start;
		padding: 54px 22px;
	}
}

/* ========== FLOATING SUPPORT DOCK (innmi.com replica) ========== */
.floating-support-spacer {
	height: calc(86px + env(safe-area-inset-bottom));
}

.floating-support-dock {
	z-index: 1000;
	padding: 10px 18px calc(10px + env(safe-area-inset-bottom));
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
	background: rgba(255, 255, 255, 0.96);
	border-top: 1px solid rgba(3, 45, 79, 0.09);
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	box-shadow: 0 -10px 30px rgba(3, 34, 64, 0.12);
}

.floating-support-dock-inner {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	width: min(100%, 640px);
	margin: 0 auto;
	display: grid;
}

.support-whatsapp-button,
.support-agent-button {
	border-radius: 14px;
	min-height: 68px;
	font-weight: 900;
	cursor: pointer;
	justify-content: flex-start;
	align-items: center;
	gap: 11px;
	padding: 8px 18px;
	display: flex;
	transition: transform 0.18s;
	font-family: inherit;
}

.support-whatsapp-button {
	background: linear-gradient(100deg, var(--blue), var(--teal));
	color: #fff;
	text-align: left;
	border: 0;
	box-shadow: 0 10px 24px rgba(0, 113, 173, 0.23);
	text-decoration: none;
}

.support-agent-button {
	box-shadow: none;
	color: var(--navy);
	background: #fff;
	border: 1px solid #b9d3df;
}

.support-whatsapp-button > span:last-child,
.support-agent-button > span:last-child {
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
	line-height: 1.15;
	display: flex;
}

.support-whatsapp-button strong,
.support-agent-button strong {
	font-size: 15px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 100%;
}

.support-whatsapp-button small {
	color: rgba(255, 255, 255, 0.76);
	margin-top: 3px;
	font-size: 9px;
	font-weight: 700;
}

.support-agent-button small {
	color: #6c8799;
	margin-top: 3px;
	font-size: 9px;
	font-weight: 700;
}

.support-whatsapp-icon {
	color: #fff;
	letter-spacing: -0.04em;
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.48);
	border-radius: 50%;
	flex: none;
	place-items: center;
	width: 30px;
	height: 30px;
	font-size: 10px;
	font-weight: 950;
	display: grid;
}

.support-agent-icon {
	color: #047e90;
	background: #edf8fa;
	border: 1px solid #a9cad6;
	border-radius: 50%;
	flex: none;
	place-items: center;
	width: 30px;
	height: 30px;
	font-size: 16px;
	display: grid;
}

.support-whatsapp-button:hover,
.support-agent-button:hover {
	transform: translateY(-1px);
	color: inherit;
}

.support-whatsapp-button:focus-visible,
.support-agent-button:focus-visible,
.agent-panel button:focus-visible,
.agent-panel a:focus-visible,
.agent-panel input:focus-visible {
	outline-offset: 2px;
	outline: 3px solid rgba(0, 181, 181, 0.28);
}

/* ---- Agent chat panel ---- */
.agent-panel {
	z-index: 1100;
	right: max(20px, 50vw - 590px);
	bottom: calc(86px + env(safe-area-inset-bottom));
	background: #fff;
	border: 1px solid rgba(196, 220, 232, 0.94);
	border-radius: 22px;
	grid-template-rows: auto minmax(0, 1fr) auto auto auto;
	width: min(400px, 100% - 32px);
	height: min(610px, 100dvh - 122px);
	animation: 0.2s ease-out dt04-agent-panel-in;
	display: grid;
	position: fixed;
	overflow: hidden;
	box-shadow: 0 24px 80px rgba(3, 32, 62, 0.28);
}
.agent-panel[hidden] { display: none; }

@keyframes dt04-agent-panel-in {
	0% {
		opacity: 0;
		transform: translateY(12px) scale(0.985);
	}
}

.agent-panel-header {
	color: #fff;
	background: linear-gradient(115deg, #04376b, #075eaa 58%, #079e9e);
	grid-template-columns: 47px minmax(0, 1fr) 36px;
	align-items: center;
	gap: 11px;
	min-height: 76px;
	padding: 12px 14px;
	display: grid;
}

.agent-avatar {
	background: #fff;
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 14px;
	place-items: center;
	width: 47px;
	min-width: 47px;
	height: 47px;
	min-height: 47px;
	display: grid;
	overflow: hidden;
}
.agent-avatar img {
	object-fit: contain;
	object-position: center;
	width: 100%;
	max-width: 100%;
	height: 100%;
	display: block;
}

.agent-panel-header > div:nth-child(2) {
	flex-direction: column;
	gap: 5px;
	min-width: 0;
	display: flex;
}
.agent-panel-header strong {
	font-size: 15px;
}
.agent-panel-header span {
	color: rgba(255, 255, 255, 0.76);
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 10px;
	overflow: hidden;
	display: flex;
	align-items: center;
}
.agent-panel-header i {
	background: #68f0c8;
	border-radius: 50%;
	width: 7px;
	height: 7px;
	margin-right: 4px;
	display: inline-block;
	box-shadow: 0 0 0 3px rgba(104, 240, 200, 0.16);
	flex: none;
}

.agent-panel-header button {
	color: #fff;
	cursor: pointer;
	background: rgba(255, 255, 255, 0.12);
	border: 0;
	border-radius: 50%;
	width: 34px;
	height: 34px;
	font-size: 24px;
	line-height: 1;
	padding: 0;
}

.agent-message-feed {
	scrollbar-width: thin;
	background:
		radial-gradient(circle at 100% 0, rgba(4, 169, 167, 0.09), transparent 34%),
		#f4f8fb;
	flex-direction: column;
	gap: 10px;
	padding: 18px 15px;
	display: flex;
	overflow-y: auto;
}

.agent-message {
	border-radius: 15px;
	width: fit-content;
	max-width: 88%;
	padding: 11px 13px;
	font-size: 12px;
	line-height: 1.6;
	box-shadow: 0 4px 13px rgba(4, 43, 81, 0.06);
}
.agent-message p {
	white-space: pre-line;
	margin: 0;
}
.agent-message-assistant {
	color: #254762;
	background: #fff;
	border: 1px solid #d9e8ef;
	border-top-left-radius: 5px;
	align-self: flex-start;
}
.agent-message-user {
	color: #fff;
	background: linear-gradient(115deg, #0965b8, #079d9e);
	border-top-right-radius: 5px;
	align-self: flex-end;
}
.agent-message a {
	color: var(--blue);
	margin-top: 8px;
	font-size: 11px;
	font-weight: 900;
	display: inline-flex;
}

.agent-typing {
	color: var(--muted);
	align-self: flex-start;
	align-items: center;
	gap: 4px;
	font-size: 9px;
	display: flex;
}
.agent-typing span {
	background: var(--teal);
	border-radius: 50%;
	width: 5px;
	height: 5px;
	animation: 1s infinite alternate dt04-agent-dot;
}
.agent-typing span:nth-child(2) { animation-delay: 0.18s; }
.agent-typing span:nth-child(3) { margin-right: 3px; animation-delay: 0.36s; }

@keyframes dt04-agent-dot {
	to {
		opacity: 0.25;
		transform: translateY(-2px);
	}
}

.agent-quick-prompts {
	scrollbar-width: none;
	background: #fff;
	border-top: 1px solid #e1ebf0;
	gap: 7px;
	padding: 10px 12px 7px;
	display: flex;
	overflow-x: auto;
}
.agent-quick-prompts::-webkit-scrollbar { display: none; }
.agent-quick-prompts button {
	color: #23506d;
	cursor: pointer;
	background: #f4fafb;
	border: 1px solid #c4dce6;
	border-radius: 999px;
	flex: none;
	padding: 7px 10px;
	font-size: 9px;
	font-weight: 800;
}

.agent-input-row {
	background: #fff;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 8px;
	padding: 8px 12px 10px;
	display: grid;
}
.agent-input-row input {
	min-width: 0;
	height: 43px;
	color: var(--ink);
	border: 1px solid #c8dbe5;
	border-radius: 11px;
	outline: 0;
	padding: 0 12px;
	font-size: 11px;
}
.agent-input-row button {
	background: var(--navy);
	color: #fff;
	cursor: pointer;
	border: 0;
	border-radius: 11px;
	min-width: 65px;
	font-size: 10px;
	font-weight: 900;
}
.agent-input-row button:disabled {
	cursor: not-allowed;
	opacity: 0.45;
}

.agent-panel-footer {
	color: #7b8e9e;
	background: #fbfdfe;
	border-top: 1px solid #e5edf2;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	min-height: 36px;
	padding: 8px 13px;
	font-size: 8px;
	display: flex;
}
.agent-panel-footer a {
	color: var(--teal);
	font-size: 9px;
	font-weight: 900;
}

@media (max-width: 640px) {
	.floating-support-dock { padding-inline: 10px; }
	.floating-support-dock-inner { gap: 8px; }
	.support-whatsapp-button,
	.support-agent-button {
		min-height: 62px;
		padding-inline: 12px;
	}
	.support-whatsapp-button strong,
	.support-agent-button strong { font-size: 13px; }

	.agent-panel {
		right: 8px;
		bottom: calc(84px + env(safe-area-inset-bottom));
		border-radius: 19px;
		width: calc(100% - 16px);
		height: min(620px, 100dvh - 102px);
	}
}

/* ========== COA LIBRARY PAGE (innmi.com/coa) ========== */
.coa-library-page {
	background: radial-gradient(circle at 90% 7%, #04a9a71a, transparent 25%), #f5fafc;
	min-height: 100vh;
	overflow-x: hidden;
}

.coa-library-hero {
	color: #fff;
	background:
		radial-gradient(circle at 90% 15%, #14cfc53d, transparent 24%),
		linear-gradient(135deg, #031c38, #064f83 64%, #048c91);
	border-radius: 30px;
	grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
	align-items: end;
	gap: 70px;
	width: min(1260px, 100% - 48px);
	margin: 34px auto 0;
	padding: clamp(54px, 7vw, 100px);
	display: grid;
	overflow: hidden;
	box-shadow: 0 28px 70px #0326462b;
}
.coa-library-hero-copy > span,
.coa-control-heading > div > span,
.coa-request-card > div > span {
	color: var(--teal-bright);
	letter-spacing: 0.13em;
	font-size: 11px;
	font-weight: 900;
}
.coa-library-hero h1 {
	color: #fff;
	letter-spacing: -0.055em;
	margin: 17px 0 22px;
	font-size: clamp(48px, 6vw, 82px);
	line-height: 0.95;
}
.coa-library-hero h1 em {
	color: #48e0d7;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 0.78em;
	font-style: italic;
	font-weight: 500;
	display: block;
}
.coa-library-hero-copy > p {
	color: rgba(255, 255, 255, 0.76);
	max-width: 720px;
	margin: 0;
	font-size: 15px;
	line-height: 1.8;
}
.coa-demo-notice {
	color: rgba(255, 255, 255, 0.69);
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 13px;
	align-items: flex-start;
	gap: 14px;
	max-width: 720px;
	margin-top: 28px;
	padding: 14px 16px;
	font-size: 12px;
	line-height: 1.6;
	display: flex;
}
.coa-demo-notice b {
	color: #fff;
	flex: none;
}
.coa-library-metrics {
	gap: 12px;
	margin: 0;
	display: grid;
}
.coa-library-metrics > div {
	border-bottom: 1px solid rgba(255, 255, 255, 0.18);
	justify-content: space-between;
	align-items: baseline;
	gap: 20px;
	padding: 19px 0;
	display: flex;
}
.coa-library-metrics dt {
	color: #fff;
	letter-spacing: -0.04em;
	font-size: clamp(32px, 4vw, 52px);
	font-weight: 900;
}
.coa-library-metrics dd {
	color: rgba(255, 255, 255, 0.66);
	text-align: right;
	margin: 0;
	font-size: 12px;
	font-weight: 750;
}

.coa-library-controls {
	width: min(1180px, 100% - 48px);
	margin: 72px auto 0;
}
.coa-control-heading {
	grid-template-columns: minmax(0, 1fr) minmax(360px, 520px);
	align-items: end;
	gap: 50px;
	display: grid;
}
.coa-control-heading h2 {
	color: var(--navy-deep);
	letter-spacing: -0.04em;
	margin: 8px 0;
	font-size: clamp(34px, 4vw, 52px);
}
.coa-control-heading p {
	color: var(--muted);
	margin: 0;
	font-size: 13px;
}
.coa-library-search {
	background: #fff;
	border: 1px solid #c9dbe5;
	border-radius: 16px;
	align-items: center;
	gap: 12px;
	min-height: 58px;
	padding: 7px 8px 7px 18px;
	display: flex;
	box-shadow: 0 12px 34px #042b5114;
}
.coa-library-search > span {
	color: var(--teal);
	font-size: 26px;
	line-height: 1;
}
.coa-library-search input {
	min-width: 0;
	color: var(--ink);
	border: 0;
	outline: 0;
	background: transparent;
	flex: 1;
	font-size: 13px;
}
.coa-quick-tags {
	flex-wrap: wrap;
	gap: 9px;
	margin-top: 28px;
	display: flex;
}
.coa-quick-tags button {
	color: #38566c;
	cursor: pointer;
	white-space: nowrap;
	background: #fff;
	border: 1px solid #cbdde7;
	border-radius: 999px;
	align-items: center;
	gap: 9px;
	min-height: 42px;
	padding: 0 14px;
	font-size: 12px;
	font-weight: 800;
	transition: all 0.2s;
	display: inline-flex;
}
.coa-quick-tags button:hover,
.coa-quick-tags button.is-active {
	background: linear-gradient(100deg, var(--blue), var(--teal));
	color: #fff;
	border-color: transparent;
	box-shadow: 0 10px 24px #04678d33;
}
.coa-quick-tags button span {
	color: #587086;
	background: #eaf2f6;
	border-radius: 999px;
	place-items: center;
	min-width: 22px;
	height: 22px;
	padding: 0 5px;
	font-size: 10px;
	display: grid;
}
.coa-quick-tags button.is-active span,
.coa-quick-tags button:hover span {
	color: #fff;
	background: rgba(255, 255, 255, 0.2);
}

.coa-report-library {
	gap: 68px;
	width: min(1180px, 100% - 48px);
	margin: 62px auto 90px;
	display: grid;
}
.coa-product-group > header {
	align-items: center;
	gap: 15px;
	margin-bottom: 22px;
	display: flex;
}
.coa-product-group > header > span {
	background: linear-gradient(145deg, var(--navy), #0c8b9d);
	color: #fff;
	border-radius: 13px;
	place-items: center;
	width: 44px;
	height: 44px;
	font-weight: 900;
	display: grid;
}
.coa-product-group > header h2 {
	color: var(--navy-deep);
	letter-spacing: -0.03em;
	margin: 0;
	font-size: 27px;
}
.coa-product-group > header p {
	color: var(--muted);
	margin: 3px 0 0;
	font-size: 11px;
	font-weight: 700;
}
.coa-report-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	display: grid;
}
.coa-report-card {
	background: #fff;
	border: 1px solid #d4e2ea;
	border-radius: 18px;
	min-width: 0;
	overflow: hidden;
	box-shadow: 0 12px 34px #042b5112;
}
.coa-report-meta {
	grid-template-columns: 34px minmax(0, 1fr) auto;
	align-items: center;
	gap: 11px;
	min-height: 80px;
	padding: 14px 15px;
	display: grid;
}
.coa-report-meta > span {
	color: #087f7b;
	background: #e5f3f5;
	border-radius: 50%;
	place-items: center;
	width: 32px;
	height: 32px;
	font-size: 10px;
	font-weight: 900;
	display: grid;
}
.coa-report-meta h3 {
	color: var(--navy);
	text-overflow: ellipsis;
	white-space: nowrap;
	margin: 0;
	font-size: 14px;
	overflow: hidden;
}
.coa-report-meta p {
	color: var(--muted);
	text-overflow: ellipsis;
	white-space: nowrap;
	margin: 4px 0 0;
	font-size: 10px;
	overflow: hidden;
}
.coa-report-meta > b {
	color: #668093;
	letter-spacing: 0.08em;
	font-size: 8px;
}
.coa-report-preview {
	cursor: pointer;
	background: linear-gradient(145deg, #e8f0f4, #f9fcfd);
	border: 1px solid #e1eaf0;
	border-left: 0;
	border-right: 0;
	place-items: center;
	width: 100%;
	height: 395px;
	padding: 26px;
	display: grid;
	position: relative;
	overflow: hidden;
}
.coa-report-preview > span:last-child {
	color: #fff;
	background: rgba(3, 30, 58, 0.88);
	border-radius: 8px;
	padding: 9px 11px;
	font-size: 9px;
	font-weight: 850;
	position: absolute;
	bottom: 13px;
	right: 13px;
}
.coa-file-image {
	object-fit: contain;
	width: 100%;
	height: 100%;
}
.coa-file-placeholder {
	color: var(--muted);
	font-size: 13px;
	font-weight: 700;
}
.coa-report-card > footer {
	color: #6f8595;
	background: #fff;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	padding: 13px 15px;
	font-size: 9px;
	display: flex;
}
.coa-report-card > footer button {
	color: var(--blue);
	cursor: pointer;
	background: transparent;
	border: 0;
	font-size: 10px;
	font-weight: 850;
}

.coa-library-empty {
	color: var(--muted);
	text-align: center;
	background: #fff;
	border: 1px dashed #a8c1cf;
	border-radius: 20px;
	padding: 70px 24px;
}
.coa-library-empty strong {
	color: var(--navy);
	font-size: 24px;
	display: block;
}
.coa-library-empty p {
	margin: 10px 0 0;
	font-size: 13px;
}
.coa-library-empty button {
	background: var(--navy);
	color: #fff;
	cursor: pointer;
	border: 0;
	border-radius: 10px;
	min-height: 42px;
	margin-top: 16px;
	padding: 0 16px;
	font-weight: 800;
}

.coa-request-card {
	background:
		radial-gradient(circle at 90% 20%, #14cfc533, transparent 22%),
		var(--navy-deep);
	color: #fff;
	border-radius: 24px;
	justify-content: space-between;
	align-items: center;
	gap: 50px;
	width: min(1180px, 100% - 48px);
	margin: 0 auto 90px;
	padding: 46px 52px;
	display: flex;
}
.coa-request-card h2 {
	color: #fff;
	letter-spacing: -0.035em;
	margin: 9px 0;
	font-size: 34px;
}
.coa-request-card p {
	color: rgba(255, 255, 255, 0.67);
	max-width: 680px;
	margin: 0;
	font-size: 13px;
	line-height: 1.7;
}
.coa-request-card .button {
	flex: none;
}

.coa-modal {
	z-index: 100;
	border: 0;
	padding: 24px;
	max-width: none;
	max-height: none;
	width: 100%;
	height: 100%;
	background: rgba(1, 16, 31, 0.82);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	place-items: center;
	display: none;
}
.coa-modal[open] {
	display: grid;
}
.coa-modal::backdrop {
	background: transparent;
}
.coa-modal-panel {
	background: #f1f6f8;
	border-radius: 22px;
	flex-direction: column;
	width: min(980px, 100%);
	max-height: calc(100vh - 48px);
	display: flex;
	overflow: hidden;
	box-shadow: 0 36px 90px rgba(0, 0, 0, 0.35);
}
.coa-modal-panel > header {
	border-bottom: 1px solid var(--line);
	background: #fff;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	padding: 18px 22px;
	display: flex;
}
.coa-modal-panel > header span {
	color: var(--teal);
	letter-spacing: 0.12em;
	font-size: 9px;
	font-weight: 900;
}
.coa-modal-panel > header h2 {
	color: var(--navy);
	margin: 3px 0;
	font-size: 24px;
}
.coa-modal-panel > header p {
	color: var(--muted);
	margin: 0;
	font-size: 10px;
}
.coa-modal-panel > header button {
	width: 40px;
	height: 40px;
	color: var(--navy);
	cursor: pointer;
	background: #eaf2f6;
	border: 0;
	border-radius: 50%;
	place-items: center;
	font-size: 26px;
	display: grid;
	flex: none;
}
.coa-modal-content {
	flex: 1;
	place-items: center;
	min-height: 0;
	padding: 34px;
	display: grid;
	overflow: auto;
}
.coa-modal-content .coa-file-image.is-full {
	max-height: 80vh;
	width: auto;
	max-width: 100%;
	margin: 0 auto;
}
.coa-file-frame {
	background: #fff;
	border: 0;
	width: 100%;
	min-height: 78vh;
}
.coa-modal-panel > footer {
	color: #728795;
	background: #fff;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	padding: 14px 22px;
	font-size: 10px;
	display: flex;
}
.coa-modal-panel > footer a {
	color: var(--blue);
	flex: none;
	font-weight: 850;
}
.coa-modal-links {
	align-items: center;
	gap: 18px;
	display: flex;
}

.coa-back-to-top {
	z-index: 70;
	right: 22px;
	bottom: calc(92px + env(safe-area-inset-bottom));
	background: linear-gradient(110deg, var(--blue), var(--teal));
	color: #fff;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	border: 1px solid rgba(255, 255, 255, 0.72);
	border-radius: 999px;
	align-items: center;
	gap: 8px;
	min-height: 46px;
	padding: 8px 14px 8px 9px;
	transition: opacity 0.2s, transform 0.2s, visibility 0.2s;
	display: inline-flex;
	position: fixed;
	transform: translateY(12px);
	box-shadow: 0 13px 28px #0130573d;
}
.coa-back-to-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.coa-back-to-top span {
	background: rgba(255, 255, 255, 0.18);
	border-radius: 50%;
	place-items: center;
	width: 29px;
	height: 29px;
	font-size: 18px;
	font-weight: 900;
	line-height: 1;
	display: grid;
}
.coa-back-to-top b {
	white-space: nowrap;
	font-size: 11px;
	font-weight: 850;
}

@media (max-width: 1050px) {
	.coa-library-hero {
		grid-template-columns: 1fr;
		gap: 35px;
	}
	.coa-library-metrics {
		grid-template-columns: repeat(3, 1fr);
	}
	.coa-library-metrics > div {
		border-bottom: 0;
		display: block;
	}
	.coa-library-metrics dd {
		text-align: left;
		margin-top: 5px;
	}
	.coa-report-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 820px) {
	.coa-library-hero,
	.coa-library-controls,
	.coa-report-library,
	.coa-request-card {
		width: calc(100% - 28px);
	}
	.coa-library-hero {
		border-radius: 22px;
		margin-top: 14px;
		padding: 48px 24px;
	}
	.coa-library-hero h1 {
		font-size: clamp(47px, 13vw, 66px);
	}
	.coa-demo-notice {
		display: block;
	}
	.coa-demo-notice b {
		margin-bottom: 5px;
		display: block;
	}
	.coa-library-metrics {
		gap: 6px;
	}
	.coa-library-metrics dt {
		font-size: 30px;
	}
	.coa-control-heading {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	.coa-library-controls {
		margin-top: 54px;
	}
	.coa-quick-tags {
		scrollbar-width: none;
		scroll-snap-type: x proximity;
		flex-wrap: nowrap;
		width: calc(100vw - 14px);
		margin-right: -14px;
		padding: 2px 14px 12px 0;
		overflow-x: auto;
	}
	.coa-quick-tags::-webkit-scrollbar {
		display: none;
	}
	.coa-quick-tags button {
		scroll-snap-align: start;
		flex: none;
	}
	.coa-report-library {
		gap: 52px;
		margin-top: 45px;
	}
	.coa-report-grid {
		grid-template-columns: 1fr;
	}
	.coa-report-preview {
		height: min(430px, 112vw);
	}
	.coa-request-card {
		flex-direction: column;
		align-items: stretch;
		gap: 28px;
		padding: 34px 24px;
	}
	.coa-request-card h2 {
		font-size: 30px;
	}
	.coa-request-card .button {
		width: 100%;
		text-align: center;
	}
	.coa-modal {
		padding: 0;
	}
	.coa-modal-panel {
		border-radius: 0;
		width: 100%;
		min-height: 100vh;
		max-height: 100vh;
	}
	.coa-modal-content {
		padding: 18px;
	}
	.coa-modal-panel > footer {
		flex-direction: column;
		align-items: flex-start;
	}
}
@media (max-width: 560px) {
	.coa-back-to-top {
		right: 12px;
		bottom: calc(88px + env(safe-area-inset-bottom));
		min-height: 42px;
		padding: 6px 11px 6px 7px;
	}
	.coa-back-to-top span {
		width: 28px;
		height: 28px;
	}
	.coa-back-to-top b {
		font-size: 10px;
	}
	.coa-library-metrics {
		grid-template-columns: repeat(2, 1fr);
	}
	.coa-library-metrics > div:last-child {
		display: none;
	}
	.coa-library-search {
		min-height: 54px;
	}
	.coa-library-search input {
		font-size: 12px;
	}
	.coa-product-group > header h2 {
		font-size: 23px;
	}
}

/* ========== NEWS PAGE (innmi.com/news) ========== */
.news-page {
	background: linear-gradient(#f5fbfd 0%, #fff 42%);
	min-height: 100vh;
}
.news-hero {
	max-width: 1180px;
	margin: 0 auto;
	padding: clamp(68px, 10vw, 130px) 30px 48px;
}
.news-hero h1 {
	max-width: 760px;
	color: var(--navy);
	letter-spacing: -0.07em;
	margin: 15px 0 18px;
	font-size: clamp(2.75rem, 6vw, 5.7rem);
	line-height: 0.96;
}
.news-hero p {
	max-width: 620px;
	color: var(--muted);
	margin: 0;
	font-size: 1.06rem;
	line-height: 1.75;
}
.section.news-list {
	padding-top: 0;
	padding-bottom: 110px;
}
.news-release-card {
	background: #fff;
	border: 1px solid #cce3e9;
	border-radius: 30px;
	grid-template-columns: minmax(170px, 0.34fr) minmax(0, 1fr);
	display: grid;
	overflow: hidden;
	box-shadow: 0 20px 55px rgba(22, 75, 105, 0.1);
}
.news-release-date {
	color: #fff;
	background: linear-gradient(145deg, #073d69, #08a9a4);
	flex-direction: column;
	justify-content: space-between;
	gap: 36px;
	padding: 34px;
	display: flex;
}
.news-release-date span,
.news-release-source {
	letter-spacing: 0.12em;
	text-transform: uppercase;
	margin: 0;
	font-size: 0.72rem;
	font-weight: 800;
}
.news-release-date strong {
	font-size: 1.1rem;
	line-height: 1.3;
}
.news-release-copy {
	padding: clamp(30px, 5vw, 62px);
}
.news-release-source {
	color: #008f94;
}
.news-release-copy h2 {
	max-width: 780px;
	color: var(--navy);
	letter-spacing: -0.055em;
	margin: 13px 0 18px;
	font-size: clamp(1.85rem, 3.8vw, 3.5rem);
	line-height: 1.05;
}
.news-release-copy > p:not(.news-release-source):not(.news-release-disclosure) {
	max-width: 740px;
	color: var(--muted);
	line-height: 1.8;
}
.news-release-disclosure {
	color: #68829a;
	max-width: 740px;
	margin: 20px 0 26px;
	font-size: 0.88rem;
	line-height: 1.65;
}
.news-empty {
	color: var(--muted);
	text-align: center;
	border: 1px solid #d8e7ec;
	border-radius: 24px;
	padding: 48px;
}

@media (max-width: 820px) {
	.section.news-list {
		padding-top: 0;
		padding-bottom: 110px;
	}
}

/* ========== REVIEWS PAGE (innmi.com/reviews) ========== */
.reviews-page {
	background: #f7fbfc;
	min-height: 100vh;
}
.reviews-hero {
	color: #fff;
	background:
		radial-gradient(circle at 76% 12%, rgba(0, 190, 177, 0.45), transparent 30%),
		linear-gradient(128deg, #032a53, #075575 65%, #0b9f9d);
	padding: clamp(64px, 10vw, 125px) clamp(24px, 8vw, 120px) 72px;
}
.reviews-hero .section-kicker {
	color: var(--teal);
}
.reviews-hero h1 {
	letter-spacing: -0.055em;
	max-width: 700px;
	margin: 14px 0;
	font-size: clamp(46px, 6vw, 82px);
}
.reviews-hero p {
	color: rgba(255, 255, 255, 0.81);
	max-width: 680px;
	margin: 0;
	font-size: clamp(16px, 2vw, 20px);
	line-height: 1.65;
}
.section.reviews-layout {
	grid-template-columns: minmax(0, 1.35fr) minmax(310px, 0.65fr);
	align-items: start;
	gap: clamp(24px, 4vw, 62px);
	padding-top: 82px;
	padding-bottom: 95px;
	display: grid;
}
.review-listing-heading {
	justify-content: space-between;
	align-items: end;
	gap: 18px;
	margin-bottom: 23px;
	display: flex;
}
.review-listing-heading h2,
.review-form h2 {
	color: var(--navy);
	letter-spacing: -0.04em;
	margin: 10px 0 0;
	font-size: clamp(29px, 3vw, 43px);
}
.review-listing-heading > span {
	color: #007f80;
	background: #dcf5f3;
	border-radius: 50%;
	place-items: center;
	width: 46px;
	height: 46px;
	font-size: 14px;
	font-weight: 850;
	display: grid;
}
.review-cards {
	gap: 16px;
	display: grid;
}
.review-card {
	background: #fff;
	border: 1px solid #dceaf0;
	border-radius: 19px;
	padding: 24px;
	box-shadow: 0 12px 35px rgba(5, 54, 83, 0.05);
}
.review-card-meta {
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	display: flex;
}
.review-stars,
.review-hero-stars {
	color: #f4c35f;
	letter-spacing: 0.06em;
	align-items: center;
	gap: 1px;
	font-size: 17px;
	display: inline-flex;
}
.review-stars i {
	color: #dce7ea;
	font-style: normal;
}
.review-card time {
	color: #7190a3;
	font-size: 12px;
	font-weight: 700;
}
.review-card > p {
	color: #264762;
	white-space: pre-wrap;
	margin: 17px 0 14px;
	font-size: 16px;
	line-height: 1.7;
}
.review-card > strong {
	color: #006d7b;
	font-size: 13px;
}
.review-empty {
	color: #668396;
	text-align: center;
	border: 1px dashed #cbdde5;
	border-radius: 18px;
	padding: 44px 24px;
}
.review-form {
	background: #fff;
	border: 1px solid #d5e6eb;
	border-radius: 22px;
	gap: 15px;
	padding: clamp(23px, 3vw, 36px);
	display: grid;
	box-shadow: 0 20px 54px rgba(5, 54, 83, 0.08);
}
.review-form > p {
	color: #668396;
	margin: -3px 0 4px;
	font-size: 14px;
	line-height: 1.65;
}
.review-form label:not(.review-anonymous) {
	color: #48697f;
	gap: 7px;
	font-size: 13px;
	font-weight: 750;
	display: grid;
}
.review-form input:not([type="checkbox"]),
.review-form textarea {
	width: 100%;
	color: var(--navy);
	font: inherit;
	background: #fff;
	border: 1px solid #c9dce4;
	border-radius: 10px;
	outline: 0;
}
.review-form input:not([type="checkbox"]) {
	min-height: 45px;
	padding: 0 12px;
}
.review-form textarea {
	resize: vertical;
	min-height: 130px;
	padding: 11px 12px;
}
.review-form input:focus,
.review-form textarea:focus {
	border-color: var(--teal);
	box-shadow: 0 0 0 3px rgba(4, 169, 167, 0.11);
}
.review-anonymous {
	color: #254761;
	align-items: center;
	gap: 9px;
	font-size: 14px;
	font-weight: 750;
	display: flex;
}
.review-anonymous input {
	width: 16px;
	height: 16px;
	accent-color: var(--teal);
}
.review-rating {
	border: 0;
	margin: 0;
	padding: 0;
}
.review-rating legend {
	color: #48697f;
	margin-bottom: 7px;
	font-size: 13px;
	font-weight: 750;
}
.review-rating div {
	gap: 3px;
	display: flex;
}
.review-rating button {
	color: #dbe4e8;
	cursor: pointer;
	background: none;
	border: 0;
	padding: 0;
	font-size: 28px;
	line-height: 1;
}
.review-rating button.selected {
	color: #f2bd4f;
}
.review-form .button {
	cursor: pointer;
	border: 0;
	justify-content: center;
	width: 100%;
}
.review-form .button:disabled,
.review-form.is-submitting .button {
	cursor: wait;
	opacity: 0.62;
}
.review-form-notice {
	color: #047a78;
	background: #e7f7f5;
	border-radius: 9px;
	padding: 12px 13px;
	font-size: 13px;
	line-height: 1.55;
	display: block;
}
.review-form-notice.is-error {
	color: #9b2c2c;
	background: #fff6f6;
	border: 1px solid #f0c6c6;
}
.review-form-honeypot {
	position: absolute !important;
	left: -9999px;
	opacity: 0;
	pointer-events: none;
}

@media (max-width: 900px) {
	.section.reviews-layout {
		grid-template-columns: 1fr;
		padding-top: 82px;
		padding-bottom: 95px;
	}
}

@media (max-width: 620px) {
	.reviews-hero {
		padding: 62px 24px 55px;
	}
	.section.reviews-layout {
		padding-top: 46px;
		padding-bottom: 68px;
	}
	.review-card,
	.review-form {
		padding: 20px;
	}
	.review-card-meta {
		flex-direction: column;
		align-items: flex-start;
		gap: 7px;
	}
}
