/*
 * TC Electric site refresh
 * Hero fit, branded bolts, link and button hovers, and section cleanups.
 * Loaded after the parent theme and Elementor styles (see functions.php).
 */

:root {
	--tc-gold: #bfa050;
	--tc-gold-dark: #a8893c;
	--tc-dark: #2f3d2b;
	--tc-darker: #1f2a1c;
	--tc-cream: #f5f2ea;
	--tc-ease: cubic-bezier(.22, .61, .36, 1);
	--tc-radius: 14px;
	--tc-radius-sm: 8px;
}

/* ---------- Hero (rendered by tc_render_home_hero in functions.php) ---------- */

.tc-hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(900px 500px at 85% 30%, rgba(191, 160, 80, .22), transparent 60%),
		radial-gradient(700px 500px at 0% 100%, rgba(191, 160, 80, .10), transparent 60%),
		linear-gradient(135deg, #1a2317 0%, var(--tc-dark) 55%, #243020 100%);
	color: #fff;
}

/* faint blueprint grid */
.tc-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
	background-size: 44px 44px;
	mask-image: linear-gradient(90deg, transparent, #000 30%, #000 70%, transparent);
	pointer-events: none;
}

.tc-hero__inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr);
	align-items: center;
	gap: 48px;
	max-width: 1170px;
	margin: 0 auto;
	padding: 56px 15px 72px;
}

.tc-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 18px;
	padding: 8px 16px;
	border: 1px solid rgba(191, 160, 80, .45);
	border-radius: 999px;
	background: rgba(191, 160, 80, .12);
	color: #e6cf93;
	font-family: Poppins, sans-serif;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .02em;
}

.tc-hero__title {
	margin: 0 0 18px;
	color: #fff;
	font-family: Poppins, sans-serif;
	font-size: clamp(30px, min(2.9vw, 5.4vh), 44px);
	font-weight: 700;
	line-height: 1.14;
}

.tc-hero__title span {
	color: var(--tc-gold);
}

.tc-hero__text {
	max-width: 560px;
	max-width: 620px;
	margin: 0 0 24px;
	color: rgba(255, 255, 255, .8);
	font-size: 16px;
	line-height: 1.7;
}

.tc-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-bottom: 22px;
}

.tc-hero__btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	height: 56px;
	padding: 0 30px;
	border-radius: var(--tc-radius-sm);
	font-family: Poppins, sans-serif;
	font-size: 16px;
	font-weight: 600;
	transition: background-color .25s, color .25s, border-color .25s, transform .25s var(--tc-ease), box-shadow .25s var(--tc-ease);
}

.tc-hero__btn--primary {
	background: var(--tc-gold);
	color: var(--tc-darker);
	box-shadow: 0 14px 30px -14px rgba(191, 160, 80, .9);
}

.tc-hero__btn--primary:hover {
	background: #fff;
	color: var(--tc-darker);
	transform: translateY(-2px);
}

.tc-hero__btn--ghost {
	border: 2px solid rgba(255, 255, 255, .55);
	color: #fff;
}

.tc-hero__btn--ghost:hover {
	border-color: var(--tc-gold);
	background: var(--tc-gold);
	color: var(--tc-darker);
	transform: translateY(-2px);
}

.tc-hero__trust {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 22px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.tc-hero__trust li {
	position: relative;
	padding-left: 22px;
	color: rgba(255, 255, 255, .85);
	font-size: 15px;
}

.tc-hero__trust li::before {
	content: "\e900";
	position: absolute;
	left: 0;
	top: 1px;
	font-family: "electrician";
	color: var(--tc-gold);
	font-size: 14px;
}

/* Photo collage */
.tc-hero__media {
	position: relative;
	height: 470px;
}

.tc-hero__photo {
	position: absolute;
	margin: 0;
	overflow: hidden;
	border-radius: var(--tc-radius);
	box-shadow: 0 30px 60px -28px rgba(0, 0, 0, .8);
}

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

.tc-hero__photo--main {
	top: 0;
	left: 18%;
	width: 54%;
	height: 100%;
	border: 4px solid rgba(255, 255, 255, .9);
}

.tc-hero__photo--top {
	top: 6%;
	right: 0;
	width: 30%;
	height: 42%;
	border: 4px solid rgba(255, 255, 255, .9);
}

.tc-hero__photo--bottom {
	bottom: 6%;
	left: 0;
	width: 30%;
	height: 42%;
	border: 4px solid rgba(255, 255, 255, .9);
}

.tc-hero__badge {
	position: absolute;
	right: 2%;
	bottom: 10%;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 18px;
	border-radius: var(--tc-radius);
	background: var(--tc-gold);
	color: var(--tc-darker);
	box-shadow: 0 20px 40px -18px rgba(0, 0, 0, .7);
	font-family: Poppins, sans-serif;
	line-height: 1.15;
}

.tc-hero__badge strong {
	font-size: 30px;
	font-weight: 800;
}

.tc-hero__badge span {
	font-size: 13px;
	font-weight: 600;
}

/* Desktop: hero fills the screen above the request form, which overlaps its bottom edge */
@media (min-width: 1025px) {
	.tc-hero {
		min-height: clamp(440px, calc(100vh - 190px), 820px);
		display: flex;
		align-items: center;
	}

	.tc-hero__inner {
		width: 100%;
		padding-top: 36px;
		padding-bottom: 191px;
	}

	.tc-hero__media {
		height: clamp(280px, calc(100vh - 190px - 250px), 440px);
	}
}

@media (min-width: 1025px) and (max-height: 880px) {
	.tc-hero__trust {
		display: none;
	}

	.tc-hero__actions {
		margin-bottom: 0;
	}
}

@media (min-width: 1025px) and (max-height: 800px) {
	.tc-hero__text {
		display: none;
	}

	.tc-hero__inner {
		padding-top: 18px;
		padding-bottom: 182px;
	}

	.tc-hero__eyebrow {
		margin-bottom: 12px;
	}
}

@media (max-width: 1024px) {
	.tc-hero__inner {
		grid-template-columns: 1fr;
		gap: 36px;
		padding: 44px 20px 56px;
	}

	.tc-hero__media {
		height: 340px;
		max-width: 520px;
		width: 100%;
		margin: 0 auto;
	}
}

@media (max-width: 575px) {
	.tc-hero__btn {
		width: 100%;
		justify-content: center;
	}

	.tc-hero__media {
		height: 280px;
	}

	.tc-hero__badge strong {
		font-size: 24px;
	}
}

/* Request form: a white card so it stands out on the dark hero */
.order-form .order-form__content {
	background: #fff !important;
	box-shadow: 0 30px 60px -24px rgba(0, 0, 0, .55);
	border-top-left-radius: 0 !important;
}

.order-form .order-form__content .form-control,
.order-form .order-form__content input:not([type="submit"]) {
	border: 1px solid #e3ddcd !important;
	background: var(--tc-cream) !important;
	color: var(--tc-dark);
}

.order-form .order-form__content input::placeholder {
	color: #6c7066;
}

.order-form .order-form__content input:focus {
	border-color: var(--tc-gold) !important;
	background: #fff !important;
	outline: none;
	box-shadow: 0 0 0 3px rgba(191, 160, 80, .2);
}

/* ---------- Rounded corners, one radius site wide ---------- */

.ss-about .layout01__img .tt-img-main,
.ss-about .layout01__img .tt-img-main img,
.layout01 .layout01__img .tt-img-main img,
.layout01 .layout01__content-wrapper,
.tt-box02,
#filter-layout .tt-gallery,
.tt-info-value .tt-item,
.tt-box03,
.tt-box03__content,
.tt-box03__extra,
.tt-box01__description,
.tt-box01 .tt-box01__holder,
.order-form__content,
.tt-obj-wrapper .tt-obj,
.tt-blog-thumb,
.tt-post,
.modal-content,
#tt-footer .tc-footer-cta,
#tt-footer #map-img iframe {
	border-radius: var(--tc-radius) !important;
	overflow: hidden;
}

.order-form .order-form__title,
.order-form .tt-title {
	border-radius: var(--tc-radius-sm) var(--tc-radius-sm) 0 0;
}

.tt-btn,
.tc-footer-cta__btn,
.tt-box02 .tt-row-btn a.tt-link,
.elementor-element-091ab54 a.tt-link.tt-link__lg,
.form-control,
.wpcf7-form input:not([type="submit"]),
.wpcf7-form textarea,
.wpcf7-form select {
	border-radius: var(--tc-radius-sm) !important;
}

/* BBB seal: keep it inside the photo at any width */
@media (min-width: 1025px) {
	.layout01__img-more:not(.layout01__revers) .layout01__img .tt-img-more {
		left: 24px !important;
	}

	.layout01__revers.layout01__img-more .layout01__img .tt-img-more {
		left: auto !important;
		right: 24px !important;
	}
}

/* ---------- Branded lightning bolts in place of checkmarks ---------- */

.tt-list01 li::before,
.tt-layout02 .tt-layout02__list li::before,
.f-nav li::before,
.icon-check::before {
	content: "\e900";
	font-family: "electrician" !important;
	color: var(--tc-gold);
}

.tt-list01 li::before,
.tt-layout02 .tt-layout02__list li::before {
	font-size: 15px;
	top: 5px;
	transition: transform .3s var(--tc-ease);
}

.tt-list01 li:hover::before,
.tt-layout02 .tt-layout02__list li:hover::before {
	transform: scale(1.25) rotate(-8deg);
}

/* ---------- Links ---------- */

/* "More info" / "View More" style text links: sliding underline and arrow nudge */
a.tt-link {
	position: relative;
	padding-bottom: 3px;
	color: var(--tc-dark);
	transition: color .25s var(--tc-ease);
}

a.tt-link::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background: var(--tc-gold);
	transform: scaleX(0);
	transform-origin: right;
	transition: transform .35s var(--tc-ease);
}

a.tt-link:hover {
	color: var(--tc-gold);
}

a.tt-link:hover::after {
	transform: scaleX(1);
	transform-origin: left;
}

a.tt-link [class^="icon-"] {
	display: inline-block;
	transition: transform .3s var(--tc-ease);
}

a.tt-link:hover [class^="icon-"] {
	transform: translateX(5px);
}

/* Main navigation: gold underline grows from the center */
@media (min-width: 1025px) {
	#tt-nav > ul > li > a {
		position: relative;
	}

	#tt-nav > ul > li > a::after {
		content: "";
		position: absolute;
		left: 50%;
		bottom: 2px;
		width: 0;
		height: 2px;
		background: var(--tc-gold);
		transition: width .3s var(--tc-ease), left .3s var(--tc-ease);
	}

	#tt-nav > ul > li > a:hover::after,
	#tt-nav > ul > li.active > a::after,
	#tt-nav > ul > li.current-menu-item > a::after {
		left: 0;
		width: 100%;
	}
}

/* Address and phone links added by site-refresh.js: look like the text around them until hovered */
a.tc-map-link,
a.tc-phone-link {
	color: inherit;
	text-decoration: none;
	background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat;
	transition: color .25s, background-size .35s var(--tc-ease);
}

a.tc-map-link:hover,
a.tc-phone-link:hover {
	color: var(--tc-gold);
	background-size: 100% 1px;
}

/* ---------- Buttons: lift, glow, and a light sweep ---------- */

.tt-btn {
	overflow: hidden;
	transition: color .25s, background-color .25s, border-color .25s,
		transform .25s var(--tc-ease), box-shadow .25s var(--tc-ease) !important;
}

.tt-btn::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: -75%;
	width: 50%;
	height: 100%;
	background: linear-gradient(120deg, transparent, rgba(255, 255, 255, .35), transparent);
	transform: skewX(-20deg);
	pointer-events: none;
}

.tt-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 22px -8px rgba(31, 42, 28, .45);
}

.tt-btn:hover::after {
	left: 125%;
	transition: left .7s var(--tc-ease);
}

.tt-btn [class^="icon-"] {
	display: inline-block;
	transition: transform .3s var(--tc-ease);
}

.tt-btn:hover [class^="icon-"] {
	transform: scale(1.2) rotate(-10deg);
}

/* ---------- About: balance the columns, clean BBB seal ---------- */

@media (min-width: 1025px) {
	.ss-about .layout01 .layout01__content-wrapper {
		padding: 48px 48px 44px 64px;
	}

	.ss-about .layout01__content .section-title__02 {
		font-size: 34px;
		line-height: 44px;
	}

	.ss-about .layout01__content p {
		margin-top: 18px;
	}

	.ss-about .tt-list01 {
		margin-top: 22px;
	}

	.ss-about .tt-list01 li + li {
		margin-top: 6px;
	}
}

/* Stretch the photo column to the height of the text card so the two sides line up */
@media (min-width: 1025px) {
	.ss-about .layout01 {
		align-items: stretch;
	}

	.ss-about .layout01__img {
		display: flex;
		flex-direction: column;
		height: auto;
		margin-bottom: 0 !important;
	}

	.ss-about .layout01__img .tt-img-main {
		flex: 1;
		margin-top: 35px;
	}

	.ss-about .layout01__img .tt-img-main img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center top;
	}

	.ss-about .layout01__img .tt-img-more {
		top: auto !important;
		bottom: 36px !important;
	}
}

/* Empty team/personal block left over from the template pads the column with blank space */
.ss-about .tt-data-info {
	display: none;
}

/* Keep the BBB seal inside its photo on every page using this layout, so the section edge can't crop it */
@media (min-width: 1025px) {
	.layout01__img-more .layout01__img .tt-img-more {
		top: auto !important;
		bottom: 36px !important;
	}
}

/* The seal PNG is transparent; a box-shadow drew its full rectangle as a white card */
.tt-img-more img {
	box-shadow: none !important;
	filter: drop-shadow(0 10px 22px rgba(47, 61, 43, .25));
}

/* ---------- Services slider: keep the light bulbs, drop their white card ---------- */

/*
 * The theme's bulb is a white PNG card with a bulb-shaped hole. Hide the card and clip the
 * photo to a bulb outline instead, so nothing white shows; the orange base is drawn below.
 */
.tt-box02 .tt-box02__img .tt-bg-dark {
	display: block;
	width: 142px;
	max-width: none;
	height: 185px;
	margin: 0 auto;
	background: var(--tc-darker);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 142 185'%3E%3Cpath d='M71 2C109.6 2 140 32.4 140 70c0 25-13 43-26 61-8 11-11 20-11 29v23H39v-23c0-9-3-18-11-29C15 113 2 95 2 70 2 32.4 32.4 2 71 2z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 142 185'%3E%3Cpath d='M71 2C109.6 2 140 32.4 140 70c0 25-13 43-26 61-8 11-11 20-11 29v23H39v-23c0-9-3-18-11-29C15 113 2 95 2 70 2 32.4 32.4 2 71 2z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}

.tt-box02 .tt-box02__img .tt-bg-dark img.tt-img-main {
	width: 100%;
	max-width: none;
	height: 100%;
	object-fit: cover;
}

.tt-box02 .tt-box02__img img.tt-img-mask {
	display: none;
}

/* Bulb base: two bars and a cap, in the theme's orange */
.tt-box02 .tt-box02__img::after {
	content: "";
	display: block;
	width: 54px;
	height: 40px;
	margin: 6px auto 0;
	background:
		linear-gradient(#bfa050, #bfa050) center 0 / 54px 9px no-repeat,
		linear-gradient(#bfa050, #bfa050) center 13px / 54px 9px no-repeat,
		radial-gradient(circle at 50% 0, #bfa050 13px, transparent 13.5px) center 26px / 28px 14px no-repeat;
	border-radius: 5px;
	transition: filter .3s;
}

.tt-box02:hover .tt-box02__img::after {
	filter: brightness(1.08) drop-shadow(0 0 8px rgba(191, 160, 80, .55));
}

@media (max-width: 1024px) {
	.tt-box02 .tt-box02__img .tt-bg-dark {
		width: 104px;
		height: 136px;
	}

	.tt-box02 .tt-box02__img::after {
		transform: scale(.73);
		transform-origin: center top;
	}
}

.tt-box02 .tt-box02__img img.tt-img-main {
	opacity: .85;
	transition: opacity .4s var(--tc-ease), transform .6s var(--tc-ease);
}

.tt-box02 .tt-box02__img {
	transition: transform .4s var(--tc-ease);
}

.tt-box02:hover .tt-box02__img {
	transform: translateY(-6px);
}

.tt-box02:hover .tt-box02__img img.tt-img-main {
	opacity: 1;
}

.tt-box02 .tt-box02__title a {
	transition: color .25s;
}

.tt-box02 .tt-box02__title a:hover {
	color: var(--tc-gold);
}

/* "More info" as a real button */
.tt-box02 .tt-row-btn a.tt-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	height: 46px;
	padding: 0 26px;
	border: 2px solid var(--tc-gold);
	border-radius: 2px;
	background: transparent;
	color: var(--tc-dark);
	font-weight: 600;
	transition: background-color .25s, color .25s, transform .25s var(--tc-ease), box-shadow .25s var(--tc-ease);
}

.tt-box02 .tt-row-btn a.tt-link::after {
	display: none;
}

.tt-box02 .tt-row-btn a.tt-link [class^="icon-"] {
	margin-left: 0;
	color: var(--tc-gold);
	transition: color .25s, transform .3s var(--tc-ease);
}

.tt-box02 .tt-row-btn a.tt-link:hover {
	background: var(--tc-gold);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 10px 22px -10px rgba(191, 160, 80, .8);
}

.tt-box02 .tt-row-btn a.tt-link:hover [class^="icon-"] {
	color: #fff;
	transform: translateX(4px);
}

/* Services slider as even cards */
.tt-box02_wrapper .slick-track {
	display: flex !important;
	padding: 14px 0 26px;
}

.tt-box02_wrapper .slick-slide {
	flex: 0 0 auto !important;
	max-width: none !important;
	height: auto !important;
	display: flex !important;
}

.tt-box02_wrapper .slick-slide > div:not(.tt-box02) {
	display: flex;
	flex: 1;
}

.tt-box02 {
	display: flex;
	flex-direction: column;
	align-items: center;
	flex: 1;
	margin: 0 12px;
	padding: 40px 28px 34px;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 18px 40px -28px rgba(31, 42, 28, .45);
	transition: transform .35s var(--tc-ease), box-shadow .35s var(--tc-ease);
}

.tt-box02:hover {
	transform: translateY(-6px);
	box-shadow: 0 26px 50px -26px rgba(31, 42, 28, .55);
}

.tt-box02:hover .tt-box02__img {
	transform: none;
}

.tt-box02 .tt-box02__img {
	margin-bottom: 26px;
}

.tt-box02 .tt-box02__title {
	margin-top: 0;
	min-height: 2.6em;
	display: flex;
	align-items: center;
	justify-content: center;
}

.tt-box02 > p {
	flex: 1;
	margin-bottom: 26px;
}

.tt-box02 .tt-row-btn {
	margin-top: auto;
}

/* Intro line, arrows and "all services" button added by site-refresh.js */
.tc-section-intro {
	max-width: 680px;
	margin: -22px auto 44px;
	text-align: center;
	color: #5b6056;
	font-size: 17px;
	line-height: 1.7;
}

.tc-slider-wrap {
	position: relative;
}

.tc-slider-arrow {
	position: absolute;
	top: 40%;
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	padding: 0;
	border: 2px solid var(--tc-gold);
	border-radius: 50%;
	background: #fff;
	color: var(--tc-gold);
	font-size: 18px;
	cursor: pointer;
	box-shadow: 0 10px 24px -14px rgba(31, 42, 28, .6);
	transition: background-color .25s, color .25s, transform .25s var(--tc-ease);
}

.tc-slider-arrow:hover {
	background: var(--tc-gold);
	color: #fff;
}

.tc-slider-arrow--prev {
	left: -70px;
}

.tc-slider-arrow--prev [class^="icon-"] {
	transform: rotate(180deg);
}

.tc-slider-arrow--next {
	right: -70px;
}

.tc-slider-arrow--prev:hover {
	transform: translateX(-3px);
}

.tc-slider-arrow--next:hover {
	transform: translateX(3px);
}

@media (max-width: 1340px) {
	.tc-slider-arrow--prev { left: -18px; }
	.tc-slider-arrow--next { right: -18px; }
}

.tt-box02_wrapper .slick-dots li button {
	background: rgba(47, 61, 43, .2);
}

.tt-box02_wrapper .slick-dots li.slick-active button {
	width: 26px;
	border-radius: 5px;
	background: var(--tc-gold);
}

.tc-section-cta {
	margin-top: 40px;
	text-align: center;
}

/* ---------- Commercial / Industrial / Residential panels ---------- */

.tt-slideinfo.tc-clickable {
	cursor: pointer;
}

/* Theme draws 20px white bars above and below the wrapper and each panel; they show as white strips on hover */
.tt-slideinfo-wrapper::before,
.tt-slideinfo-wrapper::after,
.tt-slideinfo .tt-item__bg .tt-item__bg-top::before,
.tt-slideinfo .tt-item__bg .tt-item__bg-top::after {
	display: none !important;
}

@media (min-width: 1025px) {
	.tt-slideinfo .tt-item__content {
		transition: transform .45s var(--tc-ease);
	}

	.tt-slideinfo .tt-item__bg-top {
		background: linear-gradient(180deg, rgba(31, 42, 28, 0) 0%, rgba(31, 42, 28, .2) 100%);
		transition: background .45s var(--tc-ease);
	}

	.tt-slideinfo:hover .tt-item__bg-top {
		background: linear-gradient(180deg, rgba(31, 42, 28, .55) 0%, rgba(31, 42, 28, .85) 100%);
	}

	.tt-slideinfo .tt-item__description {
		display: block !important;
		max-width: 380px;
		margin: 0 auto;
		max-height: 0;
		overflow: hidden;
		opacity: 0;
		transform: translateY(14px);
		font-size: 16px;
		line-height: 26px;
		color: rgba(255, 255, 255, .92);
		transition: max-height .5s var(--tc-ease), opacity .4s var(--tc-ease),
			transform .45s var(--tc-ease), margin .45s var(--tc-ease);
	}

	.tt-slideinfo:hover .tt-item__description {
		max-height: 260px;
		margin: 18px auto 26px;
		opacity: 1;
		transform: none;
	}

	.tt-slideinfo .tt-item__btn a {
		transition: background-color .3s, color .3s, transform .4s var(--tc-ease);
	}

	.tt-slideinfo:hover .tt-item__btn a {
		background-color: #fff;
		color: var(--tc-gold);
		transform: rotate(90deg);
	}
}

/* ---------- Projects grid: even tiles, real button ---------- */

#filter-layout .tt-gallery {
	display: block;
	position: relative;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	border-radius: 6px;
	box-shadow: 0 8px 22px -14px rgba(31, 42, 28, .6);
}

#filter-layout .tt-gallery img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .6s var(--tc-ease);
}

#filter-layout .tt-gallery:hover img {
	transform: scale(1.06);
}

.elementor-element-091ab54 a.tt-link.tt-link__lg {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	height: 52px;
	padding: 0 34px;
	border-radius: 2px;
	background: var(--tc-gold);
	color: #fff;
	font-weight: 600;
	transition: background-color .25s, transform .25s var(--tc-ease), box-shadow .25s var(--tc-ease);
}

.elementor-element-091ab54 a.tt-link.tt-link__lg::after {
	display: none;
}

.elementor-element-091ab54 a.tt-link.tt-link__lg:hover {
	background: var(--tc-dark);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 10px 22px -8px rgba(31, 42, 28, .45);
}

.elementor-element-091ab54 a.tt-link.tt-link__lg [class^="icon-"] {
	color: #fff;
	margin-left: 0;
}

/* The gallery page already shows every project; its "View More" button had nothing to load */
.page-id-1491 #js-more-include {
	display: none !important;
}

/* ---------- Statistics ---------- */

.tt-info-value .tt-item {
	position: relative;
	min-width: 200px;
	padding: 26px 28px 24px;
	border: 1px solid rgba(255, 255, 255, .1);
	border-top: 3px solid var(--tc-gold);
	border-radius: 4px;
	background: rgba(255, 255, 255, .04);
	color: rgba(255, 255, 255, .8);
	font-size: 15px;
	text-transform: uppercase;
	letter-spacing: .06em;
	transition: transform .35s var(--tc-ease), background-color .35s, box-shadow .35s;
}

.tt-info-value .tt-item .tt-value {
	margin-bottom: 6px;
	color: var(--tc-gold);
	font-size: 48px;
	line-height: 1.1;
	letter-spacing: 0;
}

.tt-info-value .tt-item:hover {
	transform: translateY(-6px);
	background: rgba(255, 255, 255, .08);
	box-shadow: 0 18px 34px -16px rgba(0, 0, 0, .6);
}

/* ---------- Testimonials: emergency phone hover ---------- */

.tt-box03__extra address a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	position: relative;
	transition: color .25s, transform .25s var(--tc-ease);
}

.tt-box03__extra address a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -4px;
	height: 2px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .35s var(--tc-ease);
}

.tt-box03__extra address a:hover {
	color: var(--tc-dark) !important;
}

.tt-box03__extra address a:hover::after {
	transform: scaleX(1);
}

.tt-box03__extra address a:hover [class^="icon-"] {
	animation: tc-ring .6s ease-in-out;
}

@keyframes tc-ring {
	0%, 100% { transform: rotate(0); }
	20%, 60% { transform: rotate(-16deg); }
	40%, 80% { transform: rotate(16deg); }
}

/* ---------- Footer: four even columns, branded CTA strip, clean copyright bar ---------- */

#tt-footer .footer-wrapper {
	padding-top: 0;
	padding-bottom: 0;
}

/* CTA strip added by site-refresh.js */
#tt-footer .tc-footer-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin: 0 0 64px;
	padding: 34px 44px;
	border-radius: 0 0 6px 6px;
	background: linear-gradient(110deg, var(--tc-gold) 0%, #cdb06a 100%);
	color: var(--tc-darker);
}

