/* Điều hòa & HVAC page */
.hvac-page {
	--hvac-yellow: #f4c400;
	--hvac-yellow-soft: #ffe36b;
	--hvac-orange: #ff9800;
	--hvac-ink: #101010;
	--hvac-muted: #6f6f6f;
	--hvac-line: #e8e5da;
	--hvac-soft: #faf8f1;
	color: #2d2d2d;
	font-family: "Manrope", sans-serif;
	overflow: hidden;
}

.hvac-page *,
.hvac-page *::before,
.hvac-page *::after {
	box-sizing: border-box;
}

.hvac-page a {
	color: inherit;
	text-decoration: none;
}

.hvac-page img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hvac-page .section {
	padding: 100px 0;
}

.hvac-page h1,
.hvac-page h2,
.hvac-page h3,
.hvac-page h4 {
	margin: 0;
	color: var(--hvac-ink);
	font-family: "Montserrat", sans-serif;
	letter-spacing: -.03em;
	line-height: 1.14;
	font-weight: 700;
}

.hvac-page h2 {
	font-size: clamp(30px, 3.3vw, 40px);
}

.hvac-page .eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 16px;
	color: #8b6d00;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.hvac-page .eyebrow::before {
	width: 34px;
	height: 3px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--hvac-yellow), var(--hvac-orange));
	content: "";
}

.hvac-page .btn {
	display: inline-flex;
	min-height: 54px;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 0 24px;
	border-radius: 10px;
	font-weight: 800;
	transition: transform .28s ease, background-color .28s ease;
}

.hvac-page .btn-primary {
	background: linear-gradient(135deg, #ffe36b 0%, #f4c400 52%, #ffaa00 100%);
	box-shadow: 0 12px 32px rgba(244, 196, 0, .18);
	color: var(--hvac-ink);
}

.hvac-page .btn-primary:hover {
	transform: translateY(-2px);
}

.hvac-page .btn-outline {
	border: 1px solid rgba(255, 255, 255, .18);
	background: rgba(255, 255, 255, .06);
	color: #fff;
	backdrop-filter: blur(8px);
}

.hvac-page .btn-outline:hover {
	background: rgba(255, 255, 255, .12);
}

.hvac-page .section-head {
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	align-items: end;
	gap: 70px;
	margin-bottom: 54px;
}

.hvac-page .section-head>p {
	max-width: 560px;
	margin: 0;
	justify-self: end;
	color: var(--hvac-muted);
	font-size: 16px;
	line-height: 1.8;
}

/* Hero */
.hvac-page .hvac-hero {
	position: relative;
	display: flex;
	min-height: 840px;
	align-items: center;
	overflow: hidden;
	background: radial-gradient(circle at 82% 26%, rgba(255, 196, 0, .14), transparent 24%), radial-gradient(circle at 18% 18%, rgba(255, 223, 111, .04), transparent 20%), linear-gradient(108deg, #090909 0%, #101010 56%, #171717 100%);
	color: #fff;
}

.hvac-page .hvac-hero::before {
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(255, 255, 255, .02) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .02) 1px, transparent 1px);
	background-size: 42px 42px;
	content: "";
	mask-image: linear-gradient(180deg, #000 0%, transparent 88%);
	pointer-events: none;
}

.hvac-page .hvac-hero::after {
	position: absolute;
	top: -180px;
	right: -220px;
	width: 620px;
	height: 620px;
	border: 1px solid rgba(244, 196, 0, .08);
	border-radius: 50%;
	box-shadow: 0 0 0 100px rgba(244, 196, 0, .02), 0 0 0 200px rgba(244, 196, 0, .01);
	content: "";
}

.hvac-page .hvac-hero-grid {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: 1.02fr .98fr;
	align-items: center;
	gap: 54px;
	padding-top: 86px;
}

.hvac-page .hvac-copy {
	max-width: 720px;
	padding: 72px 0 84px;
}

.hvac-page .hvac-hero .eyebrow {
	padding: 9px 13px;
	border: 1px solid rgba(255, 216, 77, .18);
	border-radius: 999px;
	background: rgba(255, 196, 0, .08);
	color: #ffe99a;
}

.hvac-page .hvac-hero .eyebrow::before {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--hvac-yellow);
	box-shadow: 0 0 18px rgba(255, 216, 77, .9);
}

.hvac-page .hvac-copy h1 {
	max-width: 760px;
	color: #fff;
	font-size: clamp(42px, 5vw, 60px);
}

