:root {
	--tvm-white: #fff;
	--tvm-warm: #faf7f3;
	--tvm-ink: #18130f;
	--tvm-copy: #514b45;
	--tvm-muted: #756e67;
	--tvm-bronze: #b98248;
	--tvm-bronze-light: #d5b38d;
	--tvm-button: #75491d;
	--tvm-button-hover: #865824;
	--tvm-border: #e8e3dd;
	--tvm-commitment: #2b231b;
	--tvm-footer: #24211f;
	--tvm-footer-copy: #d6cfc7;
	--tvm-display: var(--tvm-font-family, "Inter", Arial, sans-serif);
	--tvm-body: var(--tvm-font-family, "Inter", Arial, sans-serif);
	--tvm-type-item-heading: 1rem;
	--tvm-type-supporting: 0.875rem;
	--tvm-z-header: 30;
	--tvm-z-nav: 40;
}

html {
	scroll-padding-top: 76px;
}

body.tanvinhmy-front-page {
	background: var(--tvm-white);
	color: var(--tvm-ink);
	font-family: var(--tvm-body);
	overflow-x: clip;
}

.tvm-container {
	box-sizing: border-box;
	margin-inline: auto;
	max-width: 1200px;
	width: calc(100% - 48px);
}

.tvm-sr-only {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.tanvinhmy-front-page .site-main,
.tanvinhmy-front-page .page-content,
.tanvinhmy-front-page .entry-content,
.tanvinhmy-front-page .elementor,
.tanvinhmy-front-page .elementor-section,
.tanvinhmy-front-page .elementor-container,
.tanvinhmy-front-page .elementor-column,
.tanvinhmy-front-page .elementor-widget-wrap {
	max-width: none;
}

.tanvinhmy-front-page .page-header,
.tanvinhmy-front-page .entry-title {
	display: none !important;
}

.tanvinhmy-front-page .site-main,
.tanvinhmy-front-page .page-content,
.tanvinhmy-front-page .entry-content,
.tanvinhmy-front-page .elementor-widget-wrap,
.tanvinhmy-front-page .elementor-widget-container {
	margin: 0;
	padding: 0;
}

.elementor-widget-tanvinhmy_hero,
.elementor-widget-tanvinhmy_trust,
.elementor-widget-tanvinhmy_projects,
.elementor-widget-tanvinhmy_services,
.elementor-widget-tanvinhmy_products,
.elementor-widget-tanvinhmy_process,
.elementor-widget-tanvinhmy_commitments,
.elementor-widget-tanvinhmy_hero > .elementor-widget-container,
.elementor-widget-tanvinhmy_trust > .elementor-widget-container,
.elementor-widget-tanvinhmy_projects > .elementor-widget-container,
.elementor-widget-tanvinhmy_services > .elementor-widget-container,
.elementor-widget-tanvinhmy_products > .elementor-widget-container,
.elementor-widget-tanvinhmy_process > .elementor-widget-container,
.elementor-widget-tanvinhmy_commitments > .elementor-widget-container {
	margin: 0 !important;
	padding: 0 !important;
}

/* Header */
.tvm-site-header.th-site-header {
	background: var(--tvm-white);
	border-bottom: 1px solid rgba(117, 73, 29, 0.08);
	box-shadow: 0 2px 8px rgba(35, 25, 18, 0.06);
	height: 76px;
	position: relative;
	z-index: var(--tvm-z-header);
}

.tvm-site-header .th-header-inner {
	gap: 28px;
	height: 76px;
	max-width: 1200px;
	padding: 0;
	width: calc(100% - 48px);
}

.tvm-site-header .th-brand img {
	height: auto;
	max-height: 42px;
	object-fit: contain;
	width: 168px;
}

.tvm-site-header .th-primary-nav {
	gap: 27px;
	justify-content: center;
}

.tvm-site-header .th-nav-item,
.tvm-site-header .th-nav-item > a {
	height: 76px;
}

.tvm-site-header .th-nav-item > a {
	border-radius: 999px;
	color: #302a24;
	font-size: var(--tvm-type-supporting);
	font-weight: 500;
	line-height: 32px;
	padding: 0 2px;
	transition: color 180ms ease-out, background-color 180ms ease-out;
}

.tanvinhmy-front-page .tvm-site-header .th-nav-item:first-child > a,
.tvm-site-header .th-nav-item.is-current > a {
	background: #faf4ec;
	color: var(--tvm-button);
	font-weight: 600;
	height: 32px;
	padding-inline: 18px;
}

.tanvinhmy-front-page .tvm-site-header .th-nav-item.is-current:not(:first-child) > a {
	background: transparent;
	color: #302a24;
	font-weight: 500;
	height: 76px;
	padding-inline: 2px;
}

.tvm-site-header .th-nav-item.is-current > a::after {
	display: none;
}

.tvm-site-header .th-nav-item > a:hover,
.tvm-site-header .th-nav-item > a:focus-visible {
	color: var(--tvm-button);
}

.tvm-site-header .tvm-header-phone {
	align-items: center;
	background: transparent;
	border: 0;
	box-shadow: none;
	color: #302a24;
	display: inline-flex;
	font-size: var(--tvm-type-supporting);
	font-weight: 700;
	gap: 9px;
	padding: 0;
	white-space: nowrap;
}

.tvm-site-header .tvm-header-phone i {
	align-items: center;
	background: var(--tvm-button);
	border-radius: 50%;
	color: #fff;
	display: inline-flex;
	font-size: 12px;
	height: 28px;
	justify-content: center;
	width: 28px;
}

.tvm-site-header .th-menu-toggle {
	border: 0;
	box-shadow: none;
}

.tvm-site-header .th-menu-toggle span {
	background: var(--tvm-button);
}

.tvm-site-header .th-menu-toggle:hover,
.tvm-site-header .th-menu-toggle:focus,
.tvm-site-header .th-menu-toggle:focus-visible {
	background: transparent !important;
	box-shadow: none !important;
	color: var(--tvm-button);
	outline: 2px solid var(--tvm-bronze-light);
	outline-offset: 2px;
}

/* Shared sections */
.tvm-section {
	box-sizing: border-box;
	position: relative;
}

.tvm-section--soft {
	background: var(--tvm-warm);
}

.tvm-section-heading {
	margin: 0 auto 24px;
	text-align: center;
}

.tvm-section-heading__title {
	color: var(--tvm-ink);
	font-family: var(--tvm-display);
	font-size: 29px;
	font-weight: 700;
	letter-spacing: -0.015em;
	line-height: 1.2;
	margin: 0;
	text-wrap: balance;
}

.tvm-section-heading__subtitle {
	color: var(--tvm-copy);
	font-size: var(--tvm-type-supporting);
	line-height: 1.55;
	margin: 4px auto 0;
	max-width: 700px;
	text-wrap: pretty;
}

.tvm-button {
	align-items: center;
	border-radius: 7px;
	box-sizing: border-box;
	display: inline-flex;
	font-family: var(--tvm-body);
	font-size: var(--tvm-type-supporting);
	font-weight: 700;
	gap: 18px;
	height: 40px;
	justify-content: center;
	letter-spacing: 0.015em;
	padding: 0 20px;
	text-decoration: none;
	transition: background-color 180ms ease-out, color 180ms ease-out, transform 180ms ease-out;
}

.tvm-button:hover,
.tvm-button:focus-visible {
	transform: translateY(-1px);
}

.tvm-button--primary {
	background: var(--tvm-button);
	color: #fff;
}

.tvm-button--primary:hover,
.tvm-button--primary:focus-visible {
	background: var(--tvm-button-hover);
	color: #fff;
}

.tvm-button--outline {
	background: rgba(20, 15, 11, 0.24);
	border: 1px solid rgba(255, 255, 255, 0.62);
	color: #fff;
}

.tvm-button--outline:hover,
.tvm-button--outline:focus-visible {
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
}

.tvm-button__icon {
	display: inline-flex;
	font-size: 10px;
}

.tvm-section__action {
	margin-top: 22px;
	text-align: center;
}

/* Hero */
.tvm-hero {
	background-color: #2c241d;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	box-sizing: border-box;
	height: 490px;
	overflow: hidden;
	position: relative;
}

.tvm-hero__overlay {
	background: linear-gradient(90deg, rgba(15, 12, 9, 0.9) 0%, rgba(15, 12, 9, 0.72) 38%, rgba(15, 12, 9, 0.25) 65%, rgba(15, 12, 9, 0.02) 100%);
	inset: 0;
	position: absolute;
}

.tvm-hero__inner {
	align-items: center;
	display: flex;
	height: 100%;
	position: relative;
	z-index: 1;
}

.tvm-hero__content {
	max-width: 575px;
	padding-bottom: 2px;
}

.tvm-hero__eyebrow {
	color: #f3eee8;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.4;
	margin: 0 0 19px;
}

.tvm-hero__title {
	color: #fff;
	font-family: var(--tvm-display);
	font-size: clamp(42px, 3.48vw, 52px);
	font-weight: 700;
	letter-spacing: -0.025em;
	line-height: 1.12;
	margin: 0;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
	text-wrap: balance;
}

.tvm-hero__title span {
	color: #fff;
	display: block;
}

.tvm-hero__title strong {
	color: #c69a69;
	display: block;
	font-weight: 600;
	margin-top: 6px;
}

.tvm-hero__description {
	color: #f5f1ec;
	font-size: 14px;
	line-height: 1.7;
	margin: 19px 0 24px;
	max-width: 540px;
	text-wrap: pretty;
}

.tvm-hero__actions {
	display: flex;
	gap: 13px;
	margin-top: 0;
}

/* Trust strip */
.tvm-trust {
	align-items: center;
	background: var(--tvm-warm);
	box-sizing: border-box;
	display: flex;
	height: auto;
	min-height: 211px;
}

.tvm-trust__list {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.tvm-trust__item {
	padding: 0 18px;
	text-align: center;
}

.tvm-trust__icon {
	align-items: center;
	border: 1px solid var(--tvm-bronze-light);
	border-radius: 50%;
	color: var(--tvm-bronze);
	display: inline-flex;
	font-size: 23px;
	height: 60px;
	justify-content: center;
	margin-bottom: 13px;
	width: 60px;
}

.tvm-trust__icon svg {
	fill: currentColor;
	height: 23px;
	width: 23px;
}

.tvm-trust__title {
	color: var(--tvm-button);
	font-size: var(--tvm-type-item-heading);
	font-weight: 700;
	line-height: 1.35;
	margin: 0 0 7px;
}

.tvm-trust__text {
	color: var(--tvm-copy);
	font-size: var(--tvm-type-supporting);
	line-height: 1.5;
	margin: 0 auto;
	max-width: 180px;
}

/* Sprite assets */
.tvm-sprite {
	background-position-y: center;
	background-repeat: no-repeat;
	background-color: #eeeae5;
}

.tvm-projects-sprite {
	background-image: url("../images/tvm-projects-sprite.png");
	background-size: 500% auto;
}

.tvm-projects-sprite--1,
.tvm-products-sprite--1 {
	background-position-x: 0%;
}

.tvm-projects-sprite--2,
.tvm-products-sprite--2 {
	background-position-x: 25%;
}

.tvm-projects-sprite--3,
.tvm-products-sprite--3 {
	background-position-x: 50%;
}

.tvm-projects-sprite--4,
.tvm-products-sprite--4 {
	background-position-x: 75%;
}

.tvm-projects-sprite--5,
.tvm-products-sprite--5 {
	background-position-x: 100%;
}

.tvm-services-sprite {
	background-image: url("../images/tvm-services-sprite.png");
	background-size: 400% auto;
}

.tvm-services-sprite--1 {
	background-position-x: 0%;
}

.tvm-services-sprite--2 {
	background-position-x: 33.333%;
}

.tvm-services-sprite--3 {
	background-position-x: 66.667%;
}

.tvm-services-sprite--4 {
	background-position-x: 100%;
}

.tvm-products-sprite {
	background-image: url("../images/tvm-products-sprite.png");
	background-size: 500% auto;
}

/* Featured projects */
.tvm-projects {
	background: var(--tvm-white);
	height: auto;
	min-height: 545px;
	padding-bottom: 40px;
	padding-top: 40px;
}

.tvm-projects > .tvm-container {
	max-width: 1260px;
}

.tvm-projects__grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.tvm-project-card {
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 3px 8px rgba(35, 25, 18, 0.1);
	min-width: 0;
	overflow: hidden;
}

.tvm-project-card__media-link {
	display: block;
	overflow: hidden;
}

.tvm-project-card__image {
	display: block;
	height: 205px;
	object-fit: cover;
	width: 100%;
}

.tvm-project-card__body {
	box-sizing: border-box;
	height: auto;
	min-height: 112px;
	padding: 12px 13px;
}

.tvm-project-card__title {
	display: -webkit-box;
	font-size: var(--tvm-type-item-heading);
	font-weight: 700;
	line-height: 1.35;
	margin: 0 0 5px;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.tvm-project-card__title-link {
	color: var(--tvm-ink);
	text-decoration: none;
}

.tvm-project-card__meta {
	color: var(--tvm-copy);
	font-size: var(--tvm-type-supporting);
	line-height: 1.5;
	margin: 0;
}

.tvm-project-card__meta span {
	color: var(--tvm-ink);
}

.tvm-projects__empty {
	background: var(--tvm-warm);
	border: 1px dashed var(--tvm-bronze-light);
	border-radius: 8px;
	box-sizing: border-box;
	grid-column: 1 / -1;
	padding: 28px;
	text-align: center;
}

.tvm-projects__empty p {
	margin: 0 0 8px;
}

.tvm-projects__empty a {
	color: var(--tvm-button);
	font-weight: 700;
}

/* Services */
.tvm-services {
	height: auto;
	min-height: 425px;
	padding-bottom: 38px;
	padding-top: 38px;
}

.tvm-services__grid {
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.tvm-service-card {
	min-width: 0;
}

.tvm-service-card__media {
	border-radius: 8px;
	height: 129px;
	margin-bottom: 27px;
	overflow: visible;
	position: relative;
}

.tvm-service-card__media-link {
	display: block;
	height: 100%;
}

.tvm-service-card__image,
.tvm-service-card__media-link > .tvm-service-card__image {
	border-radius: 8px;
	display: block;
	height: 129px;
	object-fit: cover;
	width: 100%;
}

.tvm-service-card__icon {
	align-items: center;
	background: #fff;
	border-radius: 50%;
	bottom: -24px;
	box-shadow: 0 3px 8px rgba(35, 25, 18, 0.12);
	color: var(--tvm-bronze);
	display: inline-flex;
	font-size: 23px;
	height: 54px;
	justify-content: center;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 54px;
}

.tvm-service-card__icon svg {
	fill: currentColor;
	height: 23px;
	width: 23px;
}

.tvm-service-card__body {
	padding: 0 8px;
}

.tvm-service-card__title {
	color: var(--tvm-ink);
	font-size: var(--tvm-type-item-heading);
	font-weight: 700;
	line-height: 1.4;
	margin: 0 0 7px;
}

.tvm-service-card__title-link {
	color: inherit;
	text-decoration: none;
}

.tvm-service-card__media-link:focus-visible,
.tvm-service-card__title-link:focus-visible,
.tvm-service-card__link:focus-visible {
	border-radius: 4px;
	outline: 2px solid var(--tvm-button);
	outline-offset: 3px;
}

.tvm-service-card__text {
	color: var(--tvm-copy);
	font-size: var(--tvm-type-supporting);
	line-height: 1.55;
	margin: 0 0 7px;
	min-height: 44px;
}

.tvm-service-card__link {
	color: #7b4b22;
	font-size: var(--tvm-type-supporting);
	font-weight: 600;
	text-decoration: none;
}

.tvm-services__empty {
	background: #fff;
	border: 1px solid var(--tvm-border);
	border-radius: 10px;
	color: var(--tvm-copy);
	grid-column: 1 / -1;
	padding: 24px;
	text-align: center;
}

/* Products */
.tvm-products {
	background: var(--tvm-white);
	height: auto;
	min-height: 440px;
	padding-bottom: 36px;
	padding-top: 36px;
}

.tvm-products__carousel {
	margin-inline: 22px;
	position: relative;
}

.tvm-products__viewport {
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.tvm-products__viewport::-webkit-scrollbar {
	display: none;
}

.tvm-products__track {
	display: flex;
	gap: 16px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.tvm-product-card {
	box-sizing: border-box;
	flex: 0 0 calc((100% - 64px) / 5);
	position: relative;
	scroll-snap-align: start;
}

.tvm-product-card__article {
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 3px 8px rgba(35, 25, 18, 0.1);
	height: 100%;
	overflow: hidden;
	position: relative;
}

.tvm-product-card__link {
	color: inherit;
	display: block;
	height: 100%;
	text-decoration: none;
}

.tvm-product-card__media {
	display: block;
	height: 176px;
	overflow: hidden;
	width: 100%;
}

.tvm-product-card__media > .tvm-product-card__image {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.tvm-product-card__body {
	box-sizing: border-box;
	height: auto;
	min-height: 104px;
	padding: 9px 10px;
}

.tvm-product-card__title {
	color: var(--tvm-ink);
	display: -webkit-box;
	font-size: var(--tvm-type-item-heading);
	font-weight: 700;
	line-height: 1.35;
	margin: 0 0 4px;
	min-height: 38px;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.tvm-product-card__price {
	display: flex;
	flex-direction: column;
	font-variant-numeric: tabular-nums;
	gap: 1px;
	line-height: 1.25;
	margin: 0;
	min-height: 35px;
}

.tvm-product-card__price-line {
	align-items: baseline;
	display: flex;
	gap: 4px;
	min-width: 0;
}

.tvm-product-card__price-prefix {
	color: var(--tvm-copy);
	font-size: 0.8125rem;
	font-weight: 600;
	white-space: nowrap;
}

.tvm-product-card__price-current {
	color: var(--tvm-button);
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: -0.012em;
	white-space: nowrap;
}

.tvm-product-card__price-current .woocommerce-Price-currencySymbol {
	font-size: 0.75em;
	margin-left: 1px;
	vertical-align: 0.16em;
}

.tvm-product-card__price-original {
	color: var(--tvm-muted);
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.35;
	text-decoration-color: currentColor;
	text-decoration-thickness: 1px;
	text-decoration-line: line-through;
	white-space: nowrap;
}

.tvm-product-card__price-original .woocommerce-Price-currencySymbol {
	font-size: 0.8em;
	vertical-align: 0.1em;
}

.tvm-product-card__sale {
	background: #8b541f;
	border-radius: 5px;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	left: 9px;
	line-height: 1;
	padding: 6px 7px;
	position: absolute;
	top: 9px;
}

.tvm-product-card__wishlist {
	align-items: center;
	background: rgba(255, 255, 255, 0.94);
	border: 1px solid rgba(117, 73, 29, 0.18);
	border-radius: 50%;
	color: var(--tvm-button);
	cursor: pointer;
	display: flex;
	height: 34px;
	justify-content: center;
	padding: 0;
	position: absolute;
	right: 9px;
	top: 9px;
	transition: background-color 180ms ease-out, color 180ms ease-out, transform 180ms ease-out;
	width: 34px;
	z-index: 2;
}

.tvm-product-card__wishlist:hover,
.tvm-product-card__wishlist:focus-visible,
.tvm-product-card__wishlist.is-active {
	background: var(--tvm-button);
	color: #fff;
	transform: translateY(-1px);
}

.tvm-products__empty {
	background: var(--tvm-warm);
	border: 1px solid var(--tvm-border);
	border-radius: 10px;
	color: var(--tvm-copy);
	padding: 28px;
	text-align: center;
	width: 100%;
}

.tvm-products__control {
	align-items: center;
	background: #fff;
	border: 1px solid var(--tvm-border);
	border-radius: 50%;
	color: var(--tvm-button);
	cursor: pointer;
	display: flex;
	font-size: 12px;
	height: 42px;
	justify-content: center;
	padding: 0;
	position: absolute;
	top: 88px;
	transform: translateY(-50%);
	transition: background-color 180ms ease-out, color 180ms ease-out, opacity 180ms ease-out;
	width: 42px;
	z-index: 2;
}

.tvm-products__control--previous {
	left: -52px;
}

.tvm-products__control--next {
	right: -52px;
}

.tvm-products__control:hover,
.tvm-products__control:focus-visible {
	background: var(--tvm-button);
	color: #fff;
}

.tvm-products__control:disabled {
	cursor: default;
	opacity: 0.32;
}

.tvm-products__control > svg {
	display: block;
	fill: currentColor;
	height: 11px !important;
	width: 11px !important;
}

/* Process */
.tvm-process {
	background: var(--tvm-warm);
	height: auto;
	min-height: 370px;
	padding-bottom: 35px;
	padding-top: 35px;
}

.tvm-process__list {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	list-style: none;
	margin: 32px 0 0;
	padding: 0;
	position: relative;
}

.tvm-process__list::before {
	background: var(--tvm-bronze-light);
	content: "";
	height: 1px;
	left: 7%;
	position: absolute;
	right: 7%;
	top: 31px;
}

.tvm-process__item,
.tvm-process__step,
.tvm-process-step {
	position: relative;
	text-align: center;
}

.tvm-process__icon,
.tvm-process-step__icon {
	align-items: center;
	background: var(--tvm-warm);
	border: 1px solid var(--tvm-bronze-light);
	border-radius: 50%;
	color: var(--tvm-bronze);
	display: inline-flex;
	font-size: 22px;
	height: 62px;
	justify-content: center;
	position: relative;
	width: 62px;
	z-index: 1;
}

.tvm-process__icon > svg,
.tvm-process-step__icon > svg {
	display: block;
	fill: currentColor;
	height: 22px !important;
	width: 22px !important;
}

.tvm-process__number,
.tvm-process-step__number {
	color: var(--tvm-button);
	display: block;
	font-size: var(--tvm-type-supporting);
	font-weight: 700;
	margin-top: 9px;
}

.tvm-process__title,
.tvm-process-step__title {
	color: var(--tvm-button);
	font-size: var(--tvm-type-item-heading);
	font-weight: 700;
	line-height: 1.35;
	margin: 3px 8px 5px;
	text-transform: uppercase;
}

.tvm-process__text,
.tvm-process-step__text {
	color: var(--tvm-copy);
	font-size: var(--tvm-type-supporting);
	line-height: 1.45;
	margin: 0 auto;
	max-width: 150px;
}

/* Commitment */
.tvm-commitments {
	background-color: var(--tvm-commitment);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	box-sizing: border-box;
	color: #fff;
	height: auto;
	min-height: 241px;
	overflow: hidden;
	position: relative;
}

.tvm-commitments::before {
	background: linear-gradient(90deg, rgba(38, 29, 22, 0.98), rgba(38, 29, 22, 0.86) 56%, rgba(38, 29, 22, 0.72));
	content: "";
	inset: 0;
	position: absolute;
}

.tvm-commitments__inner {
	align-items: center;
	display: grid;
	grid-template-columns: 300px 1fr;
	min-height: 241px;
	position: relative;
	z-index: 1;
}

.tvm-commitments__title {
	color: #d5aa78;
	font-family: var(--tvm-display);
	font-size: 24px;
	font-weight: 600;
	line-height: 1.2;
	margin: 0 0 12px;
}

.tvm-commitments__description {
	color: #eee8e1;
	font-size: var(--tvm-type-supporting);
	line-height: 1.65;
	margin: 0 0 16px;
	max-width: 285px;
}

.tvm-commitments__stats,
.tvm-commitments__metrics {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0 0 0 20px;
}

.tvm-commitments__stat,
.tvm-commitments__metric,
.tvm-commitment-stat {
	border-left: 1px solid rgba(213, 170, 120, 0.2);
	padding: 0 15px;
	text-align: center;
}

.tvm-commitments__stat:first-child,
.tvm-commitments__metric:first-child,
.tvm-commitment-stat:first-child {
	border-left: 0;
}

.tvm-commitments__icon,
.tvm-commitment-stat__icon {
	align-items: center;
	border: 1px solid rgba(213, 170, 120, 0.5);
	border-radius: 50%;
	color: #c69560;
	display: inline-flex;
	font-size: 19px;
	height: 48px;
	justify-content: center;
	margin-bottom: 8px;
	width: 48px;
}

.tvm-commitments__icon > svg,
.tvm-commitment-stat__icon > svg {
	display: block;
	fill: currentColor;
	height: 19px !important;
	width: 19px !important;
}

.tvm-commitments__value,
.tvm-commitment-stat__value {
	color: #fff;
	display: block;
	font-family: var(--tvm-display);
	font-size: 38px;
	font-weight: 600;
	line-height: 1;
	margin-bottom: 5px;
}

.tvm-commitments__label,
.tvm-commitment-stat__label {
	color: #eee8e1;
	display: block;
	font-size: var(--tvm-type-supporting);
	font-weight: 600;
	line-height: 1.35;
	text-transform: uppercase;
}

/* Elementor global footer */
.tvm-site-footer.th-site-footer {
	background: var(--tvm-footer);
	border-top: 1px solid rgba(185, 130, 72, 0.72);
	box-sizing: border-box;
	color: var(--tvm-footer-copy);
	min-height: 299px;
	padding: 0;
	position: relative;
}

.tvm-site-footer .th-footer-main-section {
	background: transparent;
	padding: 44px 0 24px !important;
}

.tvm-site-footer .th-footer-main-section > .elementor-container {
	align-items: flex-start;
	display: grid !important;
	gap: 0 !important;
	grid-template-columns: 28fr 16fr 15fr 18fr 23fr !important;
	margin-inline: auto;
	max-width: 1200px !important;
	padding: 0 !important;
	width: calc(100% - 48px);
}

.tvm-site-footer .th-footer-main-section > .elementor-container > .elementor-column {
	width: auto !important;
}

.tvm-site-footer .th-footer-widget-block {
	padding-right: 18px;
}

@media (min-width: 1200px) {
	.tvm-site-footer .th-footer-main-section > .elementor-container
		> .elementor-column:not(:first-child) .th-footer-widget-block {
		padding-inline-start: 24px;
	}
}

.tvm-site-footer .th-footer-brand img {
	filter: brightness(0) invert(1);
	height: auto;
	max-width: 172px;
	width: 100%;
}

.tvm-site-footer .th-footer-brand p {
	color: var(--tvm-footer-copy);
	font-size: var(--tvm-type-supporting);
	line-height: 1.6;
	margin: 14px 0 13px;
	max-width: 240px;
}

.tvm-site-footer .th-footer-col h3,
.tvm-site-footer .th-footer-contact h3 {
	color: #fff;
	font-size: var(--tvm-type-item-heading);
	font-weight: 700;
	line-height: 1.4;
	margin: 0 0 14px;
	text-transform: uppercase;
}

.tvm-site-footer .th-footer-col a {
	color: var(--tvm-footer-copy);
	display: block;
	font-size: var(--tvm-type-supporting);
	line-height: 1.55;
	margin: 0 0 6px;
	text-decoration: none;
}

.tvm-site-footer .th-footer-col a:hover,
.tvm-site-footer .th-footer-col a:focus-visible,
.tvm-site-footer .th-footer-contact a:hover,
.tvm-site-footer .th-footer-contact a:focus-visible {
	color: #d5aa78;
}

.tvm-site-footer .th-footer-contact p {
	align-items: flex-start;
	color: var(--tvm-footer-copy);
	display: flex;
	font-size: var(--tvm-type-supporting);
	gap: 8px;
	line-height: 1.5;
	margin: 0 0 7px;
}

.tvm-site-footer .th-footer-contact i {
	color: #c69560;
	margin-top: 2px;
	width: 12px;
}

.tvm-site-footer .th-footer-contact a {
	color: inherit;
	text-decoration: none;
}

.tvm-site-footer .th-socials {
	display: flex;
	gap: 8px;
}

.tvm-site-footer .th-social-link {
	align-items: center;
	background: transparent !important;
	border: 1px solid rgba(255, 255, 255, 0.42);
	border-radius: 50%;
	color: #fff !important;
	display: inline-flex;
	font-size: 10px;
	height: 27px;
	justify-content: center;
	width: 27px;
}

.tvm-site-footer .th-footer-bottom-section {
	background: transparent;
	padding: 0;
}

.tvm-site-footer .th-footer-bottom-section > .elementor-container {
	border-top: 1px solid rgba(255, 255, 255, 0.06);
	margin-inline: auto;
	max-width: 1200px;
	width: calc(100% - 48px);
}

.tvm-site-footer .th-footer-bottom {
	display: block;
	padding: 14px 0;
	text-align: center;
}

.tvm-site-footer .th-footer-bottom p {
	color: #aaa39b;
	font-size: var(--tvm-type-supporting);
	margin: 0;
}

.tvm-site-footer .th-footer-bottom p:empty {
	display: none;
}

.tvm-site-footer .tvm-back-top,
.tvm-site-footer .th-back-top {
	background: var(--tvm-button);
	border: 0;
	bottom: 18px;
	color: #fff;
	height: 38px;
	right: 26px;
	width: 38px;
}

/* PHP footer fallback */
.tvm-footer-main {
	display: grid;
	gap: 28px;
	grid-template-columns: 1.7fr 1fr 1fr 1.1fr 1.45fr;
	padding-block: 44px 24px;
}

.tvm-footer-brand img {
	filter: brightness(0) invert(1);
	max-width: 172px;
}

.tvm-footer-brand p,
.tvm-footer-column a,
.tvm-footer-contact p,
.tvm-footer-contact a {
	color: var(--tvm-footer-copy);
	font-size: var(--tvm-type-supporting);
	line-height: 1.55;
}

.tvm-footer-column h3,
.tvm-footer-contact h3 {
	color: #fff;
	font-size: var(--tvm-type-item-heading);
	text-transform: uppercase;
}

.tvm-footer-column a {
	display: block;
	margin-bottom: 6px;
	text-decoration: none;
}

.tvm-footer-contact p {
	display: flex;
	gap: 8px;
	margin: 0 0 7px;
}

.tvm-footer-socials {
	display: flex;
	gap: 8px;
}

.tvm-footer-socials a {
	align-items: center;
	border: 1px solid rgba(255, 255, 255, 0.42);
	border-radius: 50%;
	color: #fff;
	display: inline-flex;
	height: 27px;
	justify-content: center;
	width: 27px;
}

.tvm-footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.06);
	color: #aaa39b;
	font-size: var(--tvm-type-supporting);
	padding-block: 14px;
	text-align: center;
}

@media (max-width: 1199px) {
	.tvm-site-header .th-primary-nav {
		gap: 17px;
	}

	.tvm-site-header .th-nav-item > a {
		font-size: var(--tvm-type-supporting);
	}

	.tvm-projects,
	.tvm-services,
	.tvm-products,
	.tvm-process,
	.tvm-commitments,
	.tvm-trust {
		height: auto;
		min-height: 0;
	}

	.tvm-projects,
	.tvm-services,
	.tvm-products,
	.tvm-process {
		padding-block: 56px;
	}

	.tvm-projects__grid {
		display: flex;
		overflow-x: auto;
		padding: 0 2px 10px;
		scroll-snap-type: x mandatory;
	}

	.tvm-project-card {
		flex: 0 0 280px;
		scroll-snap-align: start;
	}

	.tvm-services__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: 36px;
	}

	.tvm-product-card {
		flex-basis: calc((100% - 32px) / 3);
	}

	.tvm-products__control--previous {
		left: -40px;
	}

	.tvm-products__control--next {
		right: -40px;
	}

	.tvm-process__list {
		gap: 28px 0;
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.tvm-process__list::before {
		display: none;
	}

	.tvm-commitments {
		padding-block: 45px;
	}

	.tvm-commitments__inner {
		grid-template-columns: 260px 1fr;
	}

	.tvm-site-footer .th-footer-main-section > .elementor-container {
		gap: 30px 20px !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}

	.tvm-site-footer .th-footer-main-section .elementor-column {
		width: auto !important;
	}

	.tvm-site-footer .th-footer-main-section .elementor-column:first-child,
	.tvm-site-footer .th-footer-main-section .elementor-column:last-child {
		width: auto !important;
	}
}

@media (max-width: 1024px) {
	html {
		scroll-padding-top: 68px;
	}

	.tvm-site-header.th-site-header,
	.tvm-site-header .th-header-inner {
		height: 68px;
	}

	.tvm-site-header .th-brand img {
		width: 155px;
	}

	.tvm-site-header .th-menu-toggle {
		display: inline-flex;
		margin-left: 6px;
	}

	.tvm-site-header .th-primary-nav {
		align-items: stretch;
		background: #fff;
		box-shadow: 0 8px 16px rgba(35, 25, 18, 0.12);
		display: none;
		flex-direction: column;
		gap: 0;
		left: 0;
		padding: 16px 24px 22px;
		position: absolute;
		top: 68px;
		width: 100%;
		z-index: var(--tvm-z-nav);
	}

	.tvm-site-header.is-open .th-primary-nav {
		display: flex;
	}

	.tvm-site-header .th-nav-item,
	.tvm-site-header .th-nav-item > a {
		height: 43px;
		width: 100%;
	}

	.tvm-site-header .th-nav-item > a,
	.tanvinhmy-front-page .tvm-site-header .th-nav-item:first-child > a,
	.tvm-site-header .th-nav-item.is-current > a {
		background: transparent;
		border-radius: 0;
		padding: 0;
	}

	.tanvinhmy-front-page .tvm-site-header .th-nav-item.is-current:not(:first-child) > a {
		height: 43px;
		padding-inline: 0;
	}

	.tvm-site-header .tvm-header-phone {
		margin-left: auto;
	}

	.tvm-hero {
		height: 540px;
	}

	.tvm-trust {
		padding-block: 48px;
	}

	.tvm-trust__list {
		gap: 34px 0;
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	html {
		scroll-padding-top: 64px;
	}

	.tvm-container,
	.tvm-site-header .th-header-inner,
	.tvm-site-footer .th-footer-main-section > .elementor-container,
	.tvm-site-footer .th-footer-bottom-section > .elementor-container {
		width: calc(100% - 32px);
	}

	.tvm-site-header.th-site-header,
	.tvm-site-header .th-header-inner {
		height: 64px;
	}

	.tvm-site-header.th-site-header {
		position: sticky;
		top: 0;
	}

	.admin-bar .tvm-site-header.th-site-header {
		top: 46px;
	}

	.tvm-site-header .th-header-inner {
		gap: 8px;
	}

	.tvm-site-header .th-brand img {
		max-height: 36px;
		width: 146px;
	}

	.tvm-site-header .tvm-header-phone,
	.tvm-site-header .th-menu-toggle {
		height: 44px;
		justify-content: center;
		min-width: 44px;
		width: 44px;
	}

	.tvm-site-header .tvm-header-phone {
		margin-left: auto;
	}

	.tvm-site-header .tvm-header-phone i {
		height: 32px;
		width: 32px;
	}

	.tvm-site-header .th-menu-toggle {
		margin-left: 0;
	}

	.tvm-site-header .th-primary-nav {
		max-height: calc(100dvh - 64px);
		overflow-y: auto;
		padding: 10px 16px max(18px, env(safe-area-inset-bottom));
		top: 64px;
	}

	.tvm-site-header .tvm-header-phone span {
		display: none;
	}

	.tvm-hero {
		background-position: 72% center;
		height: clamp(500px, 65svh, 540px);
	}

	.tvm-hero__overlay {
		background: linear-gradient(90deg, rgba(15, 12, 9, 0.94), rgba(15, 12, 9, 0.79) 68%, rgba(15, 12, 9, 0.48));
	}

	.tvm-hero__content {
		max-width: 100%;
	}

	.tvm-hero__eyebrow {
		font-size: 12px;
		line-height: 1.4;
		margin-bottom: 12px;
	}

	.tvm-hero__title {
		font-size: clamp(32px, 9vw, 36px);
		letter-spacing: -0.025em;
		line-height: 1.08;
	}

	.tvm-hero__description {
		font-size: 13.5px;
		line-height: 1.55;
		margin: 16px 0 18px;
		max-width: 340px;
	}

	.tvm-hero__actions {
		display: grid;
		gap: 8px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		max-width: 358px;
		width: 100%;
	}

	.tvm-button {
		height: 44px;
		justify-content: center;
	}

	.tvm-hero__actions .tvm-button {
		font-size: 11.5px;
		gap: 8px;
		padding-inline: 12px;
		white-space: nowrap;
	}

	.tvm-hero__actions .tvm-button__icon {
		display: none;
	}

	.tvm-section-heading {
		margin-bottom: 18px;
		text-align: left;
	}

	.tvm-section-heading__title {
		font-size: 24px;
		line-height: 1.15;
	}

	.tvm-section-heading__subtitle {
		font-size: 13px;
		line-height: 1.45;
		margin-top: 5px;
	}

	.tvm-trust {
		padding-block: 16px;
	}

	.tvm-trust__list {
		gap: 0;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tvm-trust__item {
		align-items: center;
		border-bottom: 1px solid rgba(117, 73, 29, 0.12);
		display: grid;
		gap: 9px;
		grid-template-columns: 36px minmax(0, 1fr);
		min-height: 68px;
		padding: 9px 8px;
		text-align: left;
	}

	.tvm-trust__item:nth-child(odd):not(:last-child) {
		border-right: 1px solid rgba(117, 73, 29, 0.12);
	}

	.tvm-trust__item:last-child {
		border-bottom: 0;
		grid-column: 1 / -1;
		justify-self: center;
		max-width: 250px;
		width: 100%;
	}

	.tvm-trust__icon {
		font-size: 15px;
		height: 36px;
		margin: 0;
		width: 36px;
	}

	.tvm-trust__icon svg {
		height: 16px;
		width: 16px;
	}

	.tvm-trust__title {
		font-size: 12.5px;
		line-height: 1.35;
		margin: 0;
	}

	.tvm-trust__text {
		clip: rect(0 0 0 0);
		clip-path: inset(50%);
		height: 1px;
		overflow: hidden;
		position: absolute;
		white-space: nowrap;
		width: 1px;
	}

	.tvm-projects,
	.tvm-services,
	.tvm-products,
	.tvm-process {
		padding-block: 32px;
	}

	.tvm-projects__grid,
	.tvm-products__viewport,
	.tvm-process__list {
		-webkit-overflow-scrolling: touch;
		overscroll-behavior-inline: contain;
		scroll-padding-inline: 2px;
	}

	.tvm-projects__grid {
		gap: 12px;
		margin-right: -16px;
		padding: 0 16px 9px 1px;
		scrollbar-color: rgba(117, 73, 29, 0.32) transparent;
		scrollbar-width: thin;
	}

	.tvm-project-card {
		flex-basis: min(76vw, 280px);
	}

	.tvm-project-card__image {
		height: 158px;
	}

	.tvm-project-card__body {
		min-height: 94px;
		padding: 10px 12px;
	}

	.tvm-project-card__title {
		font-size: 14.5px;
		margin-bottom: 4px;
	}

	.tvm-project-card__meta {
		font-size: 12.5px;
		line-height: 1.4;
	}

	.tvm-section__action {
		margin-top: 16px;
		text-align: left;
	}

	.tvm-section__action .tvm-button {
		width: 100%;
	}

	.tvm-services__grid {
		gap: 18px 12px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tvm-service-card {
		background: #fff;
		border-radius: 10px;
		overflow: hidden;
		position: relative;
	}

	.tvm-service-card__media,
	.tvm-service-card__image,
	.tvm-service-card__media-link > .tvm-service-card__image {
		border-radius: 0;
		height: 108px;
	}

	.tvm-service-card__media {
		margin-bottom: 0;
		overflow: hidden;
	}

	.tvm-service-card__icon {
		bottom: 8px;
		font-size: 14px;
		height: 34px;
		left: 8px;
		transform: none;
		width: 34px;
	}

	.tvm-service-card__icon svg {
		height: 15px;
		width: 15px;
	}

	.tvm-service-card__body {
		padding: 11px 10px 12px;
	}

	.tvm-service-card__title {
		font-size: 13px;
		line-height: 1.35;
		margin-bottom: 5px;
		min-height: 35px;
	}

	.tvm-service-card__text {
		display: -webkit-box;
		font-size: 12.25px;
		line-height: 1.4;
		margin-bottom: 7px;
		min-height: 34px;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}

	.tvm-service-card__link {
		font-size: 12.25px;
	}

	.tvm-service-card__link::after {
		border-radius: 10px;
		content: "";
		inset: 0;
		position: absolute;
	}

	.tvm-service-card__link:focus-visible::after {
		outline: 2px solid var(--tvm-button);
		outline-offset: -2px;
	}

	.tvm-products__carousel {
		margin-inline: 0;
	}

	.tvm-products__viewport {
		margin-right: -16px;
		padding-right: 16px;
	}

	.tvm-products__track {
		gap: 12px;
	}

	.tvm-product-card {
		flex-basis: min(46vw, 190px);
	}

	.tvm-product-card__media {
		height: 138px;
	}

	.tvm-product-card__media > .tvm-product-card__image {
		height: 100%;
	}

	.tvm-product-card__body {
		min-height: 96px;
		padding: 8px 9px;
	}

	.tvm-product-card__title {
		font-size: 13.5px;
		min-height: 36px;
	}

	.tvm-product-card__price-prefix,
	.tvm-product-card__price-original {
		font-size: 0.875rem;
	}

	.tvm-products__control {
		display: none;
	}

	.tvm-process__list {
		display: flex;
		gap: 12px;
		margin: 0 -16px 0 0;
		overflow-x: auto;
		padding: 0 16px 12px 1px;
		scroll-snap-type: x mandatory;
		scrollbar-color: rgba(117, 73, 29, 0.32) transparent;
		scrollbar-width: thin;
	}

	.tvm-process__item,
	.tvm-process__step,
	.tvm-process-step {
		background: #fff;
		border-radius: 10px;
		box-sizing: border-box;
		column-gap: 12px;
		display: grid;
		flex: 0 0 min(76vw, 280px);
		grid-template-columns: 44px minmax(0, 1fr);
		grid-template-rows: auto auto 1fr;
		min-height: 142px;
		padding: 16px;
		scroll-snap-align: start;
		text-align: left;
	}

	.tvm-process__icon,
	.tvm-process-step__icon {
		font-size: 16px;
		grid-row: 1 / 4;
		height: 44px;
		position: static;
		width: 44px;
	}

	.tvm-process__icon > svg,
	.tvm-process-step__icon > svg {
		height: 17px !important;
		width: 17px !important;
	}

	.tvm-process__number,
	.tvm-process-step__number {
		font-size: 12px;
		grid-column: 2;
		margin-top: 0;
		padding-top: 0;
	}

	.tvm-process__title,
	.tvm-process-step__title {
		font-size: 13.5px;
		grid-column: 2;
		line-height: 1.3;
		margin: 2px 0 4px;
	}

	.tvm-process__text,
	.tvm-process-step__text {
		font-size: 12.5px;
		grid-column: 2;
		line-height: 1.4;
		margin: 0;
		max-width: none;
	}

	.tvm-commitments {
		background-position: 62% center;
		padding-block: 34px;
	}

	.tvm-commitments__inner {
		display: block;
		min-height: 0;
	}

	.tvm-commitments__copy,
	.tvm-commitments__intro {
		margin-bottom: 24px;
	}

	.tvm-commitments__title {
		font-size: 22px;
		margin-bottom: 9px;
	}

	.tvm-commitments__description {
		font-size: 13px;
		line-height: 1.5;
		margin-bottom: 14px;
		max-width: 330px;
	}

	.tvm-commitments__stats,
	.tvm-commitments__metrics {
		gap: 0;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		padding: 0;
	}

	.tvm-commitments__stat,
	.tvm-commitments__metric,
	.tvm-commitment-stat {
		padding-inline: 6px;
	}

	.tvm-commitments__icon,
	.tvm-commitment-stat__icon {
		font-size: 12px;
		height: 30px;
		margin-bottom: 5px;
		width: 30px;
	}

	.tvm-commitments__icon > svg,
	.tvm-commitment-stat__icon > svg {
		height: 12px !important;
		width: 12px !important;
	}

	.tvm-commitments__value,
	.tvm-commitment-stat__value {
		font-size: 25px;
		margin-bottom: 4px;
	}

	.tvm-commitments__label,
	.tvm-commitment-stat__label {
		font-size: 10px;
		line-height: 1.25;
	}

	.tvm-site-footer .th-footer-main-section {
		padding-top: 40px;
	}

	.tvm-site-footer .th-footer-main-section > .elementor-container {
		display: block !important;
	}

	.tvm-site-footer .th-footer-main-section .elementor-column,
	.tvm-site-footer .th-footer-main-section .elementor-column:first-child,
	.tvm-site-footer .th-footer-main-section .elementor-column:last-child {
		margin-bottom: 28px;
		width: 100% !important;
	}

	.tvm-site-footer .th-footer-main-section {
		padding: 34px 0 18px !important;
	}

	.tvm-site-footer .th-footer-main-section > .elementor-container {
		display: grid !important;
		gap: 24px 16px !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.tvm-site-footer .th-footer-main-section .elementor-column,
	.tvm-site-footer .th-footer-main-section .elementor-column:first-child,
	.tvm-site-footer .th-footer-main-section .elementor-column:last-child {
		margin-bottom: 0;
		width: auto !important;
	}

	.tvm-site-footer .th-footer-main-section .elementor-column:first-child {
		grid-column: 1 / -1;
	}

	.tvm-site-footer .th-footer-main-section .elementor-column:last-child {
		grid-column: auto !important;
	}

	.tvm-site-footer .th-footer-widget-block {
		padding-right: 0;
	}

	.tvm-site-footer .th-footer-brand img {
		max-width: 150px;
	}

	.tvm-site-footer .th-footer-brand p {
		display: -webkit-box;
		font-size: 12.5px;
		line-height: 1.5;
		margin: 10px 0 11px;
		max-width: 340px;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}

	.tvm-site-footer .th-footer-col h3,
	.tvm-site-footer .th-footer-contact h3 {
		font-size: 13px;
		margin-bottom: 10px;
	}

	.tvm-site-footer .th-footer-col a {
		font-size: 12.5px;
		line-height: 1.45;
		margin-bottom: 5px;
	}

	.tvm-site-footer .th-footer-contact p {
		font-size: 12.5px;
		gap: 6px;
		line-height: 1.4;
		margin-bottom: 6px;
	}

	.tvm-site-footer .th-footer-bottom {
		padding: 12px 0 max(12px, env(safe-area-inset-bottom));
		padding-right: 56px;
		text-align: left;
	}

	.tvm-site-footer .th-footer-bottom p {
		font-size: 12px;
	}

	.tvm-site-footer .tvm-back-top,
	.tvm-site-footer .th-back-top {
		bottom: max(12px, env(safe-area-inset-bottom));
		height: 44px;
		opacity: 0;
		pointer-events: none;
		right: max(12px, env(safe-area-inset-right));
		transform: translateY(8px);
		transition: opacity 180ms ease-out, transform 180ms ease-out;
		width: 44px;
	}

	.tvm-site-footer .tvm-back-top.is-visible,
	.tvm-site-footer .th-back-top.is-visible {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
	}

	.tvm-footer-main {
		grid-template-columns: 1fr;
	}

	.tvm-footer-main {
		gap: 24px 16px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding-block: 34px 18px;
	}

	.tvm-footer-brand {
		grid-column: 1 / -1;
	}
}

@media (max-width: 359px) {
	.tvm-container,
	.tvm-site-header .th-header-inner,
	.tvm-site-footer .th-footer-main-section > .elementor-container,
	.tvm-site-footer .th-footer-bottom-section > .elementor-container {
		width: calc(100% - 28px);
	}

	.tvm-hero__actions {
		grid-template-columns: 1fr;
	}

	.tvm-hero__actions .tvm-button--outline {
		background: transparent;
		border-color: transparent;
	}

	.tvm-projects__grid,
	.tvm-products__viewport {
		margin-right: -14px;
		padding-right: 14px;
	}

	.tvm-process__list {
		margin-right: -14px;
		padding-right: 14px;
	}

	.tvm-service-card__title {
		font-size: 12.5px;
	}

	.tvm-service-card__text {
		font-size: 12px;
	}

	.tvm-product-card__price-line {
		gap: 2px;
	}

	.tvm-product-card__price-current {
		font-size: 0.9375rem;
	}

	.tvm-commitments__label,
	.tvm-commitment-stat__label {
		font-size: 9.5px;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	.tvm-button,
	.tvm-products__viewport,
	.tvm-products__control,
	.tvm-back-top,
	.th-back-top {
		scroll-behavior: auto;
		transition-duration: 0.01ms !important;
	}
}