#tt-footer .tc-footer-cta__title {
	margin: 0;
	color: var(--tc-darker);
	font-family: Poppins, sans-serif;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.25;
}

#tt-footer .tc-footer-cta__text {
	margin: 4px 0 0;
	color: rgba(31, 42, 28, .8);
	font-size: 16px;
}

#tt-footer .tc-footer-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

#tt-footer .tc-footer-cta__btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	height: 52px;
	padding: 0 28px;
	border-radius: 2px;
	font-family: Poppins, sans-serif;
	font-size: 15px;
	font-weight: 600;
	white-space: nowrap;
	transition: background-color .25s, color .25s, transform .25s var(--tc-ease), box-shadow .25s var(--tc-ease);
}

#tt-footer .tc-footer-cta__btn--call {
	background: var(--tc-darker);
	color: #fff;
}

#tt-footer .tc-footer-cta__btn--estimate {
	border: 2px solid var(--tc-darker);
	color: var(--tc-darker);
}

#tt-footer .tc-footer-cta__btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 24px -12px rgba(31, 42, 28, .7);
}

#tt-footer .tc-footer-cta__btn--call:hover {
	background: #fff;
	color: var(--tc-darker);
}

#tt-footer .tc-footer-cta__btn--estimate:hover {
	background: var(--tc-darker);
	color: #fff;
}

/* Flatten the theme's nested Bootstrap rows into one grid on the footer container */
#tt-footer .footer-wrapper > .container {
	display: grid;
	grid-template-columns: 1.15fr .8fr 1.15fr 1.25fr;
	grid-template-areas:
		"cta     cta   cta     cta"
		"logo    links contact map"
		"text    links contact map"
		"copy    copy  copy    copy";
	grid-template-rows: auto auto 1fr auto;
	column-gap: 48px;
	width: 100%;
	max-width: 1170px;
	margin: 0 auto;
	text-align: left;
}

#tt-footer .f-logo,
#tt-footer .f-info-text {
	text-align: left;
}

#tt-footer .f-holder,
#tt-footer .f-holder > .col-xl-7,
#tt-footer .f-holder > .col-xl-7 > .additional-strut,
#tt-footer .f-holder > .col-xl-7 > .additional-strut > .row,
#tt-footer .f-holder > .col-xl-7 > .row {
	display: contents;
}

#tt-footer .f-holder [class*="col-"] {
	max-width: none;
	flex: none;
	width: auto;
	padding: 0;
}

#tt-footer .tc-footer-cta { grid-area: cta; }
#tt-footer .additional-strut .col-xl-5 { grid-area: logo; }
#tt-footer .additional-strut .col-xl-7 { grid-area: text; }
#tt-footer .f-holder > .col-xl-7 > .row > div:first-child { grid-area: links; }
#tt-footer .f-holder > .col-xl-7 > .row > div:last-child { grid-area: contact; }
#tt-footer #map,
#tt-footer #map-img { grid-area: map; }
#tt-footer .f-copyright { grid-area: copy; }

#tt-footer .f-logo img {
	width: 84px;
	height: 84px;
	border-radius: 50%;
	padding: 6px;
	background: #fff;
	object-fit: contain;
	box-shadow: 0 0 0 3px rgba(191, 160, 80, .55);
}

#tt-footer .f-info-text {
	margin-top: 20px;
	color: rgba(255, 255, 255, .72);
	font-size: 15px;
	line-height: 1.7;
}

#tt-footer .footer-widget,
#tt-footer .footer-widget2 {
	margin: 0;
}

/* Column headings */
#tt-footer .footer-widget::before,
#tt-footer .footer-widget2::before,
#tt-footer #map-img::before,
#tt-footer #map::before {
	display: block;
	position: relative;
	margin-bottom: 26px;
	padding-bottom: 14px;
	color: #fff;
	font-family: Poppins, sans-serif;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.2;
	background: linear-gradient(var(--tc-gold), var(--tc-gold)) 0 100% / 40px 2px no-repeat;
}

#tt-footer .footer-widget::before { content: "Quick Links"; }
#tt-footer .footer-widget2::before { content: "Get in Touch"; }
#tt-footer #map-img::before,
#tt-footer #map::before { content: "Find Us"; }

#tt-footer .f-nav ul {
	display: grid;
	grid-template-columns: 1fr;
	row-gap: 12px;
	margin: 0;
}

#tt-footer .f-nav li {
	float: none;
	width: auto;
	margin: 0;
	padding-left: 22px;
	white-space: nowrap;
}

#tt-footer .f-nav li::before {
	top: 4px;
	left: 0;
	font-size: 11px;
}

#tt-footer .f-nav li a {
	color: rgba(255, 255, 255, .85);
	font-size: 15px;
	font-weight: 500;
	transition: color .25s, padding-left .25s var(--tc-ease);
}

#tt-footer .f-nav li a:hover {
	color: var(--tc-gold);
	padding-left: 4px;
}

#tt-footer .f-info-icon {
	margin: 0;
}

#tt-footer .f-info-icon li {
	position: relative;
	margin: 0 0 14px;
	padding-left: 30px;
	color: rgba(255, 255, 255, .72);
	font-size: 15px;
	line-height: 1.6;
}

#tt-footer .f-info-icon li [class^="icon-"] {
	position: absolute;
	left: 0;
	top: 3px;
	color: var(--tc-gold);
	font-size: 16px;
}

#tt-footer .f-info-icon li a {
	color: rgba(255, 255, 255, .85);
}

#tt-footer .f-info-icon li a:hover {
	color: var(--tc-gold);
}

#tt-footer #map-img,
#tt-footer #map {
	position: static !important;
	height: auto !important;
}

#tt-footer #map-img iframe {
	height: 220px;
	border-radius: 6px;
	box-shadow: 0 14px 30px -16px rgba(0, 0, 0, .7);
}

#tt-footer .f-copyright {
	display: flex;
	justify-content: space-between;
	margin: 56px 0 0;
	padding: 24px 0 28px;
	border-top: 1px solid rgba(255, 255, 255, .12);
	color: rgba(255, 255, 255, .55);
	font-size: 14px;
}

#tt-footer .f-copyright a {
	color: var(--tc-gold);
	transition: color .25s;
}

#tt-footer .f-copyright a:hover {
	color: #fff;
}

@media (max-width: 1024px) {
	#tt-footer .footer-wrapper > .container {
		grid-template-columns: 1fr 1fr;
		grid-template-areas:
			"cta   cta"
			"logo  links"
			"text  links"
			"contact map"
			"copy  copy";
		row-gap: 32px;
	}

	#tt-footer .tc-footer-cta {
		flex-direction: column;
		align-items: flex-start;
		padding: 28px;
	}
}

@media (max-width: 575px) {
	#tt-footer .footer-wrapper > .container {
		grid-template-columns: 1fr;
		grid-template-areas: "cta" "logo" "text" "links" "contact" "map" "copy";
		row-gap: 28px;
		padding: 0 16px;
	}

	#tt-footer .tc-footer-cta {
		text-align: left;
	}

	#tt-footer .f-copyright {
		display: block;
		text-align: left;
	}

	#tt-footer .tc-footer-cta {
		margin-left: -16px;
		margin-right: -16px;
		border-radius: 0;
	}

	#tt-footer .tc-footer-cta__title {
		font-size: 22px;
	}

	#tt-footer .tc-footer-cta__btn {
		width: 100%;
		justify-content: center;
	}
}

/* ---------- Back-to-top: a clear up arrow instead of an unexplained bolt ---------- */

#js-backtotop i::before {
	content: "\e921";
	display: inline-block;
	transform: rotate(-90deg);
	font-size: 20px;
}

#js-backtotop {
	transition: transform .25s var(--tc-ease), background-color .25s !important;
}

#js-backtotop:hover {
	transform: translateY(-4px);
}

/* ---------- Inner page header: branded instead of the theme's demo photo ---------- */

.tt-breadcrumb {
	position: relative;
	padding: 64px 0 !important;
	background:
		linear-gradient(100deg, rgba(26, 35, 23, .94) 0%, rgba(31, 42, 28, .82) 55%, rgba(31, 42, 28, .55) 100%),
		url("/wp-content/uploads/2026/07/commercial-wire-pulling-installation-Medium.jpeg") center 40% / cover no-repeat !important;
}

.tt-breadcrumb::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 4px;
	background: var(--tc-gold);
}

.tt-breadcrumb #breadcrumbs,
.tt-breadcrumb .breadcrumb_last {
	color: #fff;
	font-family: Poppins, sans-serif;
	font-size: 15px;
	font-weight: 500;
}

.tt-breadcrumb #breadcrumbs a {
	color: var(--tc-gold);
	transition: color .25s;
}

.tt-breadcrumb #breadcrumbs a:hover {
	color: #fff;
}

/* ---------- Filter tabs (Services, Gallery, home Projects) ---------- */

#filter-nav ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
}

#filter-nav ul li {
	margin: 0 !important;
}

#filter-nav ul li a {
	display: inline-block;
	padding: 10px 22px;
	border: 2px solid #e3ddcd;
	border-radius: 999px;
	background: #fff;
	color: var(--tc-darker) !important;
	font-weight: 600;
	text-transform: capitalize;
	transition: background-color .25s, border-color .25s, color .25s;
}

#filter-nav ul li a::before,
#filter-nav ul li a::after {
	display: none !important;
}

#filter-nav ul li a:hover,
#filter-nav ul li.active a {
	border-color: var(--tc-gold);
	background: var(--tc-gold);
	color: var(--tc-darker) !important;
}

/* ---------- Services page cards ---------- */

.tt-obj-wrapper > div {
	display: flex;
	margin-bottom: 30px;
}

.tt-obj-wrapper .tt-obj {
	display: flex !important;
	flex-direction: column;
	width: 100%;
	margin: 0 !important;
	background: #fff;
	box-shadow: 0 18px 40px -28px rgba(31, 42, 28, .45);
	transition: transform .35s var(--tc-ease), box-shadow .35s var(--tc-ease);
}

.tt-obj-wrapper .tt-obj:hover {
	transform: translateY(-6px);
	box-shadow: 0 26px 50px -26px rgba(31, 42, 28, .55);
}

.tt-obj-wrapper .tt-obj__img {
	position: relative !important;
	width: 100% !important;
	height: 240px;
	margin: 0 !important;
	overflow: hidden;
}

.tt-obj-wrapper .tt-obj__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .6s var(--tc-ease);
}

.tt-obj-wrapper .tt-obj:hover .tt-obj__img img {
	transform: scale(1.06);
}

.tt-obj-wrapper .tt-obj__wrapper {
	position: static !important;
	display: flex;
	flex: 1;
	flex-direction: column;
	width: auto !important;
	margin: 0 !important;
	padding: 28px 28px 30px !important;
	background: transparent !important;
}

.tt-obj-wrapper .tt-obj__title {
	margin-bottom: 12px;
	font-size: 22px;
	line-height: 1.3;
}

.tt-obj-wrapper .tt-obj__title a {
	color: var(--tc-darker);
	transition: color .25s;
}

.tt-obj-wrapper .tt-obj__title a:hover {
	color: var(--tc-gold);
}

.tt-obj-wrapper .tt-obj__wrapper > p {
	flex: 1;
	margin-bottom: 22px;
	color: #4e5447;
}

.tt-obj-wrapper .row-btn a.tt-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	height: 46px;
	padding: 0 24px;
	border: 2px solid var(--tc-darker) !important;
	border-radius: var(--tc-radius-sm) !important;
	color: var(--tc-darker) !important;
	font-weight: 600;
	transition: background-color .25s, color .25s, transform .25s var(--tc-ease), box-shadow .25s var(--tc-ease);
}

.tt-obj-wrapper .row-btn a.tt-link::after {
	display: none;
}

.tt-obj-wrapper .row-btn a.tt-link:hover {
	background: var(--tc-darker) !important;
	color: #fff !important;
	transform: translateY(-2px);
	box-shadow: 0 0 0 2px var(--tc-gold), 0 12px 24px -12px rgba(31, 42, 28, .6);
}

.tt-obj-wrapper .row-btn a.tt-link [class^="icon-"] {
	margin-left: 0;
	color: inherit;
}

/* ---------- Contact page ---------- */

/* Info strip: three cards instead of a full-width band between two shadow lines */
.tt-contact-wrapper,
.section__wrapper02.tt-contact-wrapper {
	background: transparent !important;
	box-shadow: none !important;
	padding: 0 !important;
}

.tt-contact-wrapper .row > div {
	display: flex;
	margin-bottom: 24px;
}

.tt-contact {
	display: flex;
	align-items: flex-start;
	gap: 18px;
	width: 100%;
	padding: 30px 28px;
	border-radius: var(--tc-radius);
	background: #fff;
	box-shadow: 0 18px 40px -28px rgba(31, 42, 28, .45);
	transition: transform .35s var(--tc-ease), box-shadow .35s var(--tc-ease);
}

.tt-contact:hover {
	transform: translateY(-4px);
	box-shadow: 0 26px 50px -26px rgba(31, 42, 28, .55);
}

.tt-contact .tt-icon {
	display: flex;
	flex: 0 0 56px;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	margin: 0 !important;
	border-radius: 50%;
	background: var(--tc-gold);
	color: var(--tc-darker) !important;
	font-size: 22px;
}

.tt-contact .tt-icon i {
	color: var(--tc-darker) !important;
}

.tt-contact .tt-content {
	color: #4e5447;
	font-size: 16px;
	line-height: 1.7;
}

.tt-contact .tt-title {
	margin-bottom: 6px;
	color: var(--tc-darker);
	font-family: Poppins, sans-serif;
	font-size: 18px;
	font-weight: 600;
}

.tt-contact address,
.tt-contact address a {
	margin: 0;
	color: #4e5447;
}

.tt-contact address a:hover {
	color: var(--tc-gold) !important;
}

/* Contact form as a card */
.elementor-widget-electrician_contact_form .wpcf7 {
	max-width: 820px;
	margin: 0 auto;
	padding: 40px 44px 36px;
	border-radius: var(--tc-radius);
	background: #fff;
	box-shadow: 0 24px 50px -30px rgba(31, 42, 28, .5);
}

.elementor-widget-electrician_contact_form .wpcf7 .form-control,
.elementor-widget-electrician_contact_form .wpcf7 input:not([type="submit"]),
.elementor-widget-electrician_contact_form .wpcf7 textarea {
	border: 1px solid #e3ddcd !important;
	background: var(--tc-cream) !important;
	color: var(--tc-dark);
	box-shadow: none !important;
}

.elementor-widget-electrician_contact_form .wpcf7 input:focus,
.elementor-widget-electrician_contact_form .wpcf7 textarea:focus {
	border-color: var(--tc-gold) !important;
	background: #fff !important;
	box-shadow: 0 0 0 3px rgba(191, 160, 80, .2) !important;
}

@media (max-width: 575px) {
	.elementor-widget-electrician_contact_form .wpcf7 {
		padding: 28px 20px;
	}
}

/* Contact page: drop the band's shadow lines; keep the map, contained and rounded */
.elementor-widget-electrician_contact_info > .elementor-widget-container {
	box-shadow: none !important;
	background: transparent !important;
}

.mapouter {
	max-width: 1170px;
	margin: 40px auto 90px;
	padding: 0 15px;
}

.mapouter .gmap_canvas iframe {
	display: block;
	width: 100% !important;
	height: 420px !important;
	border-radius: var(--tc-radius);
	box-shadow: 0 24px 50px -30px rgba(31, 42, 28, .5);
}

/* ---------- About: "Licensed & Insured" (image bleeds off the left edge) ---------- */

.layout01-fluid .layout01__img {
	background-image: url("/wp-content/uploads/2026/07/outdoor-led-light-pole-installation-Medium.jpeg") !important;
	background-size: cover !important;
	background-position: center !important;
	border-radius: 0 var(--tc-radius) var(--tc-radius) 0;
}

.layout01-fluid .layout01__content {
	border-top: 4px solid var(--tc-gold);
	border-radius: var(--tc-radius) !important;
	box-shadow: 0 24px 50px -30px rgba(31, 42, 28, .5);
	overflow: hidden;
}

.layout01-fluid .layout01__content-wrapper {
	border-radius: 0 !important;
	box-shadow: none !important;
}

/* Empty links to the theme's demo certificate images */
.layout01-fluid .gallery01 {
	display: none !important;
}

/* ---------- About: "Reasons to Call" cards ---------- */

.tt-services-promo__list > .tt-item {
	display: flex;
	margin-bottom: 30px;
}

.tt-services-promo {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	padding: 38px 30px 34px !important;
	border-top: 4px solid var(--tc-gold);
	border-radius: var(--tc-radius);
	background: #fff !important;
	box-shadow: 0 18px 40px -28px rgba(31, 42, 28, .45);
	overflow: hidden;
	transition: transform .35s var(--tc-ease), box-shadow .35s var(--tc-ease);
}

.tt-services-promo:hover {
	transform: translateY(-6px);
	box-shadow: 0 26px 50px -26px rgba(31, 42, 28, .55);
}

.tt-services-promo .tt-value {
	position: absolute !important;
	top: 34px !important;
	right: 26px !important;
	transform: none !important;
	left: auto !important;
	bottom: auto !important;
	margin: 0 !important;
	color: rgba(191, 160, 80, .18) !important;
	font-family: Poppins, sans-serif;
	font-size: 64px !important;
	font-weight: 800;
	line-height: 1 !important;
}

.tt-services-promo .tt-wrapper {
	position: relative;
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.tt-services-promo .tt-col-icon {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	margin: 0 0 22px !important;
	border-radius: 50%;
	background: var(--tc-gold);
	font-size: 28px;
}

.tt-services-promo .tt-col-icon::before {
	color: var(--tc-darker) !important;
}

.tt-services-promo .tt-col-layout {
	padding: 0 !important;
}

.tt-services-promo .tt-title {
	margin-bottom: 10px;
	color: var(--tc-darker);
	font-size: 22px;
	line-height: 1.3;
}

.tt-services-promo p {
	margin: 0;
	color: #4e5447;
}

.tt-services-promo .tt-bg-marker {
	display: none !important;
}

/* ---------- Animated electric background (tc_electric_bg in functions.php) ---------- */

.tc-electric {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.tc-electric .trace {
	fill: none;
	stroke: rgba(191, 160, 80, .16);
	stroke-width: 1.5;
}

.tc-electric .pulse {
	fill: none;
	stroke: #f1d68c;
	stroke-width: 2.4;
	stroke-linecap: round;
	stroke-dasharray: 7 93;
	stroke-dashoffset: 100;
	filter: drop-shadow(0 0 4px rgba(241, 214, 140, .9));
	animation: tc-current 5.5s linear infinite;
}

.tc-electric .pulse--1 { animation-duration: 6.5s; animation-delay: -1.2s; }
.tc-electric .pulse--2 { animation-duration: 7s;   animation-delay: -3.1s; }
.tc-electric .pulse--3 { animation-duration: 5s;   animation-delay: -2.4s; }
.tc-electric .pulse--4 { animation-duration: 3.5s; animation-delay: -.6s; }
.tc-electric .pulse--5 { animation-duration: 4s;   animation-delay: -1.8s; }
.tc-electric .pulse--6 { animation-duration: 4.5s; animation-delay: -3.6s; }
.tc-electric .pulse--7 { animation-duration: 6s;   animation-delay: -4.2s; }

.tc-electric .node {
	fill: var(--tc-gold);
	opacity: .35;
	animation: tc-node 2.8s ease-in-out infinite;
}

.tc-electric .node--1, .tc-electric .node--5 { animation-delay: -.9s; }
.tc-electric .node--2, .tc-electric .node--6 { animation-delay: -1.7s; }
.tc-electric .node--3, .tc-electric .node--7 { animation-delay: -2.3s; }

.tc-electric .bolt {
	fill: #f1d68c;
	opacity: 0;
	filter: drop-shadow(0 0 10px rgba(241, 214, 140, .9));
	animation: tc-bolt 7s ease-in-out infinite;
}

@keyframes tc-current {
	to { stroke-dashoffset: 0; }
}

@keyframes tc-node {
	0%, 100% { opacity: .25; }
	50% { opacity: .9; }
}

@keyframes tc-bolt {
	0%, 82%, 100% { opacity: 0; }
	84% { opacity: .55; }
	85% { opacity: .1; }
	87% { opacity: .45; }
	90% { opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
	.tc-electric .pulse,
	.tc-electric .node,
	.tc-electric .bolt {
		animation: none;
	}

	.tc-electric .pulse {
		opacity: 0;
	}
}

/* Keep hero content above the animation */
.tc-hero .tc-electric {
	opacity: .9;
}

.tc-hero__inner,
.tc-page-hero__inner {
	position: relative;
	z-index: 1;
}

/* ---------- Inner page hero (tc_page_hero in functions.php) ---------- */

.tc-page-hero {
	position: relative;
	overflow: hidden;
	padding: 64px 0 60px;
	background:
		radial-gradient(800px 400px at 85% 20%, rgba(191, 160, 80, .2), transparent 60%),
		linear-gradient(135deg, #1a2317 0%, var(--tc-dark) 60%, #243020 100%);
	color: #fff;
}

.tc-page-hero::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 4px;
	background: var(--tc-gold);
}

.tc-page-hero__inner {
	max-width: 1170px;
	margin: 0 auto;
	padding: 0 15px;
}

.tc-page-hero__crumbs {
	margin: 0 0 14px;
	color: rgba(255, 255, 255, .75);
	font-family: Poppins, sans-serif;
	font-size: 14px;
	font-weight: 500;
}

.tc-page-hero__crumbs a {
	color: var(--tc-gold);
	transition: color .25s;
}

.tc-page-hero__crumbs a:hover {
	color: #fff;
}

.tc-page-hero__crumbs .breadcrumb_last {
	color: #fff;
}

.tc-page-hero__title {
	max-width: 820px;
	margin: 0 0 14px;
	color: #fff;
	font-family: Poppins, sans-serif;
	font-size: clamp(32px, 3.6vw, 50px);
	font-weight: 700;
	line-height: 1.15;
}

.tc-page-hero__text {
	max-width: 680px;
	margin: 0 0 28px;
	color: rgba(255, 255, 255, .82);
	font-size: 18px;
	line-height: 1.65;
}

.tc-page-hero .tc-hero__actions {
	margin-bottom: 0;
}

@media (max-width: 767px) {
	.tc-page-hero {
		padding: 44px 0 40px;
	}

	.tc-page-hero__inner {
		padding: 0 20px;
	}

	.tc-page-hero__text {
		font-size: 16px;
	}
}

/* ---------- Service page sidebar ---------- */

.tc-service-nav {
	margin-bottom: 30px;
	padding: 28px 24px 22px;
	border-top: 4px solid var(--tc-gold);
	border-radius: var(--tc-radius);
	background: #fff;
	box-shadow: 0 18px 40px -28px rgba(31, 42, 28, .45);
}

.tc-service-nav__title {
	margin: 0 0 14px;
	color: var(--tc-darker);
	font-family: Poppins, sans-serif;
	font-size: 20px;
	font-weight: 700;
}

.tc-service-nav ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.tc-service-nav li + li {
	margin-top: 6px;
}

.tc-service-nav li a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 14px;
	border-radius: var(--tc-radius-sm);
	background: var(--tc-cream);
	color: var(--tc-darker);
	font-family: Poppins, sans-serif;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.3;
	transition: background-color .25s, color .25s, transform .25s var(--tc-ease);
}

.tc-service-nav li a .icon-lightning {
	color: var(--tc-gold);
	font-size: 13px;
	transition: color .25s;
}

.tc-service-nav__arrow {
	margin-left: auto;
	font-size: 10px;
	opacity: .5;
	transition: transform .25s var(--tc-ease), opacity .25s;
}

.tc-service-nav li a:hover,
.tc-service-nav li a.is-current {
	background: var(--tc-darker);
	color: #fff;
}

.tc-service-nav li a:hover {
	transform: translateX(4px);
}

.tc-service-nav li a:hover .tc-service-nav__arrow,
.tc-service-nav li a.is-current .tc-service-nav__arrow {
	opacity: 1;
	transform: translateX(3px);
}

.tc-service-nav li a.is-current {
	box-shadow: inset 4px 0 0 var(--tc-gold);
}

.tc-service-nav__cats {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid #ece6d6;
	font-size: 13px;
	color: #6c7066;
}

.tc-service-nav__cats span {
	width: 100%;
	font-weight: 600;
}

.tc-service-nav__cats a {
	padding: 6px 14px;
	border: 2px solid #e3ddcd;
	border-radius: 999px;
	color: var(--tc-darker);
	font-weight: 600;
	transition: background-color .25s, border-color .25s;
}

.tc-service-nav__cats a:hover {
	border-color: var(--tc-gold);
	background: var(--tc-gold);
}

/* Contact box: a branded call card */
.tt-block-aside__shadow {
	margin-bottom: 30px;
	border-radius: var(--tc-radius) !important;
	background:
		radial-gradient(300px 200px at 100% 0%, rgba(191, 160, 80, .25), transparent 70%),
		linear-gradient(135deg, #1a2317, var(--tc-dark)) !important;
	box-shadow: 0 24px 50px -28px rgba(31, 42, 28, .7) !important;
	overflow: hidden;
}

.tt-block-aside__shadow .tt-aside-content {
	margin: 0 !important;
	padding: 30px 26px 28px !important;
	background: transparent !important;
}

.tt-block-aside__shadow .tt-aside-content::before {
	content: "Need an Electrician?";
	display: block;
	margin-bottom: 16px;
	color: #fff;
	font-family: Poppins, sans-serif;
	font-size: 22px;
	font-weight: 700;
}

.tt-block-aside__shadow .box-aside-info li {
	position: relative;
	margin-bottom: 12px;
	padding-left: 30px;
	color: rgba(255, 255, 255, .8);
}

.tt-block-aside__shadow .box-aside-info li i {
	position: absolute;
	left: 0;
	top: 3px;
	color: var(--tc-gold);
}

.tt-block-aside__shadow .box-aside-info li a,
.tt-block-aside__shadow .box-aside-info li a.tc-phone-link,
.tt-block-aside__shadow .box-aside-info li a.tc-map-link {
	color: #fff;
}

.tt-block-aside__shadow .box-aside-info li a[href^="tel"] {
	font-family: Poppins, sans-serif;
	font-size: 20px;
	font-weight: 700;
	color: var(--tc-gold) !important;
}

.tt-block-aside__shadow .tt-btn {
	width: 100%;
	justify-content: center;
	margin-top: 8px;
}

/* "Ask Your Question" form as a card */
.asideColumn .widget_text {
	padding: 28px 24px;
	border-radius: var(--tc-radius);
	background: #fff;
	box-shadow: 0 18px 40px -28px rgba(31, 42, 28, .45);
}

.asideColumn .widget_text h4 {
	margin-top: 0;
	color: var(--tc-darker);
	font-size: 20px;
}

.asideColumn .widget_text .form-control,
.asideColumn .widget_text input:not([type="submit"]),
.asideColumn .widget_text textarea {
	border: 1px solid #e3ddcd !important;
	background: var(--tc-cream) !important;
}

/* ---------- Hero legibility: fade the animation behind the text side ---------- */

.tc-page-hero::before,
.tc-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(26, 35, 23, .92) 0%, rgba(26, 35, 23, .7) 38%, rgba(26, 35, 23, 0) 70%);
	pointer-events: none;
}

/* ---------- Individual service pages ---------- */

.single-electrician_services .tt-pageContent .tt-img-main,
.single-electrician_services .layout01__img img,
.single-electrician_services .entry-content > .elementor .elementor-widget-image img,
.single-electrician_services .elementor-widget-container > img {
	border-radius: var(--tc-radius);
}

.single-electrician_services .elementor-widget-electrician_service_single img,
.single-electrician_services .tt-services-single img,
.single-electrician_services .col-md-8 img:not(.tc-related__card img) {
	max-height: 460px;
	width: 100%;
	object-fit: cover;
	border-radius: var(--tc-radius);
}

.tc-service-cta {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 22px;
	margin: 48px 0 0;
	padding: 34px 36px;
	border-radius: var(--tc-radius);
	background:
		radial-gradient(420px 220px at 100% 0%, rgba(191, 160, 80, .28), transparent 70%),
		linear-gradient(135deg, #1a2317, var(--tc-dark));
	color: #fff;
	box-shadow: 0 24px 50px -28px rgba(31, 42, 28, .7);
}

.tc-service-cta__title {
	margin: 0 0 6px;
	color: #fff;
	font-family: Poppins, sans-serif;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.25;
}

.tc-service-cta__text {
	margin: 0;
	color: rgba(255, 255, 255, .8);
}

.tc-service-cta .tc-hero__actions {
	margin: 0;
}

.tc-related {
	margin-top: 48px;
}

.tc-related__title {
	margin: 0 0 20px;
	color: var(--tc-darker);
	font-size: 26px;
}

.tc-related__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}

.tc-related__card {
	position: relative;
	display: block;
	height: 220px;
	overflow: hidden;
	border-radius: var(--tc-radius);
	box-shadow: 0 18px 40px -28px rgba(31, 42, 28, .55);
}

.tc-related__card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .6s var(--tc-ease);
}