.hvac-page .hvac-copy .accent {
	display: block;
	background: linear-gradient(90deg, #ffe672 0%, #ffbf00 45%, #ff8a00 100%);
	background-clip: text;
	color: transparent;
	-webkit-background-clip: text;
}

.hvac-page .hvac-copy>p {
	max-width: 650px;
	margin: 22px 0 30px;
	color: rgba(255, 255, 255, .74);
	font-size: 15px;
	line-height: 1.82;
}

.hvac-page .hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.hvac-page .hero-trust {
	display: flex;
	flex-wrap: wrap;
	gap: 22px;
	margin-top: 24px;
	color: rgba(255, 255, 255, .58);
	font-size: 12px;
	font-weight: 700;
}

.hvac-page .hero-trust span {
	display: flex;
	align-items: center;
	gap: 8px;
}

.hvac-page .hero-trust i {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--hvac-yellow);
	box-shadow: 0 0 12px rgba(244, 196, 0, .8);
}

/* Animated HVAC visual */
.hvac-page .hvac-visual {
	position: relative;
	width: 100%;
	min-height: 610px;
	max-width: 580px;
	margin-left: auto;
	isolation: isolate;
}

.hvac-page .airwave-circle {
	position: absolute;
	inset: 74px;
	border: 1px solid rgba(255, 214, 60, .10);
	border-radius: 50%;
	animation: hvac-rotate-slow 28s linear infinite;
}

.hvac-page .airwave-circle::before,
.hvac-page .airwave-circle::after {
	position: absolute;
	inset: 44px;
	border: 1px dashed rgba(255, 214, 60, .14);
	border-radius: 50%;
	animation: hvac-rotate-reverse 18s linear infinite;
	content: "";
}

.hvac-page .airwave-circle::after {
	inset: 100px;
	animation-duration: 14s;
}

.hvac-page .hvac-core {
	position: absolute;
	z-index: 5;
	top: 50%;
	left: 50%;
	display: grid;
	width: 180px;
	height: 180px;
	margin: -90px;
	border-radius: 36px;
	background: linear-gradient(145deg, rgba(255, 216, 77, .98), rgba(255, 151, 0, .96));
	box-shadow: 0 0 0 10px rgba(255, 184, 0, .06), 0 0 56px rgba(255, 184, 0, .34), 0 22px 80px rgba(0, 0, 0, .35);
	place-items: center;
	transform: rotate(45deg);
	animation: hvac-core-hover 5.4s ease-in-out infinite, hvac-core-pulse 2.8s ease-in-out infinite;
}

.hvac-page .hvac-core::before,
.hvac-page .hvac-core::after {
	position: absolute;
	z-index: -1;
	inset: -10px;
	border: 1px solid rgba(255, 210, 80, .22);
	border-radius: 42px;
	content: "";
	opacity: .55;
	animation: hvac-ripple 2.6s ease-out infinite;
}

.hvac-page .hvac-core::after {
	animation-delay: 1.3s;
}

.hvac-page .fan-wrap {
	position: relative;
	width: 92px;
	height: 92px;
	transform: rotate(-45deg);
	animation: hvac-fan-spin 4.8s linear infinite;
	filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .18));
}

.hvac-page .fan-wrap::before {
	position: absolute;
	inset: 28px;
	border-radius: 50%;
	background: #111;
	box-shadow: 0 0 0 8px rgba(17, 17, 17, .18);
	content: "";
}

.hvac-page .blade {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 18px;
	height: 44px;
	margin-top: -44px;
	margin-left: -9px;
	border-radius: 20px 20px 10px 10px;
	background: #111;
	transform-origin: 50% 44px;
}

.hvac-page .blade:nth-child(2) {
	transform: rotate(90deg);
}

.hvac-page .blade:nth-child(3) {
	transform: rotate(180deg);
}

.hvac-page .blade:nth-child(4) {
	transform: rotate(270deg);
}

.hvac-page .hvac-node {
	position: absolute;
	z-index: 6;
	width: 152px;
	padding: 14px;
	border: 1px solid rgba(255, 255, 255, .10);
	border-radius: 15px;
	background: linear-gradient(145deg, rgba(28, 28, 28, .92), rgba(18, 18, 18, .78));
	box-shadow: 0 12px 40px rgba(0, 0, 0, .22);
	backdrop-filter: blur(14px);
	animation: hvac-node-float 6.2s ease-in-out infinite;
}

.hvac-page .hvac-node:nth-of-type(4) {
	animation-delay: .3s;
}

.hvac-page .hvac-node:nth-of-type(5) {
	animation-delay: .8s;
}

.hvac-page .hvac-node:nth-of-type(6) {
	animation-delay: 1.2s;
}

.hvac-page .hvac-node b {
	display: block;
	color: #fff;
	font: 800 12px "Montserrat", sans-serif;
}

