@charset "UTF-8";
@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&display=swap";
:root{
	--body-font: "Plus Jakarta Sans", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
	--body-bg: #fff;
	--body-color: #252525;
	--body-size: 16px;
	--body-line: 1.4;
	--body-weight: 300;
	--body-strong: 800;
	--body-letter: -0.02em;
	--color-white: #fff;
	--color-pink: #dd4091;
	--color-pink-dark: #b31968;
	--color-grey: #f2f2f2;
}
*,::before,::after{
	margin:0;
	padding:0;
	box-sizing:border-box;
	font-optical-sizing:auto;
}
html,html:focus-within{
	scroll-behavior:smooth;
}
body{
	font-family: var(--body-font);
	font-weight: var(--body-weight);
	font-size:var(--body-size);
	line-height: var(--body-line);
	letter-spacing: var(--body-letter);
	color:var(--body-color);
	background:var(--body-bg);
	overflow-x: hidden;
	margin:0;
}
body.no-scroll{
	overflow: hidden;
}
img{
	width:auto;
	height:auto;
	vertical-align: middle;
}
svg, video, canvas, audio, iframe, embed, object{
	display: block;
	vertical-align: middle;
}

a:not(.nav-link){
	color:inherit;
	text-decoration:none;
	transition: all 0.3s;
}
a:hover:not(.nav-link), a:focus-visible{
	color:var(--color-pink);
	text-decoration:underline
}
a:link:not(.nav-link), a:visited:not(.nav-link){
	color:var(--color-atlant);
	text-decoration: none;
}
a.animate-link{
	position: relative;
	text-decoration: none;
}
a.animate-link::after{
	content: "";
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 0;
	height: 1px;
	background: var(--color-pink);
	transition: width 0.3s ease;
}
a.animate-link:hover::after{
	width: 100%;
}

ul,ol{
	list-style-position:inside;
	padding:0;
	margin:0
}
h1, h2, h3, h4, h5, h6{
	font-family: var(--body-font);
	letter-spacing: var(--body-letter);
	line-height: 1;
}
h1{
	font-size: clamp(2rem, 1.2rem + 3vw, 3.25rem);
}
h2{
	font-size: clamp(1.7rem, 1.15rem + 2.2vw, 2.6rem);
}
h3{
	font-size: clamp(1.4rem, 1.05rem + 1.4vw, 2rem);
}
h4{
	font-size: clamp(1.2rem, 1.05rem + 0.8vw, 1.6rem);
}
h5{
	font-size: clamp(1.05rem, 1rem + 0.35vw, 1.25rem);
	font-weight: 650;
	letter-spacing: -0.01em;
}
h6{
	font-size: clamp(0.95rem, 0.92rem + 0.25vw, 1.1rem);
	font-weight: 600;
	letter-spacing: 0;
	opacity: 0.9;
}
p + h2, p + h3, p + h4, p + h5, p + h6{
	margin-top: 1.2em;
}
p{margin:0 0 2rem}
strong{font-weight:800}

section{
	background: #fff;
	padding:0;
	margin:0;
}
button{
	padding:10px 35px;
	border-radius:7px;
	cursor:pointer;
	transition:all .3s;
}
.object-cover{
	object-fit: cover;
	-o-object-fit: cover;
}
.bg-cover{
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
}
.pink{
	color:var(--color-pink) !important
}
.bg-pink{
	background-color:var(--color-pink) !important
}
.zoom{
	display: inline-block;
	transition: transform .25s ease;
	transform-origin: center;
}
.zoom:hover{
	transform: scale(1.05);
}
.fw-2{font-weight:200}
.fw-3{font-weight:300}
.fw-4{font-weight:400}
.fw-5{font-weight:500}
.fw-6{font-weight:600}
.fw-7{font-weight:700}
.fw-8{font-weight:800}

.p-50{
	padding-top:50px;
	padding-bottom:50px;
}
.p-100{
	padding-top:100px;
	padding-bottom:100px;
}
.p-150{
	padding-top:150px;
	padding-bottom:150px;
}
.pt-50{
	padding-top:50px;
}
.pb-50{
	padding-bottom:50px;
}
.pt-100{
	padding-top:100px;
}
.pb-100{
	padding-bottom:100px;
}
.pt-150{
	padding-top:150px;
}
.pb-150{
	padding-bottom:150px;
}