.tc-related__card::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(26, 35, 23, 0) 35%, rgba(26, 35, 23, .92) 100%);
}

.tc-related__name {
	position: absolute;
	left: 18px;
	right: 18px;
	bottom: 16px;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	color: #fff;
	font-family: Poppins, sans-serif;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.25;
}

.tc-related__name [class^="icon-"] {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--tc-gold);
	color: var(--tc-darker);
	font-size: 10px;
	transition: transform .3s var(--tc-ease);
}

.tc-related__card:hover img {
	transform: scale(1.07);
}

.tc-related__card:hover .tc-related__name [class^="icon-"] {
	transform: translateX(4px);
}

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

	.tc-service-cta {
		padding: 28px 22px;
	}
}

/* ==========================================================================
   Buttons: one system for every button on the site (kept last so it wins).
   Primary   gold background, navy text (5.9:1, passes WCAG AA)
   Outline   transparent, 2px border; navy on light sections, white on dark
   Hover     navy background, white text, gold focus ring, 2px lift (all buttons)
   ========================================================================== */

.tt-btn,
.tt-btn.btn__color01,
.tc-hero__btn--primary,
.elementor-element-091ab54 a.tt-link.tt-link__lg,
.wpcf7-form .tt-btn,
.wpcf7-form input[type="submit"],
.wpcf7-form button[type="submit"],
.tc-footer-cta__btn--call {
	border: 2px solid var(--tc-gold) !important;
	background: var(--tc-gold) !important;
	color: var(--tc-darker) !important;
	font-weight: 600 !important;
}

/* Outline buttons on light backgrounds */
.tt-btn.btn__color02,
.tt-box02 .tt-row-btn a.tt-link,
.tc-footer-cta__btn--estimate {
	border: 2px solid var(--tc-darker) !important;
	background: transparent !important;
	color: var(--tc-darker) !important;
	font-weight: 600 !important;
}

/* Outline buttons on dark backgrounds */
.tc-hero__btn--ghost {
	border: 2px solid rgba(255, 255, 255, .85) !important;
	background: transparent !important;
	color: #fff !important;
}

/* Footer strip sits on gold, so its call button uses navy */
.tc-footer-cta__btn--call {
	border-color: var(--tc-darker) !important;
	background: var(--tc-darker) !important;
	color: #fff !important;
}

.tt-btn [class^="icon-"],
.tc-hero__btn [class^="icon-"],
.tc-footer-cta__btn [class^="icon-"],
.tt-box02 .tt-row-btn a.tt-link [class^="icon-"],
.elementor-element-091ab54 a.tt-link.tt-link__lg [class^="icon-"] {
	color: inherit !important;
}

/* One hover for everything */
.tt-btn:hover,
.tt-btn:focus-visible,
.tc-hero__btn:hover,
.tc-hero__btn:focus-visible,
.tc-footer-cta__btn:hover,
.tc-footer-cta__btn:focus-visible,
.tt-box02 .tt-row-btn a.tt-link:hover,
.tt-box02 .tt-row-btn a.tt-link:focus-visible,
.elementor-element-091ab54 a.tt-link.tt-link__lg:hover,
.elementor-element-091ab54 a.tt-link.tt-link__lg:focus-visible,
.wpcf7-form input[type="submit"]:hover,
.wpcf7-form button[type="submit"]:hover {
	border-color: var(--tc-darker) !important;
	background: var(--tc-darker) !important;
	color: #fff !important;
	transform: translateY(-2px);
	box-shadow: 0 0 0 2px var(--tc-gold), 0 12px 24px -12px rgba(31, 42, 28, .6) !important;
	outline: none;
}

/* Round controls: slider arrows, back-to-top, the panel "+" buttons */
.tc-slider-arrow,
#js-backtotop,
.tt-slideinfo .tt-item__btn a {
	border: 2px solid var(--tc-gold) !important;
	background: var(--tc-gold) !important;
	color: var(--tc-darker) !important;
}

#js-backtotop i,
#js-backtotop i::before {
	color: var(--tc-darker) !important;
}

.tt-slideinfo .tt-item__btn a::after {
	background: var(--tc-gold) !important;
}

.tc-slider-arrow:hover,
.tc-slider-arrow:focus-visible,
#js-backtotop:hover,
#js-backtotop:focus-visible,
.tt-slideinfo .tt-item__btn a:hover,
.tt-slideinfo:hover .tt-item__btn a {
	border-color: var(--tc-darker) !important;
	background: var(--tc-darker) !important;
	color: #fff !important;
	box-shadow: 0 0 0 2px var(--tc-gold) !important;
}

#js-backtotop:hover i,
#js-backtotop:hover i::before {
	color: #fff !important;
}

/* Keyboard focus is always visible */
a:focus-visible,
button:focus-visible,
input:focus-visible {
	outline: 2px solid var(--tc-gold);
	outline-offset: 2px;
}

/* Banner strips that hang off the section above: square top corners, rounded bottom */
#tt-footer .tc-footer-cta {
	border-radius: 0 0 var(--tc-radius) var(--tc-radius) !important;
}

/* Shine sweep on every button (some reused ::after for an underline before) */
.tt-btn,
.tc-hero__btn,
.tc-footer-cta__btn,
.tt-box02 .tt-row-btn a.tt-link,
.tt-obj-wrapper .row-btn a.tt-link,
.elementor-element-091ab54 a.tt-link.tt-link__lg,
.tc-slider-arrow {
	position: relative;
	overflow: hidden;
}

.tt-btn::after,
.tc-hero__btn::after,
.tc-footer-cta__btn::after,
.tt-box02 .tt-row-btn a.tt-link::after,
.tt-obj-wrapper .row-btn a.tt-link::after,
.elementor-element-091ab54 a.tt-link.tt-link__lg::after,
.tc-slider-arrow::after {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	top: 0 !important;
	left: -75% !important;
	bottom: auto !important;
	width: 50% !important;
	height: 100% !important;
	background: linear-gradient(120deg, transparent, rgba(255, 255, 255, .4), transparent) !important;
	transform: skewX(-20deg) !important;
	transform-origin: center !important;
	transition: none;
	pointer-events: none;
}

.tt-btn:hover::after,
.tc-hero__btn:hover::after,
.tc-footer-cta__btn:hover::after,
.tt-box02 .tt-row-btn a.tt-link:hover::after,
.tt-obj-wrapper .row-btn a.tt-link:hover::after,
.elementor-element-091ab54 a.tt-link.tt-link__lg:hover::after,
.tc-slider-arrow:hover::after {
	left: 125% !important;
	transition: left .7s var(--tc-ease) !important;
}

/* Calmer electric background: dimmer, slower, fewer moving pulses */
.tc-electric .pulse {
	stroke: rgba(241, 214, 140, .38);
	stroke-width: 1.8;
	filter: none;
	animation-duration: 11s;
}

.tc-electric .pulse--1 { animation-duration: 13s; }
.tc-electric .pulse--3 { animation-duration: 12s; }
.tc-electric .pulse--5 { animation-duration: 14s; }

.tc-electric .pulse--2,
.tc-electric .pulse--4,
.tc-electric .pulse--6,
.tc-electric .pulse--7 {
	display: none;
}

.tc-electric .node {
	opacity: .25;
	animation: tc-node-soft 6s ease-in-out infinite;
}

@keyframes tc-node-soft {
	0%, 100% { opacity: .18; }
	50% { opacity: .4; }
}

.tc-electric .bolt {
	animation-name: tc-bolt-soft;
	animation-duration: 12s;
	filter: none;
}

@keyframes tc-bolt-soft {
	0%, 88%, 100% { opacity: 0; }
	92% { opacity: .18; }
	96% { opacity: 0; }
}

/* ---------- About page intro: seamless card + photo, compact stat tiles ---------- */

/* Card and photo meet flush: outer corners rounded, the seam square */
.layout01__revers .layout01__content-wrapper {
	border-radius: var(--tc-radius) 0 0 var(--tc-radius) !important;
}

.layout01__revers .layout01__img .tt-img-main,
.layout01__revers .layout01__img .tt-img-main img {
	border-radius: 0 var(--tc-radius) var(--tc-radius) 0 !important;
}

/* Seal sits inside the photo's lower-left corner at every width */
@media (min-width: 1025px) {
	.layout01__revers.layout01__img-more .layout01__img .tt-img-more {
		left: 24px !important;
		right: auto !important;
		bottom: 24px !important;
		max-width: 260px;
	}

	.layout01__revers.layout01__img-more .layout01__img .tt-img-more img {
		width: 100%;
		height: auto;
	}
}

/* Stats as two matching tiles */
.tt-box04-wrapper {
	margin-top: 28px;
	row-gap: 14px;
}

.tt-box04-wrapper > [class*="col-"] {
	display: flex;
}

.tt-box04 {
	display: flex !important;
	align-items: center;
	gap: 16px;
	width: 100%;
	padding: 18px 20px;
	border-left: 4px solid var(--tc-gold);
	border-radius: var(--tc-radius-sm);
	background: var(--tc-cream);
	transition: transform .3s var(--tc-ease), box-shadow .3s var(--tc-ease);
}

.tt-box04:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 30px -20px rgba(31, 42, 28, .5);
}

.tt-box04 .tt-box04__figure {
	display: flex !important;
	flex: 0 0 54px;
	align-items: center;
	justify-content: center;
	width: 54px !important;
	height: 54px !important;
	margin: 0 !important;
	border-radius: 50%;
	background: var(--tc-gold);
}

.tt-box04 .tt-box04__figure i,
.tt-box04 .tt-box04__figure i::before {
	color: var(--tc-darker) !important;
	font-size: 24px !important;
	line-height: 1;
}

.tt-box04 .tt-box04__content {
	padding: 0 !important;
	margin: 0 !important;
}

.tt-box04 .tt-title {
	margin: 0 0 2px !important;
	color: var(--tc-darker);
	font-family: Poppins, sans-serif;
	font-size: 32px !important;
	font-weight: 700;
	line-height: 1.05 !important;
}

.tt-box04 .tt-box04__content p {
	margin: 0;
	color: #5b6056;
	font-size: 14px;
	line-height: 1.4;
}

/* ---------- Neon lightning bolt in the page heroes (replaces the moving circuit lines) ---------- */

.tc-neon {
	position: absolute;
	top: 50%;
	right: 8%;
	width: auto;
	height: 78%;
	transform: translateY(-50%) rotate(8deg);
	overflow: visible;
	pointer-events: none;
	animation: tc-neon-flicker 9s linear infinite;
}

.tc-neon path {
	fill: none;
	stroke-linejoin: round;
	stroke-linecap: round;
}

.tc-neon__halo {
	stroke: rgba(241, 214, 140, .22);
	stroke-width: 22;
	filter: blur(10px);
}

.tc-neon__tube {
	stroke: #e9c766;
	stroke-width: 7;
	filter: drop-shadow(0 0 6px rgba(241, 214, 140, .9)) drop-shadow(0 0 18px rgba(191, 160, 80, .7));
}

.tc-neon__core {
	stroke: #fff6d8;
	stroke-width: 2.2;
}

/* Steady glow with an occasional soft flicker, like a real sign */
@keyframes tc-neon-flicker {
	0%, 91%, 100% { opacity: 1; }
	92% { opacity: .55; }
	93% { opacity: 1; }
	95% { opacity: .7; }
	96% { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
	.tc-neon {
		animation: none;
	}
}

@media (max-width: 991px) {
	.tc-neon {
		right: -2%;
		height: 60%;
		opacity: .35;
	}
}

/* The fade overlay was only needed for the moving lines */
.tc-page-hero::before {
	background: linear-gradient(90deg, rgba(26, 35, 23, .6) 0%, rgba(26, 35, 23, 0) 60%);
}

/* ---------- About intro: card and photo the same height, meeting flush ---------- */

@media (min-width: 1025px) {
	.layout01.layout01__revers {
		align-items: stretch;
	}

	.layout01.layout01__revers .layout01__content-wrapper {
		margin: 0 !important;
		height: 100%;
		padding: 48px 48px 44px 30px !important;
	}

	.layout01.layout01__revers .layout01__content {
		display: flex;
	}

	.layout01.layout01__revers .layout01__img {
		display: flex;
		flex-direction: column;
		margin: 0 !important;
	}

	.layout01.layout01__revers .layout01__img .tt-img-main {
		flex: 1;
		margin: 0 !important;
	}

	.layout01.layout01__revers .layout01__img .tt-img-main img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

.tt-box04 {
	gap: 14px;
	padding: 16px 16px;
}

.tt-box04 .tt-box04__figure {
	flex-basis: 46px;
	width: 46px !important;
	height: 46px !important;
}

.tt-box04 .tt-box04__figure i,
.tt-box04 .tt-box04__figure i::before {
	font-size: 20px !important;
}

.tt-box04 .tt-title {
	font-size: 28px !important;
}

.tt-box04 .tt-box04__content p {
	font-size: 13px;
}

/* Neon: the blurred halo showed a rectangular edge; the tube's own glow is enough */
.tc-neon__halo {
	display: none;
}

.tc-neon__tube {
	filter: drop-shadow(0 0 4px rgba(241, 214, 140, .95)) drop-shadow(0 0 14px rgba(191, 160, 80, .8)) drop-shadow(0 0 34px rgba(191, 160, 80, .45));
}

/* Stat icons: perfect circles */
.tt-box04 .tt-box04__figure {
	flex: 0 0 46px !important;
	min-width: 46px;
	max-width: 46px;
	aspect-ratio: 1 / 1;
	padding: 0 !important;
}

/* ---------- Theme demo orange (#f47629) replaced with brand gold; generated from the parent theme stylesheet ---------- */

a {
	color: #bfa050;
}
.tt-btn.btn__color01 {
	background-color: #bfa050;
}
.tt-btn.btn__color02 [class^="icon-"] {
	color: #bfa050;
}
.tt-btn:hover {
	border-color: #bfa050;
	color: #bfa050;
}
.tt-btn:hover [class^="icon-"] {
	color: #bfa050;
}
.tt-base-color {
	color: #bfa050;
}
.tt-link [class^="icon-"] {
	color: #bfa050;
}
.tt-link:hover {
	color: #bfa050;
}
.tt-link-simple:hover {
	color: #bfa050;
}
.section-title .section-title__01 {
	color: #bfa050;
}
.section-title .section-title__01 a {
	color: #bfa050;
}
.section-title .section-title__01 a:before {
	background-color: #bfa050;
}
.tt-list01 li:before {
	color: #bfa050;
}
.tt-list01 li a:hover {
	color: #bfa050;
}
.tt-list02 li a:hover {
	background-color: #bfa050;
}
.tt-social li a:hover {
	color: #bfa050;
}
.blockquote01:before {
	background-color: #bfa050;
}
.blockquote02:before {
	color: #bfa050;
}
.blockquote03:before {
	background-color: #bfa050;
}
.tt-table01 table thead {
	background-color: #bfa050;
}
.h-info01 .tt-item a:hover {
	color: #bfa050;
}
.h-info01 .tt-item [class^="icon-"] {
	color: #bfa050;
}
.h-info02 .tt-item {
	color: #bfa050;
}
.h-info02 .tt-item a {
	color: #bfa050;
}
.h-info02 .tt-item a:hover {
	color: #bfa050;
}
.holder-top-mobile a:hover {
	color: #bfa050;
}
.holder-top-mobile .h-topbox__content .tt-item .tt-item__icon {
	color: #bfa050;
}
.panel-menu ul li a:hover {
	color: #bfa050;
}
.panel-menu #mm0.mmpanel a:not(.mm-close):hover {
	color: #bfa050;
}
.panel-menu #mm0.mmpanel a:not(.mm-close):hover:after {
	color: #bfa050;
}
.panel-menu .mm-close:hover,
.panel-menu .mm-prev-level:hover,
.panel-menu .mm-next-level:hover {
	color: #bfa050;
}
.panel-menu .mm-close:hover:before .mm-prev-level:hover:before,
.panel-menu .mm-next-level:hover:after {
	color: #bfa050;
}
.panel-menu li.mm-close-parent .mm-close:hover {
	color: #bfa050;
}
.panel-menu li.mm-close-parent .mm-close:hover:before {
	color: #bfa050;
}
.panel-menu .mm-prev-level:hover {
	color: #bfa050;
}
.panel-menu .mm-prev-level:hover:before {
	color: #bfa050;
}
.panel-menu .mm-next-level:hover {
	color: #bfa050;
}
.panel-menu .mm-next-level:hover:after {
	color: #bfa050;
}
.panel-menu .mm-original-link:hover {
	color: #bfa050;
}
.panel-menu .mm-original-link:hover:before {
	color: #bfa050;
}
.tt-obj-cart .tt-obj__dropdown-close:hover {
	color: #bfa050;
}
.tt-obj-cart.active .tt-obj__btn {
	color: #bfa050;
}
.tt-cart-list .tt-item__remove:hover {
	color: #bfa050;
}
.tt-cart-list .tt-item__title a:hover {
	color: #bfa050;
}
.tt-cart-list .tt-item__price .new-price {
	color: #bfa050;
}
#tt-menu-toggle:hover {
	color: #bfa050;
}
.mainSlider .slick-arrow:hover {
	color: #bfa050;
}
.order-form .order-form__title {
	background-color: #bfa050;
}
.order-form .form-order .form-control:focus {
	border-color: #bfa050;
}
.tt-slideinfo .tt-item__btn a {
	background-color: #bfa050;
}
.tt-slideinfo .tt-item__btn a::after {
	background: #bfa050;
}
.tt-slideinfo .tt-item__btn a:hover {
	color: #bfa050;
}
.tt-slideinfo .tt-item__btn_link a {
	background-color: #bfa050;
}
.tt-slideinfo .tt-item__btn_link a::after {
	background: #bfa050;
}
.tt-slideinfo .tt-item__btn_link a:hover {
	color: #bfa050;
}
.tt-box01 .tt-box01__title:before {
	background-color: #bfa050;
}
.tt-video {
	background-color: #bfa050;
	border: 2px solid #bfa050;
}
.tt-video::after {
	background: #bfa050;
}
.tt-box02 .tt-box02__title a:hover {
	color: #bfa050;
}
.tt-box02:hover .tt-box02__img:before {
	color: #bfa050;
}
.tt-box03 .item .tt-item__img:before {
	color: #bfa050;
}
.tt-box03 .tt-box03__extra {
	background-color: #bfa050;
}
.tt-box05:hover .tt-box05__title .tt-text-01 {
	color: #bfa050;
}
.tt-box04 .tt-box04__figure {
	background-color: #bfa050;
}
.tt-info address {
	color: #bfa050;
}
.tt-info address a {
	color: #bfa050;
}
.tt-layout02 .tt-layout02__icon {
	color: #bfa050;
}
.tt-layout02 .tt-layout02__list li:before {
	color: #bfa050;
}
.tt-layout02 .tt-layout02__list li a:hover {
	color: #bfa050;
}
#filter-nav ul li>a:hover {
	color: #bfa050;
}
#filter-nav ul li.active a {
	color: #bfa050;
}
.tt-info-value .tt-col-title .tt-title__01 {
	color: #bfa050;
}
.tt-news-list .tt-item .tt-item__title a:hover {
	color: #bfa050;
}
.tt-news-list .tt-item .tt-item__title:before {
	background-color: #bfa050;
}
.tt-news-obj .tt-news-obj__title a:hover {
	color: #bfa050;
}
.tt-news-obj .tt-news-obj__title:before {
	background-color: #bfa050;
}
#tt-pageContent .tt-obj .tt-obj__title a:hover {
	color: #bfa050;
}
.breadcrumb-area p#breadcrumbs a:hover {
	color: #bfa050;
}
.tt-breadcrumb ul li a:hover {
	color: #bfa050;
}
.tt-services-promo .tt-wrapper .tt-col-icon {
	color: #bfa050;
}
.submenu-aside .tt-item .tt-item__title:before {
	background-color: #bfa050;
}
.submenu-aside .tt-item .tt-item__title:hover {
	color: #bfa050;
}
.submenu-aside .tt-item.tt-item__open .tt-item__title {
	background-color: #bfa050;
}
.submenu-aside ul li:before {
	color: #bfa050;
}
.submenu-aside ul li a:hover {
	color: #bfa050;
}
.box-aside-info li [class^="icon-"] {
	color: #bfa050;
}
.nav-categories li a:hover {
	color: #bfa050;
}
.nav-categories li a:before {
	color: #bfa050;
}
.tt-popular .tt-item .tt-title a:hover {
	color: #bfa050;
}
.tt-aside-search input:focus {
	border-color: #bfa050;
}
.tt-aside-search .tt-btn-icon:hover {
	color: #bfa050;
}
.tt-aside-search02 input:focus {
	border-color: #bfa050;
}
.tt-aside-search02 .tt-btn-icon:hover {
	color: #bfa050;
}
.tt-coupons .tt-right-top .tt-title__02 {
	color: #bfa050;
}
.tt-faq .tt-item__title:hover {
	color: #bfa050;
}
.tt-testimonials .tt-testimonials__marker {
	color: #bfa050;
}
.tt-contact .tt-icon {
	color: #bfa050;
}
.tt-pagination-filter .tt-pagination-filter__list li a:hover {
	color: #bfa050;
}
.tt-pagination-filter .tt-pagination-filter__list li.active a {
	color: #bfa050;
}
.tt-pagination-filter .tt-pagination-filter__btn:hover {
	color: #bfa050;
}
.tt-product .tt-product__title a:hover {
	color: #bfa050;
}
.tt-product .tt-price .new-price {
	color: #bfa050;
}
.tt-product .tt-btn-addtocart .tt-icon {
	color: #bfa050;
}
.tt-product .tt-btn-addtocart:hover {
	color: #bfa050;
}
.tt-pagination ul li a:hover {
	color: #bfa050;
}
.tt-pagination ul li.active a {
	color: #bfa050;
}
.nav-tabs li a:hover,
.nav-tabs li a.active {
	color: #bfa050;
}
#smallGallery .tt-custom-next .tt-icon {
	color: #bfa050;
}
#smallGallery .tt-custom-next:hover {
	border-color: #bfa050;
}
#smallGallery .tt-custom-next:hover .tt-text {
	color: #bfa050;
}
.product-single-info .tt-tag {
	color: #bfa050;
}
.product-single-info .tt-price .new-price {
	color: #bfa050;
}
.tt-input-counter.style-01 .minus-btn:hover,
.tt-input-counter.style-01 .plus-btn:hover {
	color: #bfa050;
}
.noUi-horizontal .noUi-handle {
	background-color: #bfa050;
}
.blog-obj .blog-obj__data a:hover {
	color: #bfa050;
}
.blog-obj .blog-obj__title a:hover {
	color: #bfa050;
}
.tt-img-link .tt-icon {
	background-color: #bfa050;
}
.tt-img-link:hover .tt-text {
	color: #bfa050;
}
.datepicker-here .datepicker--nav .datepicker--nav-action:hover {
	border-color: #bfa050;
}
.datepicker-here .datepicker--nav .datepicker--nav-action:hover path {
	stroke: #bfa050;
}
.datepicker-here .datepicker--cell.-current- {
	background: #bfa050;
}
.tt-recent-obj .recent-obj__data a:hover {
	color: #bfa050;
}
.tt-recent-obj .recent-obj__title:before {
	background-color: #bfa050;
}
.tt-recent-obj .recent-obj__title a:hover {
	color: #bfa050;
}
.blog-single__data a:hover {
	color: #bfa050;
}
.personal-info__img:before {
	color: #bfa050;
}
.tt-comments-layout .tt-item div[class^="tt-comments-level-"] .tt-content .tt-btn-default {
	background-color: #bfa050;
	border: 1px solid #bfa050;
}
.tt-comments-layout .tt-item div[class^="tt-comments-level-"] .tt-content .tt-btn-default:hover {
	color: #bfa050;
}
.tt-comments-layout .tt-item div[class^="tt-comments-level-"] .tt-content .tt-comments-title .username {
	color: #bfa050;
}
.form-default .form-control:focus {
	border-color: #bfa050;
}
.custom-select:after {
	border-color: #bfa050 transparent transparent transparent;
}
.custom-select select:focus {
	border-color: #bfa050;
}
.modal .modal-body .close:hover {
	color: #bfa050;
}
.modal-layout-dafault .form-group .form-group__icon {
	color: #bfa050;
}
.tt-back-to-top:before {
	background-color: #bfa050;
}
.tt-back-to-top:hover {
	color: #bfa050;
	border-color: #bfa050;
	background-color: #bfa050;
}
.f-form {
	background-color: #bfa050;
}
.f-info-icon li [class^=icon] {
	color: #bfa050;
}
.f-info-icon li a:hover {
	color: #bfa050;
}
.f-nav li:before {
	color: #bfa050;
}
.f-nav li a:hover {
	color: #bfa050;
}
.f-social li a:hover {
	color: #bfa050;
}
td#today {
	background: #bfa050;
}