.hvac-page .hvac-node span {
	display: block;
	margin-top: 4px;
	color: #a8a8a8;
	font-size: 10px;
	line-height: 1.45;
}

.hvac-page .hvac-node.n1 {
	top: 72px;
	left: 0;
}

.hvac-page .hvac-node.n2 {
	top: 72px;
	right: 0;
}

.hvac-page .hvac-node.n3 {
	bottom: 108px;
	left: 0;
}

.hvac-page .hvac-node.n4 {
	right: 0;
	bottom: 108px;
}

.hvac-page .air-link {
	position: absolute;
	z-index: 3;
	height: 2px;
	overflow: hidden;
	border-radius: 999px;
	background: linear-gradient(90deg, rgba(255, 184, 0, .08), rgba(255, 215, 88, .9), rgba(255, 184, 0, .08));
	box-shadow: 0 0 10px rgba(255, 194, 0, .3);
}

.hvac-page .air-link::before {
	position: absolute;
	top: 50%;
	width: 26px;
	height: 6px;
	border-radius: 999px;
	background: linear-gradient(90deg, transparent, #ffe88a, transparent);
	content: "";
	filter: blur(.2px);
	transform: translateY(-50%);
	animation: hvac-air-pulse 2.4s linear infinite;
}

.hvac-page .air-link.l1 {
	top: 143px;
	left: 138px;
	width: 138px;
	transform: rotate(22deg);
}

.hvac-page .air-link.l2 {
	top: 143px;
	right: 138px;
	width: 138px;
	transform: rotate(-22deg);
}

.hvac-page .air-link.l3 {
	bottom: 164px;
	left: 138px;
	width: 138px;
	transform: rotate(-22deg);
}

.hvac-page .air-link.l4 {
	right: 138px;
	bottom: 164px;
	width: 138px;
	transform: rotate(22deg);
}

.hvac-page .flow-lines {
	position: absolute;
	z-index: 1;
	inset: 0;
	pointer-events: none;
}

.hvac-page .flow-lines span {
	position: absolute;
	height: 1px;
	border-radius: 999px;
	background: linear-gradient(90deg, transparent, rgba(255, 216, 77, .4), transparent);
	animation: hvac-line-sweep linear infinite;
}

.hvac-page .flow-lines span:nth-child(1) {
	top: 22%;
	left: 18%;
	width: 110px;
	animation-duration: 6.4s;
}

.hvac-page .flow-lines span:nth-child(2) {
	top: 34%;
	right: 14%;
	width: 140px;
	animation-delay: -1s;
	animation-duration: 7.2s;
}

.hvac-page .flow-lines span:nth-child(3) {
	bottom: 26%;
	left: 20%;
	width: 120px;
	animation-delay: -2s;
	animation-duration: 6.8s;
}

.hvac-page .flow-lines span:nth-child(4) {
	right: 14%;
	bottom: 20%;
	width: 150px;
	animation-delay: -3s;
	animation-duration: 7.6s;
}

.hvac-page .air-card {
	position: absolute;
	z-index: 7;
	bottom: 0;
	left: 50%;
	width: 440px;
	max-width: calc(100% - 26px);
	padding: 20px 22px;
	border: 1px solid rgba(255, 255, 255, .10);
	border-radius: 18px;
	background: linear-gradient(135deg, rgba(26, 26, 26, .90), rgba(15, 15, 15, .74));
	backdrop-filter: blur(16px);
	transform: translateX(-50%);
}

.hvac-page .air-card-top {
	display: flex;
	justify-content: space-between;
	gap: 18px;
	color: #9a9a9a;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.hvac-page .air-card-top strong {
	color: #ffe46e;
}

.hvac-page .air-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
	margin-top: 14px;
}

.hvac-page .air-col {
	padding-right: 8px;
	border-right: 1px solid rgba(255, 255, 255, .08);
}

.hvac-page .air-col:last-child {
	border: 0;
}

.hvac-page .air-col b {
	display: block;
	color: #fff;
	font: 800 16px "Montserrat", sans-serif;
}

.hvac-page .air-col span {
	display: block;
	margin-top: 4px;
	color: #8f8f8f;
	font-size: 10px;
	text-transform: uppercase;
}