.m-50{
	margin-top:50px;
	margin-bottom:50px;
}
.m-100{
	margin-top:100px;
	margin-bottom:100px;
}
.m-150{
	margin-top:150px;
	margin-bottom:150px;
}
.mt-50{
	margin-top:50px;
}
.mb-50{
	margin-bottom:50px;
}
.mt-100{
	margin-top:100px;
}
.mb-100{
	margin-bottom:100px;
}
.mt-150{
	margin-top:150px;
}
.mb-150{
	margin-bottom:150px;
}

.active > .page-link,.page-link.active{
	background:var(--color-pink);
	border-color:var(--color-pink-dark);
	color:var(--color-white)!important;
}
.active > .page-link:hover,.page-link.active:hover{
	background:var(--color-pink-dark);
	border-color:var(--color-pink);
	color:var(--color-white)!important;
}

.swiper-pagination-bullet {
	background: var(--color-grey);
	opacity: 1;
	width: 10px;
	height: 10px;
	transition: all 0.3s ease;
}
.swiper-pagination-bullet-active {
	width: 24px !important;
	border-radius: 12px;
	background-color:var(--color-pink)
}
/**** HEADER ******************/
.site-header{
	background: #fff;
	position:relative;
}

/**** LOGO ******************/
.site-header .logo{
	background:transparent;
	position: absolute;
	top: 24px;
	left: 32px;
	width:200px;
	height:60px;
	display:block;
	transition: transform 0.3s ease;
	z-index: 1001;
}
.site-header .logo:hover{
	transition:all 0.3s;
	transform: scale(1.05);
}
.site-header .logo img.img-fluid{
	filter: none;
	max-width:60px;
	min-width:60px;
	
}
.site-header .logo a{
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: .6rem;
}
.site-header .logo .logo-hello{
	display: inline-block;
	white-space: nowrap;
	color: #fff;
	font-weight: 300;
	letter-spacing: .04em;
	opacity: 0;
	transform: translateX(-12px);
	transition: transform .35s ease, opacity .35s ease;
	max-width:120px;
}
.site-header .logo.active .logo-hello, .site-header .logo:hover .logo-hello{
	opacity: 1;
	transform: translateX(0);
}
.site-header .logo .logo-hello{
	opacity: 0;
	transform: translateX(-12px);
	transition: transform .35s ease, opacity .35s ease;
	white-space: nowrap;
}
.site-header .logo:hover .logo-hello,
.site-header .logo.is-touched .logo-hello{
 opacity: 1;
 transform: translateX(0);
}

/**** NAVIGATION ******************/
.site-header .navigation{
	background:transparent;
	position: absolute;
	top: 24px;
	right: 32px;
	cursor: pointer;
	transition:transform 0.3s ease;
	z-index: 1002;
}
.site-header .navigation:hover{
	transition:all 0.2s;
	transform: scale(1.05);
}
.site-header .navigation .menu-line-1,
.site-header .navigation .menu-line-2,
.site-header .navigation .menu-line-3{
	width: 3rem;
	height: 0.1rem;
	background-color: #fff;
	margin: 11px 0;
	transition: 0.4s;
}
.site-header .navigation .menu-line-2{
	width: 2rem;
	margin-left: auto;
}
.site-header .navigation.active .menu-line-1{
	transform: rotate(-45deg) translate(-0.6rem, 0.5rem);
}
.site-header .navigation.active .menu-line-3{
	transform: rotate(45deg) translate(-0.6em, -0.5rem);
}
.site-header .navigation.active .menu-line-2{
	opacity: 0;
}