@media (min-width: 1025px) {
	#tt-nav>ul>li>a:hover {
		color: #bfa050;
	}
	#tt-nav>ul>li ul li a:hover {
		color: #bfa050;
	}
	#tt-nav>ul>li.current_page_item>a {
		color: #bfa050;
	}
	.tt-obj-cart .tt-obj__btn .tt-obj__badge {
		background-color: #bfa050;
	}
	.tt-obj-cart .tt-obj__btn:hover {
		color: #bfa050;
	}
}

@media (max-width: 1024.98px) {
	.tt-obj-cart .tt-obj__btn .tt-obj__badge {
		background-color: #bfa050;
	}
	.tt-obj-cart .tt-obj__btn:hover {
		color: #bfa050;
	}
	.tt-filters-toggle {
		background-color: #bfa050;
	}
	.tt-filters-toggle:hover {
		color: #bfa050;
		border-color: #bfa050;
	}
	.blog-single__data a:hover {
		color: #bfa050;
	}
}

@media (max-width: 1024px) {
	.tt-slideinfo .tt-item__btn a:hover {
		color: #bfa050;
	}
}

@media (max-width: 766px) {
	.tt-slideinfo .tt-item__btn a:hover {
		color: #bfa050;
	}
	.tt-slideinfo .tt-item__btn_link a:hover {
		color: #bfa050;
	}
}

/* ---------- Nav: underline only the current page (the theme's script marks Home "active" everywhere) ---------- */
@media (min-width: 1025px) {
	#tt-nav > ul > li.active:not(.current-menu-item):not(.current-menu-ancestor):not(.current-menu-parent):not(.current_page_parent):not(.tc-current) > a::after {
		left: 50%;
		width: 0;
	}

	#tt-nav > ul > li.active:not(.current-menu-item):not(.current-menu-ancestor):not(.current-menu-parent):not(.current_page_parent):not(.tc-current) > a {
		color: var(--tc-darker);
	}

	#tt-nav > ul > li.active:not(.current-menu-item):not(.current-menu-ancestor):not(.current-menu-parent):not(.current_page_parent):not(.tc-current):hover > a::after,
	#tt-nav > ul > li.current-menu-ancestor > a::after,
	#tt-nav > ul > li.current-menu-parent > a::after,
	#tt-nav > ul > li.current_page_parent > a::after,
	#tt-nav > ul > li.tc-current > a::after {
		left: 0;
		width: 100%;
	}

	#tt-nav > ul > li.tc-current > a {
		color: var(--tc-gold);
	}
}

/* ---------- Loading screen: yellow bolts, "LOADING" in caps ---------- */
#loader-wrapper .loader {
	color: var(--tc-darker);
	font-family: Poppins, sans-serif;
	font-size: 18px;
	font-weight: 600;
	letter-spacing: .25em;
	text-transform: uppercase;
}

#loader-wrapper .loader .bolt {
	border-bottom-color: #f5c400 !important;
	animation: tc-loader-pulse .9s ease-in-out infinite !important;
}

#loader-wrapper .loader .bolt .other {
	border-top-color: #f5c400 !important;
	animation: none !important;
}

#loader-wrapper .loader .two {
	animation-delay: .15s !important;
}

#loader-wrapper .loader .three {
	animation-delay: .3s !important;
}

@keyframes tc-loader-pulse {
	0%, 100% { opacity: 1; }
	50% { opacity: .35; }
}

/* Slider arrows stay pinned beside the slider (the shine rule above set position: relative) */
.tc-slider-arrow {
	position: absolute !important;
	top: 40% !important;
}

/* Neon: SVG clips a path's filter to a box just around the path, which drew a visible rectangle.
   Glow the whole graphic instead, where the shadow isn't clipped. */
.tc-neon__tube {
	filter: none;
}

.tc-neon {
	filter: drop-shadow(0 0 3px rgba(241, 214, 140, .95)) drop-shadow(0 0 12px rgba(191, 160, 80, .75)) drop-shadow(0 0 30px rgba(191, 160, 80, .4));
}

/* The flicker keyframes reset opacity to 1, which overrode the dimmed mobile bolt */
@media (max-width: 991px) {
	.tc-neon {
		animation: none;
		opacity: .28;
	}
}

/* ---------- Contact form: "How can we help?" choice and the fields for each request type ---------- */

.tc-intent {
	margin: 0 0 18px;
	padding: 0;
	border: 0;
}

.tc-intent legend {
	margin: 0 0 12px;
	color: var(--tc-darker);
	font-family: Poppins, sans-serif;
	font-size: 18px;
	font-weight: 700;
}

.tc-intent__options {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
}

.tc-intent__option {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 16px 10px 14px;
	border: 2px solid #e6e1d3;
	border-radius: var(--tc-radius-sm);
	background: #fff;
	color: var(--tc-darker);
	font-family: Poppins, sans-serif;
	font-size: 14px;
	font-weight: 600;
	text-align: center;
	cursor: pointer;
	transition: border-color .2s, background-color .2s, transform .2s, box-shadow .2s;
}

.tc-intent__option input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.tc-intent__icon {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--tc-cream);
	transition: background-color .2s;
}

.tc-intent__icon svg {
	width: 22px;
	height: 22px;
	fill: none;
	stroke: var(--tc-darker);
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.tc-intent__option:hover {
	border-color: var(--tc-gold);
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(31, 42, 28, .1);
}

.tc-intent__option:has(input:checked) {
	border-color: var(--tc-gold);
	background: #fbf8ef;
}

.tc-intent__option:has(input:checked) .tc-intent__icon {
	background: var(--tc-gold);
}

.tc-intent__option:has(input:focus-visible) {
	outline: 2px solid var(--tc-darker);
	outline-offset: 2px;
}

.tc-intent__option--emergency:has(input:checked) {
	border-color: #b3261e;
	background: #fdf3f2;
}

.tc-intent__option--emergency:has(input:checked) .tc-intent__icon {
	background: #b3261e;
}

.tc-intent__option--emergency:has(input:checked) .tc-intent__icon svg {
	stroke: #fff;
}

.tc-intent__info {
	margin: 0 0 18px;
	padding: 12px 16px;
	border-left: 3px solid var(--tc-gold);
	border-radius: 0 var(--tc-radius-sm) var(--tc-radius-sm) 0;
	background: #fbf8ef;
	color: #4a4e5a;
	font-size: 15px;
	line-height: 1.55;
	text-align: left;
}

.tc-intent__info a {
	color: var(--tc-darker);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.tc-intent__emergency {
	margin: 0 0 18px;
	padding: 20px 22px;
	border-radius: var(--tc-radius-sm);
	background: var(--tc-darker);
	color: #e8e9ee;
	text-align: left;
}

.tc-intent__emergency p {
	margin: 0 0 12px;
	font-size: 15px;
	line-height: 1.55;
}

.tc-intent__emergency .tc-intent__emergency-title {
	margin-bottom: 6px;
	color: #fff;
	font-family: Poppins, sans-serif;
	font-size: 18px;
	font-weight: 700;
}

.tc-intent__emergency .tc-intent__emergency-note {
	margin: 12px 0 0;
	color: #b9bcc7;
	font-size: 13px;
}

.tc-field {
	display: block;
	width: 100%;
	margin: 0;
	text-align: left;
}

.tc-field > span {
	display: block;
	margin: 0 0 6px;
	color: var(--tc-darker);
	font-size: 14px;
	font-weight: 600;
}

.tc-field select.form-control,
.tc-field input.form-control {
	width: 100%;
	height: 52px;
}

.wpcf7 .tc-missing {
	border-color: #b3261e !important;
	box-shadow: 0 0 0 3px rgba(179, 38, 30, .15) !important;
}

.tc-intent__error {
	margin: 0 0 14px;
	color: #b3261e;
	font-size: 14px;
	font-weight: 600;
	text-align: left;
}

[hidden].tc-intent__fields,
[hidden].tc-intent__emergency,
[hidden].tc-intent__info,
[hidden].tc-intent__error {
	display: none !important;
}

@media (max-width: 767px) {
	.tc-intent__options {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* Inline links added between related services */
a.tc-inline-link {
	color: var(--tc-darker);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: var(--tc-gold);
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
	transition: color .2s, text-decoration-color .2s;
}

a.tc-inline-link:hover,
a.tc-inline-link:focus {
	color: #8a7230;
	text-decoration-color: currentColor;
}

/* Breathing room between the last section on a page and the footer's call strip */
.tc-related {
	margin-bottom: 88px;
}

@media (max-width: 767px) {
	.tc-related {
		margin-bottom: 56px;
	}
}


/* ---------- Brand: olive green replaces the theme's navy (#303442) everywhere it was used ---------- */

.tt-btn.btn__color02 {
	background-color: #2f3d2b;
}

.tt-base-dark {
	color: #2f3d2b;
}

.tt-link {
	color: #2f3d2b;
}

.section-title .section-title__02 {
	color: #2f3d2b;
}

.tt-layout-title {
	color: #2f3d2b;
}

.tt-list01 li {
	color: #2f3d2b;
}

.tt-list01 li a {
	color: #2f3d2b;
}

.tt-list02 li a {
	color: #2f3d2b;
}

.tt-social li a {
	color: #2f3d2b;
}

.blockquote02 {
	color: #2f3d2b;
}

.checkbox-group:hover label .box {
	border-color: #2f3d2b;
}

.checkbox-group input[type=checkbox]:checked:hover~label .box {
	border-color: #2f3d2b;
}

.holder-top-desktop {
	background-color: #2f3d2b;
}

.holder-top-mobile .h-topbox__btn {
	background-color: #2f3d2b;
}

@media (min-width: 1025px) {
#tt-nav>ul>li>a {
	color: #2f3d2b;
}
}

.panel-menu {
	background: #2f3d2b;
}

@media (max-width: 1024.98px) {
.tt-obj-cart .tt-obj__btn {
	color: #2f3d2b;
}
}

.tt-obj-cart .tt-obj__dropdown-close {
	color: #2f3d2b;
}

.tt-obj-cart .tt-obj__title {
	color: #2f3d2b;
}

.tt-cart-list .tt-item__price {
	color: #2f3d2b;
}

.tt-cart-total {
	color: #2f3d2b;
}

.tt-logo {
	color: #2f3d2b;
}

.tt-logo:hover {
	color: #2f3d2b;
}

#tt-menu-toggle {
	color: #2f3d2b;
}

.section__wrapper {
	background-color: #2f3d2b;
}

.order-form .order-form__content {
	background-color: #2f3d2b;
}

.tt-box01 .tt-box01__title {
	color: #2f3d2b;
}

.tt-box02 .tt-box02__title {
	color: #2f3d2b;
}

.tt-box02 .tt-box02__title a {
	color: #2f3d2b;
}

.tt-box03 .item blockquote cite {
	color: #2f3d2b;
}

@media (max-width: 1024.98px) {
.tt-box03 .item blockquote cite {
	color: #2f3d2b;
}
}

@media (max-width: 766px) {
.tt-box03 .tt-box03__content:before {
	background-color: #2f3d2b;
}
}

.tt-box05 .tt-box05__title .tt-text-01 {
	color: #2f3d2b;
}

.personal-box .personal-box__title {
	color: #2f3d2b;
}

.tt-box04 .tt-box04__content {
	color: #2f3d2b;
}

.tt-box04 .tt-title {
	color: #2f3d2b;
}

.tt-info .tt-info__title {
	color: #2f3d2b;
}

.tt-layout02 .tt-layout02__title {
	color: #2f3d2b;
}

.tt-layout02 .tt-layout02__list li a {
	color: #2f3d2b;
}

#filter-nav ul li>a {
	color: #2f3d2b;
}

.tt-news-list .tt-item .tt-item__title {
	color: #2f3d2b;
}

.tt-news-list .tt-item .tt-item__title a {
	color: #2f3d2b;
}

.tt-news-obj .tt-news-obj__title {
	color: #2f3d2b;
}

.tt-news-obj .tt-news-obj__title a {
	color: #2f3d2b;
}

#tt-pageContent .tt-obj .tt-obj__title {
	color: #2f3d2b;
}

#tt-pageContent .tt-obj .tt-obj__title a {
	color: #2f3d2b;
}

.tt-services-promo .tt-wrapper .tt-title {
	color: #2f3d2b;
}

.tt-block-aside .tt-aside-title {
	color: #2f3d2b;
}

.submenu-aside .tt-item .tt-item__title {
	color: #2f3d2b;
}

.submenu-aside ul li a {
	color: #2f3d2b;
}

.nav-categories li a {
	color: #2f3d2b;
}

.tt-popular .tt-item .tt-value .tt-price {
	color: #2f3d2b;
}

.tt-coupons .tt-right-top .tt-title__01 {
	color: #2f3d2b;
}

.tt-coupons .tt-right-bottom .tt-coupons__logo {
	color: #2f3d2b;
}

@media (max-width: 575.98px) {
.tt-coupons .tt-top-left {
	background: #2f3d2b;
}
}

@media (max-width: 575.98px) {
.tt-coupons .tt-bottom-left {
	background: #2f3d2b;
}
}

.tt-faq .tt-item .tt-item__marker:before {
	color: #2f3d2b;
}

.tt-faq .tt-item__title {
	color: #2f3d2b;
}

.tt-testimonials .tt-testimonials__title {
	color: #2f3d2b;
}

.tt-testimonials .tt-testimonials__data .tt-title__text01 {
	color: #2f3d2b;
}

.tt-contact .tt-title {
	color: #2f3d2b;
}

.tt-product .tt-price {
	color: #2f3d2b;
}

.tt-product .tt-btn-addtocart {
	color: #2f3d2b;
}

.tt-pagination ul li span,
.tt-pagination ul li a {
	color: #2f3d2b;
}

.nav-tabs li a {
	color: #2f3d2b;
}

.tt-tabs-reviews .tt-title {
	color: #2f3d2b;
}

#smallGallery .tt-custom-next .tt-text {
	color: #2f3d2b;
}

.product-single-info .tt-title {
	color: #2f3d2b;
}

.product-single-info .tt-add-info span {
	color: #2f3d2b;
}

.product-single-info .tt-price {
	color: #2f3d2b;
}

.blog-obj .blog-obj__data a {
	color: #2f3d2b;
}

.blog-obj .blog-obj__title {
	color: #2f3d2b;
}

.blog-obj .blog-obj__title a {
	color: #2f3d2b;
}

.datepicker-here .datepicker--day-name {
	color: #2f3d2b;
}

.tt-recent-obj .recent-obj__data a {
	color: #2f3d2b;
}

.tt-recent-obj .recent-obj__title {
	color: #2f3d2b;
}

.tt-recent-obj .recent-obj__title a {
	color: #2f3d2b;
}

.blog-single__data a {
	color: #2f3d2b;
}

.blog-single__title {
	color: #2f3d2b;
}

.blog-single__subtitle {
	color: #2f3d2b;
}

@media (max-width: 1024.98px) {
.blog-single__data a {
	color: #2f3d2b;
}
}

.personal-info__title {
	color: #2f3d2b;
}

.slick-type01 .slick-dots li.slick-active>*,
.slick-type01 .slick-dots li:hover>* {
	background-color: #2f3d2b;
}

.slick-type02 .slick-dots li.slick-active>*,
.slick-type02 .slick-dots li:hover>* {
	background-color: #2f3d2b;
}

.form-default label {
	color: #2f3d2b;
}

.modal .modal-body .modal-titleblock .modal-title {
	color: #2f3d2b;
}

#tt-footer {
	background-color: #2f3d2b;
}

.f-nav li {
	color: #2f3d2b;
}

.wp-calendar-table thead {
	color: #2f3d2b;
}


/* Mobile header logo: a theme setting shrank the round badge to 8px beside the name */
@media (max-width: 991px) {
	.tt-logo {
		padding-left: 48px !important;
		font-size: 26px !important;
		line-height: 30px !important;
	}

	.tt-logo img {
		width: 38px !important;
		max-width: 38px !important;
		height: 38px !important;
	}

	.tt-logo .tt-icon {
		top: 50% !important;
		left: 0 !important;
		transform: translateY(-50%);
	}
}

/* Contact form dropdowns: the theme's input padding clipped the selected text */
.wpcf7 .tc-field select.form-control,
.wpcf7 .tc-field input.form-control {
	height: 52px !important;
	padding: 0 40px 0 16px !important;
	line-height: 50px !important;
	font-size: 16px;
}

.wpcf7 .tc-field input.form-control {
	padding-right: 16px !important;
}

.tc-intent__options--3 {
	grid-template-columns: repeat(3, 1fr);
}

/* Appointment pop-up: tighter choice tiles to fit the narrow modal */
.form-modal .tc-intent legend {
	font-size: 16px;
}

.form-modal .tc-intent__options {
	gap: 8px;
}

.form-modal .tc-intent__option {
	padding: 12px 6px 10px;
	font-size: 13px;
}

.form-modal .tc-intent__icon {
	width: 34px;
	height: 34px;
}

.form-modal .tc-intent__info,
.form-modal .tc-intent__emergency p {
	font-size: 14px;
}

@media (max-width: 575px) {
	.tc-intent__options--3 {
		grid-template-columns: repeat(3, 1fr);
	}

	.form-modal .tc-intent__option {
		font-size: 12px;
	}
}

/* Links on dark sections need a light color to stay visible */
.tc-hero a.tc-inline-link,
.tc-page-hero a.tc-inline-link,
.section__wrapper a.tc-inline-link,
#tt-footer a.tc-inline-link {
	color: #fff;
	text-decoration-color: var(--tc-gold);
}

/* Footer: start the Quick Links level with the Get in Touch column (theme added 50px on top) */
#tt-footer .f-nav {
	margin-top: 26px !important;
}

/* ---------- Circuit traces behind the heroes, kept quiet ---------- */
.tc-hero .tc-electric,
.tc-page-hero .tc-electric {
	opacity: .55;
	/* Fade the lines out behind the text so the copy stays easy to read */
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .35) 35%, #000 70%);
	mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .35) 35%, #000 70%);
}

.tc-electric .trace {
	stroke: rgba(191, 160, 80, .14);
	stroke-width: 1.2;
}

.tc-electric .pulse {
	stroke: rgba(241, 214, 140, .45);
	stroke-width: 1.6;
	filter: none;
	animation-duration: 16s;
	animation-timing-function: linear;
}

.tc-electric .pulse--1 { animation-duration: 18s; animation-delay: -4s; }
.tc-electric .pulse--3 { animation-duration: 15s; animation-delay: -9s; }
.tc-electric .pulse--5 { animation-duration: 20s; animation-delay: -2s; }
.tc-electric .pulse--0 { animation-delay: -12s; }

.tc-electric .node {
	opacity: .22;
	animation: none;
}

@media (max-width: 767px) {
	.tc-hero .tc-electric,
	.tc-page-hero .tc-electric {
		opacity: .35;
	}
}

@media (prefers-reduced-motion: reduce) {
	.tc-electric .pulse {
		display: none;
	}
}

/* Current travels as small glowing dots instead of streaks */
.tc-electric .pulse {
	stroke: #f1d68c;
	stroke-width: 4;
	stroke-linecap: round;
	stroke-dasharray: .01 99.99;
	filter: drop-shadow(0 0 3px rgba(241, 214, 140, .8));
	opacity: .7;
}

/* ---------- Services page: animated service graphics on the cards ---------- */
.tt-obj-wrapper .tt-obj__img.tc-svc-art {
	position: relative;
	aspect-ratio: 400 / 220;
	height: auto !important;
	overflow: hidden;
	background:
		radial-gradient(circle at 50% 50%, rgba(191, 160, 80, .18) 0%, rgba(191, 160, 80, 0) 45%),
		linear-gradient(160deg, #34452f 0%, #243020 60%, #1c2618 100%);
}

.tc-svc-art__bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.tc-svc-art .trace {
	fill: none;
	stroke: rgba(191, 160, 80, .22);
	stroke-width: 1.4;
}

.tc-svc-art .dot {
	fill: none;
	stroke: #f1d68c;
	stroke-width: 5;
	stroke-linecap: round;
	stroke-dasharray: .01 99.99;
	stroke-dashoffset: 100;
	filter: drop-shadow(0 0 3px rgba(241, 214, 140, .9));
	opacity: .75;
	animation: tc-current 6s linear infinite;
	animation-delay: var(--d, 0s);
}

.tc-svc-art .dot--3 { animation-duration: 7.5s; animation-delay: calc(var(--d, 0s) - 2.5s); }
.tc-svc-art .dot--4 { animation-duration: 4s; animation-delay: calc(var(--d, 0s) - 1s); }

.tc-svc-art .ring {
	fill: rgba(31, 42, 28, .55);
	stroke: rgba(191, 160, 80, .35);
	stroke-width: 1.4;
	transform-origin: 200px 110px;
	transition: stroke .4s, transform .5s var(--tc-ease);
}

.tc-svc-art .ring--outer {
	fill: none;
	stroke: rgba(191, 160, 80, .14);
	stroke-dasharray: 3 7;
	animation: tc-ring-spin 40s linear infinite;
}

@keyframes tc-ring-spin {
	to { transform: rotate(360deg); }
}

.tc-svc-art__icon {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 26%;
	max-width: 92px;
	transform: translate(-50%, -50%);
	color: #f1d68c;
	filter: drop-shadow(0 0 4px rgba(241, 214, 140, .75)) drop-shadow(0 0 14px rgba(191, 160, 80, .45));
	transition: transform .5s var(--tc-ease), filter .4s;
}

.tc-ico {
	display: block;
	width: 100%;
	height: auto;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.6;
	stroke-linecap: round;
	stroke-linejoin: round;
	overflow: visible;
}

.tt-obj-wrapper .tt-obj:hover .tc-svc-art__icon {
	transform: translate(-50%, -50%) scale(1.08);
	filter: drop-shadow(0 0 6px rgba(255, 240, 190, .95)) drop-shadow(0 0 22px rgba(241, 214, 140, .7));
}

.tt-obj-wrapper .tt-obj:hover .tc-svc-art .ring {
	stroke: rgba(241, 214, 140, .7);
	transform: scale(1.06);
}

/* Whole card is clickable; the Read more button stays on top */
.tt-obj-wrapper .tt-obj {
	position: relative;
}

.tt-obj-wrapper .tt-obj__title a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

.tt-obj-wrapper .row-btn {
	position: relative;
	z-index: 2;
}

@media (prefers-reduced-motion: reduce) {
	.tc-svc-art .dot,
	.tc-svc-art .ring--outer {
		animation: none;
	}

	.tc-svc-art .dot {
		display: none;
	}
}

/* ---------- Services page: "Why TC Electric" band ---------- */
.tc-why {
	position: relative;
	overflow: hidden;
	max-width: 1170px;
	margin: 96px auto 0;
	padding: 64px 56px;
	border-radius: var(--tc-radius);
	background: linear-gradient(135deg, #1f2a1c 0%, var(--tc-dark) 55%, #243020 100%);
	color: #e6e8e1;
}

.tc-why .tc-electric {
	opacity: .5;
}

.tc-why__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 48px;
	align-items: center;
}

.tc-eyebrow {
	margin: 0 0 10px;
	color: var(--tc-gold);
	font-family: Poppins, sans-serif;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.tc-why__title {
	margin: 0 0 16px;
	color: #fff;
	font-size: 34px;
	line-height: 1.2;
}

.tc-why__text {
	margin: 0 0 28px;
	color: #c9ccc2;
	font-size: 16px;
	line-height: 1.7;
}

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

.tc-why__item {
	margin: 0;
	padding: 20px 20px 18px;
	border: 1px solid rgba(191, 160, 80, .2);
	border-radius: var(--tc-radius-sm);
	background: rgba(255, 255, 255, .04);
	transition: border-color .3s, background-color .3s, transform .3s var(--tc-ease);
}

.tc-why__item::before {
	display: none !important;
}

.tc-why__item:hover {
	border-color: rgba(241, 214, 140, .6);
	background: rgba(255, 255, 255, .07);
	transform: translateY(-3px);
}

.tc-why__icon {
	display: block;
	width: 38px;
	margin-bottom: 12px;
	color: #f1d68c;
	filter: drop-shadow(0 0 4px rgba(241, 214, 140, .6));
}

.tc-why__item-title {
	margin: 0 0 6px;
	color: #fff;
	font-size: 17px;
	line-height: 1.3;
}

.tc-why__item p {
	margin: 0;
	color: #b9bdb2;
	font-size: 14px;
	line-height: 1.55;
}

/* ---------- Services page: banner with job photo and call card ---------- */
.tc-svc-banner {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	max-width: 1170px;
	margin: 64px auto 96px;
	overflow: hidden;
	border-radius: var(--tc-radius);
	background: #fff;
	box-shadow: 0 20px 50px rgba(31, 42, 28, .1);
}

.tc-svc-banner__media {
	position: relative;
	min-height: 420px;
}

.tc-svc-banner__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 30%;
}

.tc-svc-banner__badge {
	position: absolute;
	left: 20px;
	bottom: 20px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 16px;
	border-radius: 999px;
	background: rgba(31, 42, 28, .88);
	color: #fff;
	font-family: Poppins, sans-serif;
	font-size: 14px;
	font-weight: 600;
}

.tc-svc-banner__badge [class^="icon-"] {
	color: var(--tc-gold);
}

.tc-svc-banner__content {
	padding: 56px 56px 48px;
}

.tc-svc-banner__title {
	margin: 0 0 16px;
	color: var(--tc-darker);
	font-size: 34px;
	line-height: 1.2;
}

.tc-svc-banner__content > p:not(.tc-eyebrow):not(.tc-call-card__note) {
	margin: 0 0 28px;
	color: #4e5447;
	font-size: 16px;
	line-height: 1.7;
}

/* Call card: the phone number as a real, obvious button */
a.tc-call-card {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 16px;
	padding: 14px 22px 14px 14px;
	overflow: hidden;
	border: 2px solid var(--tc-gold);
	border-radius: var(--tc-radius-sm);
	background: #fbf8ef;
	color: var(--tc-darker);
	text-decoration: none;
	transition: background-color .3s, border-color .3s, transform .3s var(--tc-ease), box-shadow .3s;
}

a.tc-call-card::after {
	content: "";
	position: absolute;
	top: 0;
	left: -75%;
	width: 50%;
	height: 100%;
	background: linear-gradient(120deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, .45), rgba(255, 255, 255, 0));
	transform: skewX(-20deg);
	transition: left .7s var(--tc-ease);
	pointer-events: none;
}

