@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&family=Rubik:wght@400;500;600&display=swap');
:root {
	--c-blue: #2466b2;
	--c-blue2: #5a9be6;
	--c-ink: #1f2933;
	--c-body: #3e4c59;
	--c-mute: #7b8794;
	--c-bg: #ffffff;
	--c-bg2: #f3f4f7;
	--c-line: #dfe3e8;
	--c-orange: #f7630c;
	--f-hd: Rubik, sans-serif;
	--f-bd: Roboto, sans-serif;
}
body { font-family: var(--f-bd); color: var(--c-body); background: var(--c-bg); }
#main-wrap { display: block !important; }
.heroTitle, .pgTitle, .h2, .comfortTitle, .statsTitle, .svcTitle, .featTitle,
.infoTitle, .ppTitle, .ppSub, .emgTitle, .pgTitleSm, .kicker { text-transform: capitalize; }
#NavBox, #NavBox *, .home, .home *, .pg, .pg *, .foot, .foot * { box-sizing: border-box; }
.skipLink {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 300;
	padding: 12px 20px;
	background: var(--c-blue);
	color: #fff;
	font-family: var(--f-hd);
	text-decoration: none;
}
.skipLink:focus { left: 0; }
#NavBox {
	position: relative;
	z-index: 100;
	width: 100%;
	background: var(--c-bg);
	font-family: var(--f-hd);
}
.navBar {
	display: flex;
	align-items: center;
	max-width: 1290px;
	margin: 0 auto;
	padding: 0 20px;
}
.navLogo { display: block; line-height: 0; }
.navLogo img { display: block; height: 166px; width: auto; }
.navLinks { display: flex; align-items: center; margin-left: auto; }
.navLinks a, .navPhone, .mobileNav a {
	font-family: var(--f-hd);
	font-size: 21px;
	font-weight: 400;
	color: var(--c-ink);
	text-decoration: none;
}
.navLinks a { padding: 4px 26px; border-bottom: 2px solid transparent; }
.navLinks a:hover, .navPhone:hover, .mobileNav a:hover { color: var(--c-blue); }
.navLinks a.active { color: var(--c-blue); border-bottom-color: var(--c-blue); }
.navPhone { margin-left: 20px; white-space: nowrap; }
.navBurger { display: none; margin-left: auto; padding: 5px; border: 0; background: none; cursor: pointer; }
.navBurger span {
	display: block;
	width: 24px;
	height: 2px;
	margin: 5px 0;
	background: var(--c-ink);
	transition: transform .3s, opacity .3s;
}
.navBurger.change .bar1 { transform: translateY(7px) rotate(45deg); }
.navBurger.change .bar2 { opacity: 0; }
.navBurger.change .bar3 { transform: translateY(-7px) rotate(-45deg); }
.mobileNav {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 200;
	width: 100%;
	background: #fff;
	box-shadow: 0 10px 20px rgba(31, 41, 51, .12);
}
.mobileNav a { display: block; padding: 16px; text-align: center; }
.home, .pg {
	font-family: var(--f-bd);
	font-size: 19px;
	line-height: 1.6;
	color: var(--c-body);
	background: var(--c-bg);
}
.wrap { max-width: 1290px; margin: 0 auto; padding: 0 20px; }
.btn {
	display: inline-block;
	padding: 19px 35px;
	border-radius: 6px;
	background: var(--c-blue);
	color: #fff;
	font-family: var(--f-hd);
	font-size: 21px;
	line-height: 1.2;
	text-decoration: none;
}
.btn:hover { background: #1a4f8c; }
.h2 { font-family: var(--f-hd); font-weight: 600; font-size: 36px; color: var(--c-ink); }
.kicker { font-family: var(--f-hd); font-weight: 400; font-size: 21px; color: var(--c-mute); margin: 0 0 10px; }
.hero {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 700px;
	overflow: hidden;
	background: var(--c-bg);
}
.heroBg, .pgHeroBg {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: center/cover no-repeat;
	opacity: .25;
}
.pgHero {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 260px;
	overflow: hidden;
	background: var(--c-bg);
}
.pgTitle {
	position: relative;
	z-index: 1;
	font-family: var(--f-hd);
	font-weight: 600;
	font-size: 48px;
	color: var(--c-ink);
	text-align: center;
	margin: 0;
	padding: 0 20px;
}
.heroIn { position: relative; z-index: 1; width: 100%; padding: 0 30px 40px; text-align: center; }
.heroTitle { font-family: var(--f-hd); font-weight: 600; font-size: 70px; line-height: 80px; color: var(--c-ink); }
.heroSub { font-size: 19px; color: var(--c-body); margin-bottom: 35px; }
.heroBtns { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; }
.gallery { position: relative; z-index: 1; padding: 0 0 80px; }
@media (min-width: 1025px) { .gallery { margin-top: -140px; } }
.galBox { position: relative; }
.galTrack {
	display: flex;
	gap: 20px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-ms-overflow-style: none;
}
.galTrack::-webkit-scrollbar { display: none; }
.galItem {
	flex: 0 0 calc((100% - 40px) / 3);
	min-width: 300px;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	border-radius: 7px;
	scroll-snap-align: start;
}
.galItem img { display: block; width: 100%; height: 100%; object-fit: cover; }
.galArrow {
	position: absolute;
	top: 50%;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 2px 10px rgba(31, 41, 51, .22);
	color: var(--c-ink);
	transform: translateY(-50%);
}
.galArrow:hover { color: var(--c-blue); }
.galPrev { left: -18px; }
.galNext { right: -18px; }
.galArrow svg {
	width: 15px;
	height: 15px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.galDots { display: flex; justify-content: center; gap: 10px; margin-top: 20px; }
.galDot { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: var(--c-mute); }
.galDot.on { background: var(--c-blue); }
.arc { background: var(--c-bg); line-height: 0; }
.arc svg { display: block; width: 100%; height: 60px; }
.arcDown { transform: scaleY(-1); }
.arcDown svg { height: 45px; }
.arcW { background: #fff; }
.arcG { background: var(--c-bg2); }
.infoRow { background: var(--c-bg2); padding: 40px 0; }
.infoGrid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; }
.infoBox { display: flex; align-items: flex-start; gap: 16px; color: inherit; text-decoration: none; }
.infoIcon {
	display: block;
	flex: 0 0 56px;
	width: 56px;
	height: 56px;
	padding: 17px;
	border-radius: 5px;
	background: #fff;
	color: var(--c-blue);
}
.infoIcon svg {
	display: block;
	width: 22px;
	height: 22px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.infoTxt { display: block; }
.infoTitle { display: block; font-family: var(--f-hd); font-weight: 600; font-size: 23px; color: var(--c-ink); margin: 0 0 2px; }
.infoText { display: block; font-size: 19px; color: var(--c-mute); margin: 0; }
.comfort, .tBanner, .mission { position: relative; text-align: center; }
.comfort::before, .tBanner::before, .mission::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: var(--c-ink);
	opacity: .4;
}
.comfort {
	padding: 150px 20px;
	background-position: 52% 51%;
	background-size: cover;
	background-repeat: no-repeat;
	background-attachment: fixed;
}
.comfortTitle {
	position: relative;
	z-index: 1;
	font-family: var(--f-hd);
	font-weight: 600;
	font-size: 48px;
	color: var(--c-bg2);
	margin: 0;
}
.founder { background: var(--c-bg); }
.founderGrid {
	display: grid;
	grid-template-columns: minmax(0, 488px) 1fr;
	gap: 60px;
	align-items: start;
	padding: 60px 20px;
}
.founderImg { display: block; width: 100%; height: auto; }
.founderText { padding-top: 20px; }
.quote { font-size: 20px; line-height: 32px; color: var(--c-body); margin: 0; }
.checks { list-style: none; padding: 0; margin: 20px 0 30px; }
.checks li {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 19px;
	color: var(--c-ink);
	margin-bottom: 8px;
}
.checks svg { flex: 0 0 20px; width: 20px; height: 20px; fill: var(--c-blue); }
.stats { background: var(--c-bg2); }
.statsGrid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 20px; align-items: center; padding: 60px 20px; }
.statsTitle { font-family: var(--f-hd); font-weight: 600; font-size: 28px; color: var(--c-ink); margin: 0; }
.statNum { font-family: var(--f-bd); font-weight: 700; font-size: 50px; line-height: 1.2; color: var(--c-blue); margin: 0; }
.statLbl { font-family: var(--f-hd); font-weight: 600; font-size: 23px; color: var(--c-ink); margin: 0; }
.tBanner {
	padding: 100px 20px 170px;
	background-position: 53% 54%;
	background-size: cover;
	background-repeat: no-repeat;
}
.pgAbout .tBanner { background-position: 52% 44%; background-attachment: fixed; }
.pgAbout .pgHeroBg { background-position: 61% 52%; }
.tBannerIn { position: relative; z-index: 1; max-width: 600px; margin: 0 auto; }
.kickerLight, .h2Light { color: #fff; }
.tCards {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin: -125px auto 0;
	padding-bottom: 80px;
}
.tCard {
	padding: 30px 30px 20px;
	border-radius: 5px;
	background: #fff;
	box-shadow: 0 10px 30px rgba(31, 41, 51, .10);
	text-align: left;
}
.stars { display: flex; gap: 3px; margin-bottom: 15px; }
.stars svg { width: 18px; height: 18px; fill: var(--c-blue); }
.tQuote { font-size: 20px; line-height: 32px; color: var(--c-ink); margin: 0 0 20px; }
.tName { font-family: var(--f-hd); font-weight: 600; font-size: 19px; color: var(--c-ink); margin: 0; }
.tLoc { font-size: 17px; color: var(--c-mute); margin: 0; }
.foot {
	background: var(--c-bg2);
	font-family: var(--f-bd);
	font-size: 19px;
	line-height: 1.6;
	color: var(--c-body);
	text-align: center;
}
.footGrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; padding: 60px 20px 40px; }
.footNav, #FootBox1 { display: contents; }
.footCta { font-size: 19px; margin: 15px 0 0; }
.footBrand img { display: inline-block; width: 262px; max-width: 100%; height: auto; }
.footTag { font-size: 19px; color: var(--c-body); margin: 10px 0 0; }
.footTitle {
	font-family: var(--f-hd);
	font-weight: 600;
	font-size: 20px;
	text-transform: uppercase;
	color: var(--c-ink);
	margin: 0 0 15px;
}
.footList, .footPages { list-style: none; padding: 0; margin: 0; }
.footList li { line-height: 38px; }
.foot a { color: var(--c-ink); text-decoration: none; }
.foot a:hover { color: var(--c-blue); }
.footPages {
	grid-column: 1 / -1;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 30px;
	margin-top: 20px;
	font-family: var(--f-hd);
	font-size: 19px;
}
#credits { display: none; }
.footBottom { background: var(--c-ink); padding: 25px 0; }
.copy { font-size: 17px; color: #fff; text-align: left; margin: 0; }
.intro { max-width: 900px; margin: 40px auto; text-align: center; }
.tiles {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	column-gap: 30px;
	row-gap: 50px;
	align-items: end;
	max-width: 1040px;
}
.tile { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.tileImg { max-height: 80px; width: auto; }
.tileBtn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 52px;
	padding: 8px 12px;
	border-radius: 2px;
	background: var(--c-orange);
	color: #fff;
	font-family: var(--f-hd);
	font-size: 17px;
	line-height: 1.25;
	text-align: center;
	text-decoration: none;
}
.tileBtn:hover { background: #d4540a; }
.tileBlue { background: var(--c-blue); }
.tileBlue:hover { background: #1a4f8c; }
.brands {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 30px 50px;
	padding: 50px 20px 60px;
}
.brands img { max-height: 44px; max-width: 130px; width: auto; }
.tBannerText { font-size: 17px; color: #fff; margin: 0; }
.svcIntro { display: grid; grid-template-columns: 1fr 2fr; gap: 40px; padding: 60px 20px; }
.svcIntroText { margin: 0; }
.svcGrid { display: flex; flex-wrap: wrap; justify-content: center; gap: 45px 30px; }
.svc { flex: 0 1 30%; min-width: 240px; text-align: center; }
.svc:nth-child(n+4) { flex-basis: 44%; }
.svcImg {
	width: 96px;
	height: 96px;
	margin: 0 auto;
	padding: 12px;
	border-radius: 6px;
	background: #fff;
	box-shadow: 0 4px 14px rgba(31, 41, 51, .12);
}
.svcImg img { display: block; width: 100%; height: 100%; object-fit: contain; }
.svcTitle { font-family: var(--f-hd); font-weight: 600; font-size: 23px; color: var(--c-ink); margin: 20px 0 8px; }
.svcText { font-size: 17px; margin: 0 0 15px; }
.btnSm { padding: 10px 22px; font-size: 17px; }
.imgRow { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; padding: 50px 20px 10px; }
.imgRow img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 7px; }
.feats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; padding: 50px 20px; }
.feat { padding: 40px 30px; background: var(--c-bg2); text-align: center; }
.featIcon {
	width: 44px;
	height: 44px;
	margin: 0 auto;
	padding: 10px;
	border-radius: 4px;
	background: var(--c-blue);
}
.featIcon svg { display: block; width: 100%; height: 100%; fill: #fff; }
.featTitle { font-family: var(--f-hd); font-weight: 600; font-size: 19px; color: var(--c-ink); margin: 15px 0 10px; }
.featText { font-size: 17px; margin: 0; }
.mission { padding: 80px 20px 160px; background: 52% 30%/cover no-repeat fixed; }
.mission::before { opacity: .44; }
.missionIn { position: relative; z-index: 1; max-width: 900px; margin: 0 auto; }
.missionText { font-family: var(--f-hd); font-size: 26px; line-height: 1.4; color: #fff; margin: 0; }
.name {
	display: grid;
	grid-template-columns: 48.2% 51.8%;
	max-width: 1290px;
	margin: 0 auto;
	padding: 0 20px;
}
.nameText { padding: 0 50px 0 0; }
.shine { font-family: var(--f-hd); font-weight: 600; font-size: 32px; color: var(--c-ink); text-align: center; margin: 40px 0 0; }
.nameImg { display: block; width: 100%; max-width: 518px; height: auto; object-fit: contain; }
.tBannerBox { padding: 30px 40px; border-radius: 4px; background: rgba(31, 41, 51, .72); }
.contactGrid { display: grid; grid-template-columns: 2fr 1fr; gap: 40px; padding: 40px 20px 50px; }
.frmCard { min-height: 320px; padding: 30px; border-radius: 5px; background: var(--c-bg2); }
.contactText a, .pgText a:not(.btn), .faqA a { color: var(--c-blue); }
.pgContact { overflow-x: clip; }
.faqSec {
	display: grid;
	grid-template-columns: minmax(0, calc(48.2% - 10px)) minmax(0, calc(51.8% - 10px));
	column-gap: 20px;
	align-items: start;
	padding: 80px 20px 80px;
}
.faqImg {
	border-radius: 10px;
	background-size: cover;
	background-position: 97% 71%;
	background-repeat: no-repeat;
	margin: 0 20px 0 -120px;
	padding: 300px 100px 400px;
}
.faqText { align-self: center; margin: 65px 0 65px 100px; }
.faqSec .kicker { line-height: 1.5; text-transform: capitalize; margin: 0 0 11px; }
.faqSec .h2 { line-height: 1.5; text-transform: capitalize; margin: 0 0 18px; }
.faqItem { margin: 0; }
.faqQ {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	padding: 20px 54px 20px 30px;
	border: 0;
	border-bottom: 6px solid #fff;
	background: #f9f9fb;
	font-family: var(--f-hd);
	font-weight: 500;
	font-size: 22px;
	line-height: 24px;
	color: var(--c-ink);
	text-align: left;
	text-transform: capitalize;
	cursor: pointer;
	transition: all .2s ease-in-out;
}
.faqQ::before, .faqQ::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 22px;
	width: 20px;
	height: 4px;
	margin-top: -2px;
	background: var(--c-ink);
	transform-origin: 50%;
	transition: all .135s ease-in-out;
}
.faqQ::before { transform: rotate(90deg); }
.faqQ:hover { background: var(--c-bg2); color: #52606d; }
.faqQ:hover::before, .faqQ:hover::after { background: #52606d; }
.faqItem.open .faqQ { background: #f9f9fb; border-bottom-color: #f9f9fb; color: var(--c-blue); }
.faqItem.open .faqQ::before { transform: rotate(0deg); }
.faqItem.open .faqQ::before, .faqItem.open .faqQ::after { background: var(--c-blue); }
.faqA { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s ease; }
.faqAIn { min-height: 0; overflow: hidden; }
.faqAIn p { margin: 0; padding: 20px; border-top: 4px solid #fff; border-bottom: 4px solid #fff; background: #f9f9fb; }
.faqItem.open .faqA { grid-template-rows: 1fr; }
.mapWrap { height: 420px; }
.mapWrap iframe { display: block; width: 100%; height: 100%; border: 0; }
.pgText { max-width: 900px; padding: 50px 20px 60px; }
.pgTextMid { text-align: center; }
.pgTitleSm { font-family: var(--f-hd); font-weight: 600; font-size: 30px; color: var(--c-ink); margin: 0 0 20px; }
.pgText h2 { font-family: var(--f-hd); font-weight: 600; font-size: 26px; color: var(--c-ink); margin: 30px 0 10px; }
.pgText p, .pgText li { font-size: 17px; }
.pgText ul { padding-left: 22px; }
.pgText li { margin-bottom: 8px; }
.qr { display: block; max-width: 200px; margin-top: 25px; }
.ppSwoosh { background: var(--c-bg); line-height: 0; }
.ppSwoosh svg { display: block; width: 100%; height: 50px; transform: rotate(180deg); }
.ppIntro {
	display: grid;
	grid-template-columns: minmax(0, 390px) 1fr;
	gap: 40px;
	align-items: start;
	padding: 30px 20px 40px;
}
.ppImg {
	display: block;
	width: 100%;
	height: 520px;
	object-fit: cover;
	border-radius: 7px;
}
.ppTitle {
	font-family: var(--f-hd);
	font-weight: 600;
	font-size: 36px;
	color: var(--c-ink);
	margin: 0 0 15px;
}
.ppBody p { font-size: 19px; }
.ppBody p:last-child { margin-bottom: 0; }
.ppSub {
	font-family: var(--f-hd);
	font-weight: 600;
	font-size: 22px;
	color: var(--c-ink);
	margin: 25px 0 12px;
}
.ppList { list-style: none; padding: 0; margin: 0; }
.ppList li { position: relative; padding-left: 26px; font-size: 17px; margin-bottom: 10px; }
.ppList li::before {
	content: "";
	position: absolute;
	top: 10px;
	left: 4px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--c-blue);
}
.ppGal, .ppGrid { padding: 0 20px 40px; }
.ppGal .galTrack { align-items: flex-start; gap: 10px; }
.ppGal .galItem {
	flex: 0 0 auto;
	width: auto;
	height: auto;
	min-width: 0;
	aspect-ratio: auto;
	border-radius: 0;
	overflow: visible;
}
.ppGal .galItem img { display: block; width: auto; height: 300px; object-fit: contain; }
.ppGrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; }
.ppGrid img { display: block; width: 100%; height: auto; border-radius: 7px; }
.ppCta {
	padding: 70px 20px;
	background: var(--c-bg2) center center/cover no-repeat fixed;
	text-align: center;
}
.ppCta .h2 { font-size: 48px; margin: 0 0 25px; }
@media (max-width: 1024px) {
	.navLogo img { height: 90px; }
	.navLinks, .navPhone { display: none; }
	.navBurger { display: block; }
	.mobileNav.open { display: block; }
	.hero { min-height: 520px; }
	.heroIn { padding: 60px 20px 40px; }
	.heroTitle { font-size: 48px; line-height: 56px; }
	.galItem { flex-basis: calc((100% - 20px) / 2); }
	.infoGrid { grid-template-columns: repeat(2, 1fr); gap: 30px 20px; }
	.comfort { padding: 100px 20px; background-attachment: scroll; }
	.mission, .pgAbout .tBanner { background-attachment: scroll; }
	.comfortTitle { font-size: 36px; }
	.founderGrid { grid-template-columns: 1fr; gap: 30px; }
	.founderImg { max-width: 488px; margin: 0 auto; }
	.founderText { padding-top: 0; }
	.statsGrid { grid-template-columns: 1fr; gap: 30px; text-align: center; }
	.tBanner { padding: 80px 20px 160px; }
	.tCards { grid-template-columns: 1fr; max-width: 600px; }
	.footGrid { grid-template-columns: 1fr; }
	.footPages { margin-top: 0; }
	.tiles { grid-template-columns: repeat(3, 1fr); max-width: 720px; }
	.svcIntro { grid-template-columns: 1fr; gap: 20px; padding: 40px 20px; }
	.feats { grid-template-columns: 1fr; }
	.contactGrid { grid-template-columns: 1fr; }
	.faqSec { grid-template-columns: 1fr; padding: 40px 150px 40px; }
	.faqImg { margin: 0; padding: 200px 0; }
	.faqText { margin: 0; padding-top: 20px; }
	.faqSec .kicker, .faqSec .h2 { text-align: center; }
	.name { grid-template-columns: 1fr; gap: 30px; padding: 0 100px 40px; }
	.nameText { padding: 0; }
	.mission { padding: 80px 150px; }
	.missionText { font-size: 22px; }
	.ppCta { background-attachment: scroll; }
}
@media (max-width: 768px) {
	.pgTitle { font-size: 36px; }
	.svc { flex-basis: 45%; }
	.imgRow { grid-template-columns: 1fr; }
	.mapWrap { height: 320px; }
	.faqSec { padding: 40px 20px; }
	.faqImg { padding: 100px 0; }
	.ppIntro { grid-template-columns: 1fr; gap: 25px; }
	.ppImg { max-width: 320px; height: 420px; margin: 0 auto; }
	.mission { padding: 60px 20px; }
	.name { padding: 0 20px 40px; }
	.galItem { flex-basis: 85%; min-width: 0; }
	.ppGal .galItem { width: 85%; }
	.ppGal .galItem img { width: 100%; height: auto; }
}
@media (max-width: 640px) {
	.heroTitle { font-size: 36px; line-height: 44px; }
	.btn { padding: 16px 28px; font-size: 19px; }
	.infoGrid { grid-template-columns: 1fr; }
	.comfortTitle { font-size: 28px; }
	.h2 { font-size: 30px; }
	.statsTitle { font-size: 24px; }
	.statNum { font-size: 40px; }
	.tCard { padding: 25px 20px 15px; }
	.copy { text-align: center; }
	.tiles { grid-template-columns: repeat(2, 1fr); column-gap: 15px; row-gap: 30px; }
	.svc { flex-basis: 100%; }
	.brands { gap: 25px 30px; }
	.brands img { max-height: 34px; max-width: 100px; }
	.missionText { font-size: 19px; }
	.shine { font-size: 26px; }
	.pgTitle { font-size: 30px; }
	.pgTitleSm { font-size: 25px; }
	.ppSwoosh svg { height: 40px; }
	.ppTitle { font-size: 26px; }
	.ppSub { font-size: 20px; }
}

.galArrow[disabled] { display: none; }
.galStatic .galArrow, .galStatic .galDots { display: none; }

/* --- about page: spacing matched section-by-section to rayheating.biz --- */
.pgAbout .pgHero { min-height: 0; padding: 140px 20px 60px; }
.pgAbout .feats { padding: 80px 20px; }
.pgAbout .name { padding: 40px 20px; }
.pgAbout .tCards { padding-top: 24px; padding-bottom: 104px; }
@media (max-width: 1024px) {
	.pgAbout .pgHero { padding: 100px 20px 50px; }
	.pgAbout .feats { padding: 60px 150px; }
	.pgAbout .infoRow { padding: 60px 0; }
	.pgAbout .infoGrid { padding-left: 80px; padding-right: 20px; }
	.pgAbout .name { padding: 60px 140px 100px; }
	.pgAbout .tBanner { padding: 100px 20px 170px; }
	.pgAbout .tCards { padding: 20px 150px 0; }
}
@media (max-width: 768px) {
	.pgAbout .feats { padding: 40px 0 0; }
	.pgAbout .infoGrid { padding-left: 60px; padding-right: 0; }
	.pgAbout .name { padding: 40px 20px; }
	.pgAbout .tBanner { padding: 60px 20px; }
	.pgAbout .tCards { margin-top: 0; padding: 0 30px 40px; }
}

/* --- emergency page: matched element-by-element to rayheating.biz/emergency-html/ --- */
.pgEmergency { background: #f9f9fb; }
.pgEmergency .emgRow { position: relative; }
.emgIntroRow { margin-top: -8px; }
.emgSep {
	position: absolute;
	top: -1px;
	left: -1px;
	z-index: 1;
	width: calc(100% + 2px);
	height: 50px;
	overflow: hidden;
	line-height: 0;
}
.emgSep svg { display: block; width: 100%; height: 100%; transform: rotate(180deg); }
.emgIntroRow > .wrap { padding-top: 80px; padding-bottom: 80px; }
.emgCol { padding: 0 80px; text-align: center; }
.emgTitle {
	font-family: var(--f-hd);
	font-weight: 600;
	font-size: 36px;
	line-height: 1.5;
	color: var(--c-ink);
	text-transform: capitalize;
	margin: 0 0 .5em;
}
.emgLead {
	font-size: clamp(1.1rem, 0.995rem + 0.326vw, 1.25rem);
	line-height: 1.6;
	color: var(--c-body);
	margin: 0;
}
.emgCtaRow > .wrap { padding-top: 40px; padding-bottom: 40px; }
.emgBtns { display: flex; align-items: center; justify-content: center; }
.emgBtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5em;
	padding: .4em 1em;
	border-radius: 120px;
	background: var(--c-blue);
	box-shadow: 0 0 10px 5px rgba(0, 0, 0, .2);
	color: #fafa10;
	font-family: var(--f-hd);
	font-weight: 400;
	font-size: 1.65rem;
	line-height: 1.1;
	text-align: center;
	text-transform: capitalize;
	text-decoration: none;
}
.emgBtn:hover { background: #1a4f8c; color: #fafa10; }
.emgBtnIcon { display: inline-flex; align-items: center; justify-content: center; }
.emgBtnIcon svg { display: block; width: 1em; height: 1em; }
.emgListRow > .wrap { padding-top: 80px; padding-bottom: 0; }
.emgStack { display: flex; flex-direction: column; align-items: center; }
.emgList {
	list-style: disc;
	padding: 0 0 0 40px;
	margin: 0 0 32px;
	font-size: clamp(1.1rem, 0.995rem + 0.326vw, 1.25rem);
	line-height: 1.6;
	color: var(--c-body);
	text-align: left;
}
.emgList li { margin: 0; }
.emgMore {
	font-family: var(--f-hd);
	font-weight: 600;
	font-size: 26px;
	line-height: 1.5;
	color: var(--c-ink);
	text-transform: capitalize;
	text-align: center;
	margin: 1.5em 0 .5em;
}
.emgLink {
	font-size: clamp(1.75rem, 1.576rem + 0.543vw, 2rem);
	line-height: 1.6;
	margin: 0;
}
.emgLink a { color: var(--c-blue); text-decoration: underline; }
.emgQrRow > .wrap { padding-top: 40px; padding-bottom: 80px; }
.emgQr { display: block; width: 200px; height: 200px; max-width: 100%; }
@media (max-width: 1024px) {
	.emgIntroRow { margin-top: 0; }
	.emgSep { height: 30px; }
	.pgEmergency .emgRow > .wrap { padding-top: 60px; padding-bottom: 60px; }
}
@media (max-width: 768px) {
	.emgSep { height: 20px; }
	.pgEmergency .emgRow > .wrap { padding-top: 40px; padding-bottom: 40px; }
	.emgCol { padding: 0; }
}

/* --- map page: matched element-by-element to rayheating.biz/map/ --- */
.pgMap .pgHero { min-height: 0; margin-top: -8px; padding: 80px 24px 100px; }
.pgMap .pgHeroBg { opacity: .3; }
.pgMap .pgTitle {
	font-size: clamp(2.25rem, 1.728rem + 1.63vw, 3rem);
	line-height: 1.5;
	text-transform: capitalize;
	padding: 0;
}
.mapAddrRow { position: relative; padding: 24px 0; }
.mapSep {
	position: absolute;
	top: -1px;
	left: -1px;
	z-index: 1;
	width: calc(100% + 2px);
	height: 50px;
	overflow: hidden;
	line-height: 0;
}
.mapSep svg { display: block; width: 100%; height: 100%; transform: rotate(180deg); }
.mapAddr {
	font-size: clamp(1.1rem, 0.995rem + 0.326vw, 1.25rem);
	line-height: 1.6;
	color: var(--c-body);
	text-align: center;
	margin: 0;
	padding: 60px 0 80px;
}
.pgMap .mapWrap { height: 500px; }
@media (max-width: 1024px) {
	.pgMap .pgHero { margin-top: 0; padding: 100px 40px 140px; }
	.mapSep { height: 30px; }
}
@media (max-width: 768px) {
	.pgMap .pgHero { padding: 80px 20px 120px; }
	.mapSep { height: 20px; }
}

/* --- services page: matched element-by-element to rayheating.biz/services/ --- */
.pgServices .pgHero {
	min-height: 0;
	margin-top: -8px;
	padding: 140px 20px 60px;
	background: #f9f9fb;
}
.pgServices .pgHeroBg { opacity: .3; }
.pgServices .pgTitle { font-size: 50px; line-height: 1.5; text-transform: capitalize; padding: 0; }
.svcIntroRow { position: relative; background: #f9f9fb; }
.svcSep {
	position: absolute;
	top: -1px;
	left: -1px;
	z-index: 1;
	width: calc(100% + 2px);
	height: 50px;
	overflow: hidden;
	line-height: 0;
}
.svcSep svg { display: block; width: 100%; height: 100%; transform: rotate(180deg); }
.pgServices .svcIntro {
	grid-template-columns: 346.5fr 871.5fr;
	gap: 32px;
	padding: 100px 20px 60px;
}
.pgServices .svcIntro .h2 { max-width: 296px; font-size: 36px; line-height: 1.5; margin: 0; }
.pgServices .svcIntroText { font-size: 19px; line-height: 1.6; }
.pgServices .svcGrid { padding: 60px 20px 80px; gap: 0; background: #f9f9fb; max-width: 1290px; }
.pgServices .svc { flex: 0 0 33.333%; min-width: 0; padding: 20px 25px 40px; }
.pgServices .svc:nth-child(n+4) { flex-basis: 50%; }
.pgServices .svcImg {
	width: auto;
	height: auto;
	max-height: 96px;
	padding: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
}
.pgServices .svcImg img { width: auto; height: auto; max-height: 96px; margin: 0 auto; }
.pgServices .svcTitle { font-size: 28px; line-height: 1.5; margin: 5px 0 10px; }
.pgServices .svcText { font-size: 19px; line-height: 1.6; color: #52606d; }
.pgServices .imgRow { max-width: 1200px; gap: 10px; padding: 20px 20px 40px; }
.pgServices .feats { gap: 20px; padding: 80px 20px; }
.pgServices .feat { padding: 40px; border-radius: 7px; background: #f9f9fb; }
.tCardsRow { background: var(--c-bg2); }
.pgServices .tCards { margin-top: -125px; gap: 32px 16px; padding-bottom: 80px; }
.pgServices .brands {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	align-items: center;
	justify-items: center;
	gap: 32px 16px;
	max-width: 1440px;
	padding: 20px 80px 60px;
	background: #f9f9fb;
}
.pgServices .brands img { max-height: 59px; max-width: 147px; width: auto; object-fit: contain; }
@media (max-width: 1024px) {
	.pgServices .pgHero { margin-top: 0; padding: 100px 20px 50px; }
	.svcSep { height: 30px; }
	.pgServices .svcIntro { grid-template-columns: 1fr; gap: 20px; padding: 60px 20px 40px; }
	.pgServices .svc { flex-basis: 50%; }
	.pgServices .brands { grid-template-columns: repeat(5, 1fr); padding: 20px 40px 50px; }
}
@media (max-width: 768px) {
	.svcSep { height: 20px; }
	.pgServices .svc, .pgServices .svc:nth-child(n+4) { flex-basis: 100%; }
	.pgServices .imgRow { grid-template-columns: 1fr; }
	.pgServices .brands { grid-template-columns: repeat(3, 1fr); padding: 20px 20px 40px; }
}

/* --- contact form panel (WebTools text record 3993 rendered into #content_0) --- */
#content_0 .TextTbl { width: 100%; border-collapse: collapse; }
#content_0 .TextTbl tbody, #content_0 .TextTbl tr, #content_0 .TextTbl td { display: block; width: 100%; }
#content_0 .TextTbl td { padding: 0 !important; }
#content_0 .pgPanel { box-sizing: border-box; }
.pgPanel .panelHero {
	min-height: 0;
	padding: 60px 20px 40px;
	background: #f9f9fb;
}
.pgPanel .panelHero .pgTitle { font-size: 48px; line-height: 1.5; margin: 0; padding: 0; }
.pgPanel .mapWrap { height: 420px; }
/* the platform appends the form after our markup; page.js moves it into .frmCard */
#contactFrm #details_frm { display: block; }
#contactFrm .FrmName, #contactFrm .FrmHeader, #contactFrm .FrmNote {
	margin: 4px 0 6px;
	font-family: var(--f-hd);
	font-weight: 500;
	font-size: 17px;
	color: var(--c-ink);
}
#contactFrm .FrmNote { margin-top: 10px; }
#contactFrm .frm_small, #contactFrm .FrmText { margin-bottom: 16px; border-radius: 4px; }
#contactFrm .frm_small:focus, #contactFrm .FrmText:focus {
	outline: 0;
	border-color: var(--c-blue);
	background: #fff;
}
#contactFrm .Frmfield { overflow: hidden; }
#contactFrm .FrmTbl { clear: none; float: left; width: auto; margin: 0 28px 16px 0; }
#contactFrm .FrmTbl td { padding: 0; font-size: 17px; color: var(--c-body); vertical-align: middle; }
#contactFrm .FrmTbl .Frm_td { padding: 0 9px 0 0; }
#contactFrm .Frm_td input { width: 18px; height: 18px; margin: 0; accent-color: var(--c-blue); }
#contactFrm .frm_end1 { margin-top: 0; }
#contactFrm #frm_results {
	clear: both;
	font-family: var(--f-bd);
	font-size: 19px;
	line-height: 1.6;
	color: var(--c-ink);
}
.frmDone {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin-bottom: 18px;
	padding: 18px 20px;
	border-radius: 6px;
	background: #eaf6ee;
}
.frmDoneIcon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 32px;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #1e8e4a;
}
.frmDoneIcon svg {
	display: block;
	width: 18px;
	height: 18px;
	fill: none;
	stroke: #fff;
	stroke-width: 3;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.frmDoneTxt { display: block; }
.frmDoneTxt strong {
	display: block;
	font-family: var(--f-hd);
	font-weight: 500;
	font-size: 19px;
	line-height: 1.35;
	color: #14632f;
}
.frmDoneSub { display: block; margin-top: 4px; font-size: 17px; line-height: 1.5; color: var(--c-body); }
#contactFrm > .frm_error {
	clear: both;
	margin-bottom: 16px;
	padding: 12px 15px;
	border-left: 4px solid #c0392b;
	background: #fdeceb;
	font-size: 17px;
	color: #c0392b;
}
#contactFrm .frm_error { font-size: 17px; color: #c0392b; }
#contactFrm .BtnFrm {
	display: inline-block;
	padding: 14px 32px;
	border: 0;
	border-radius: 6px;
	background: var(--c-blue);
	color: #fff;
	font-family: var(--f-hd);
	font-size: 19px;
	line-height: 1.2;
	cursor: pointer;
}
#contactFrm .BtnFrm:hover { background: #1a4f8c; }
@media (max-width: 768px) {
	.pgPanel .panelHero { padding: 40px 20px 30px; }
	.pgPanel .panelHero .pgTitle { font-size: 32px; }
	.pgPanel .mapWrap { height: 320px; }
}