/* Overview */
.hvac-page .hvac-overview {
	position: relative;
	overflow: hidden;
	background: radial-gradient(circle at 92% 12%, rgba(244, 196, 0, .08), transparent 25%), linear-gradient(180deg, #fff 0%, #faf8f1 100%);
}

.hvac-page .overview-mosaic {
	display: grid;
	grid-template-columns: 1.15fr .85fr;
	align-items: stretch;
	gap: 22px;
}

.hvac-page .overview-story {
	display: flex;
	min-height: 560px;
	flex-direction: column;
	justify-content: space-between;
	padding: 46px;
	border-radius: 26px;
	background: #111;
	box-shadow: 0 22px 56px rgba(0, 0, 0, .12);
}

.hvac-page .overview-story .eyebrow {
	color: #ffe99a;
}

.hvac-page .overview-story h2 {
	max-width: 560px;
	color: #fff;
}

.hvac-page .overview-story p {
	max-width: 610px;
	margin: 22px 0 0;
	color: #b6b6b6;
	line-height: 1.8;
}

.hvac-page .story-ribbon {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
	margin-top: 40px;
}

.hvac-page .story-ribbon>div {
	padding: 17px;
	border: 1px solid rgba(255, 255, 255, .09);
	border-radius: 15px;
	background: rgba(255, 255, 255, .04);
}

.hvac-page .story-ribbon strong {
	display: block;
	color: var(--hvac-yellow);
	font: 800 25px "Montserrat", sans-serif;
}

.hvac-page .story-ribbon span {
	display: block;
	margin-top: 6px;
	color: #aaa;
	font-size: 11px;
	line-height: 1.45;
}

.hvac-page .overview-stack {
	display: grid;
	grid-template-rows: 1.1fr .9fr;
	gap: 22px;
}

.hvac-page .overview-slab {
	position: relative;
	min-height: 230px;
	overflow: hidden;
	border-radius: 24px;
}

.hvac-page .overview-slab.image {
	box-shadow: 0 18px 46px rgba(0, 0, 0, .12);
}

.hvac-page .overview-slab.image::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 25%, rgba(0, 0, 0, .75));
	content: "";
}

.hvac-page .slab-note {
	position: absolute;
	z-index: 1;
	right: 24px;
	bottom: 22px;
	left: 24px;
	color: #fff;
}

.hvac-page .slab-note b,
.hvac-page .slab-note span {
	display: block;
}

.hvac-page .slab-note b {
	font: 800 15px "Montserrat", sans-serif;
}

.hvac-page .slab-note span {
	margin-top: 6px;
	color: rgba(255, 255, 255, .78);
	font-size: 12px;
	line-height: 1.55;
}