.tc-call-card__icon {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: var(--tc-gold);
	color: var(--tc-darker);
	font-size: 20px;
	transition: background-color .3s, color .3s;
}

.tc-call-card__text {
	display: flex;
	flex-direction: column;
	line-height: 1.2;
}

.tc-call-card__text small {
	color: #6c7066;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.tc-call-card__text strong {
	font-family: Poppins, sans-serif;
	font-size: 26px;
	font-weight: 700;
}

.tc-call-card__arrow {
	color: var(--tc-gold);
	font-size: 14px;
	transition: transform .3s var(--tc-ease);
}

a.tc-call-card:hover,
a.tc-call-card:focus-visible {
	border-color: var(--tc-darker);
	background: var(--tc-darker);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 14px 30px rgba(31, 42, 28, .25);
}

a.tc-call-card:hover::after {
	left: 125%;
}

a.tc-call-card:hover .tc-call-card__icon {
	animation: tc-ring 0.9s ease-in-out;
}

a.tc-call-card:hover .tc-call-card__text small {
	color: #c9ccc2;
}

a.tc-call-card:hover .tc-call-card__arrow {
	transform: translateX(4px);
}

@keyframes tc-ring {
	0%, 100% { transform: rotate(0); }
	20% { transform: rotate(-14deg); }
	40% { transform: rotate(12deg); }
	60% { transform: rotate(-8deg); }
	80% { transform: rotate(5deg); }
}

.tc-call-card__note {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 14px 0 0;
	color: #4e5447;
	font-size: 14px;
}

.tc-live-dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #4caf50;
	box-shadow: 0 0 0 0 rgba(76, 175, 80, .5);
	animation: tc-live 2s ease-out infinite;
}

@keyframes tc-live {
	0% { box-shadow: 0 0 0 0 rgba(76, 175, 80, .5); }
	100% { box-shadow: 0 0 0 10px rgba(76, 175, 80, 0); }
}

@media (max-width: 991px) {
	.tc-why {
		margin: 64px 16px 0;
		padding: 44px 28px;
	}

	.tc-why__inner,
	.tc-svc-banner {
		grid-template-columns: 1fr;
	}

	.tc-svc-banner {
		margin: 40px 16px 64px;
	}

	.tc-svc-banner__media {
		min-height: 300px;
	}

	.tc-svc-banner__content {
		padding: 36px 28px;
	}
}

@media (max-width: 575px) {
	.tc-why__grid {
		grid-template-columns: 1fr;
	}

	.tc-why__title,
	.tc-svc-banner__title {
		font-size: 27px;
	}

	.tc-call-card__text strong {
		font-size: 22px;
	}
}

/* New Services page sections: match the site's heading font and tidy the call card text */
.tc-why__title,
.tc-why__item-title,
.tc-svc-banner__title {
	font-family: Poppins, sans-serif !important;
	font-weight: 700;
	letter-spacing: 0;
}

.tc-call-card__text small {
	display: block;
	margin: 0 0 4px;
	line-height: 1.2;
}

.tc-call-card__text strong {
	display: block;
	line-height: 1.1;
}

/* ---------- Phone numbers: every plain phone link gets a clear hover ---------- */
a[href^="tel:"]:not(.tc-hero__btn):not(.tc-call-card):not(.tt-btn):not(.tc-footer-cta__btn) {
	text-decoration: underline;
	text-decoration-color: transparent;
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
	transition: color .25s, text-decoration-color .25s, text-shadow .25s;
}

a[href^="tel:"]:not(.tc-hero__btn):not(.tc-call-card):not(.tt-btn):not(.tc-footer-cta__btn):hover,
a[href^="tel:"]:not(.tc-hero__btn):not(.tc-call-card):not(.tt-btn):not(.tc-footer-cta__btn):focus-visible {
	text-decoration-color: currentColor;
	text-shadow: 0 0 12px rgba(241, 214, 140, .45);
}

/* ---------- Service pages ---------- */

/* Content no longer overlaps the featured photo (it left a gray strip beside the white panel) */
.single-electrician_services .services-item__layout {
	margin-top: 40px !important;
	padding-top: 0 !important;
	background: transparent !important;
}

.single-electrician_services .tt-selected-block {
	margin-left: 0 !important;
}

/* Hero neon sign shows the service's own icon */
.tc-neon--icon {
	height: 70%;
	transform: translateY(-50%);
}

.tc-neon--icon .tc-neon__tube *,
.tc-neon--icon .tc-neon__core * {
	fill: none;
	stroke-linejoin: round;
	stroke-linecap: round;
}

.tc-neon--icon .tc-neon__tube * {
	stroke: #e9c766;
	stroke-width: 2.6;
}

.tc-neon--icon .tc-neon__core * {
	stroke: #fff6d8;
	stroke-width: .9;
}

.tc-neon__ring {
	fill: none;
	stroke: rgba(233, 199, 102, .55);
	stroke-width: 1.2;
	stroke-dasharray: 2 4;
	transform-origin: 32px 32px;
	animation: tc-ring-spin 50s linear infinite;
}

/* How it works: steps joined by a circuit line carrying a dot of current */
.tc-process {
	margin: 56px 0 8px;
	text-align: center;
}

.tc-process__title {
	margin: 0 0 32px;
	color: var(--tc-darker);
	font-family: Poppins, sans-serif;
	font-size: 28px;
	font-weight: 700;
}

.tc-process__track {
	position: relative;
}

.tc-process__line {
	position: absolute;
	top: 36px;
	left: 12.5%;
	width: 75%;
	height: 10px;
	overflow: visible;
}

.tc-process__line .trace {
	fill: none;
	stroke: rgba(191, 160, 80, .45);
	stroke-width: 2;
	stroke-dasharray: 6 6;
	vector-effect: non-scaling-stroke;
}

.tc-process__line .dot {
	fill: none;
	stroke: #e2b94a;
	stroke-width: 10;
	stroke-linecap: round;
	stroke-dasharray: .01 99.99;
	stroke-dashoffset: 100;
	vector-effect: non-scaling-stroke;
	filter: drop-shadow(0 0 4px rgba(241, 214, 140, .9));
	animation: tc-current 8s linear infinite;
}

.tc-process__steps {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.tc-process__step {
	margin: 0;
	padding: 0 6px;
}

.tc-process__step::before {
	display: none !important;
}

.tc-process__icon {
	position: relative;
	display: grid;
	place-items: center;
	width: 76px;
	height: 76px;
	margin: 0 auto 16px;
	border: 2px solid rgba(191, 160, 80, .5);
	border-radius: 50%;
	background: linear-gradient(160deg, #34452f 0%, #1f2a1c 100%);
	color: #f1d68c;
	transition: transform .35s var(--tc-ease), box-shadow .35s;
	/* Each step lights up as the dot of current passes it */
	animation: tc-step-glow 8s linear infinite;
	animation-delay: calc(var(--i) * 2s - .4s);
}

.tc-process__icon .tc-ico {
	width: 34px;
	filter: drop-shadow(0 0 3px rgba(241, 214, 140, .6));
}

.tc-process__num {
	position: absolute;
	top: -4px;
	right: -4px;
	display: grid;
	place-items: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--tc-gold);
	color: var(--tc-darker);
	font-family: Poppins, sans-serif;
	font-size: 13px;
	font-weight: 700;
}

@keyframes tc-step-glow {
	0%, 18%, 100% { box-shadow: 0 0 0 0 rgba(241, 214, 140, 0); }
	6% { box-shadow: 0 0 0 6px rgba(241, 214, 140, .18), 0 0 24px rgba(241, 214, 140, .55); }
}

.tc-process__step:hover .tc-process__icon {
	transform: translateY(-4px);
	box-shadow: 0 0 0 6px rgba(241, 214, 140, .18), 0 0 24px rgba(241, 214, 140, .55);
}

.tc-process__step-title {
	margin: 0 0 6px;
	color: var(--tc-darker);
	font-family: Poppins, sans-serif;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.3;
}

.tc-process__step p {
	margin: 0;
	color: #5b6056;
	font-size: 14px;
	line-height: 1.55;
}

/* Animated call-to-action band */
.tc-service-cta--animated {
	position: relative;
	display: block !important;
	overflow: hidden;
}

.tc-service-cta--animated .tc-electric {
	opacity: .45;
}

.tc-service-cta__body {
	position: relative;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 22px;
}

.tc-service-cta__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
}

a.tc-call-card--dark {
	border-color: rgba(191, 160, 80, .8);
	background: rgba(255, 255, 255, .06);
	color: #fff;
	padding: 10px 20px 10px 10px;
}

a.tc-call-card--dark .tc-call-card__icon {
	width: 44px;
	height: 44px;
	font-size: 17px;
}

a.tc-call-card--dark .tc-call-card__text small {
	color: #c9ccc2;
}

a.tc-call-card--dark .tc-call-card__text strong {
	font-size: 21px;
}

a.tc-call-card--dark:hover,
a.tc-call-card--dark:focus-visible {
	border-color: var(--tc-gold);
	background: var(--tc-gold);
	color: var(--tc-darker);
}

a.tc-call-card--dark:hover .tc-call-card__icon {
	background: var(--tc-darker);
	color: var(--tc-gold);
}

a.tc-call-card--dark:hover .tc-call-card__text small {
	color: var(--tc-darker);
}

/* Related services use the animated service graphics */
.tc-related__art {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 50% 40%, rgba(191, 160, 80, .18) 0%, rgba(191, 160, 80, 0) 45%),
		linear-gradient(160deg, #34452f 0%, #243020 60%, #1c2618 100%);
}

.tc-related__art .tc-svc-art__icon {
	top: 40%;
	width: 24%;
}

.tc-related__card::after {
	background: linear-gradient(180deg, rgba(26, 35, 23, 0) 55%, rgba(26, 35, 23, .85) 100%);
}

.tc-related__card:hover .tc-svc-art__icon {
	transform: translate(-50%, -50%) scale(1.08);
	filter: drop-shadow(0 0 6px rgba(255, 240, 190, .95)) drop-shadow(0 0 22px rgba(241, 214, 140, .7));
}

@media (max-width: 767px) {
	.tc-process__line {
		top: 0;
		left: 37px;
		width: 10px;
		height: 100%;
		transform: none;
	}

	.tc-process__steps {
		grid-template-columns: 1fr;
		gap: 22px;
		text-align: left;
	}

	.tc-process__step {
		display: grid;
		grid-template-columns: 76px 1fr;
		column-gap: 16px;
		align-items: start;
	}

	.tc-process__icon {
		grid-row: span 2;
		margin: 0;
	}

	.tc-process__line {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.tc-process__line .dot,
	.tc-process__icon,
	.tc-neon__ring {
		animation: none;
	}
}

/* ======================================================================
   Mobile pass: phone-friendly layouts instead of long stacks of boxes
   ====================================================================== */

/* Breathing room above the footer strip on pages that end with a grid or form */
.page-id-1491 #tt-pageContent,
.page-id-1500 #tt-pageContent {
	padding-bottom: 72px;
}

@media (max-width: 767px) {
	.page-id-1491 #tt-pageContent,
	.page-id-1500 #tt-pageContent {
		padding-bottom: 48px;
	}

	/* Back-to-top button: smaller so it doesn't cover content */
	.tt-back-to-top,
	#js-backtotop {
		transform: scale(.68);
		transform-origin: 100% 100%;
	}

	/* Home hero */
	.tc-hero__eyebrow {
		padding: 8px 14px !important;
		font-size: 12px !important;
		letter-spacing: 0 !important;
		white-space: nowrap;
	}

	.tc-hero__trust {
		display: grid !important;
		grid-template-columns: 1fr 1fr;
		gap: 10px 12px !important;
	}

	.tc-hero__trust li {
		margin: 0 !important;
		font-size: 14px;
	}

	/* Two-column photo/text layouts: no offsets that push past the screen edge */
	.layout01 .layout01__img,
	.layout01 .layout01__img .tt-img-main {
		left: auto !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.layout01 .layout01__content-wrapper {
		width: auto !important;
		max-width: 100% !important;
		padding: 28px 22px !important;
	}

	.layout01 .layout01__img .tt-img-more {
		left: 12px !important;
	}

	/* Services slider: swipe and dots instead of arrows sitting on the card */
	.tc-slider-arrow {
		display: none !important;
	}

	.tt-box02_wrapper .slick-dots li button,
	.slick-dots li button {
		min-width: 12px;
		min-height: 12px;
	}

	/* Stats: one compact row instead of three tall boxes */
	.tt-info-value {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 8px;
		margin: 0 !important;
	}

	.tt-info-value > div {
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.tt-info-value .tt-col-title {
		grid-column: 1 / -1;
		margin-bottom: 8px !important;
	}

	.tt-info-value .tt-item {
		height: 100%;
		margin: 0 !important;
		padding: 16px 6px !important;
		font-size: 11px !important;
		line-height: 1.3 !important;
		letter-spacing: .02em !important;
	}

	.tt-info-value .tt-value {
		font-size: 30px !important;
		line-height: 1.1 !important;
		margin-bottom: 6px !important;
	}

	/* Testimonial card: even padding, no strip down the side */
	.tt-box03 .col-md-7 {
		flex: 0 0 100% !important;
		max-width: 100% !important;
	}

	.tt-box03__content {
		padding: 32px 22px !important;
	}

	/* Filter pills: one swipeable row instead of wrapping onto a second line */
	#filter-nav ul {
		display: flex !important;
		flex-wrap: nowrap !important;
		justify-content: flex-start !important;
		gap: 8px;
		margin: 0 -15px !important;
		padding: 2px 15px 8px !important;
		overflow-x: auto;
		scroll-snap-type: x proximity;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	#filter-nav ul::-webkit-scrollbar {
		display: none;
	}

	#filter-nav ul li {
		flex: 0 0 auto;
		margin: 0 !important;
		scroll-snap-align: start;
	}

	/* Services page cards: compact rows (graphic, title, short summary); the whole row is the link */
	.tt-obj-wrapper > div {
		margin-bottom: 12px !important;
	}

	.tt-obj-wrapper .tt-obj {
		display: grid !important;
		grid-template-columns: 108px minmax(0, 1fr);
		align-items: stretch;
		min-height: 0 !important;
		height: auto !important;
	}

	.tt-obj-wrapper .tt-obj__img.tc-svc-art {
		aspect-ratio: auto !important;
		height: 100% !important;
		min-height: 120px;
	}

	.tt-obj-wrapper .tc-svc-art .tc-svc-art__icon {
		width: 48%;
	}

	.tt-obj-wrapper .tc-svc-art .ring--outer,
	.tt-obj-wrapper .tc-svc-art .dot--3 {
		display: none;
	}

	.tt-obj-wrapper .tt-obj__wrapper {
		padding: 14px 16px !important;
	}

	.tt-obj-wrapper .tt-obj__title {
		margin-bottom: 4px !important;
		font-size: 16px !important;
		line-height: 1.3 !important;
	}

	.tt-obj-wrapper .tt-obj__wrapper > p {
		display: -webkit-box;
		margin: 0 !important;
		overflow: hidden;
		font-size: 13.5px !important;
		line-height: 1.5 !important;
		-webkit-line-clamp: 3;
		-webkit-box-orient: vertical;
	}

	.tt-obj-wrapper .row-btn {
		display: none !important;
	}

	/* "Why TC Electric": two-column tiles */
	.tc-why {
		padding: 36px 18px !important;
	}

	.tc-why__grid {
		grid-template-columns: 1fr 1fr !important;
		gap: 10px !important;
	}

	.tc-why__item {
		padding: 14px 12px !important;
	}

	.tc-why__icon {
		width: 30px;
		margin-bottom: 8px;
	}

	.tc-why__item-title {
		font-size: 14.5px !important;
	}

	.tc-why__item p {
		font-size: 12.5px;
		line-height: 1.45;
	}

	/* Call cards: keep the number on one line */
	a.tc-call-card {
		display: flex;
		width: 100%;
	}

	.tc-call-card__text strong {
		font-size: 21px !important;
		white-space: nowrap;
	}

	.tc-call-card__arrow {
		display: none;
	}

	/* About page "Reasons": icon beside the text, no oversized numbers */
	.tt-services-promo {
		padding: 20px 18px !important;
		text-align: left !important;
	}

	.tt-services-promo .tt-value {
		display: none !important;
	}

	.tt-services-promo .tt-wrapper {
		display: grid !important;
		grid-template-columns: 48px minmax(0, 1fr);
		gap: 0 14px;
		align-items: start;
	}

	.tt-services-promo .tt-col-icon {
		width: 48px !important;
		height: 48px !important;
		margin: 0 !important;
	}

	.tt-services-promo .tt-title {
		margin: 2px 0 6px !important;
		font-size: 17px !important;
	}

	.tt-services-promo p {
		font-size: 14px;
		line-height: 1.55;
	}

	.tt-services-promo__list > .tt-item {
		margin-bottom: 12px !important;
	}

	/* Service pages: even side spacing, related services as a swipeable row */
	.single-electrician_services .services-item__layout {
		margin-left: 0 !important;
		margin-right: 0 !important;
		width: auto !important;
	}

	.tc-related__grid {
		display: flex !important;
		gap: 12px;
		margin: 0 -15px;
		padding: 0 15px 10px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	.tc-related__grid::-webkit-scrollbar {
		display: none;
	}

	.tc-related__card {
		flex: 0 0 74%;
		height: 190px !important;
		scroll-snap-align: start;
	}

	/* Footer: left-aligned headings and a two-column link list */
	#tt-footer .footer-widget,
	#tt-footer .footer-widget2,
	#tt-footer .footer-widget::before,
	#tt-footer .footer-widget2::before {
		text-align: left !important;
	}

	#tt-footer .f-logo {
		text-align: left !important;
	}

	#tt-footer .f-nav {
		margin-top: 18px !important;
	}

	#tt-footer .f-nav ul {
		display: grid !important;
		grid-template-columns: 1fr 1fr;
		gap: 2px 16px;
	}
}

@media (max-width: 767px) {
	.tt-info-value .col-auto {
		width: auto !important;
		min-width: 0 !important;
	}

	.tt-info-value .tt-item {
		width: 100% !important;
		min-width: 0 !important;
		margin-top: 0 !important;
		word-break: normal;
		overflow-wrap: anywhere;
	}

	/* The testimonial's background image block showed as a dark strip beside the card */
	.tt-box03 .tt-box03__img.tt-visible-desktop {
		display: none !important;
	}

	.tt-box03 .tt-box03__content .slick-dots {
		margin-left: 0 !important;
	}
}

@media (max-width: 767px) {
	/* The testimonial's mobile photo sat behind the whole card, peeking out as a strip; keep it below the card */
	.tt-box03 .tt-box03__img.tt-visible-mobile {
		top: auto !important;
		bottom: 0 !important;
		right: 0 !important;
		width: 100% !important;
		height: 240px !important;
		border-radius: 0 !important;
	}
}

@media (max-width: 767px) {
	/* Testimonial card: the theme's decorative side bar read as a stray strip; keep even margins */
	.tt-box03 .tt-box03__content::before {
		display: none !important;
	}

	.tt-box03 > .container {
		padding-left: 15px !important;
		padding-right: 15px !important;
	}

	.tt-box03 > .container > .row > [class*="col-"] {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}

@media (max-width: 767px) {
	#tt-footer .additional-strut .col-xl-5,
	#tt-footer .f-logo {
		display: flex !important;
		justify-content: flex-start !important;
		margin-left: 0 !important;
	}
}

/* ---------- Swipe arrows (phones) ---------- */
.tc-slick-arrows,
.tc-scroll-arrows {
	display: none;
}

.tc-swipe-arrow {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--tc-gold);
	color: var(--tc-darker);
	font-size: 11px;
	box-shadow: 0 6px 14px rgba(31, 42, 28, .18);
	cursor: pointer;
	transition: background-color .25s, color .25s, transform .25s var(--tc-ease), opacity .25s;
}

.tc-swipe-arrow--prev [class^="icon-"] {
	display: inline-block;
	transform: rotate(180deg);
}

.tc-swipe-arrow:hover,
.tc-swipe-arrow:focus-visible {
	background: var(--tc-darker);
	color: var(--tc-gold);
}

.tc-swipe-arrow:active {
	transform: scale(.92);
}

.tc-swipe-arrow:disabled {
	opacity: .35;
	cursor: default;
}

@media (max-width: 767px) {
	/* Carousels: arrows sit on the same line as the dots */
	.tc-slick-arrows {
		position: relative;
		z-index: 3;
		display: flex;
		justify-content: space-between;
		width: 210px;
		margin: -30px auto 6px;
		pointer-events: none;
	}

	.tc-slick-arrows .tc-swipe-arrow {
		pointer-events: auto;
	}

	/* Testimonial dots are left-aligned, so its arrows sit together on the right */
	.tt-box03 .tc-slick-arrows {
		justify-content: flex-end;
		gap: 10px;
		width: auto;
		margin: -40px 0 0;
	}

	/* Home services slider: its arrows move down beside the dots instead of covering the card */
	.tc-slider-arrow {
		display: grid !important;
		top: auto !important;
		bottom: 6px !important;
		width: 38px !important;
		height: 38px !important;
		transform: none !important;
	}

	.tc-slider-arrow--prev {
		left: calc(50% - 105px) !important;
	}

	.tc-slider-arrow--next {
		right: calc(50% - 105px) !important;
	}

	/* Related services: arrows beside the heading */
	.tc-related__head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		margin-bottom: 14px;
	}

	.tc-related__head .tc-related__title {
		margin: 0 !important;
	}

	.tc-scroll-arrows {
		display: flex;
		gap: 8px;
	}

	/* Filter pills: all four fit on one line, so nothing to scroll */
	#filter-nav ul {
		display: grid !important;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 6px;
		margin: 0 !important;
		padding: 0 !important;
		overflow: visible;
	}

	#filter-nav ul li a {
		display: block;
		width: 100%;
		padding: 9px 4px !important;
		font-size: 12px !important;
		text-align: center;
		white-space: nowrap;
	}
}