/**** NAVIGATION OVERLAY ******************/
.site-header .overlay{
	z-index: 1000;
	position: fixed;
	inset: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.85);
	text-shadow:none;
	color:#fff;
	transition:all .3s;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	display: flex;
	justify-content: center;
	align-items: flex-start;
	padding: 5rem 2rem;
	overflow-y: auto;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
	pointer-events: none;
	visibility: hidden;
}
.site-header .overlay.overlay-active{
	pointer-events: auto;
	visibility: visible;
}
.site-header .overlay.overlay-slide-right{
	transition: all 0.3s ease-in-out;
	transform: translateX(0);
}
.site-header .overlay.overlay-slide-left{
	transition: all 0.5s ease-in-out;
	transform: translateX(100%);
}
.site-header .overlay .menu{
	width: 100%;
	text-align: center;
	margin: auto 0;
	min-height: calc(100vh - 10rem);
	min-height: calc(100dvh - 10rem);
	display: flex;
	align-items: center;
	justify-content: center;
}
.site-header .overlay .menu nav{display:flex;flex-direction:column;gap:1.5rem}
.site-header .overlay .menu nav a{color:#fff;text-decoration:none;font-size:1.5rem;font-weight:200;transition:all .3s ease;position:relative;display:inline-block;cursor:pointer}
.site-header .overlay .menu nav a::after{content:'';position:absolute;bottom:-10px;left:50%;transform:translateX(-50%) scaleX(0);width:100%;height:1px;background:linear-gradient(90deg,transparent,#fff,transparent);transition:transform .3s ease}
.site-header .overlay .menu nav a:hover{color:#fff;text-shadow:none;transform:translateY(-2px)}
.site-header .overlay .menu nav a:hover::after{transform:translateX(-50%) scaleX(1.5)}
.site-header .overlay .menu nav .menu-item{position:relative}
.site-header .overlay .menu nav .menu-item .sub-menu{max-height:0;overflow:hidden;transition:max-height .4s ease,opacity .4s ease,margin .4s ease;opacity:0;display:flex;flex-direction:column;gap:1rem;margin-top:0}
.site-header .overlay .menu nav .menu-item .sub-menu.active{
	max-height: 100%;
	opacity: 1;
	margin-top: 1rem;
	overflow: visible;
}
.site-header .overlay .menu nav .menu-item .sub-menu a{font-size:1rem;font-weight:300;letter-spacing:.05em;color:#fffc}
.site-header .overlay .menu nav .menu-item .sub-menu a:hover{color:#fff}
.site-header .overlay .menu nav .menu-item .expand-icon{display:none;margin-left:.5rem;font-size:.6em;transition:transform .3s ease}
.site-header .overlay .menu nav .menu-item .expand-icon.active{transform:rotate(180deg)}
.site-header .overlay .menu nav .menu-item.has-submenu .expand-icon{display:inline-block}
.site-header .overlay .menu nav .menu-item .sub-menu::-webkit-scrollbar{width:6px}
.site-header .overlay .menu nav .menu-item .sub-menu::-webkit-scrollbar-track{background:rgba(255,255,255,0.1);border-radius:3px}
.site-header .overlay .menu nav .menu-item .sub-menu::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.3);border-radius:3px}
.site-header .overlay .menu nav .menu-item .sub-menu::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,0.5)}
@media (max-width: 768px){
	.site-header .overlay .menu nav{gap:1.5rem}
	.site-header .overlay .menu a{font-size:2rem}
	.site-header .overlay .menu .menu-item .sub-menu a{font-size:1.2rem}
	.site-header .overlay .menu .menu-item .sub-menu.active{margin-top:1rem;max-height:400px}
}
@media (max-width: 480px){
	.site-header .overlay .menu nav{gap:1.2rem}
	.site-header .overlay .menu a{font-size:1.5rem}
	.site-header .overlay .menu .menu-item .sub-menu a{font-size:1rem}
	.site-header .overlay .menu .menu-item .sub-menu{gap:.8rem}
	.site-header .overlay .menu .menu-item .sub-menu.active{margin-top:.8rem;max-height:300px}
}

.site-header.is-fixed .logo{
	position: fixed;
	top: 24px;
	left: 32px;
}
.site-header.is-fixed .logo:hover{
 transform: scale(1.05);
}
.site-header.is-fixed .navigation{
	position: fixed;
	top: 24px;
	right: 32px;
}
.site-header.is-fixed .navigation:hover{
 transform: scale(1.05);
}
.site-header.active .logo img{
	filter: brightness(0);
}
.site-header.active .navigation .menu-line-1,
.site-header.active .navigation .menu-line-2,
.site-header.active .navigation .menu-line-3{
	background-color: #000;
}

.site-header.active .logo.active img{
	filter: none;
}
.site-header.active .navigation.active .menu-line-1,
.site-header.active .navigation.active .menu-line-2,
.site-header.active .navigation.active .menu-line-3{
	background-color: #fff;
}
/**** MAIN ******************/
.site-main{
	margin: 0;
	padding: 0
}
.site-main .hero-slider{
	position:relative;
	width:100%;
	height:100vh;
	min-height:600px;
	overflow:hidden;
	background-color: #252525;
}
.site-main .hero-slider::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:#252525;object-fit: cover;-o-object-fit: cover;object-position: center;z-index:1}
.site-main .hero-slider .shape-divider{position:absolute;bottom:-50px;left:0;width:100%;overflow:hidden;line-height:0;z-index:2}
.site-main .hero-slider .shape-divider svg{position:relative;display:block;width:calc(100% + 1.3px);height:60px;}
.site-main .hero-slider .shape-divider .shape-fill{fill:var(--body-bg)}
.site-main .hero-slider .swiper-pagination{
	bottom:20px !important;
}
.site-main .hero-slider .swiper-slide.overlay::before{
	content:'';
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background: rgba(0,0,0,0.6);
	z-index:1
}
.site-main .hero-slider .swiper-slide{
	background: #444;
	display: flex;
	justify-content: center;
	align-items: center;
	transition:opacity 1s ease-in-out;
	background:#252525;
	object-fit: cover;
	-o-object-fit: cover;
	object-position: center;
}
.site-main .hero-slider .swiper-slide img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	-o-object-fit: cover;
	object-position: center;
	padding:0;
	margin:0;
	pointer-events: none;
}
.site-main .hero-slider .swiper-slide video{width:100%;height:100%;object-fit: cover; -o-object-fit: cover;object-position: center;padding:0;margin:0;pointer-events: none;}
.site-main .hero-slider .swiper-slide .slide-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:#fff;z-index:2;width:90%;max-width:800px}
.site-main .hero-slider .swiper-slide .slide-content h1{font-size:3.3rem;margin-bottom:1rem;text-shadow:none;animation:heroFadeInUp 1s ease-out}
.site-main .hero-slider .swiper-slide .slide-content h1 strong{font-weight:800;font-size:clamp(2rem, 1.2rem + 3vw, 3.25rem)}
.site-main .hero-slider .swiper-slide .slide-content p{letter-spacing: 0.1rem;font-size:1rem;margin-bottom:2rem;text-shadow:none;animation:heroFadeInUp 1s ease-out .3s backwards}
.site-main .hero-slider .swiper-slide .slide-content .button{font-size:14px;background:#fff3;text-shadow:none;border:2px solid #fff;color:#fff;padding:10px 35px;border-radius:7px;cursor:pointer;transition:all .3s;backdrop-filter:blur(7px);animation:heroFadeInUp 1s ease-out .6s backwards}
.site-main .hero-slider .swiper-slide .slide-content .button:hover{background-color:#fff;color:var(--color-pink)}
@media (max-width: 768px){
	.site-main .hero-slider .swiper-slide .slide-content h1{font-size:2rem}
	.site-main .hero-slider .swiper-slide .slide-content p{font-size:1rem}
	.site-main .hero-slider .shape-divider{bottom:-50px}
	.site-main .hero-slider .shape-divider svg{height:60px}
}

.site-main .content{margin:0;background-color:#fff;padding:120px 0px 60px 0px}
.site-main .content h2{font-size:2.5rem;margin-bottom:1rem;color:#252525}
.site-main .content p{line-height:1.5;margin-bottom:1rem;color:#000}
.site-main .content a{
	color:#252525;
	font-weight:400
}
.site-main .content a:hover{
	color:var(--color-pink);
}
.site-main .content a.button{
	font-size:14px;
	background:var(--color-pink);
	text-shadow:none;
	border:1px solid #bc1468;
	color:#fff;
	padding:10px 25px;
	border-radius:7px;
	cursor:pointer;
	transition:all .3s;
	margin-bottom:1.2rem;
	display:inline-block;
}
.site-main .content a.button:hover{
	background-color:#fff;
	color:#bc1468
}
.site-main .content ul{
	list-style: disc;
	list-style-position: inside;
}
.site-main .content ol{
	list-style: decimal;
	list-style-position: inside;
}
.site-main .content ul, .site-main .content ol{
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	gap: .5rem;
	margin-bottom:2rem;
}
.site-main .content ul li::marker, .site-main .content ol li::marker{
	color: var(--color-pink)
}

.site-main .projects{
	margin:0;
	background-color:#fff;
	padding:60px 0px
}
.site-main .projects .zoom-card{
	min-height: 320px;
	overflow: hidden;
}
.site-main .projects .zoom-card img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s ease;
	transform: scale(1);
}
.site-main .projects .zoom-card:hover img{
	transform: scale(1.1);
}
.site-main .projects .swiper .swiper-slide .project-tile{
 height: 360px;
 background: #111;
}
.site-main .projects .swiper .swiper-slide .project-tile .project-overlay{
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255,255,255,0.1);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	opacity: 0;
	transition: opacity .35s ease;
}
.site-main .projects .swiper .swiper-slide .project-tile .project-title{
	padding: .6rem 1rem;
	color: transparent;
	font-weight: 600;
	letter-spacing: .2px;
	border: none;
	display: inline-block;
	font-size: 3.4rem;
	-webkit-text-stroke-color: #ffff;
	-webkit-text-stroke-width: 1px;
	text-transform: uppercase;
	font-family: "Bebas Neue", Sans-serif;
	transition: .5s;
	-webkit-transition: .5s;
	-moz-transition: .5s;
	-ms-transition: .5s;
	-o-transition: .5s;
}
.site-main .projects .swiper .swiper-slide .project-tile:hover .project-overlay{
	opacity: 1;
}
.site-main .projects .swiper .swiper-slide .project-tile:focus-visible .project-overlay{ opacity: 1; }
.site-main .projects .swiper .swiper-slide .project-tile:focus-visible .project-img{ transform: scale(1.12); }

.site-main a.view-link{
	position: relative;
	text-decoration: none;
	font-size:1rem;
	color:var(--color-pink)!important;
}
.site-main a.view-link::after{
	content: "";
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 0;
	height: 1px;
	background: var(--color-pink);
	transition: width 0.3s ease;
}
.site-main a.view-link:hover::after{
	width: 100%;
}

.site-main .project-gallery{
	position:relative;
	margin:0;
	padding:0;
	background:#fff
}
.site-main .project-gallery.bg-grey{
	background:var(--color-grey)
}
.site-main .project-gallery .shape-divider-top{
	position:absolute;top:-10px;left:0;width:100%;overflow:hidden;line-height:0;z-index:2
}
.site-main .project-gallery .shape-divider-bottom{
	position:absolute;bottom:-50px;left:0;width:100%;overflow:hidden;line-height:0;z-index:2
}
.site-main .project-gallery .shape-divider-top svg,
.site-main .project-gallery .shape-divider-bottom svg{display: block;width: 100%;height: 60px;}
.site-main .project-gallery .shape-divider-top .shape-fill,
.site-main .project-gallery .shape-divider-bottom .shape-fill{fill:var(--body-bg)}

.site-main .project-gallery .container{
	padding:120px 0 90px 0;
}
.swiper-button-next, .swiper-button-prev{
	color: var(--color-pink)
}
.site-main .project-gallery .accordion-button:not(.collapsed){
	background-color:var(--color-pink);
	color:var(--color-white);
}
.site-main .project-gallery .accordion-button::before{border-radius:12px;display:flex;flex-direction:column;transition:all .3s cubic-bezier(0.4,0,0.2,1)}
.site-main .project-gallery .accordion-button::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--color-pink);opacity:0;transition:opacity .3s ease}
.site-main .project-gallery .accordion-button:hover{transform:translateY(-1px);box-shadow:0 8px 30px #00000014;border-color:var(--color-pink)}
.site-main .project-gallery .accordion-button:hover::before{opacity:1}

.site-footer{
	position:relative;
	background-color:var(--color-grey);
	padding:30px 0px 30px 0px;
	color:var(--body-color);
}
.site-footer a{
	position: relative;
	text-decoration: none;
	color:var(--body-color);
}
.site-footer a:hover, .site-footer a:focus-visible{
	color:var(--color-pink);
	text-decoration:none
}


.site-footer .shape-divider{position:absolute;top:-5px;width:100%;overflow:hidden;line-height:0;z-index:2}
.site-footer .shape-divider svg{display: block;width:100%;height: 60px;}
.site-footer .shape-divider .shape-fill{fill:var(--body-bg)}

.contact-button{position:fixed;right:-25px;top:40%;transform:translateY(-50%) rotate(-90deg);opacity:0.7;transform-origin:center;text-decoration:none;align-items:center;display:none;gap:10px;transition:all .3s ease;cursor:pointer;padding:0;border-radius:8px;z-index:9}
.contact-button.active{display:flex}
.contact-button:hover{opacity:1;transform:translateY(-50%) rotate(-90deg) scale(1.1)}
.contact-button .phone-icon{width:20px;height:20px;fill:#252525;transition:all .3s ease}
.contact-button:hover .phone-icon{fill:var(--color-pink)!important}
.contact-button .phone-number{color:#252525;font-size:15px;font-weight:600;letter-spacing:1px;transition:color .3s ease}
.contact-button:hover .phone-number{color:var(--color-pink)!important}

/**** REVIEWS ******************/
.reviews-container{margin:0 auto}
.reviews-container .swiper{width:100%;padding:5px 0 30px}
.reviews-container .swiper-slide{height:auto}
.reviews-container .swiper-slide .review-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:25px;margin-right:5px;box-shadow:0 2px 12px #0000000a;height:100%;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:all .3s cubic-bezier(0.4,0,0.2,1)}
.reviews-container .swiper-slide .review-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--color-pink);opacity:0;transition:opacity .3s ease}
.reviews-container .swiper-slide .review-card:hover{transform:translateY(-1px);box-shadow:0 8px 30px #00000014;border-color:var(--color-pink)}
.reviews-container .swiper-slide .review-card:hover::before{opacity:1}
.reviews-container .swiper-slide .review-header{display:flex;align-items:center;gap:15px;margin-bottom:20px}
.reviews-container .swiper-slide .avatar{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.4rem;font-weight:600;flex-shrink:0}
.reviews-container .swiper-slide .review-info{flex:1}
.reviews-container .swiper-slide .reviewer-name{font-size:1.1rem;font-weight:600;color:#1f2937;margin-bottom:5px}
.reviews-container .swiper-slide .review-date{font-size:.875rem;color:#6b7280;font-weight:400;font-size:.875rem;color:#6b7280}
.reviews-container .swiper-slide .rating{display:flex;gap:4px;margin-bottom:18px}
.reviews-container .swiper-slide .star{color:#fbbf24;font-size:1.2rem}
.reviews-container .swiper-slide .star.empty{color:#d1d5db}
.reviews-container .swiper-slide .review-text{color:#4b5563;line-height:1.7;font-size:.95rem;flex:1}
.reviews-container .swiper-slide .google-logo{margin-top:20px;padding-top:20px;border-top:1px solid #f3f4f6;display:flex;align-items:center;gap:8px;color:#9ca3af;font-size:.875rem;font-weight:500}
.reviews-container .swiper-slide .google-icon{width:20px;height:20px}
@media (max-width: 768px){
	.reviews-container .swiper-slide .reviews-header h2{font-size:2rem}
	.reviews-container .swiper-slide .reviews-header .rating-number{font-size:2rem}
	.reviews-container .swiper-slide .review-card{padding:20px}
	.reviews-container .swiper-slide .swiper-button-next,.reviews-container .swiper-slide .swiper-button-prev{display:none}
}

.fade-element{opacity:0;transform:translateY(30px);transition:opacity .8s ease-out,transform .8s ease-out}
.fade-element.fade-in{opacity:1;transform:translateY(0)}

.site-main .parallax {
	position: relative;
	overflow: hidden;
	min-height: 500px;
}
.site-main .parallax.overlay::after{
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom, rgba(0,0,0,0.6), rgba(0,0,0,0.8));
	pointer-events: none;
}
.site-main .parallax__bg {
	position: absolute;
	inset: -120px 0;
	height: calc(100% + 240px);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	will-change: transform;
	z-index: 0;
}
.site-main .parallax__content {
	position: relative;
	z-index: 1;
	padding-top: 100px;
	padding-bottom: 80px;
	color: white;
}

.site-main .content-header{
	margin:0
}
.content-header .shape-divider{position:absolute;bottom:-50px;left:0;width:100%;overflow:hidden;line-height:0;z-index:2}
.content-header .shape-divider svg{position:relative;display:block;width:calc(100% + 1.3px);height:60px;}
.content-header .shape-divider .shape-fill{fill:var(--body-bg)}

.site-main .content-header .title{
	margin-top:150px;
	margin-bottom:50px;
	padding:0;
}

.site-main .content-body{background-color:var(--body-bg);padding:80px 0px 60px 0px;margin:3rem 0}
.site-main .content-body h2{margin-bottom:1rem;color:#252525}
.site-main .content-body p{line-height:1.5;margin-bottom:1rem;color:#000}
.site-main .content-body a{
	color:#252525;
	font-weight:400
}
.site-main .content-body a:hover{
	color:var(--color-pink);
}
.site-main .content-body a.button{
	font-size:14px;
	background:var(--color-pink);
	text-shadow:none;
	border:1px solid #fff;
	color:var(--color-atlant);
	padding:10px 25px;
	border-radius:3px;
	cursor:pointer;
	transition:all .3s;
	margin-bottom:1.2rem;
	display:inline-block;
}
.site-main .content-body a.button:hover{
	background-color:var(--body-bg);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border:1px solid var(--color-pink);
	color:var(--color-pink);
}
.site-main .content-body ul:not(.nav):not(.pagination){
	list-style: disc;
	list-style-position: inside;
}
.site-main .content-body ol:not(.nav):not(.pagination){
	list-style: decimal;
	list-style-position: inside;
}
.site-main .content-body ul:not(.nav):not(.pagination), .site-main .content-body ol:not(.nav):not(.pagination){
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	gap: .5rem;
	margin-bottom:2rem;
}
.site-main .content-body ul:not(.nav):not(.pagination) li::marker, .site-main .content-body ol:not(.nav):not(.pagination) li::marker{
	color: var(--color-pink)
}

.notification-widget{position:fixed;bottom:20px;left:20px;width:320px;background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000026;padding:15px;padding-top:12px;transform:translateX(-400px);opacity:0;transition:all .4s ease;z-index:9999}
.notification-widget.show{transform:translateX(0);opacity:1}
.notification-widget .notification-header{position:absolute;top:8px;right:8px}
.notification-widget .close-btn{background:none;border:none;color:#5f6368;cursor:pointer;font-size:18px;line-height:1;padding:0;width:20px;height:20px}
.notification-widget .close-btn:hover{color:#202124}
.notification-widget .notification-content{display:flex;gap:12px}
.notification-widget .user-avatar{width:40px;height:40px;border-radius:50%;background:var(--color-pink);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:16px;flex-shrink:0}
.notification-widget .notification-details{flex:1}
.notification-widget .user-name{font-size:13px;font-weight:600;color:#202124;margin:0px}
.notification-widget .stars{color:#fbbc04;font-size:18px;line-height:1;margin-bottom:4px}
.notification-widget .review-text{font-size:11px;color:#252525;line-height:1.4;margin:0px}
@media (max-width: 768px){
	.notification-widget{left:50%;bottom:20px;width:calc(100% - 40px);max-width:300px;transform:translate(-50%,100px)}
	.notification-widget.show{transform:translate(-50%,0);opacity:1}
}

/* ========================= RESPONSIVE ========================= */
@media (max-width: 768px){
	html{
		font-size: 90%;
	}
	.site-header .logo{
		max-width:50px;
	}
	.site-header .navigation{
		font-size: 80%;
	}
	.site-header .navigation.active .menu-line-1{
		transform: rotate(-45deg) translate(-0.7rem, 0.5rem);
	}
	.site-header .navigation.active .menu-line-3{
		transform: rotate(45deg) translate(-0.8em, -0.5rem);
	}
	.site-header.is-fixed .logo{
		position: absolute;
		top: 24px;
		left: 32px;
	}
	.site-header.is-fixed .navigation{
		position: absolute;
		top: 24px;
		right: 32px;
	}
	.site-main .content img{
		width:100%;
		height:auto;
		display:block
	}
	.zoom:hover{
		transform:unset;
	}
	.contact-button,.contact-button.active{display:none}
}

@keyframes glow{0%,100%{opacity:.5}50%{opacity:1}}
@keyframes heroFadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}