/* ============================================================
   Over-ons hero — Elementor (c-hero--fs / overlay / shape)
   ============================================================ */
   .e-con.tf-overons-hero{
   	--tf-header-h:0px;                       /* висота overlay/липкого хедера, напр. 96px */
   	position:relative;
   	overflow:hidden;
   	display:flex;
   	flex-direction:column;
   	justify-content:flex-end;                /* заголовок → низ-ліворуч */
   	min-height: 100vh;
   	padding: 0 0.5rem 19.6875rem;
   }

/* Фото на весь екран (cover) */
.tf-overons-hero-media{
	position:absolute; inset:0; z-index:0; padding:0;
}
.tf-overons-hero-media > .tf-overons-hero-img{ position:absolute; inset:0; }
.tf-overons-hero-img > .elementor-widget-container{ height:100%; }
.tf-overons-hero-img img{ width:100%; height:100%; object-fit:cover; display:block; }

/* Синій оверлей (c-hero--overlay:after) */
.e-con.tf-overons-hero::after{
	content:""; position:absolute; inset:0; z-index:1;
	background:rgba(50,115,235,.62);
	pointer-events:none;
}

/* Фірмова рамка-контур (c-hero__shape) — додана псевдоелементом */
.e-con.tf-overons-hero::before{
	content:""; position:absolute; top:0; left:0; z-index:3;
	width:20.3125rem; height:28.75rem;
	background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2MDUuMjA5IiBoZWlnaHQ9IjYyNi40MjgiPjxwYXRoIGRhdGEtbmFtZT0iUGF0aCAyNDEiIGQ9Ik0zMzMuNTI2IDYyNS40MjhoMjQ5LjcwNmEyMC45NzcgMjAuOTc3IDAgMCAwIDIwLjk3Ny0yMC45NzhWMzMzLjUyOGEyMC45ODQgMjAuOTg0IDAgMCAwLTYuMTQ0LTE0LjgzM0wyODYuNTE3IDcuMTQ0QTIwLjk4NyAyMC45ODcgMCAwIDAgMjcxLjY4NCAxSDIxLjk3OEEyMC45NzggMjAuOTc4IDAgMCAwIDEgMjEuOTc4djI3MC45MjRhMjAuOTcyIDIwLjk3MiAwIDAgMCA2LjE0NiAxNC44MzNsMzExLjU0NiAzMTEuNTQ5YTIwLjk3OCAyMC45NzggMCAwIDAgMTQuODM0IDYuMTQ0eiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZmZmIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS13aWR0aD0iMiIvPjwvc3ZnPg==") no-repeat 100% 100%;
	background-size: 190%;
	pointer-events:none;
}

/* Заголовок (.ultra) */
.tf-overons-hero-title{ position:relative; z-index:5; margin:0; }
.tf-overons-hero-title .elementor-heading-title{
	margin:0; max-width:14ch;
	color:#fff; font-weight:800;
	text-transform:uppercase;
	font-size:2.25rem; line-height:1;
}

/* ---- ≥768px ---- */
@media (min-width:768px){
	.e-con.tf-overons-hero{ padding:0 6rem 15rem; }
	.e-con.tf-overons-hero::before{ width:38.5625rem; height:44.6875rem; 	background-size: 151%; top: -3rem; }
	.tf-overons-hero-title .elementor-heading-title{ font-size:4rem; line-height:4.3125rem; }
}

/* ---- ≥992px ---- */
@media (min-width:992px){
	.e-con.tf-overons-hero{ padding:0 16rem 8rem; }
	.e-con.tf-overons-hero::before{ width:38rem; height:38rem; 	background-size: 151%; }
}

/* ---- ≥1200px ---- */
@media (min-width:1200px){
	.e-con.tf-overons-hero{ padding-bottom:20rem; }
	.e-con.tf-overons-hero::before{ width:44rem; height:36rem; 
		background-size: 151%;
		top: 0;
	}
	.tf-overons-hero-title .elementor-heading-title{ font-size:4.75rem; line-height:5.125rem; }
}

/* ---- ≥1550px ---- */
@media (min-width:1550px){
	.e-con.tf-overons-hero::before{ 
		width:60rem; 
		height:44.5rem; 
		background-size: 151%;
		top: -32px;
		background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNjgwLjAzNiIgaGVpZ2h0PSIxNzM5LjAzIj48cGF0aCBkYXRhLW5hbWU9IlBhdGggMTU5IiBkPSJNOTI1Ljk4NCAxNzM3LjUzaDY5NC4yMzFhNTguMzE5IDU4LjMxOSAwIDAgMCA1OC4zMjEtNTguMzIyVjkyNS45ODRhNTguMzM5IDU4LjMzOSAwIDAgMC0xNy4wODItNDEuMjRMNzk1LjI5MSAxOC41ODFhNTguMzQ4IDU4LjM0OCAwIDAgMC00MS4yNC0xNy4wODJINTkuODIxQTU4LjMyMyA1OC4zMjMgMCAwIDAgMS40OTkgNTkuODIxdjc1My4yMjJhNTguMzA3IDU4LjMwNyAwIDAgMCAxNy4wODggNDEuMjRsODY2LjE1NyA4NjYuMTY1YTU4LjMyMiA1OC4zMjIgMCAwIDAgNDEuMjQgMTcuMDgyeiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZmZmIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS13aWR0aD0iMyIvPjwvc3ZnPg==);
	}
	.tf-overons-hero-title .elementor-heading-title{ font-size:6.25rem; line-height:6.75rem; }
}

/* ---- ≥1800px ---- */
@media (min-width:1800px){
	.e-con.tf-overons-hero{ 
		padding: 0 25rem 19.4rem;
		align-items: flex-start;
	}
	.e-con.tf-overons-hero::before{ width:69.375rem; height:53.75rem; }
}

@media (max-width:1200px){
	.e-con.tf-overons-hero{
		min-height: 85vh;
	}
}