/* ---------- Footer (phones) ---------- */
@media (max-width: 767px) {
	#tt-footer .footer-wrapper > .container {
		grid-template-columns: 64px minmax(0, 1fr) !important;
		grid-template-areas:
			"cta  cta"
			"logo text"
			"links links"
			"contact contact"
			"map  map"
			"copy copy" !important;
		column-gap: 16px !important;
		row-gap: 26px !important;
		padding: 0 16px !important;
	}

	#tt-footer .tc-footer-cta {
		margin-bottom: 10px !important;
	}

	#tt-footer .f-logo img {
		width: 64px !important;
		max-width: 64px !important;
		height: auto;
	}

	#tt-footer .f-info-text {
		margin: 0 !important;
		font-size: 14px !important;
		line-height: 1.6 !important;
	}

	#tt-footer .additional-strut .col-xl-5,
	#tt-footer .additional-strut .col-xl-7 {
		align-self: center;
	}

	#tt-footer .footer-widget::before,
	#tt-footer .footer-widget2::before,
	#tt-footer #map::before,
	#tt-footer #map-img::before {
		margin-bottom: 14px !important;
		font-size: 17px !important;
	}

	/* Quick links as two columns of comfortable tap targets */
	#tt-footer .f-nav {
		margin-top: 14px !important;
	}

	#tt-footer .f-nav ul {
		gap: 0 16px !important;
	}

	#tt-footer .f-nav li {
		margin: 0 !important;
		padding: 0 !important;
		border-bottom: 1px solid rgba(255, 255, 255, .07);
	}

	#tt-footer .f-nav li a {
		display: block;
		padding: 11px 0 11px 22px;
		font-size: 15px;
	}

	#tt-footer .f-nav li::before {
		top: 50% !important;
		transform: translateY(-50%);
	}

	/* Contact details as tappable rows */
	#tt-footer .f-info-icon {
		margin: 14px 0 0 !important;
		padding: 0 !important;
	}

	#tt-footer .f-info-icon li {
		position: relative;
		margin: 0 0 8px !important;
		padding: 13px 14px 13px 60px !important;
		border: 1px solid rgba(255, 255, 255, .08);
		border-radius: var(--tc-radius-sm);
		background: rgba(255, 255, 255, .04);
		font-size: 14.5px !important;
		line-height: 1.45 !important;
	}

	#tt-footer .f-info-icon li a {
		display: block;
		color: inherit;
	}

	#tt-footer .f-info-icon li a::after {
		content: "";
		position: absolute;
		inset: 0;
	}

	#tt-footer .f-info-icon li [class^="icon-"] {
		position: absolute !important;
		top: 50% !important;
		left: 14px !important;
		display: grid !important;
		place-items: center;
		width: 34px;
		height: 34px;
		margin: 0 !important;
		border-radius: 50%;
		background: rgba(191, 160, 80, .16);
		font-size: 15px !important;
		transform: translateY(-50%);
	}

	#tt-footer .f-info-icon li:active {
		background: rgba(191, 160, 80, .14);
	}

	/* Map: a little shorter */
	#tt-footer #map,
	#tt-footer #map-img {
		position: relative !important;
		top: auto !important;
		right: auto !important;
		height: 200px !important;
	}

	/* Copyright: centered, clear of the back-to-top button */
	#tt-footer .f-copyright {
		padding: 18px 56px 24px !important;
		font-size: 13px !important;
		line-height: 1.6 !important;
		text-align: center !important;
	}
}

/* ======================================================================
   Areas We Serve pages
   ====================================================================== */
.tc-area {
	padding: 56px 0 72px;
}

.tc-area > section,
.tc-area > nav {
	margin-top: 72px;
}

.tc-area > section:first-child {
	margin-top: 0;
}

.tc-area__h2 {
	margin: 0 0 18px;
	color: var(--tc-darker);
	font-family: Poppins, sans-serif;
	font-size: 32px;
	font-weight: 700;
	line-height: 1.2;
}

.tc-area__h3 {
	margin: 0 0 16px;
	color: var(--tc-darker);
	font-family: Poppins, sans-serif;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.3;
}

/* Intro: copy beside a "why us" card */
.tc-area-intro {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
	gap: 48px;
	align-items: start;
}

.tc-area-intro__copy p:not(.tc-eyebrow) {
	margin: 0 0 16px;
	color: #4e5447;
	font-size: 16.5px;
	line-height: 1.75;
}

.tc-area-facts {
	position: sticky;
	top: 110px;
	padding: 28px 26px;
	border-top: 4px solid var(--tc-gold);
	border-radius: var(--tc-radius);
	background: #fff;
	box-shadow: 0 20px 44px -24px rgba(31, 42, 28, .35);
}

.tc-area-facts__title {
	margin: 0 0 16px;
	color: var(--tc-darker);
	font-family: Poppins, sans-serif;
	font-size: 19px;
	font-weight: 700;
}

.tc-area-facts ul {
	margin: 0 0 22px;
	padding: 0;
	list-style: none;
}

.tc-area-facts li {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 12px;
	color: #3d4237;
	font-size: 15px;
}

.tc-area-facts li::before {
	display: none !important;
}

.tc-area-facts li .tc-ico {
	flex: 0 0 auto;
	width: 30px;
	padding: 6px;
	border-radius: 50%;
	background: var(--tc-cream);
	color: #8a7230;
	stroke-width: 3;
}

.tc-area-facts a.tc-call-card {
	width: 100%;
}

/* Featured services: animated graphics with a local blurb */
.tc-area-featured__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

a.tc-area-feature {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: var(--tc-radius);
	background: #fff;
	color: inherit;
	text-decoration: none;
	box-shadow: 0 18px 40px -26px rgba(31, 42, 28, .45);
	transition: transform .35s var(--tc-ease), box-shadow .35s;
}

a.tc-area-feature:hover {
	transform: translateY(-6px);
	box-shadow: 0 26px 50px -24px rgba(31, 42, 28, .5);
}

.tc-area-feature__art {
	position: relative;
	display: block;
	aspect-ratio: 400 / 220;
	overflow: hidden;
	background:
		radial-gradient(circle at 50% 50%, rgba(191, 160, 80, .18) 0%, rgba(191, 160, 80, 0) 45%),
		linear-gradient(160deg, #34452f 0%, #243020 60%, #1c2618 100%);
}

a.tc-area-feature:hover .tc-svc-art__icon {
	transform: translate(-50%, -50%) scale(1.08);
	filter: drop-shadow(0 0 6px rgba(255, 240, 190, .95)) drop-shadow(0 0 22px rgba(241, 214, 140, .7));
}

.tc-area-feature__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 22px 24px 24px;
}

.tc-area-feature__title {
	margin-bottom: 8px;
	color: var(--tc-darker);
	font-family: Poppins, sans-serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
}

.tc-area-feature__text {
	flex: 1;
	margin-bottom: 16px;
	color: #5b6056;
	font-size: 15px;
	line-height: 1.6;
}

.tc-area-feature__more {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #8a7230;
	font-family: Poppins, sans-serif;
	font-size: 14px;
	font-weight: 600;
}

.tc-area-feature__more [class^="icon-"] {
	font-size: 9px;
	transition: transform .3s var(--tc-ease);
}

a:hover .tc-area-feature__more [class^="icon-"] {
	transform: translateX(4px);
}

/* Services and neighborhoods */
.tc-area-services {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 40px;
	padding: 40px;
	border-radius: var(--tc-radius);
	background: var(--tc-cream);
}

.tc-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 18px;
	padding: 0;
	list-style: none;
}

.tc-chips li {
	margin: 0;
	padding: 0;
}

.tc-chips li::before {
	display: none !important;
}

.tc-chips a,
.tc-chips > li > span {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 9px 15px;
	border: 1px solid #e3ddcd;
	border-radius: 999px;
	background: #fff;
	color: var(--tc-darker);
	font-family: Poppins, sans-serif;
	font-size: 13.5px;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
	transition: border-color .25s, background-color .25s, color .25s, transform .25s var(--tc-ease);
}

.tc-chips a [class^="icon-"] {
	color: var(--tc-gold);
	font-size: 11px;
}

.tc-chips .tc-ico {
	width: 15px;
	color: #8a7230;
	stroke-width: 3.5;
}

.tc-chips a:hover {
	border-color: var(--tc-darker);
	background: var(--tc-darker);
	color: #fff;
	transform: translateY(-2px);
}

.tc-chips a:hover .tc-ico,
.tc-chips a:hover [class^="icon-"] {
	color: var(--tc-gold);
}

.tc-chips--plain a,
.tc-chips--plain > li > span {
	background: rgba(255, 255, 255, .7);
}

.tc-area-services__commercial,
.tc-area-services__note {
	margin: 0;
	color: #4e5447;
	font-size: 15px;
	line-height: 1.6;
}

.tc-area-services__note a {
	color: var(--tc-darker);
	font-weight: 600;
}

/* FAQs */
.tc-faq {
	max-width: 860px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.tc-faq__item {
	margin: 0 0 12px;
	border: 1px solid #e6e1d3;
	border-radius: var(--tc-radius-sm);
	background: #fff;
	text-align: left;
	transition: border-color .25s, box-shadow .25s;
}

.tc-faq__item[open] {
	border-color: var(--tc-gold);
	box-shadow: 0 12px 28px -18px rgba(31, 42, 28, .35);
}

.tc-faq__item summary {
	position: relative;
	padding: 18px 56px 18px 22px;
	color: var(--tc-darker);
	font-family: Poppins, sans-serif;
	font-size: 16.5px;
	font-weight: 600;
	list-style: none;
	cursor: pointer;
}

.tc-faq__item summary::-webkit-details-marker {
	display: none;
}

.tc-faq__icon {
	position: absolute;
	top: 50%;
	right: 20px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--tc-cream);
	transform: translateY(-50%);
}

.tc-faq__icon::before,
.tc-faq__icon::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 2px;
	background: var(--tc-darker);
	transform: translate(-50%, -50%);
	transition: transform .3s var(--tc-ease);
}

.tc-faq__icon::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.tc-faq__item[open] .tc-faq__icon {
	background: var(--tc-gold);
}

.tc-faq__item[open] .tc-faq__icon::after {
	transform: translate(-50%, -50%) rotate(0);
}

.tc-faq__item p {
	margin: 0;
	padding: 0 22px 20px;
	color: #4e5447;
	font-size: 15.5px;
	line-height: 1.7;
}

.tc-area .tc-process {
	margin-top: 72px;
}

.tc-area-nearby {
	text-align: center;
}

.tc-area-nearby .tc-chips {
	justify-content: center;
}

/* Hub: city cards */
.tc-area-cities {
	text-align: center;
}

.tc-area-cities__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin-bottom: 22px;
	text-align: left;
}

a.tc-area-city {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 26px 24px 24px;
	overflow: hidden;
	border: 1px solid #e6e1d3;
	border-radius: var(--tc-radius);
	background: #fff;
	color: inherit;
	text-decoration: none;
	transition: transform .35s var(--tc-ease), box-shadow .35s, border-color .35s;
}

a.tc-area-city:hover {
	border-color: var(--tc-gold);
	transform: translateY(-5px);
	box-shadow: 0 24px 46px -26px rgba(31, 42, 28, .45);
}

.tc-area-city__pin {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: linear-gradient(160deg, #34452f 0%, #1f2a1c 100%);
	color: #f1d68c;
	transition: box-shadow .35s;
}

.tc-area-city__pin .tc-ico {
	width: 26px;
	filter: drop-shadow(0 0 3px rgba(241, 214, 140, .7));
}

a.tc-area-city:hover .tc-area-city__pin {
	box-shadow: 0 0 0 6px rgba(241, 214, 140, .18), 0 0 22px rgba(241, 214, 140, .5);
}

.tc-area-city__name {
	color: var(--tc-darker);
	font-family: Poppins, sans-serif;
	font-size: 20px;
	font-weight: 700;
}

.tc-area-city__text {
	flex: 1;
	color: #5b6056;
	font-size: 14.5px;
	line-height: 1.6;
}

/* Hub: Chesapeake, the home base, spans the full row so the other six cities sit in an even 3 x 2 grid */
a.tc-area-city--home {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr) auto;
	align-items: center;
	gap: 6px 26px;
	padding: 30px 36px;
	border-color: transparent;
	background:
		radial-gradient(circle at 92% 20%, rgba(241, 214, 140, .14), transparent 45%),
		linear-gradient(135deg, #34452f 0%, #1f2a1c 100%);
}

a.tc-area-city--home:hover {
	border-color: rgba(241, 214, 140, .55);
}

a.tc-area-city--home .tc-area-city__pin {
	grid-row: 1 / span 2;
	width: 72px;
	height: 72px;
	border: 1px solid rgba(241, 214, 140, .45);
	background: rgba(255, 255, 255, .04);
}

a.tc-area-city--home .tc-area-city__pin .tc-ico {
	width: 34px;
}

a.tc-area-city--home .tc-area-city__name {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 12px;
	color: #fff;
	font-size: 24px;
}

.tc-area-city__badge {
	padding: 4px 11px;
	border: 1px solid rgba(241, 214, 140, .5);
	border-radius: 999px;
	color: #f1d68c;
	font-size: 11.5px;
	font-style: normal;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
}

a.tc-area-city--home .tc-area-city__text {
	max-width: 640px;
	color: rgba(245, 242, 234, .82);
	font-size: 15px;
}

a.tc-area-city--home .tc-area-feature__more {
	grid-column: 3;
	grid-row: 1 / span 2;
	padding: 13px 22px;
	border-radius: 999px;
	background: var(--tc-gold);
	color: var(--tc-darker);
	white-space: nowrap;
	transition: background .3s;
}

a.tc-area-city--home:hover .tc-area-feature__more {
	background: #f1d68c;
}

@media (max-width: 991px) {
	.tc-area-intro {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.tc-area-facts {
		position: static;
	}

	.tc-area-featured__grid,
	.tc-area-cities__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	a.tc-area-city--home {
		grid-template-columns: 64px minmax(0, 1fr);
		padding: 26px 28px;
	}

	a.tc-area-city--home .tc-area-city__pin {
		grid-row: 1 / span 3;
		width: 64px;
		height: 64px;
	}

	a.tc-area-city--home .tc-area-feature__more {
		grid-column: 2;
		grid-row: auto;
		justify-self: start;
		margin-top: 8px;
	}

	.tc-area-services {
		grid-template-columns: 1fr;
		gap: 28px;
		padding: 28px 22px;
	}
}

@media (max-width: 767px) {
	.tc-area > section,
	.tc-area > nav,
	.tc-area .tc-process {
		margin-top: 52px;
	}

	.tc-area__h2 {
		font-size: 25px;
	}

	.tc-area__h3 {
		font-size: 19px;
	}

	.tc-area-intro__copy p:not(.tc-eyebrow) {
		font-size: 15.5px;
	}

	/* Featured services as compact rows, like the Services page */
	.tc-area-featured__grid {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	a.tc-area-feature {
		display: grid;
		grid-template-columns: 104px minmax(0, 1fr);
	}

	.tc-area-feature__art {
		aspect-ratio: auto;
		height: 100%;
		min-height: 130px;
	}

	.tc-area-feature__art .tc-svc-art__icon {
		width: 48%;
	}

	.tc-area-feature__art .ring--outer {
		display: none;
	}

	.tc-area-feature__body {
		padding: 14px 16px;
	}

	.tc-area-feature__title {
		font-size: 16px;
	}

	.tc-area-feature__text {
		display: -webkit-box;
		margin-bottom: 8px;
		overflow: hidden;
		font-size: 13.5px;
		line-height: 1.5;
		-webkit-line-clamp: 3;
		-webkit-box-orient: vertical;
	}

	.tc-area-cities__grid {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	a.tc-area-city {
		display: grid;
		grid-template-columns: 46px minmax(0, 1fr);
		gap: 4px 14px;
		padding: 18px;
	}

	.tc-area-city__pin {
		grid-row: span 3;
		width: 46px;
		height: 46px;
	}

	.tc-area-city__text {
		font-size: 13.5px;
	}

	a.tc-area-city--home {
		grid-template-columns: 46px minmax(0, 1fr);
		align-items: start;
		gap: 4px 14px;
		padding: 20px 18px;
	}

	a.tc-area-city--home .tc-area-city__pin {
		width: 46px;
		height: 46px;
	}

	a.tc-area-city--home .tc-area-city__pin .tc-ico {
		width: 24px;
	}

	a.tc-area-city--home .tc-area-city__name {
		font-size: 19px;
	}

	a.tc-area-city--home .tc-area-city__text {
		font-size: 13.5px;
	}

	a.tc-area-city--home .tc-area-feature__more {
		padding: 10px 18px;
		font-size: 13px;
	}

	.tc-chips a,
	.tc-chips > li > span {
		padding: 8px 12px;
		font-size: 13px;
	}

	.tc-faq__item summary {
		font-size: 15.5px;
	}
}

/* ==========================================================================
   Page FAQs, FAQ hub, blog landing page, and articles
   ========================================================================== */

.tc-page-faq-wrap {
	padding: 64px 0 72px;
	background: var(--tc-cream);
}

.tc-page-faq-wrap .tc-faq {
	margin-top: 0;
}

.single-electrician_services .tc-page-faq {
	margin-top: 56px;
}

.tc-page-faq__more {
	margin: 22px 0 0;
}

/* FAQ hub */
.tc-faq-hub__intro {
	max-width: 860px;
	margin: 0 auto;
	text-align: center;
}

.tc-faq-hub__intro > p:not(.tc-eyebrow) {
	color: #5b6056;
	font-size: 16.5px;
	line-height: 1.7;
}

.tc-faq-hub__nav {
	margin-top: 26px;
}

.tc-faq-hub__nav .tc-chips {
	justify-content: center;
}

.tc-faq-hub__group {
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
}

.tc-faq-hub__group-title {
	position: relative;
	margin: 0 0 26px;
	padding-bottom: 14px;
	color: var(--tc-darker);
	font-family: Poppins, sans-serif;
	font-size: 28px;
	font-weight: 700;
}

.tc-faq-hub__group-title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 56px;
	height: 3px;
	border-radius: 3px;
	background: var(--tc-gold);
}

.tc-faq-hub__set {
	margin-bottom: 36px;
	scroll-margin-top: 120px;
}

.tc-faq-hub__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 6px 18px;
	margin-bottom: 14px;
}

.tc-faq-hub__head .tc-area__h3 {
	margin: 0;
}

#faq-cities {
	scroll-margin-top: 120px;
}

/* Blog landing */
.tc-blog {
	padding: 64px 0 80px;
}

.tc-blog__intro {
	max-width: 760px;
	margin: 0 auto 40px;
	text-align: center;
}

.tc-blog__intro > p:not(.tc-eyebrow) {
	color: #5b6056;
	font-size: 16.5px;
	line-height: 1.7;
}

.tc-post-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid #e6e1d3;
	border-radius: var(--tc-radius);
	background: #fff;
	transition: transform .35s var(--tc-ease), box-shadow .35s, border-color .35s;
}

.tc-post-card:hover {
	border-color: var(--tc-gold);
	transform: translateY(-5px);
	box-shadow: 0 24px 46px -26px rgba(31, 42, 28, .45);
}

.tc-post-card[hidden] {
	display: none;
}

.tc-post-card__media {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--tc-darker);
}

.tc-post-card__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .6s var(--tc-ease);
}

.tc-post-card:hover .tc-post-card__img {
	transform: scale(1.04);
}

.tc-post-card__art,
.tc-post-card__art svg {
	display: block;
	width: 100%;
	height: 100%;
}

.tc-post-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 10px;
	padding: 22px 24px 24px;
}

.tc-post-card__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 14px;
	margin: 0;
	color: #7a7e74;
	font-size: 13px;
}

.tc-post-card__cat {
	padding: 4px 10px;
	border-radius: 999px;
	background: rgba(191, 160, 80, .15);
	color: #75611f;
	font-family: Poppins, sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.tc-post-card__title {
	margin: 0;
	font-family: Poppins, sans-serif;
	font-size: 19px;
	font-weight: 700;
	line-height: 1.35;
}

.tc-post-card__title a {
	color: var(--tc-darker);
	text-decoration: none;
}

.tc-post-card__title a:hover {
	color: #75611f;
}

.tc-post-card__excerpt {
	flex: 1;
	margin: 0;
	color: #5b6056;
	font-size: 14.5px;
	line-height: 1.65;
}

.tc-post-card--featured {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
	margin-bottom: 44px;
}

.tc-post-card--featured .tc-post-card__media {
	aspect-ratio: auto;
	min-height: 340px;
}

.tc-post-card--featured .tc-post-card__body {
	justify-content: center;
	gap: 14px;
	padding: 40px 44px;
}

.tc-post-card--featured .tc-post-card__title {
	font-size: 28px;
	line-height: 1.25;
}

.tc-post-card--featured .tc-post-card__excerpt {
	flex: 0 0 auto;
	font-size: 16px;
}

.tc-blog__filters {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin-bottom: 28px;
}

.tc-blog__filter {
	padding: 9px 16px;
	border: 1px solid #e6e1d3;
	border-radius: 999px;
	background: #fff;
	color: var(--tc-darker);
	font-family: Poppins, sans-serif;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	transition: background .25s, border-color .25s, color .25s;
}

.tc-blog__filter:hover {
	border-color: var(--tc-gold);
}

.tc-blog__filter.is-active {
	border-color: var(--tc-darker);
	background: var(--tc-darker);
	color: #fff;
}

.tc-blog__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.tc-blog__empty {
	margin: 10px 0 0;
	color: #5b6056;
	text-align: center;
}

.tc-blog__pages {
	margin-top: 40px;
	text-align: center;
}

.tc-blog__pages ul {
	display: inline-flex;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.tc-blog__pages li::before {
	display: none !important;
}

.tc-blog__pages .page-numbers {
	display: inline-block;
	min-width: 42px;
	padding: 9px 14px;
	border: 1px solid #e6e1d3;
	border-radius: 999px;
	color: var(--tc-darker);
}

.tc-blog__pages .page-numbers.current {
	border-color: var(--tc-darker);
	background: var(--tc-darker);
	color: #fff;
}

.tc-blog .tc-area-cta,
.tc-post .tc-area-cta {
	margin-top: 72px;
}

/* Articles */
.tc-post {
	padding: 56px 0 80px;
}

.tc-post__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 56px;
	align-items: start;
}

.tc-post__meta {
	margin-bottom: 22px;
}

.tc-post__image {
	margin: 0 0 34px;
	overflow: hidden;
	border-radius: var(--tc-radius);
}

.tc-post__image img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 460px;
	object-fit: cover;
}

.tc-post__content {
	color: #3f443b;
	font-size: 17px;
	line-height: 1.8;
}

.tc-post__content > p:first-child {
	color: var(--tc-darker);
	font-size: 19px;
	line-height: 1.7;
}

.tc-post__content h2 {
	margin: 44px 0 14px;
	color: var(--tc-darker);
	font-family: Poppins, sans-serif;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.3;
}

.tc-post__content p {
	margin: 0 0 18px;
}

.tc-post__content ul {
	margin: 0 0 22px;
	padding: 0;
	list-style: none;
}

.tc-post__content ul li {
	position: relative;
	margin: 0 0 10px;
	padding-left: 26px;
}

.tc-post__content ul li::before {
	content: "";
	position: absolute;
	top: .72em;
	left: 4px;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--tc-gold);
	box-shadow: 0 0 0 4px rgba(191, 160, 80, .18);
}

.tc-post__content a {
	color: #75611f;
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: rgba(191, 160, 80, .5);
	text-underline-offset: 3px;
}

.tc-post__content a:hover {
	color: var(--tc-darker);
	text-decoration-color: var(--tc-darker);
}

.tc-post__content > p:last-child {
	margin-top: 36px;
	padding: 22px 26px;
	border-left: 4px solid var(--tc-gold);
	border-radius: var(--tc-radius-sm);
	background: var(--tc-cream);
}

.tc-post__aside {
	position: sticky;
	top: 120px;
}