.hvac-page .overview-slab.info {
	padding: 32px;
	border: 1px solid #eadfbc;
	background: linear-gradient(135deg, #fff7d7, #fff);
}

.hvac-page .mini-tag,
.hvac-page .matrix-badge {
	display: inline-flex;
	padding: 7px 10px;
	border-radius: 999px;
	background: rgba(244, 196, 0, .11);
	color: #806300;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.hvac-page .overview-slab.info h3 {
	margin-top: 15px;
	font-size: 24px;
}

.hvac-page .overview-slab.info p {
	margin: 12px 0 0;
	color: #777;
	font-size: 14px;
	line-height: 1.72;
}

/* Applications and solutions */
.hvac-page .hvac-applications {
	background: #fff;
}

.hvac-page .app-rail {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}

.hvac-page .app-card {
	min-height: 330px;
	padding: 26px;
	border: 1px solid var(--hvac-line);
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 12px 34px rgba(0, 0, 0, .03);
	transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}

.hvac-page .app-card:hover {
	border-color: #d9c762;
	box-shadow: 0 20px 42px rgba(0, 0, 0, .07);
	transform: translateY(-5px);
}

.hvac-page .app-icon,
.hvac-page .perf-icon {
	display: grid;
	width: 46px;
	height: 46px;
	border-radius: 14px;
	background: #111;
	color: var(--hvac-yellow);
	font: 800 12px "Montserrat", sans-serif;
	place-items: center;
}

.hvac-page .app-card h3 {
	margin-top: 18px;
	font-size: 20px;
}

.hvac-page .app-card p {
	margin: 11px 0 0;
	color: #777;
	font-size: 15px;
	line-height: 1.7;
}

.hvac-page .app-card ul,
.hvac-page .matrix-content ul {
	display: grid;
	gap: 9px;
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
	color: #5f5f5f;
	font-size: 15px;
}

.hvac-page .app-card li,
.hvac-page .matrix-content li {
	display: flex;
	gap: 9px;
	align-items: flex-start;
}

.hvac-page .app-card li::before,
.hvac-page .matrix-content li::before {
	width: 7px;
	height: 7px;
	flex: 0 0 auto;
	margin-top: .42em;
	border-radius: 50%;
	background: var(--hvac-yellow);
	content: "";
}

.hvac-page .hvac-solutions {
	background: linear-gradient(180deg, #faf8f1 0%, #fff 100%);
}

.hvac-page .solution-matrix {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}

.hvac-page .matrix-feature {
	grid-row: span 2;
	display: flex;
	min-height: 520px;
	flex-direction: column;
	justify-content: space-between;
	padding: 40px;
	border-radius: 24px;
	background: linear-gradient(145deg, #151515 0%, #111 62%, #242424);
	box-shadow: 0 22px 58px rgba(0, 0, 0, .16);
}

.hvac-page .matrix-feature .matrix-badge {
	width: max-content;
	background: rgba(244, 196, 0, .12);
	color: #ffe46e;
}

.hvac-page .matrix-feature h2 {
	margin-top: 24px;
	color: #fff;
}

.hvac-page .matrix-feature p {
	margin: 16px 0 0;
	color: #adadad;
	line-height: 1.78;
}

.hvac-page .matrix-score {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}

.hvac-page .matrix-score>div {
	padding: 18px;
	border: 1px solid rgba(255, 255, 255, .09);
	border-radius: 16px;
	background: rgba(255, 255, 255, .04);
}

.hvac-page .matrix-score strong {
	display: block;
	color: var(--hvac-yellow);
	font: 800 26px "Montserrat", sans-serif;
}

.hvac-page .matrix-score span {
	display: block;
	margin-top: 5px;
	color: #aaa;
	font-size: 11px;
}

.hvac-page .matrix-card {
	display: grid;
	grid-template-columns: 170px 1fr;
	min-height: 250px;
	overflow: hidden;
	border: 1px solid #e8e4d8;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 12px 34px rgba(0, 0, 0, .03);
}

.hvac-page .matrix-media {
	min-height: 100%;
}

.hvac-page .matrix-content {
	padding: 25px;
}

.hvac-page .tag {
	display: inline-flex;
	color: #8b6d00;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.hvac-page .matrix-content h3 {
	margin-top: 10px;
	font-size: 21px;
}

.hvac-page .matrix-content p {
	margin: 10px 0 0;
	color: #777;
	font-size: 15px;
	line-height: 1.68;
}

.hvac-page .matrix-content ul {
	margin-top: 15px;
}

/* Process */
.hvac-page .hvac-process {
    position: relative;
    overflow: hidden;
    color: #fff;
    background: radial-gradient(circle at 14% 24%, rgba(255, 190, 0, .09), transparent 24%), radial-gradient(circle at 84% 74%, rgba(255, 138, 0, .05), transparent 26%), linear-gradient(135deg, #090909 0%, #121212 52%, #0b0b0b 100%);
}
.hvac-process::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(255, 255, 255, .022) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .022) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: linear-gradient(180deg, #000 0%, transparent 88%);
    pointer-events: none;
}
.hvac-page .hvac-process h2 {
	color: #fff;
}

.hvac-page .hvac-process .eyebrow {
	color: #ffe99a;
}

.hvac-page .hvac-process .section-head>p {
	color: #aaa;
}

.hvac-page .zigzag {
	position: relative;
	display: grid;
	gap: 28px;
}

.hvac-page .zigzag::before {
	    content: "";
    position: absolute;
    left: 50%;
    top: 20px;
    bottom: 20px;
    width: 2px;
    transform: translateX(-50%);
    background: linear-gradient(180deg, #f4c400 0%, #ff9a00 100%);
    box-shadow: 0 0 16px rgba(244, 196, 0, .25);
}

.hvac-page .zigzag-step {
	position: relative;
	width: calc(50% - 25px);
}

.hvac-page .zigzag-step.right {
	justify-self: end;
}

.hvac-page .zigzag-step::before {
	    content: "";
    position: absolute;
    top: 34px;
    width: 26px;
    height: 2px;
    background: linear-gradient(90deg, #f4c400, #ff9a00);
}

.hvac-page .zigzag-step.left::before {
	right: -26px;
}

.hvac-page .zigzag-step.right::before {
	left: -26px;
}

.hvac-page .zigzag-card {
	padding: 26px;
	border: 1px solid rgba(255, 255, 255, .09);
	border-radius: 20px;
	background: linear-gradient(145deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .02));
	box-shadow: 0 18px 46px rgba(0, 0, 0, .12);
	backdrop-filter: blur(8px);
}

.hvac-page .zigzag-no {
	display: grid;
	width: 42px;
	height: 42px;
	border: 1px solid rgba(244, 196, 0, .16);
	border-radius: 13px;
	background: rgba(244, 196, 0, .08);
	color: var(--hvac-yellow);
	font: 800 12px "Montserrat", sans-serif;
	place-items: center;
}

.hvac-page .zigzag-label {
	margin-top: 18px;
	color: #d7b900;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.hvac-page .zigzag-card h3 {
	margin-top: 10px;
	color: #fff;
	font-size: 24px;
}

.hvac-page .zigzag-card p {
	margin: 12px 0 0;
	color: #9c9c9c;
	font-size: 15px;
	line-height: 1.72;
}

/* Performance */
.hvac-page .hvac-performance {
	background: radial-gradient(circle at 88% 16%, rgba(244, 196, 0, .09), transparent 24%), linear-gradient(180deg, #faf8f1 0%, #fff 100%);
}

.hvac-page .performance-layout {
	display: grid;
	grid-template-columns: .88fr 1.12fr;
	align-items: stretch;
	gap: 22px;
}

.hvac-page .performance-board {
	padding: 34px;
	border: 1px solid #e8e4d8;
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 18px 46px rgba(0, 0, 0, .04);
}

.hvac-page .board-top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 18px;
}

.hvac-page .board-top strong {
	color: #111;
	font: 800 28px "Montserrat", sans-serif;
}

.hvac-page .board-chip {
	display: inline-flex;
	padding: 8px 10px;
	border: 1px solid #efe1aa;
	border-radius: 999px;
	background: #fff9dc;
	color: #826600;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.hvac-page .board-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	margin-top: 24px;
}

.hvac-page .board-stat {
	padding: 22px;
	border: 1px solid #ece6d8;
	border-radius: 18px;
	background: #fbfaf6;
}

.hvac-page .board-stat.large {
	display: grid;
	grid-column: span 2;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 20px;
}

.hvac-page .board-stat b {
	display: block;
	color: #111;
	font: 800 30px "Montserrat", sans-serif;
}

.hvac-page .board-stat span {
	display: block;
	margin-top: 6px;
	color: #7a7a7a;
	font-size: 11px;
	line-height: 1.5;
	text-transform: uppercase;
}

.hvac-page .thermo {
	height: 12px;
	overflow: hidden;
	margin-top: 12px;
	border-radius: 999px;
	background: #ece6d8;
}

.hvac-page .thermo span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, #ffd84d, #f4c400, #ff9800);
	box-shadow: 0 0 16px rgba(255, 176, 0, .4);
	animation: hvac-thermo-flow 3s ease-in-out infinite alternate;
}

.hvac-page .performance-checks {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.hvac-page .perf-card {
	min-height: 208px;
	padding: 24px;
	border: 1px solid #e8e4d8;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 12px 34px rgba(0, 0, 0, .03);
	transition: transform .28s ease, border-color .28s ease;
}

.hvac-page .perf-card:hover {
	border-color: #dcc55f;
	transform: translateY(-4px);
}

.hvac-page .perf-card h3 {
	margin-top: 18px;
	font-size: 20px;
}

.hvac-page .perf-card p {
	margin: 10px 0 0;
	color: #777;
	font-size: 14px;
	line-height: 1.68;
}

/* FAQ and CTA */
.hvac-page .hvac-faq {
	background: radial-gradient(circle at 10% 88%, rgba(255, 170, 0, .06), transparent 26%), linear-gradient(180deg, #fff 0%, #fbfaf6 100%);
}

.hvac-page .faq-shell {
	display: grid;
	grid-template-columns: .82fr 1.18fr;
	align-items: start;
	gap: 22px;
}

.hvac-page .faq-intro {
	position: sticky;
	top: 112px;
	padding: 28px;
	border-radius: 22px;
	background: radial-gradient(circle at 82% 22%, rgba(255, 196, 0, .16), transparent 24%), linear-gradient(145deg, #101010 0%, #171717 58%, #0b0b0b 100%);
	box-shadow: 0 22px 56px rgba(0, 0, 0, .14);
	color: #fff;
}

.hvac-page .faq-intro .eyebrow {
	color: #ffe99a;
}

.hvac-page .faq-intro h2 {
	color: #fff;
}

.hvac-page .faq-intro p {
	margin: 16px 0 0;
	color: #b8b8b8;
	font-size: 14px;
	line-height: 1.75;
}

.hvac-page .faq-list {
	display: grid;
	gap: 14px;
}

.hvac-page .faq-item {
	overflow: hidden;
	border: 1px solid #e8e4d8;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 10px 28px rgba(0, 0, 0, .03);
}

.hvac-page .faq-item summary {
	position: relative;
	padding: 22px 60px 22px 22px;
	color: #111;
	cursor: pointer;
	font: 600 18px/1.5 "Montserrat", sans-serif;
	list-style: none;
}

.hvac-page .faq-item summary::-webkit-details-marker {
	display: none;
}

.hvac-page .faq-item summary::after {
	position: absolute;
	top: 50%;
	right: 20px;
	display: grid;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #111;
	color: var(--hvac-yellow);
	content: "+";
	font: 800 16px "Montserrat", sans-serif;
	place-items: center;
	transform: translateY(-50%);
}

.hvac-page .faq-item[open] summary::after {
	content: "–";
}

.hvac-page .faq-answer {
	padding: 0 22px 22px;
	color: #777;
	font-size: 15px;
	line-height: 1.75;
}

.hvac-page .cta-wrap {
	padding: 80px 0;
	background: white;
}

.hvac-page .cta {
	position: relative;
	display: grid;
	grid-template-columns: 1.2fr .8fr;
	align-items: center;
	gap: 50px;
	overflow: hidden;
	padding: 56px;
	border-radius: 24px;
	background: radial-gradient(circle at 90% 10%, rgba(255, 255, 255, .28), transparent 22%), linear-gradient(120deg, #ffd84d 0%, #f4c400 52%, #ff9a00 100%);
	box-shadow: 0 24px 70px rgba(255, 174, 0, .19);
}

.hvac-page .cta::after {
	position: absolute;
	top: -170px;
	right: -120px;
	width: 380px;
	height: 380px;
	border: 1px solid rgba(0, 0, 0, .14);
	border-radius: 50%;
	content: "";
}

.hvac-page .cta .eyebrow {
	color: #5f4b00;
}

.hvac-page .cta h2 {
	font-size: clamp(34px, 4vw, 50px);
}

.hvac-page .cta p {
	margin: 16px 0 0;
	color: #514500;
}

.hvac-page .cta-actions {
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.hvac-page .cta .btn {
	background: #111;
	color: #fff;
}

.hvac-page .cta .btn.outline {
	border: 1px solid rgba(0, 0, 0, .35);
	background: transparent;
	color: #111;
}

.hvac-page .reveal {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity .7s ease, transform .7s ease;
}

.hvac-page .reveal.show {
	opacity: 1;
	transform: none;
}

@keyframes hvac-rotate-slow {
	to {
		transform: rotate(360deg);
	}
}

@keyframes hvac-rotate-reverse {
	from {
		transform: rotate(360deg);
	}

	to {
		transform: rotate(0);
	}
}

@keyframes hvac-fan-spin {
	from {
		transform: rotate(-45deg);
	}

	to {
		transform: rotate(315deg);
	}
}

@keyframes hvac-core-hover {

	0%,
	100% {
		transform: rotate(45deg) translateY(0);
	}

	50% {
		transform: rotate(45deg) translateY(-7px);
	}
}

@keyframes hvac-core-pulse {

	0%,
	100% {
		box-shadow: 0 0 0 10px rgba(255, 184, 0, .06), 0 0 56px rgba(255, 184, 0, .34), 0 22px 80px rgba(0, 0, 0, .35);
	}

	50% {
		box-shadow: 0 0 0 14px rgba(255, 184, 0, .08), 0 0 68px rgba(255, 184, 0, .42), 0 26px 90px rgba(0, 0, 0, .40);
	}
}

@keyframes hvac-ripple {
	0% {
		opacity: .65;
		transform: scale(.92);
	}

	100% {
		opacity: 0;
		transform: scale(1.35);
	}
}

@keyframes hvac-air-pulse {
	0% {
		left: -30px;
		opacity: 0;
	}

	20%,
	80% {
		opacity: 1;
	}

	100% {
		left: calc(100% + 10px);
		opacity: 0;
	}
}

@keyframes hvac-line-sweep {
	0% {
		opacity: 0;
		transform: translateX(-28px);
	}

	20% {
		opacity: 1;
	}

	80% {
		opacity: .8;
	}

	100% {
		opacity: 0;
		transform: translateX(24px);
	}
}

@keyframes hvac-node-float {

	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-7px);
	}
}

@keyframes hvac-thermo-flow {
	from {
		opacity: .8;
	}

	to {
		opacity: 1;
	}
}

@media (max-width: 1100px) {
	.hvac-page .app-rail {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 980px) {

	.hvac-page .hvac-hero-grid,
	.hvac-page .overview-mosaic,
	.hvac-page .section-head,
	.hvac-page .performance-layout,
	.hvac-page .faq-shell,
	.hvac-page .cta {
		grid-template-columns: 1fr;
	}

	.hvac-page .section-head>p {
		max-width: 100%;
		justify-self: start;
	}

	.hvac-page .hvac-copy {
		max-width: 100%;
		padding: 58px 0 22px;
	}

	.hvac-page .hvac-visual {
		margin: 0 auto 40px;
	}

	.hvac-page .solution-matrix,
	.hvac-page .performance-checks {
		grid-template-columns: 1fr 1fr;
	}

	.hvac-page .matrix-feature {
		grid-row: auto;
		min-height: 420px;
	}

	.hvac-page .zigzag::before {
		left: 22px;
	}

	.hvac-page .zigzag-step,
	.hvac-page .zigzag-step.left,
	.hvac-page .zigzag-step.right {
		width: 100%;
		padding-left: 56px;
	}

	.hvac-page .zigzag-step::before {
		left: 22px;
		width: 22px;
	}

	.hvac-page .faq-intro {
		position: static;
	}
}

@media (max-width: 640px) {
	.hvac-page .section {
		padding: 74px 0;
	}

	.hvac-page .hvac-hero {
		min-height: auto;
	}

	.hvac-page .hvac-hero-grid {
		gap: 8px;
		padding-top: 88px;
	}

	.hvac-page .hvac-copy h1 {
		font-size: 36px;
	}

	.hvac-page .hvac-copy>p {
		font-size: 15px;
	}

	.hvac-page .hero-trust {
		display: grid;
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.hvac-page .hvac-visual {
		min-height: 440px;
		max-width: 100%;
	}

	.hvac-page .airwave-circle {
		inset: 74px 42px 106px;
	}

	.hvac-page .hvac-core {
		width: 118px;
		height: 118px;
		margin: -59px;
		border-radius: 24px;
	}

	.hvac-page .fan-wrap {
		width: 58px;
		height: 58px;
	}

	.hvac-page .fan-wrap::before {
		inset: 18px;
	}

	.hvac-page .blade {
		width: 12px;
		height: 28px;
		margin-top: -28px;
		margin-left: -6px;
		transform-origin: 50% 28px;
	}

	.hvac-page .hvac-node {
		width: 110px;
		padding: 10px;
	}

	.hvac-page .hvac-node b {
		font-size: 10px;
	}

	.hvac-page .hvac-node span {
		font-size: 8px;
	}

	.hvac-page .hvac-node.n1,
	.hvac-page .hvac-node.n2 {
		top: 62px;
	}

	.hvac-page .hvac-node.n3,
	.hvac-page .hvac-node.n4 {
		bottom: 96px;
	}

	.hvac-page .air-link.l1 {
		top: 124px;
		left: 102px;
		width: 84px;
	}

	.hvac-page .air-link.l2 {
		top: 124px;
		right: 102px;
		width: 84px;
	}

	.hvac-page .air-link.l3 {
		bottom: 144px;
		left: 102px;
		width: 84px;
	}

	.hvac-page .air-link.l4 {
		right: 102px;
		bottom: 144px;
		width: 84px;
	}

	.hvac-page .air-card {
		width: 92%;
		padding: 14px;
	}

	.hvac-page .air-grid,
	.hvac-page .story-ribbon,
	.hvac-page .app-rail,
	.hvac-page .solution-matrix,
	.hvac-page .performance-checks,
	.hvac-page .board-grid {
		grid-template-columns: 1fr;
	}

	.hvac-page .air-col {
		padding-bottom: 8px;
		padding-right: 0;
		border-right: 0;
		border-bottom: 1px solid rgba(255, 255, 255, .08);
	}

	.hvac-page .air-col:last-child {
		border: 0;
	}

	.hvac-page .overview-story,
	.hvac-page .overview-slab.info,
	.hvac-page .app-card,
	.hvac-page .matrix-feature,
	.hvac-page .matrix-content,
	.hvac-page .zigzag-card,
	.hvac-page .performance-board,
	.hvac-page .perf-card,
	.hvac-page .faq-intro {
		padding: 24px;
	}

	.hvac-page .overview-stack {
		grid-template-rows: auto;
	}

	.hvac-page .overview-slab {
		min-height: 220px;
	}

	.hvac-page .matrix-card {
		grid-template-columns: 1fr;
	}

	.hvac-page .matrix-media {
		height: 210px;
	}

	.hvac-page .board-stat.large {
		grid-column: auto;
		grid-template-columns: 1fr;
	}

	.hvac-page .zigzag-step {
		padding-left: 44px;
	}

	.hvac-page .faq-item summary {
		padding: 18px 54px 18px 18px;
		font-size: 16px;
	}

	.hvac-page .faq-answer {
		padding: 0 18px 18px;
	}

	.hvac-page .cta {
		padding: 34px 24px;
		gap: 28px;
	}
}

@media (prefers-reduced-motion: reduce) {

	.hvac-page *,
	.hvac-page *::before,
	.hvac-page *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}