.tc-post__help {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 28px 26px;
	border-radius: var(--tc-radius);
	background:
		radial-gradient(circle at 90% 10%, rgba(241, 214, 140, .14), transparent 50%),
		linear-gradient(160deg, #34452f 0%, #1f2a1c 100%);
	color: rgba(245, 242, 234, .85);
}

.tc-post__help p {
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
}

.tc-post__help .tc-post__help-title {
	color: #fff;
	font-family: Poppins, sans-serif;
	font-size: 21px;
	font-weight: 700;
	line-height: 1.3;
}

.tc-post__help .tc-call-card {
	background: rgba(255, 255, 255, .06);
}

.tc-post__help .tc-call-card strong,
.tc-post__help .tc-call-card small {
	color: #fff;
}

.tc-post__help .tc-hero__btn {
	justify-content: center;
}

.tc-post__help .tc-area-feature__more {
	color: #f1d68c;
}

.tc-post__more {
	margin-top: 72px;
	text-align: center;
}

.tc-post__more .tc-blog__grid {
	text-align: left;
}

@media (max-width: 991px) {
	.tc-blog__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tc-post-card--featured {
		grid-template-columns: 1fr;
	}

	.tc-post-card--featured .tc-post-card__media {
		min-height: 0;
		aspect-ratio: 16 / 9;
	}

	.tc-post-card--featured .tc-post-card__body {
		padding: 28px 28px 30px;
	}

	.tc-post__layout {
		grid-template-columns: 1fr;
		gap: 36px;
	}

	.tc-post__aside {
		position: static;
	}
}

@media (max-width: 767px) {
	.tc-page-faq-wrap {
		padding: 44px 0 52px;
	}

	.tc-faq-hub__group-title {
		font-size: 23px;
	}

	.tc-faq-hub__nav .tc-chips {
		gap: 8px;
	}

	.tc-blog,
	.tc-post {
		padding: 40px 0 56px;
	}

	.tc-blog__filters {
		gap: 8px;
		margin-bottom: 22px;
	}

	.tc-blog__filter {
		padding: 8px 13px;
		font-size: 13px;
	}

	.tc-blog__grid {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.tc-post-card--featured {
		margin-bottom: 30px;
	}

	.tc-post-card--featured .tc-post-card__title {
		font-size: 22px;
	}

	.tc-post__content {
		font-size: 16px;
	}

	.tc-post__content > p:first-child {
		font-size: 17.5px;
	}

	.tc-post__content h2 {
		margin-top: 34px;
		font-size: 22px;
	}

	.tc-blog .tc-area-cta,
	.tc-post .tc-area-cta,
	.tc-post__more {
		margin-top: 52px;
	}
}

/* Commercial / Industrial / Residential: center the plus button under each title (it was sitting
   beside the hidden description and pushed off the right edge) and wash the photos in brand olive. */
.tt-slideinfo .tt-item__description,
.tt-slideinfo .tt-item__btn_link {
	flex: 0 0 100%;
	width: 100%;
}

.tt-slideinfo .tt-item__btn_link {
	display: flex;
	justify-content: center;
	margin-top: 26px;
}

.tt-slideinfo .tt-item__btn_link a {
	width: 62px;
	height: 62px;
	color: var(--tc-darker);
	font-size: 30px;
	font-weight: 300;
	line-height: 1;
}

.tt-slideinfo .tt-item__bg {
	background-color: #1f2a1c;
}

.tt-slideinfo .tt-item__bg .tt-item__bg-img {
	filter: grayscale(.45) contrast(1.05);
}

.tt-slideinfo .tt-item__bg .tt-item__bg-top {
	background: linear-gradient(180deg, rgba(53, 83, 47, .38) 0%, rgba(31, 42, 28, .62) 100%) !important;
	transition: background .45s var(--tc-ease);
}

.tt-slideinfo:hover .tt-item__bg .tt-item__bg-top {
	background: linear-gradient(180deg, rgba(53, 83, 47, .62) 0%, rgba(31, 42, 28, .88) 100%) !important;
}

/* Services page: badge on the most requested services */
.tt-obj {
	position: relative;
}

.tc-svc-badge {
	position: absolute;
	z-index: 3;
	top: 14px;
	left: 14px;
	padding: 6px 12px;
	border-radius: 999px;
	background: var(--tc-gold);
	color: var(--tc-darker);
	font-family: Poppins, sans-serif;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	box-shadow: 0 6px 16px -6px rgba(0, 0, 0, .45);
}

/* ==========================================================================
   Header: logo glow, desktop mega menus, mobile fold-out drawer
   ========================================================================== */

/* Logo: lights up like a bulb on hover, growing and leaning slightly */
.tt-logo {
	display: inline-block;
	transform-origin: left center;
	transition: transform .4s var(--tc-ease), text-shadow .4s var(--tc-ease), color .3s;
}

.tt-logo .tt-icon img {
	border-radius: 50%;
	transition: filter .4s var(--tc-ease), box-shadow .4s var(--tc-ease);
}

.tt-logo:hover,
.tt-logo:focus-visible {
	transform: scale(1.06) skewX(-6deg);
	text-shadow: 0 0 8px rgba(241, 214, 140, .9), 0 0 1px rgba(191, 160, 80, .9);
}

.tt-logo:hover .tt-icon img,
.tt-logo:focus-visible .tt-icon img {
	filter: brightness(1.12) saturate(1.15);
	box-shadow: 0 0 0 3px rgba(241, 214, 140, .55), 0 0 12px 2px rgba(241, 214, 140, .8);
	animation: tc-logo-flicker .9s ease-out 1;
}

@keyframes tc-logo-flicker {
	0% { filter: brightness(1); }
	12% { filter: brightness(1.35) saturate(1.2); }
	20% { filter: brightness(.95); }
	32% { filter: brightness(1.3) saturate(1.2); }
	100% { filter: brightness(1.12) saturate(1.15); }
}

/* Mega menus (desktop) */
#tt-nav > ul > li.tc-has-mega > ul.dropdown-menu {
	display: none !important;
}

@media (min-width: 992px) {
	#tt-nav > ul > li.tc-has-mega {
		position: static;
	}

	.tt-holder-wrapper,
	#tt-nav,
	#tt-nav > ul {
		position: relative;
	}

	.tc-mega {
		position: absolute;
		z-index: 60;
		top: 100%;
		left: 50%;
		width: min(1080px, 94vw);
		padding-top: 14px;
		text-align: left;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translate(-50%, 10px);
		transition: opacity .25s var(--tc-ease), transform .3s var(--tc-ease), visibility 0s .3s;
	}

	.tc-mega-open > .tc-mega,
	.tc-has-mega:focus-within > .tc-mega {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translate(-50%, 0);
		transition: opacity .25s var(--tc-ease), transform .3s var(--tc-ease), visibility 0s;
	}

	.tc-mega__inner {
		display: grid;
		gap: 0;
		overflow: hidden;
		border: 1px solid #e6e1d3;
		border-radius: 18px;
		background: #fff;
		box-shadow: 0 34px 70px -30px rgba(31, 42, 28, .5), 0 4px 14px -6px rgba(31, 42, 28, .12);
	}

	.tc-mega__inner--services {
		grid-template-columns: 1.05fr 1.35fr .9fr;
	}

	.tc-mega__inner--areas {
		grid-template-columns: .85fr 2fr;
	}
}

.tc-mega__label,
.tc-drawer__label {
	margin: 0 0 14px;
	color: var(--tc-gold);
	font-family: Poppins, sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.tc-mega__featured,
.tc-mega__home {
	position: relative;
	overflow: hidden;
	padding: 28px 24px;
	background:
		radial-gradient(circle at 90% 8%, rgba(241, 214, 140, .14), transparent 50%),
		linear-gradient(160deg, #34452f 0%, #1f2a1c 100%);
	color: #fff;
}

.tc-mega__featured > .tc-electric,
.tc-mega__home > .tc-electric,
.tc-drawer__panel > .tc-electric {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: .35;
	pointer-events: none;
}

.tc-mega__featured > *:not(.tc-electric),
.tc-mega__home > *:not(.tc-electric) {
	position: relative;
}

.tc-mega__feature {
	display: grid;
	grid-template-columns: 46px minmax(0, 1fr) 12px;
	gap: 14px;
	align-items: center;
	margin: 0 -10px 6px;
	padding: 12px 10px;
	border-radius: 12px;
	color: #fff !important;
	text-decoration: none !important;
	transition: background .25s, transform .25s var(--tc-ease);
}

.tc-mega__feature:hover,
.tc-mega__feature:focus-visible {
	background: rgba(255, 255, 255, .08);
	transform: translateX(4px);
}

.tc-mega__icon {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	border: 1px solid rgba(241, 214, 140, .45);
	border-radius: 50%;
	background: rgba(255, 255, 255, .05);
	color: #f1d68c;
}

.tc-mega__icon .tc-ico {
	width: 24px;
	filter: drop-shadow(0 0 3px rgba(241, 214, 140, .7));
}

.tc-mega__text strong,
.tc-mega__list strong,
.tc-mega__cities strong {
	display: block;
	font-family: Poppins, sans-serif;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
}

.tc-mega__text small {
	display: block;
	margin-top: 3px;
	color: rgba(245, 242, 234, .72);
	font-size: 13px;
	line-height: 1.45;
}

.tc-mega__feature [class^="icon-"] {
	color: #f1d68c;
	font-size: 9px;
}

.tc-mega__list,
.tc-mega__cities {
	padding: 28px 26px 24px;
}

.tc-mega__list ul,
.tc-mega__cities ul {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4px 14px;
	margin: 0 0 16px;
	padding: 0;
	list-style: none;
}

.tc-mega__cities ul {
	grid-template-columns: repeat(3, 1fr);
}

.tc-mega__list li,
.tc-mega__cities li {
	margin: 0;
	padding: 0;
}

.tc-mega__list li::before,
.tc-mega__cities li::before,
.tc-drawer__list li::before {
	display: none !important;
}

.tc-mega__list a,
.tc-mega__cities a {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
	padding: 10px;
	border-radius: 12px;
	color: var(--tc-darker) !important;
	text-decoration: none !important;
	transition: background .2s;
}

.tc-mega__list a:hover,
.tc-mega__list a:focus-visible,
.tc-mega__cities a:hover,
.tc-mega__cities a:focus-visible {
	background: var(--tc-cream);
}

.tc-mega__mini {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 10px;
	background: rgba(191, 160, 80, .14);
	color: #75611f;
	transition: background .2s, color .2s;
}

.tc-mega__mini .tc-ico {
	width: 19px;
}

.tc-mega__list a:hover .tc-mega__mini,
.tc-mega__cities a:hover .tc-mega__mini {
	background: var(--tc-darker);
	color: #f1d68c;
}

.tc-mega__list small,
.tc-mega__cities small {
	display: block;
	margin-top: 2px;
	color: #7a7e74;
	font-size: 12.5px;
	line-height: 1.4;
}

.tc-mega__all,
.tc-drawer__all {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #75611f !important;
	font-family: Poppins, sans-serif;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none !important;
}

.tc-mega__all [class^="icon-"],
.tc-drawer__all [class^="icon-"] {
	font-size: 9px;
	transition: transform .25s var(--tc-ease);
}

.tc-mega__all:hover [class^="icon-"],
a:hover > .tc-mega__all [class^="icon-"] {
	transform: translateX(4px);
}

.tc-mega__cta {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 28px 24px;
	border-left: 1px solid #efeadf;
	background: var(--tc-cream);
}

.tc-mega__cta p {
	margin: 0;
	color: #5b6056;
	font-size: 14px;
	line-height: 1.55;
}

.tc-mega__cta .tc-mega__cta-title {
	color: var(--tc-darker);
	font-family: Poppins, sans-serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
}

.tc-mega__cta .tc-hero__btn {
	justify-content: center;
}

.tc-mega__home {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 6px;
	min-height: 100%;
	color: #fff !important;
	text-decoration: none !important;
}

.tc-mega__home .tc-mega__icon {
	width: 58px;
	height: 58px;
	margin-bottom: auto;
}

.tc-mega__home .tc-mega__icon .tc-ico {
	width: 30px;
}

.tc-mega__home .tc-mega__label {
	margin: 18px 0 0;
}

.tc-mega__home strong {
	font-family: Poppins, sans-serif;
	font-size: 24px;
	font-weight: 700;
}

.tc-mega__home small {
	color: rgba(245, 242, 234, .75);
	font-size: 13px;
	line-height: 1.5;
}

.tc-mega__home .tc-mega__all {
	margin-top: 10px;
	color: #f1d68c !important;
}

.tc-mega__foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 18px;
	padding-top: 14px;
	border-top: 1px solid #efeadf;
	color: #7a7e74;
	font-size: 13px;
}

.tc-mega__foot a:not(.tc-mega__all) {
	color: var(--tc-darker);
	font-weight: 600;
}

/* Mobile fold-out drawer */
html.tc-drawer-lock,
html.tc-drawer-lock body {
	overflow: hidden;
}

.tc-drawer {
	position: fixed;
	z-index: 100000;
	inset: 0;
}

.tc-drawer[hidden] {
	display: none;
}

.tc-drawer__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 20, 13, .55);
	backdrop-filter: blur(3px);
	opacity: 0;
	transition: opacity .3s var(--tc-ease);
}

.tc-drawer__panel {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	display: flex;
	flex-direction: column;
	width: min(400px, 90vw);
	overflow: hidden auto;
	overscroll-behavior: contain;
	background:
		radial-gradient(circle at 100% 0%, rgba(241, 214, 140, .16), transparent 45%),
		linear-gradient(170deg, #34452f 0%, #1f2a1c 70%);
	color: #fff;
	box-shadow: -24px 0 60px -20px rgba(0, 0, 0, .6);
	transform: translateX(104%);
	transition: transform .32s var(--tc-ease);
}

.tc-drawer.is-open .tc-drawer__backdrop {
	opacity: 1;
}

.tc-drawer.is-open .tc-drawer__panel {
	transform: none;
}

.tc-drawer__panel > *:not(.tc-electric) {
	position: relative;
}

.tc-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 18px 18px 14px;
}

.tc-drawer__logo {
	display: flex;
	align-items: center;
	gap: 12px;
	color: #fff !important;
	font-family: Poppins, sans-serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.1;
	text-decoration: none !important;
}

.tc-drawer__logo img {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	box-shadow: 0 0 0 2px rgba(241, 214, 140, .5), 0 0 16px rgba(241, 214, 140, .45);
}

.tc-drawer__logo small {
	display: block;
	margin-top: 3px;
	color: #f1d68c;
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: .04em;
}

.tc-drawer__close {
	position: relative;
	flex: 0 0 auto;
	width: 42px;
	height: 42px;
	border: 1px solid rgba(255, 255, 255, .2);
	border-radius: 50%;
	background: rgba(255, 255, 255, .06);
	cursor: pointer;
}

.tc-drawer__close span::before,
.tc-drawer__close span::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 16px;
	height: 2px;
	border-radius: 2px;
	background: #fff;
	transform: translate(-50%, -50%) rotate(45deg);
}

.tc-drawer__close span::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.tc-drawer__actions {
	display: grid;
	grid-template-columns: 1.3fr 1fr;
	gap: 10px;
	padding: 4px 18px 18px;
}

.tc-drawer__action {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 14px;
	border-radius: 14px;
	font-family: Poppins, sans-serif;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.15;
	text-decoration: none !important;
}

.tc-drawer__action small {
	display: block;
	font-size: 11px;
	font-weight: 500;
	opacity: .8;
}

.tc-drawer__action [class^="icon-"] {
	font-size: 18px;
}

.tc-drawer__action--call {
	background: var(--tc-gold);
	color: var(--tc-darker) !important;
}

.tc-drawer__action--estimate {
	border: 1px solid rgba(241, 214, 140, .55);
	color: #fff !important;
}

.tc-drawer__nav {
	flex: 1;
	padding: 6px 10px;
	border-top: 1px solid rgba(255, 255, 255, .1);
}

.tc-drawer__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 15px 10px;
	border: 0;
	border-bottom: 1px solid rgba(255, 255, 255, .08);
	background: none;
	color: #fff !important;
	font-family: Poppins, sans-serif;
	font-size: 18px;
	font-weight: 600;
	text-align: left;
	text-decoration: none !important;
	cursor: pointer;
}

.tc-drawer__chev {
	width: 10px;
	height: 10px;
	border-right: 2px solid #f1d68c;
	border-bottom: 2px solid #f1d68c;
	transform: rotate(45deg) translate(-2px, -2px);
	transition: transform .25s var(--tc-ease);
}

.tc-drawer__toggle[aria-expanded="true"] .tc-drawer__chev {
	transform: rotate(-135deg);
}

.tc-drawer__sub {
	padding: 14px 6px 18px;
	animation: tc-drawer-sub .3s var(--tc-ease);
}

@keyframes tc-drawer-sub {
	from { opacity: 0; transform: translateY(-6px); }
	to { opacity: 1; transform: none; }
}

.tc-drawer__label {
	margin: 4px 4px 10px;
	font-size: 11px;
}

.tc-drawer__feature {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
	margin-bottom: 8px;
	padding: 10px;
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: 14px;
	background: rgba(255, 255, 255, .05);
	color: #fff !important;
	text-decoration: none !important;
}

.tc-drawer__feature .tc-mega__icon {
	width: 42px;
	height: 42px;
}

.tc-drawer__feature strong {
	display: block;
	font-family: Poppins, sans-serif;
	font-size: 15px;
}

.tc-drawer__feature small {
	display: block;
	color: rgba(245, 242, 234, .7);
	font-size: 12.5px;
	line-height: 1.4;
}

.tc-drawer__list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 6px;
	margin: 0 0 14px;
	padding: 0;
	list-style: none;
}

.tc-drawer__list li {
	margin: 0;
	padding: 0;
}

.tc-drawer__list a {
	display: block;
	height: 100%;
	padding: 10px 12px;
	border-radius: 10px;
	background: rgba(255, 255, 255, .06);
	color: rgba(255, 255, 255, .92) !important;
	font-size: 13.5px;
	line-height: 1.3;
	text-decoration: none !important;
}

.tc-drawer__cities {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	margin-bottom: 14px;
}

.tc-drawer__cities a {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 11px 12px;
	border-radius: 12px;
	background: rgba(255, 255, 255, .06);
	color: #fff !important;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none !important;
}

.tc-drawer__cities a.is-home {
	grid-column: 1 / -1;
	border: 1px solid rgba(241, 214, 140, .5);
	background: rgba(241, 214, 140, .12);
}

.tc-drawer__cities a.is-home::after {
	content: "Home base";
	margin-left: auto;
	color: #f1d68c;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.tc-drawer__cities .tc-ico {
	width: 16px;
	color: #f1d68c;
}

.tc-drawer__all {
	margin: 2px 4px 0;
	color: #f1d68c !important;
}

.tc-drawer__foot {
	padding: 18px 20px 26px;
	border-top: 1px solid rgba(255, 255, 255, .1);
	color: rgba(245, 242, 234, .75);
	font-size: 13px;
}

.tc-drawer__foot p {
	display: flex;
	gap: 10px;
	margin: 0 0 8px;
}

.tc-drawer__foot [class^="icon-"] {
	color: #f1d68c;
}

.tc-drawer__foot a {
	color: rgba(245, 242, 234, .9) !important;
}

.tc-drawer__foot .tc-drawer__trust {
	margin: 12px 0 0;
	color: #f1d68c;
	font-family: Poppins, sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
}

@media (prefers-reduced-motion: reduce) {
	.tt-logo:hover,
	.tt-logo:focus-visible {
		transform: none;
	}

	.tt-logo:hover .tt-icon img {
		animation: none;
	}

	.tc-drawer__panel,
	.tc-mega {
		transition: none;
	}
}

/* The theme styles every nested list in the nav as a dropdown; undo that inside the mega panels */
#tt-nav > ul > li .tc-mega ul,
#tt-nav > ul > li:hover .tc-mega ul {
	position: static !important;
	top: auto !important;
	left: auto !important;
	z-index: auto !important;
	width: auto !important;
	min-width: 0 !important;
	margin: 0 0 16px !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
	opacity: 1 !important;
	visibility: inherit !important;
	transform: none !important;
}

#tt-nav > ul > li .tc-mega ul li {
	width: auto;
	margin: 0;
	padding: 0;
	border: 0;
}

#tt-nav > ul > li .tc-mega ul li a {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
	padding: 10px;
	border-radius: 12px;
	color: var(--tc-darker);
	font-size: 15px;
	line-height: 1.3;
	white-space: normal;
}

#tt-nav > ul > li .tc-mega ul li a:hover,
#tt-nav > ul > li .tc-mega ul li a:focus-visible {
	background: var(--tc-cream);
	color: var(--tc-darker);
}

#tt-nav > ul > li .tc-mega ul li a::before,
#tt-nav > ul > li .tc-mega ul li a::after {
	display: none !important;
}

/* The theme's white shine sweep on the logo badge reads as a box once the logo glows and leans */
.tt-logo .tt-icon::before,
.tt-logo .tt-icon::after {
	display: none !important;
}

/* Mega menu footer links: keep them on one line (the theme's nav link rules were stacking each word) */
#tt-nav .tc-mega .tc-mega__all,
#tt-nav .tc-mega .tc-mega__foot a {
	display: inline-flex !important;
	flex-direction: row !important;
	width: auto !important;
	height: auto !important;
	padding: 0 !important;
	line-height: 1.4 !important;
	white-space: nowrap;
}

#tt-nav .tc-mega .tc-mega__foot span {
	white-space: nowrap;
}

/* Drawer accordion buttons: the theme paints buttons gold on focus */
.tc-drawer .tc-drawer__toggle,
.tc-drawer .tc-drawer__toggle:hover,
.tc-drawer .tc-drawer__toggle:focus {
	background: none !important;
	box-shadow: none !important;
	color: #fff !important;
}

.tc-drawer .tc-drawer__toggle[aria-expanded="true"] {
	color: #f1d68c !important;
}

/* Mega menus, revised: two purposeful columns plus a full-width call-to-action bar */
@media (min-width: 992px) {
	.tc-mega__inner--services {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.55fr);
	}

	.tc-mega__inner--areas {
		grid-template-columns: minmax(0, .8fr) minmax(0, 2fr);
	}

	.tc-mega__inner--resources {
		grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	}

	.tc-mega--narrow {
		width: min(900px, 94vw);
	}
}

.tc-mega__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
}

.tc-mega__head .tc-mega__label {
	margin: 0;
}

.tc-mega__all--light {
	color: #f1d68c !important;
}

#tt-nav > ul > li .tc-mega ul {
	align-items: start;
	margin-bottom: 0 !important;
}

.tc-mega__list--single ul,
#tt-nav > ul > li .tc-mega .tc-mega__list--single ul {
	grid-template-columns: 1fr;
}

.tc-mega__home {
	justify-content: flex-start;
	gap: 8px;
}

.tc-mega__home-top {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 10px;
}

.tc-mega__home .tc-mega__home-top .tc-mega__icon {
	width: 46px;
	height: 46px;
	margin: 0;
}

.tc-mega__home .tc-mega__home-top .tc-mega__icon .tc-ico {
	width: 24px;
}

.tc-mega__home .tc-mega__home-top .tc-mega__label {
	margin: 0;
}

.tc-mega__home .tc-mega__all {
	margin-top: auto;
	padding-top: 14px;
}

.tc-mega__bar {
	display: flex;
	grid-column: 1 / -1;
	align-items: center;
	justify-content: space-between;
	gap: 14px 24px;
	padding: 16px 26px;
	border-top: 1px solid #efeadf;
	background: var(--tc-cream);
}

.tc-mega__bar p {
	margin: 0;
	color: #4b5047;
	font-size: 14px;
	line-height: 1.5;
}

.tc-mega__bar-actions {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 18px;
}

#tt-nav .tc-mega .tc-mega__phone {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	padding: 0 !important;
	color: var(--tc-darker) !important;
	font-family: Poppins, sans-serif;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.2 !important;
	white-space: nowrap;
}

.tc-mega__phone [class^="icon-"] {
	color: #75611f;
}

#tt-nav .tc-mega .tc-mega__bar .tc-hero__btn {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	padding: 12px 20px !important;
	font-size: 14px;
	line-height: 1.2 !important;
	white-space: nowrap;
}

.tc-mega__featured .tc-mega__head {
	margin-bottom: 14px;
}

.tc-drawer__list--wide {
	grid-template-columns: 1fr 1fr;
}

/* Blog landing, revised: featured guide, problem shortcuts, grid with a CTA card, popular questions */
.tc-blog__featured {
	margin-bottom: 64px;
}

.tc-blog__featured > .tc-eyebrow {
	margin-bottom: 14px;
}

.tc-post-card--featured {
	margin-bottom: 0;
	border: 0;
	background:
		radial-gradient(circle at 95% 10%, rgba(241, 214, 140, .14), transparent 45%),
		linear-gradient(150deg, #34452f 0%, #1f2a1c 100%);
	box-shadow: 0 30px 60px -34px rgba(31, 42, 28, .6);
}

.tc-post-card--featured .tc-post-card__media {
	position: relative;
	min-height: 0;
	height: 100%;
	max-height: 440px;
}

.tc-post-card--featured .tc-post-card__img {
	position: absolute;
	inset: 0;
}

.tc-post-card--featured .tc-post-card__title a {
	color: #fff;
}

.tc-post-card--featured .tc-post-card__title a:hover {
	color: #f1d68c;
}

.tc-post-card--featured .tc-post-card__excerpt {
	color: rgba(245, 242, 234, .82);
}

.tc-post-card--featured .tc-post-card__meta {
	color: rgba(245, 242, 234, .7);
}

.tc-post-card--featured .tc-post-card__cat {
	background: rgba(241, 214, 140, .16);
	color: #f1d68c;
}

.tc-post-card--featured .tc-area-feature__more {
	align-self: flex-start;
	margin-top: 6px;
	padding: 13px 22px;
	border-radius: 999px;
	background: var(--tc-gold);
	color: var(--tc-darker);
}

/* Problem shortcuts */
.tc-situations {
	margin-bottom: 72px;
}

.tc-situations__head {
	margin-bottom: 28px;
	text-align: center;
}

.tc-situations__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

a.tc-situation {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 24px 22px 54px;
	border: 1px solid #e6e1d3;
	border-radius: var(--tc-radius);
	background: #fff;
	color: inherit;
	text-decoration: none;
	transition: transform .35s var(--tc-ease), box-shadow .35s, border-color .35s;
}

a.tc-situation:hover {
	border-color: var(--tc-gold);
	transform: translateY(-5px);
	box-shadow: 0 24px 46px -26px rgba(31, 42, 28, .45);
}

.tc-situation__icon {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	margin-bottom: 6px;
	border-radius: 50%;
	background: linear-gradient(160deg, #34452f 0%, #1f2a1c 100%);
	color: #f1d68c;
}

.tc-situation__icon .tc-ico {
	width: 26px;
	filter: drop-shadow(0 0 3px rgba(241, 214, 140, .7));
}

.tc-situation__q {
	color: var(--tc-darker);
	font-family: Poppins, sans-serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
}

.tc-situation__a {
	color: #5b6056;
	font-size: 14.5px;
	line-height: 1.55;
}

.tc-situation__go {
	position: absolute;
	right: 20px;
	bottom: 18px;
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--tc-cream);
	color: #75611f;
	font-size: 9px;
	transition: background .3s, color .3s;
}

a.tc-situation:hover .tc-situation__go {
	background: var(--tc-gold);
	color: var(--tc-darker);
}

.tc-blog__intro--grid {
	margin-bottom: 22px;
}

/* Filters: quiet outlined tabs (the theme paints buttons gold) */
.tc-blog .tc-blog__filter,
.tc-blog .tc-blog__filter:focus {
	border: 1px solid #e6e1d3 !important;
	background: #fff !important;
	box-shadow: none !important;
	color: var(--tc-darker) !important;
}

.tc-blog .tc-blog__filter:hover {
	border-color: var(--tc-gold) !important;
}

.tc-blog .tc-blog__filter.is-active {
	border-color: var(--tc-darker) !important;
	background: var(--tc-darker) !important;
	color: #fff !important;
}

/* CTA card in the grid */
.tc-post-card--cta {
	position: relative;
	overflow: hidden;
	border: 0;
	background:
		radial-gradient(circle at 90% 0%, rgba(241, 214, 140, .16), transparent 50%),
		linear-gradient(160deg, #34452f 0%, #1f2a1c 100%);
}

.tc-post-card--cta:hover {
	transform: none;
}

.tc-post-card--cta > .tc-electric {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: .35;
	pointer-events: none;
}

.tc-post-card--cta .tc-post-card__body {
	position: relative;
	justify-content: center;
	gap: 14px;
	padding: 30px 26px;
}

.tc-post-card--cta .tc-eyebrow {
	margin: 0;
}

.tc-post-card--cta .tc-post-card__title {
	color: #fff;
	font-size: 22px;
}

.tc-post-card--cta .tc-post-card__excerpt {
	flex: 0 0 auto;
	color: rgba(245, 242, 234, .8);
}

.tc-post-card--cta .tc-hero__btn {
	justify-content: center;
}

.tc-popular-faq {
	margin-top: 80px;
}

/* Resources hub */
.tc-resources__intro {
	max-width: 760px;
	margin: 0 auto;
	text-align: center;
}

.tc-resources__intro > p:not(.tc-eyebrow) {
	color: #5b6056;
	font-size: 16.5px;
	line-height: 1.7;
}

.tc-resources__doors {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 22px;
}

a.tc-door {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 10px;
	overflow: hidden;
	padding: 34px 32px;
	border: 1px solid #e6e1d3;
	border-radius: 20px;
	background: #fff;
	color: inherit;
	text-decoration: none;
	transition: transform .35s var(--tc-ease), box-shadow .35s;
}

a.tc-door:hover {
	transform: translateY(-5px);
	box-shadow: 0 28px 54px -30px rgba(31, 42, 28, .5);
}

a.tc-door--dark {
	border: 0;
	background: linear-gradient(150deg, #34452f 0%, #1f2a1c 100%);
	color: #fff;
}

a.tc-door > .tc-electric {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: .35;
	pointer-events: none;
}

a.tc-door > *:not(.tc-electric) {
	position: relative;
}

.tc-door__icon {
	display: grid;
	place-items: center;
	width: 60px;
	height: 60px;
	margin-bottom: 8px;
	border-radius: 50%;
	background: linear-gradient(160deg, #34452f 0%, #1f2a1c 100%);
	color: #f1d68c;
}

.tc-door--dark .tc-door__icon {
	border: 1px solid rgba(241, 214, 140, .45);
	background: rgba(255, 255, 255, .05);
}

.tc-door__icon .tc-ico {
	width: 30px;
}

.tc-door__meta {
	color: #75611f;
	font-family: Poppins, sans-serif;
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.tc-door--dark .tc-door__meta,
.tc-door--dark .tc-door__go {
	color: #f1d68c;
}

.tc-door__title {
	color: var(--tc-darker);
	font-family: Poppins, sans-serif;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.2;
}

.tc-door--dark .tc-door__title {
	color: #fff;
}

.tc-door__text {
	color: #5b6056;
	font-size: 15.5px;
	line-height: 1.6;
}

.tc-door--dark .tc-door__text {
	color: rgba(245, 242, 234, .82);
}

.tc-door__go {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 8px;
	color: #75611f;
	font-family: Poppins, sans-serif;
	font-size: 15px;
	font-weight: 600;
}

.tc-door__go [class^="icon-"] {
	font-size: 9px;
}

.tc-resources__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 26px;
}

.tc-resources__head .tc-area__h2 {
	margin-bottom: 0;
}

@media (max-width: 991px) {
	.tc-situations__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.tc-blog__featured,
	.tc-situations {
		margin-bottom: 48px;
	}

	.tc-post-card--featured .tc-post-card__media {
		height: auto;
		aspect-ratio: 16 / 10;
	}

	.tc-situations__grid {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	a.tc-situation {
		display: grid;
		grid-template-columns: 46px minmax(0, 1fr);
		gap: 2px 14px;
		padding: 16px 52px 16px 16px;
	}

	.tc-situation__icon {
		grid-row: span 2;
		width: 46px;
		height: 46px;
		margin: 0;
	}

	.tc-situation__q {
		font-size: 16px;
	}

	.tc-situation__a {
		font-size: 13.5px;
	}

	.tc-situation__go {
		top: 50%;
		bottom: auto;
		transform: translateY(-50%);
	}

	.tc-resources__doors {
		grid-template-columns: 1fr;
	}

	a.tc-door {
		padding: 26px 22px;
	}

	.tc-door__title {
		font-size: 22px;
	}

	.tc-popular-faq {
		margin-top: 56px;
	}
}

/* Drawer, refined: no gold fills on the section toggles; open sections get a soft panel instead */
.tc-drawer .tc-drawer__toggle[aria-expanded="true"] {
	border-bottom-color: transparent;
	color: #fff !important;
}

.tc-drawer__group:has(.tc-drawer__toggle[aria-expanded="true"]) {
	margin: 4px 0;
	border-radius: 16px;
	background: rgba(255, 255, 255, .05);
}

.tc-drawer__chev {
	position: relative;
	flex: 0 0 auto;
	width: 30px;
	height: 30px;
	border: 1px solid rgba(241, 214, 140, .45);
	border-radius: 50%;
	transform: none;
}

.tc-drawer__chev::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 8px;
	height: 8px;
	border-right: 2px solid #f1d68c;
	border-bottom: 2px solid #f1d68c;
	transform: translate(-50%, -70%) rotate(45deg);
	transition: transform .25s var(--tc-ease);
}

.tc-drawer__chev,
.tc-drawer__toggle[aria-expanded="true"] .tc-drawer__chev {
	border-right: 1px solid rgba(241, 214, 140, .45);
	border-bottom: 1px solid rgba(241, 214, 140, .45);
	transform: none;
}

.tc-drawer__toggle[aria-expanded="true"] .tc-drawer__chev {
	background: rgba(241, 214, 140, .15);
}

.tc-drawer__toggle[aria-expanded="true"] .tc-drawer__chev::before {
	transform: translate(-50%, -30%) rotate(-135deg);
}

.tc-drawer__sub {
	padding: 4px 12px 18px;
}

/* Footer contact lines: icons centered on the text */
.tc-drawer__foot p {
	align-items: center;
	line-height: 1.45;
}

.tc-drawer__foot p [class^="icon-"] {
	display: inline-flex;
	flex: 0 0 18px;
	justify-content: center;
	font-size: 15px;
	line-height: 1;
}

.tc-drawer__foot .tc-drawer__trust {
	display: block;
}

/* Action buttons: icon and label line up */
.tc-drawer__action [class^="icon-"] {
	display: inline-flex;
	flex: 0 0 22px;
	justify-content: center;
	line-height: 1;
}

/* Drawer call button: keep the phone number on one line */
.tc-drawer__action {
	padding: 12px;
	font-size: 14.5px;
	white-space: nowrap;
}

.tc-drawer__actions {
	grid-template-columns: 1.35fr 1fr;
	gap: 8px;
}

/* About page: owner story, what drives us, family section */
.tc-about-story {
	padding: 88px 0 40px;
}

.tc-about-story__grid {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
	gap: 64px;
	align-items: center;
}

.tc-about-quote {
	position: relative;
	margin: 0;
	padding: 56px 48px 44px;
	overflow: hidden;
	border-radius: 24px;
	background:
		radial-gradient(circle at 85% 10%, rgba(241, 214, 140, .18), transparent 50%),
		linear-gradient(155deg, #3a4c34 0%, #1f2a1c 100%);
	box-shadow: 0 36px 70px -36px rgba(31, 42, 28, .7);
}

.tc-about-quote > .tc-electric {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: .35;
	pointer-events: none;
}

.tc-about-quote > *:not(.tc-electric) {
	position: relative;
}

.tc-about-quote__mark {
	display: block;
	height: 70px;
	color: #f1d68c;
	font-family: Georgia, serif;
	font-size: 130px;
	line-height: 1;
	text-shadow: 0 0 22px rgba(241, 214, 140, .6);
}

.tc-about-quote blockquote {
	margin: 0;
	padding: 0;
	border: 0;
}

.tc-about-quote blockquote p {
	margin: 0;
	color: #fff;
	font-family: Poppins, sans-serif;
	font-size: 34px;
	font-weight: 700;
	line-height: 1.25;
}

.tc-about-quote figcaption {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 32px;
	padding-top: 24px;
	border-top: 1px solid rgba(241, 214, 140, .25);
}

.tc-about-quote figcaption img {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	box-shadow: 0 0 0 3px rgba(241, 214, 140, .45), 0 0 16px rgba(241, 214, 140, .45);
}

.tc-about-quote figcaption span {
	color: rgba(245, 242, 234, .75);
	font-size: 14.5px;
	line-height: 1.4;
}

.tc-about-quote figcaption strong {
	display: block;
	color: #f1d68c;
	font-family: Poppins, sans-serif;
	font-size: 18px;
}

.tc-about-story__copy p:not(.tc-eyebrow) {
	color: #4b5047;
	font-size: 17px;
	line-height: 1.8;
}

.tc-about-story__copy strong {
	color: var(--tc-darker);
}

.tc-about-drives {
	margin-top: 88px;
}

.tc-about-drives__head {
	margin-bottom: 30px;
	text-align: center;
}

.tc-about-drives__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
}

.tc-about-drive {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 28px 24px;
	border: 1px solid #e6e1d3;
	border-radius: var(--tc-radius);
	background: #fff;
	transition: transform .35s var(--tc-ease), box-shadow .35s, border-color .35s;
}

.tc-about-drive:hover {
	border-color: var(--tc-gold);
	transform: translateY(-5px);
	box-shadow: 0 24px 46px -26px rgba(31, 42, 28, .45);
}

.tc-about-drive__icon {
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	margin-bottom: 6px;
	border-radius: 50%;
	background: linear-gradient(160deg, #34452f 0%, #1f2a1c 100%);
	color: #f1d68c;
}

.tc-about-drive__icon .tc-ico {
	width: 27px;
	filter: drop-shadow(0 0 3px rgba(241, 214, 140, .7));
}

.tc-about-drive h3 {
	margin: 0;
	color: var(--tc-darker);
	font-family: Poppins, sans-serif;
	font-size: 19px;
	font-weight: 700;
	line-height: 1.3;
}

.tc-about-drive p {
	margin: 0;
	color: #5b6056;
	font-size: 14.5px;
	line-height: 1.65;
}

.tc-about-drive .tc-about-drive__quote {
	padding-left: 14px;
	border-left: 3px solid var(--tc-gold);
	color: var(--tc-darker);
	font-family: Poppins, sans-serif;
	font-size: 15.5px;
	font-style: italic;
	font-weight: 500;
	line-height: 1.5;
}

.tc-about-family {
	padding: 88px 0;
	background: var(--tc-cream);
}

.tc-about-family__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 64px;
	align-items: center;
}

.tc-about-family__photos {
	position: relative;
	height: 520px;
}

.tc-about-family__photo {
	position: absolute;
	object-fit: cover;
	border: 6px solid #fff;
	border-radius: 18px;
	box-shadow: 0 28px 50px -26px rgba(31, 42, 28, .55);
}

.tc-about-family__photo--1 {
	top: 0;
	left: 0;
	width: 58%;
	height: 72%;
	z-index: 1;
}

.tc-about-family__photo--2 {
	right: 0;
	top: 8%;
	width: 46%;
	height: 52%;
	z-index: 2;
}

.tc-about-family__photo--3 {
	right: 8%;
	bottom: 0;
	width: 50%;
	height: 42%;
	z-index: 3;
}

.tc-about-family__badge {
	position: absolute;
	z-index: 4;
	left: 6%;
	bottom: 6%;
	padding: 16px 20px;
	border-radius: 16px;
	background: var(--tc-darker);
	color: rgba(245, 242, 234, .8);
	font-size: 13.5px;
	box-shadow: 0 18px 34px -18px rgba(0, 0, 0, .6);
}

.tc-about-family__badge strong {
	display: block;
	color: #f1d68c;
	font-family: Poppins, sans-serif;
	font-size: 22px;
}

.tc-about-family__copy > p:not(.tc-eyebrow) {
	color: #4b5047;
	font-size: 17px;
	line-height: 1.75;
}

.tc-about-family__list {
	display: grid;
	gap: 12px;
	margin: 24px 0 30px;
	padding: 0;
	list-style: none;
}

.tc-about-family__list li {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 0;
	color: var(--tc-darker);
	font-weight: 600;
}

.tc-about-family__list li::before {
	display: none !important;
}

.tc-about-family__list .tc-ico {
	flex: 0 0 22px;
	width: 22px;
	color: #75611f;
}

.tc-hero__btn--outline {
	border: 2px solid var(--tc-darker) !important;
	background: transparent !important;
	color: var(--tc-darker) !important;
}

.tc-hero__btn--outline:hover {
	background: var(--tc-darker) !important;
	color: #fff !important;
}

@media (max-width: 991px) {
	.tc-about-story__grid,
	.tc-about-family__grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}

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

@media (max-width: 767px) {
	.tc-about-story {
		padding: 56px 0 24px;
	}

	.tc-about-quote {
		padding: 40px 26px 30px;
	}

	.tc-about-quote__mark {
		height: 50px;
		font-size: 96px;
	}

	.tc-about-quote blockquote p {
		font-size: 25px;
	}

	.tc-about-drives {
		margin-top: 56px;
	}

	.tc-about-drives__grid {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.tc-about-family {
		padding: 56px 0;
	}

	.tc-about-family__photos {
		height: 360px;
	}
}

/* The theme team section is hidden in Elementor; show it now that it holds the family section */
.elementor-section:has(.tc-about-family) {
	display: block !important;
}

/* Family photos: a tidy grid (one tall photo, two stacked) */
.tc-about-family__photos {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 14px;
	height: 500px;
}

.tc-about-family .tc-about-family__photo {
	position: static;
	width: 100% !important;
	height: 100% !important;
	max-width: none;
	border: 0;
	border-radius: 18px !important;
	object-fit: cover;
	box-shadow: 0 22px 44px -26px rgba(31, 42, 28, .55);
}

.tc-about-family .tc-about-family__photo--1 {
	grid-row: 1 / span 2;
}

.tc-about-family__badge {
	left: 18px;
	bottom: 18px;
}

@media (max-width: 767px) {
	.tc-about-family__photos {
		height: 380px;
		gap: 10px;
	}
}

/* About page, reordered: the family section sits between BJ's words and the credentials */
.tc-about-family {
	padding: 24px 0 88px;
	background: none;
}

.tc-about-family__grid {
	padding: 44px;
	border: 1px solid #e6e1d3;
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 30px 60px -40px rgba(31, 42, 28, .45);
}

.page-id-2164 .elementor-section:has(.elementor-widget-ele_banner_1),
.page-id-2164 .elementor-section:has(.elementor-widget-electrician-bulb) {
	display: none !important;
}

@media (max-width: 767px) {
	.tc-about-family {
		padding: 8px 0 56px;
	}

	.tc-about-family__grid {
		padding: 22px 18px;
	}
}

/* Family photos: rows share the height instead of growing to the photos' natural size */
.tc-about-family__photos {
	grid-template-rows: repeat(2, minmax(0, 1fr));
}

.tc-about-family .tc-about-family__photo {
	min-height: 0;
}

.tc-about-family {
	padding-bottom: 40px;
}

/* Page FAQ band: run the cream background edge to edge (the content area is boxed) */
.tc-page-faq-wrap {
	box-shadow: 0 0 0 100vmax var(--tc-cream);
	clip-path: inset(0 -100vmax);
}

/* Footer bottom bar: copyright on the left, site credit on the right */
#tt-footer .f-copyright {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 6px 24px;
}

#tt-footer .f-copyright .tc-credit {
	margin-left: auto;
}

#tt-footer .f-copyright .tc-credit a {
	font-weight: 600;
}

@media (max-width: 575px) {
	#tt-footer .f-copyright {
		justify-content: center;
		text-align: center;
	}

	#tt-footer .f-copyright .tc-credit {
		margin-left: 0;
	}
}

/* ==========================================================================
   Electric yellow accent: the "electricity" (neon signs, traveling current, glowing icons)
   is electric yellow. Gold stays on buttons, badges, and links.
   ========================================================================== */
:root {
	--tc-lime: #ffe23d;
	--tc-lime-bright: #fff38a;
	--tc-lime-glow: rgba(255, 226, 61, .9);
}

/* Neon signs in the page heroes */
.tc-neon {
	filter: drop-shadow(0 0 3px rgba(255, 243, 138, .95)) drop-shadow(0 0 12px rgba(255, 226, 61, .75)) drop-shadow(0 0 30px rgba(255, 226, 61, .35));
}

.tc-neon__tube,
.tc-neon--icon .tc-neon__tube * {
	stroke: var(--tc-lime);
}

.tc-neon__core,
.tc-neon--icon .tc-neon__core * {
	stroke: #fffbe0;
}

/* Current traveling along the circuit traces */
.tc-electric .pulse,
.tc-svc-art .dot,
.tc-process__line .dot {
	stroke: var(--tc-lime);
	filter: drop-shadow(0 0 4px var(--tc-lime-glow));
}

/* Glowing icons on the dark olive circles and cards */
.tc-svc-art__icon,
.tc-mega__icon,
.tc-situation__icon,
.tc-about-drive__icon,
.tc-area-city__pin,
.tc-door__icon {
	color: var(--tc-lime-bright);
}

.tc-svc-art__icon .tc-ico,
.tc-mega__icon .tc-ico,
.tc-situation__icon .tc-ico,
.tc-about-drive__icon .tc-ico,
.tc-area-city__pin .tc-ico,
.tc-door__icon .tc-ico,
.tc-process__icon .tc-ico {
	filter: drop-shadow(0 0 4px rgba(255, 226, 61, .75));
}

.tc-mega__icon,
.tc-door--dark .tc-door__icon,
a.tc-area-city--home .tc-area-city__pin {
	border-color: rgba(255, 226, 61, .45);
}

a.tc-area-city:hover .tc-area-city__pin {
	box-shadow: 0 0 0 6px rgba(255, 226, 61, .16), 0 0 22px rgba(255, 226, 61, .45);
}

/* Services cards on mobile: the badge sits above the title instead of over it */
@media (max-width: 767px) {
	.tt-obj .tc-svc-badge {
		top: auto;
		bottom: 8px;
		left: 6px;
		padding: 3px 6px;
		font-size: 8px;
		letter-spacing: .04em;
		box-shadow: none;
	}
}

/* Gold buttons and CTAs: a soft electric-yellow glow in the center instead of flat gold */
.tc-hero__btn--primary,
.tt-btn.btn__color01,
.tc-drawer__action--call,
.tc-mega__bar .tc-hero__btn--primary {
	background-color: #bfa050 !important;
	background-image: radial-gradient(ellipse 70% 90% at 50% 50%, rgba(255, 236, 140, .55) 0%, rgba(255, 226, 61, .18) 45%, rgba(191, 160, 80, 0) 75%) !important;
	transition: background-color .3s, box-shadow .3s, transform .3s var(--tc-ease);
}

.tc-hero__btn--primary:hover,
.tt-btn.btn__color01:hover,
.tc-drawer__action--call:hover {
	background-image: radial-gradient(ellipse 80% 100% at 50% 50%, rgba(255, 243, 160, .75) 0%, rgba(255, 226, 61, .28) 50%, rgba(191, 160, 80, 0) 80%) !important;
	box-shadow: 0 0 0 1px rgba(255, 226, 61, .35), 0 10px 26px -10px rgba(255, 226, 61, .55);
}

.tc-footer-cta {
	background-image: radial-gradient(ellipse 50% 120% at 50% 50%, rgba(255, 236, 140, .45), rgba(255, 226, 61, 0) 70%), linear-gradient(110deg, #bfa050, #d1b46a) !important;
}

.tc-svc-badge,
.tc-post-card--featured .tc-area-feature__more,
a.tc-area-city--home .tc-area-feature__more {
	background-image: radial-gradient(ellipse 70% 100% at 50% 50%, rgba(255, 236, 140, .5), rgba(191, 160, 80, 0) 75%);
}

/* Stats: the "Same-Day" word value is longer than the numbers beside it */
.tt-value .tc-value-word {
	display: inline-block;
	font-size: .62em;
	line-height: 1.6;
	white-space: nowrap;
}

/* Gold buttons: no outline or ring; text stays dark on hover while the glow brightens */
.tc-hero__btn--primary,
.tc-hero__btn--primary:hover,
.tc-hero__btn--primary:focus,
.tt-btn.btn__color01,
.tt-btn.btn__color01:hover,
.tt-btn.btn__color01:focus,
.tc-drawer__action--call,
.tc-drawer__action--call:hover {
	border-color: transparent !important;
	color: var(--tc-darker) !important;
}

.tc-hero__btn--primary:hover,
.tt-btn.btn__color01:hover,
.tc-drawer__action--call:hover {
	background-color: #c9a957 !important;
	box-shadow: 0 10px 26px -10px rgba(255, 226, 61, .6) !important;
	transform: translateY(-1px);
}

.tc-hero__btn--primary:hover [class^="icon-"],
.tt-btn.btn__color01:hover [class^="icon-"] {
	color: var(--tc-darker) !important;
}

/* Clickable cards */
.tt-obj,
.tt-box02,
.tc-post-card:not(.tc-post-card--cta) {
	cursor: pointer;
}

.tt-obj {
	transition: transform .35s var(--tc-ease), box-shadow .35s;
}

.tt-obj:hover {
	transform: translateY(-4px);
	box-shadow: 0 24px 46px -26px rgba(31, 42, 28, .45);
}

.tt-obj:hover .tt-obj__title a,
.tt-box02:hover .tt-box02__title a {
	color: #75611f;
}

/* Home stats row: title plus three equal stat cards on one line (the longer Same-Day card wrapped) */
@media (min-width: 768px) {
	.tt-info-value.row {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 20px;
		align-items: stretch;
	}

	.tt-info-value.row > .tt-col-title {
		grid-column: 1 / -1;
		max-width: none;
		width: auto;
		padding: 0;
	}

	.tt-info-value.row > .col-auto {
		width: auto;
		max-width: none;
		margin: 0 !important;
		padding: 0;
	}

	.tt-info-value .tt-item {
		width: 100%;
		height: 100%;
		margin: 0;
	}
}

@media (min-width: 1200px) {
	.tt-info-value.row {
		grid-template-columns: minmax(0, 1.15fr) repeat(3, minmax(0, 1fr));
		align-items: center;
	}

	.tt-info-value.row > .tt-col-title {
		grid-column: auto;
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.tt-info-value.row {
		margin: 0;
		padding-left: 16px;
		padding-right: 16px;
	}
}

/* About page: stack the stat boxes to fill the space beside the tall photo */
@media (min-width: 992px) {
	.page-id-2164 .layout01__content .tt-box04-wrapper {
		display: grid;
		gap: 16px;
		max-width: 420px;
	}

	.page-id-2164 .layout01__content .tt-box04-wrapper > .col-6 {
		max-width: none;
		width: 100%;
		margin: 0;
	}

	.page-id-2164 .layout01__content .tt-box04 {
		margin: 0;
	}
}

/* About credentials block: stat number and label on one line; photo matches the text height */
.page-id-2164 .layout01__content .tt-box04__content {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 2px 12px;
}

.page-id-2164 .layout01__content .tt-box04__content .tt-title,
.page-id-2164 .layout01__content .tt-box04__content p {
	margin: 0;
}

@media (min-width: 992px) {
	.page-id-2164 .layout01 {
		display: flex;
		align-items: stretch;
	}

	.page-id-2164 .layout01__content-wrapper {
		min-height: 0 !important;
	}

	.page-id-2164 .layout01__img,
	.page-id-2164 .layout01__img .tt-img-main {
		position: relative;
		min-height: 100%;
	}

	.page-id-2164 .layout01__img .tt-img-main img {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center 35%;
	}
}

/* About: licensing and trust band */
.tc-creds {
	padding: 24px 0 40px;
}

.tc-creds__band {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
	gap: 40px;
	align-items: center;
	overflow: hidden;
	padding: 52px 52px;
	border-radius: 24px;
	background:
		radial-gradient(circle at 12% 0%, rgba(255, 226, 61, .12), transparent 45%),
		linear-gradient(150deg, #3a4c34 0%, #1f2a1c 100%);
	box-shadow: 0 34px 70px -40px rgba(31, 42, 28, .7);
}

.tc-creds__band > .tc-electric {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: .35;
	pointer-events: none;
}

.tc-creds__band > *:not(.tc-electric) {
	position: relative;
}

.tc-creds__title {
	margin: 0 0 14px;
	color: #fff;
	font-family: Poppins, sans-serif;
	font-size: 32px;
	font-weight: 700;
	line-height: 1.2;
}

.tc-creds__intro p:not(.tc-eyebrow) {
	margin: 0;
	color: rgba(245, 242, 234, .82);
	font-size: 16.5px;
	line-height: 1.7;
}

.tc-creds__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.tc-creds__item {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin: 0;
	padding: 18px;
	border: 1px solid rgba(255, 226, 61, .18);
	border-radius: 16px;
	background: rgba(255, 255, 255, .05);
}

.tc-creds__item::before {
	display: none !important;
}

.tc-creds__icon {
	display: grid;
	flex: 0 0 44px;
	place-items: center;
	width: 44px;
	height: 44px;
	border: 1px solid rgba(255, 226, 61, .45);
	border-radius: 50%;
	color: var(--tc-lime-bright);
}

.tc-creds__icon .tc-ico {
	width: 22px;
	filter: drop-shadow(0 0 4px rgba(255, 226, 61, .7));
}

.tc-creds__item strong {
	display: block;
	color: #fff;
	font-family: Poppins, sans-serif;
	font-size: 16px;
	line-height: 1.3;
}

.tc-creds__item small {
	display: block;
	margin-top: 4px;
	color: rgba(245, 242, 234, .72);
	font-size: 13.5px;
	line-height: 1.5;
}

@media (max-width: 991px) {
	.tc-creds__band {
		grid-template-columns: 1fr;
		padding: 40px 32px;
	}
}

@media (max-width: 767px) {
	.tc-creds__band {
		gap: 26px;
		padding: 32px 20px;
	}

	.tc-creds__title {
		font-size: 25px;
	}

	.tc-creds__grid {
		grid-template-columns: 1fr;
		gap: 10px;
	}
}

/* Credentials band: no drop shadow (the section below clipped it into a hard edge) */
.tc-creds__band {
	box-shadow: none;
}
