/* ----------------------------------------------------------------------------------------
* Author        : Awaiken
* Template Name : Restraint - Yoga & Meditation HTML Template
* File          : CSS File
* Version       : 1.0
* ---------------------------------------------------------------------------------------- */
/* INDEX
----------------------------------------------------------------------------------------
01. Global Variables
02. General css
03. Header css
04. Hero css
05. About Us css
06. Our Services css
07. What We Do css
08. Why Choose Us css
09. Our Benefits css
10. Intro Video css
11. How It Work css
12. Our Features css
13. Our Pricing css
14. Scrolling Ticker css
15. Our Testimonial css
16. Our FAQs css
17. Our Blog css
18. Footer css
19. About Us Page css
20. Services Page css
21. Service Single css
22. Blog Archive css
23. Blog Single css
24. Team Page css
25. Team Single css
26. Pricing Page css
27. Testimonials Page css
28. Image Gallery css
29. Video Gallery css
30. FAQs Page css
31. Contact Us Page css
32. Book Appointment css
33. 404 Error Page css
34. Responsive css
-------------------------------------------------------------------------------------- */

/************************************/
/*** 	 01. Global Variables	  ***/
/************************************/

:root{
	--primary-color				: #1E1E1E;
	--secondary-color			: #FAF9FA;
	--text-color				: #9C9C9C;
	--accent-color				: #3D493A;
	--accent-secondary-color	: #AEA17E;
	--white-color				: #FFFFFF;
	--divider-color				: #4156491A;
	--dark-divider-color		: #FFFFFF1A;
	--error-color				: rgb(230, 87, 87);
	--default-font				: "Sora", sans-serif;
	--accent-font				: "Marcellus", serif;
}


/************************************/
/*** 	   02. General css		  ***/
/************************************/

body{
	position: relative;
	font-family: var(--default-font);
	font-size: 16px;
	font-weight: 400;
	line-height: 1em;
	color: var(--text-color);
	background: var(--secondary-color);
}

::-webkit-scrollbar-track{
	background-color: var(--secondary-color);
	border-left: 1px solid var(--secondary-color);
}
::-webkit-scrollbar{
	width: 7px;
	background-color: var(--secondary-color);
}
::-webkit-scrollbar-thumb{
	background: var(--accent-color);
}

::selection{
	color: var(--primary-color);
	background-color: var(--secondary-color);
	filter: invert(1);
}

p{
	line-height: 1.6em;
	margin-bottom: 1.5em;
}

h1,
h2,
h3,
h4,
h5,
h6{
	margin :0;
	font-family: var(--accent-font);
	font-weight: 400;
	line-height: 1.2em;
	color: var(--primary-color);
}

figure{
	margin: 0;
}

img{
	max-width: 100%;
}

a{
	text-decoration: none;
}

a:hover{
	text-decoration: none;
	outline: 0;
}

a:focus{
	text-decoration: none;
	outline: 0;
}

html,
body{
	width: 100%;
	overflow-x: clip;
}

.container{
	max-width: 1300px;
}

.container,
.container-fluid,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl{
	position: relative;
    padding-right: 15px;
    padding-left: 15px;
	z-index: 1;
}

.image-anime{
	position: relative;
	overflow: hidden;
}

.image-anime:after{
	content: "";
	position: absolute;
    width: 200%;
    height: 0%;
    left: 50%;
    top: 50%;
    background-color: rgba(255,255,255,.3);
    transform: translate(-50%,-50%) rotate(-45deg);
    z-index: 1;
}

.image-anime:hover:after{
    height: 250%;
    transition: all 600ms linear;
    background-color: transparent;
}

.reveal{
	position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    visibility: hidden;
    overflow: hidden;
}

.reveal img{
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -webkit-transform-origin: left;
    transform-origin: left;
}

.row{
    margin-right: -15px;
    margin-left: -15px;
}

.row > *{
	padding-right: 15px;
	padding-left: 15px;
}

.row.no-gutters{
    margin-right: 0px;
    margin-left: 0px;
}

.row.no-gutters > *{
    padding-right: 0px;
    padding-left: 0px;
}

.btn-default{
	position: relative;
    display: inline-block;
    background: var(--accent-color);
	border-radius: 10px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1em;
    text-transform: capitalize;
    color: var(--white-color);
    border: none;
    padding: 17px 44px 17px 20px;
    transition: all 0.5s ease-in-out;
    overflow: hidden;
    z-index: 0;
}

.btn-default:hover{
	background: transparent;
}

.btn-default::before{
	content: '';
    position: absolute;
    top: 50%;
    right: 0;
    width: 14px;
    height: 14px;
    background-image: url(../images/arrow-white.svg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    transform: translate(-20px, -50%);
    transition: all 0.4s ease-in-out;
}

.btn-default:hover::before{
	transform: translate(-20px, -50%) rotate(45deg);
}

.btn-default::after{
	content: '';
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: -15%;
	right: 0;
    width: 0;
    height: 106%;
    background: var(--accent-secondary-color);
    transform: skew(30deg);
    transition: all 0.4s ease-in-out;
    z-index: -1;
}

.btn-default:hover:after{
	width: 100%;
    transform: skew(0deg);
    left: 0;
}

.btn-default.btn-highlighted{
	background: var(--accent-secondary-color);
}

.btn-default.btn-highlighted::after{
	background: var(--primary-color);
}

.readmore-btn{
	position: relative;
	display: inline-block;
	font-size: 16px;
	font-weight: 500;
	line-height: normal;
	text-transform: capitalize;
	color: var(--accent-color);
	padding: 5px 40px 5px 0;
	transition: all 0.3s ease-in-out;
}

.readmore-btn:hover{
	color: var(--accent-secondary-color);
}

.readmore-btn:after{
	content: '';
    position: absolute;
	right: 0;
	top: 50%;
    transform: translateY(-50%);
	background-color: var(--accent-color);
    background-image: url('../images/arrow-white.svg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 8px auto;
	border-radius: 50%;
	width: 30px;
	height: 30px;
	transition: all 0.3s ease-in-out;
}

.readmore-btn:hover:after{
	background-color: var(--accent-secondary-color);
	transform: translateY(-50%) rotate(45deg);
}

.cb-cursor:before{
	background: var(--accent-secondary-color);
}

.preloader{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1000;
	background: var(--accent-color);
	display: flex;
	align-items: center;
	justify-content: center;
}

.loading-container,
.loading{
	height: 100px;
	position: relative;
	width: 100px;
	border-radius: 100%;
}

.loading-container{
	margin: 40px auto;
}

.loading{
	border: 1px solid transparent;
	border-color: transparent var(--accent-secondary-color) transparent var(--accent-secondary-color);
	animation: rotate-loading 1.5s linear 0s infinite normal;
	transform-origin: 50% 50%;
}

.loading-container:hover .loading,
.loading-container .loading{
	transition: all 0.5s ease-in-out;
}

#loading-icon{
	position: absolute;
	top: 50%;
	left: 50%;
	max-width: 66px;
	transform: translate(-50%, -50%);
}

@keyframes rotate-loading{
	0%{
		transform: rotate(0deg);
	}

	100%{
		transform: rotate(360deg);
	}
}

.section-row{
	margin-bottom: 80px;
}

.section-row .section-title{
	margin-bottom: 0;
}

.section-title{
	margin-bottom: 40px;
}

.section-title h3{
	display: inline-block;
	position: relative;
	font-family: var(--default-font);
	font-size: 14px;
    font-weight: 500;
	line-height: 1.6em;
	letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--accent-color);
	background: url('../images/icon-sub-heading.svg') no-repeat;
	background-position: left center;
	background-size: 18px auto;
	padding-left: 28px;
    margin-bottom: 10px;
}

.section-title h1{
	font-size: 60px;
	text-transform: uppercase;
	margin-bottom: 0;
	cursor: none;
}

.section-title h2{
	font-size: 48px;
	margin-bottom: 0;
	cursor: none;
}

.section-title h1 span,
.section-title h2 span{
	color: var(--accent-secondary-color);
}

.section-title p{
	margin-top: 20px;
	margin-bottom: 0;
}

.section-title-content p{
	margin: 0;
}

.section-btn{
	text-align: right;
}

.section-content-btn .section-btn{
	text-align: left;
	margin-top: 30px;
}

.help-block.with-errors ul{
	margin: 0;
	text-align: left;
}

.help-block.with-errors ul li{
	color: var(--error-color);
	font-weight: 500;
	font-size: 14px;
}

/************************************/
/**** 	   03. Header css		 ****/
/************************************/

header.main-header{
	position: absolute;
    top: 0;
    width: 100%;
    border-bottom: 1px solid var(--dark-divider-color);
    z-index: 100;
}

header.main-header .header-sticky{
	position: relative;
	top: 0;
	z-index: 100;
}

header.main-header .header-sticky.hide{
	transform: translateY(-100%);
	transition: transform 0.3s ease-in-out;
	border-radius: 0;
}

header.main-header .header-sticky.active{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	border-radius: 0;
    transform: translateY(0);
	background: var(--primary-color);
	border-bottom: 1px solid var(--dark-divider-color);
}

.navbar{
	padding: 30px 0;
	align-items: center;
}

.navbar-brand{
	padding: 0;
	margin: 0;
}

.main-menu .nav-menu-wrapper{
	flex: 1;
	text-align: center;
	margin: 0 20px;
}

.main-menu .nav-menu-wrapper > ul{
	align-items: center;
	display: inline-flex;
}

.main-menu ul li{
	margin: 0;
	position: relative;
}

.main-menu ul li a{
	font-size: 16px;
	font-weight: 400;
	line-height: 1.2em;
	padding: 15px !important;
	color: var(--white-color);
	text-transform: capitalize;
	transition: all 0.3s ease-in-out;
}

.main-menu ul li.submenu > a:after{
	content: '\f107';
	font-family: 'FontAwesome';
	font-weight: 900;
	font-size: 14px;
	margin-left: 8px;
}

.main-menu ul li a:hover,
.main-menu ul li a:focus{
	color: var(--accent-secondary-color);
}

.main-menu ul ul{
	visibility: hidden;
	opacity: 0;
	transform: scaleY(0.8);
	transform-origin: top;
	padding: 0;
	margin: 0;
	list-style: none;
	width: 235px;
	border-radius: 20px;
	position: absolute;
	left: 0;
	top: 100%;
	background: var(--accent-color);
	transition: all 0.3s ease-in-out;
	text-align: left;
}

.main-menu ul li.submenu:first-child ul{
    width: 235px;
}

.main-menu ul ul ul{
	left: 100%;
	top: 0;
	text-align: left;
}

.main-menu ul li:hover > ul{
	visibility: visible;
	opacity: 1;
	transform: scaleY(1);
    padding: 5px 0;
}

.main-menu ul li.submenu ul li.submenu > a:after{
    content: '\f105';
    float: right;
}

.main-menu ul ul li{
	margin: 0;
	padding: 0;
}

.main-menu ul ul li a{
	color: var(--white-color);
	padding: 8px 20px !important;
	transition: all 0.3s ease-in-out;
}

.main-menu ul ul li a:hover,
.main-menu ul ul li a:focus{
	color: var(--accent-secondary-color);
	background-color: transparent;
	padding: 8px 20px 8px 23px !important;
}

.header-contact-btn{
	display: flex;
	align-items: center;
	gap: 30px;
}

.header-contact-now{
	font-family: var(--accent-font);
	font-size: 20px;
	font-weight: 400;
	line-height: normal;
	color: var(--white-color);
}

.header-contact-now i{
	background-color: var(--accent-color);
	border-radius: 10px;
	width: 40px;
	height: 40px;
	text-align: center;
	align-content: center;
	font-size: 18px;
	color: var(--white-color);
	margin-right: 15px;
}

.main-menu ul li.highlighted-menu{
    display: none;
}

.responsive-menu,
.navbar-toggle{
	display: none;
}

.responsive-menu{
	top: 0;
	position: relative;
}

.slicknav_btn{
	background: var(--accent-color);
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	margin: 0;
	border-radius: 8px;
}

.slicknav_icon .slicknav_icon-bar{
	display: block;
	width: 100%;
	height: 3px;
	width: 22px;
	background-color: var(--white-color);
	border-radius: 6px;
	margin: 4px auto !important;
	transition: all 0.1s ease-in-out;
}

.slicknav_icon .slicknav_icon-bar:first-child{
	margin-top: 0 !important;
}

.slicknav_icon .slicknav_icon-bar:last-child{
	margin-bottom: 0 !important;
}

.navbar-toggle a.slicknav_btn.slicknav_open .slicknav_icon span.slicknav_icon-bar:nth-child(1){
    transform: rotate(-45deg) translate(-5px, 5px);
	background-color: var(--white-color);
}

.navbar-toggle a.slicknav_btn.slicknav_open .slicknav_icon span.slicknav_icon-bar:nth-child(2){
    opacity: 0;
}

.navbar-toggle a.slicknav_btn.slicknav_open .slicknav_icon span.slicknav_icon-bar:nth-child(3){
    transform: rotate(45deg) translate(-5px, -5px);
	background-color: var(--white-color);
}

.slicknav_menu{
	position: absolute;
    width: 100%;
	padding: 0;
	background: var(--accent-color);
}

.slicknav_menu ul{
	margin: 5px 0;
}

.slicknav_menu ul ul{
	margin: 0;
}

.slicknav_nav .slicknav_row,
.slicknav_nav li a{
	position: relative;
	font-size: 16px;
	font-weight: 400;
	text-transform: capitalize;
	padding: 8px 20px;
	color: var(--white-color);
	line-height: normal;
	margin: 0;
	border-radius: 0 !important;
	transition: all 0.3s ease-in-out;
}

.slicknav_nav a:hover,
.slicknav_nav a:focus,
.slicknav_nav .slicknav_row:hover{
	background-color: transparent;
	color: var(--accent-secondary-color);
}

.slicknav_menu ul ul li a{
    padding: 8px 20px 8px 30px;
}

.slicknav_arrow{
	font-size: 0 !important;
}

.slicknav_arrow:after{
	content: '\f107';
	font-family: 'FontAwesome';
	font-weight: 900;
	font-size: 12px;
	margin-left: 8px;
	color: var(--white-color);
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
	transition: all 0.3s ease-out;
}

.slicknav_open > a .slicknav_arrow:after{
    transform: translateY(-50%) rotate(-180deg);
	color: var(--accent-secondary-color);
}

/************************************/
/***        04. Hero css	      ***/
/************************************/

.hero{
	position: relative;
	background: url('../images/hero-bg.jpg') no-repeat;
	background-position: center center;
	background-size: cover;
	padding: 240px 0 140px;
	min-height: 100vh;
	align-content: center;
}

.hero::before{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: linear-gradient(269.99deg, rgba(30, 30, 30, 0) 15.73%, rgba(30, 30, 30, 0.828125) 66.76%, #1E1E1E 101.51%), linear-gradient(360deg, rgba(30, 30, 30, 0) 87.87%, #1E1E1E 102.84%);
	width: 100%;
	height: 100%;
	z-index: 1;
}

.hero.hero-video .hero-bg-video{
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
}

.hero.hero-video .hero-bg-video video{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hero.hero-slider-layout{
	background: none;
	padding: 0;
}

.hero.hero-slider-layout .hero-slide{
	position: relative;
    padding: 240px 0 140px;
	min-height: 100vh;
	align-content: center;
}

.hero.hero-slider-layout .hero-slide::before{
	content: '';
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: linear-gradient(269.99deg, rgba(30, 30, 30, 0) 15.73%, rgba(30, 30, 30, 0.828125) 66.76%, #1E1E1E 101.51%), linear-gradient(360deg, rgba(30, 30, 30, 0) 87.87%, #1E1E1E 102.84%);
	width: 100%;
	height: 100%;
	z-index: 1;
}

.hero.hero-slider-layout .hero-slide .hero-slider-image{
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
}

.hero.hero-slider-layout .hero-slide .hero-slider-image img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hero.hero-slider-layout .hero-pagination{
	position: absolute;
    bottom: 50px;
	text-align: left;
	padding-left: calc(((100vw - 1300px) / 2) + 15px);
	z-index: 2;
}

.hero.hero-slider-layout .hero-pagination .swiper-pagination-bullet{
    width: 12px;
    height: 12px;
    background: var(--white-color);
    opacity: 1;
    transition: all 0.3s ease-in-out;
    margin: 0 5px;
}

.hero.hero-slider-layout .hero-pagination .swiper-pagination-bullet-active{
    background-color: var(--accent-color);
}

.hero-content{
	position: relative;
	z-index: 2;
}

.hero-content .section-title p,
.hero-content .section-title h1,
.hero-content .section-title h3{
	color: var(--white-color);
}

.hero-content .section-title p{
	border-top: 1px solid var(--dark-divider-color);
	margin-top: 30px;
	padding-top: 30px;
}

.hero-content .section-title h3{
	margin-bottom: 30px;
}

.hero-body{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 40px;
}

.hero-body .video-play-button{
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.hero-body .video-play-button p{
	font-weight: 500;
	text-transform: capitalize;
	color: var(--white-color);
	margin: 0;
}

.video-play-button a{
	height: 50px;
	width: 50px;
	border: 2px solid var(--white-color);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: none;
	transition: all 0.3s ease-in-out;
}

.video-play-button:hover a{
	border-color: var(--accent-color);
}

.video-play-button a i{
	font-size: 18px;
	color: var(--white-color);
	transition: all 0.3s ease-in-out;
}

.video-play-button:hover a i{
	color: var(--accent-color);
}

.down-arrow-circle{
	position: absolute;
	right: 15px;
	bottom: 30px;
	text-align: center;
	z-index: 3;
}

.down-arrow-circle a{
	position: relative;
	display: inline-block;
	border-radius: 50%;
}

.down-arrow-circle a img{
	max-width: 150px;
	border-radius: 50%;
	animation: infiniterotate 20s infinite linear;
}

@keyframes infiniterotate{
	from{
		transform: rotate(0deg);
	  }
	to{
		transform: rotate(360deg);
	}
}

.down-arrow-circle a i{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: var(--white-color);
	font-size: 50px;
}

/************************************/
/***       05. About Us css	      ***/
/************************************/

.about-us{
	position: relative;
	padding: 100px 0 50px;
}

.about-us::before{
    content: '';
    position: absolute;
    bottom: -80px;
    right: -25px;
    background-image: url('../images/section-bg-img-1.svg');
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: cover;
    height: 251px;
    width: 308px;
    z-index: 0;
}

.about-images{
	position: relative;
	text-align: center;
	margin: 20px 0px 20px 0;
	padding-left: 20px;
}

.about-images::before{
	content: '';
	position: absolute;
	top: 20px;
	bottom: 0;
	left: 0;
	right: 0;
	background: linear-gradient(90deg, var(--accent-color) 50%, transparent 50%);
	border-radius: 50%;
	width: 100%;
	height: 100%;
}

.about-images::after{
	content: '';
	position: absolute;
	top: -19px;
	bottom: 0;
	left: 0;
	right: 0;
	background: url('../images/about-img-bg-shape.png') no-repeat;
	background-position: left top;
	background-size: auto;
	width: 100%;
	height: 100%;
}

.about-image{
	position: relative;
	z-index: 1;
}

.about-image figure{
	display: block;
}

.about-image img{
	width: 100%;
	max-width: 405px;
	margin: 0 auto;
	aspect-ratio: 1 / 1.613;
	object-fit: cover;
}

.about-image-title{
	position: absolute;
	top: 0;
	right: 40px;
	transform: rotate(-180deg);
    writing-mode: vertical-rl;
	height: 100%;
	align-content: center;
}

.about-image-title h2{
	font-family: var(--default-font);
	font-size: 5.625vw;
	font-weight: 800;
	line-height: 1em;
	text-transform: uppercase;
	background: var(--divider-color);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-stroke: 4px transparent;
	color: var(--secondary-color);
	cursor: none;
	transition: all 0.3s ease-in-out;
	z-index: 0;
}

.about-images:hover .about-image-title h2{
	color: var(--accent-color);
}

.about-us-content{
	margin-left: 15px;
}

.about-content-body{
	margin-bottom: 40px;
}

.about-benefit-item{
	display: flex;
	margin-bottom: 30px;
}

.about-benefit-item:last-child{
	margin-bottom: 0;
}

.about-benefit-item .icon-box{
	position: relative;
	margin-right: 20px;
}

.about-benefit-item .icon-box::before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background: var(--accent-secondary-color);
	border-radius: 50%;
	width: 36px;
	height: 36px;
}

.about-benefit-item .icon-box img{
	position: relative;
	max-width: 60px;
	z-index: 1;
}

.about-benefit-item-content{
	width: calc(100% - 80px);
}

.about-benefit-item-content h3{
	font-size: 20px;
	margin-bottom: 10px;
}

.about-benefit-item-content p{
	margin: 0;
}

/************************************/
/***     06. Our Services css     ***/
/************************************/

.our-services{
	padding: 50px 0;
}

.service-item{
	position: relative;
	border: 1px solid var(--divider-color);
	background: var(--white-color);
	border-radius: 30px;
	height: calc(100% - 30px);
	margin-bottom: 30px;
	padding: 30px 25px;
	overflow: hidden;
}

.service-item::before{
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background: var(--accent-color);
	border-radius: 500px 500px 0 0;
	width: 100%;
	height: 0;
	transition: all 0.4s ease-in-out;
	z-index: 0;
}

.service-item:hover:before{
	border-radius: 0;
	height: 100%;
}

.service-header{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 80px;
	z-index: 1;
}

.service-header .icon-box img{
	max-width: 80px;
	transition: all 0.4s ease-in-out;
}

.service-item:hover .service-header .icon-box img{
	filter: brightness(0) invert(1);
}

.service-btn a{
	display: block;
	background: var(--accent-color);
	border-radius: 50%;
	width: 50px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.4s ease-in-out;
}

.service-item:hover .service-btn a{
	background: var(--accent-secondary-color);
}

.service-btn a img{
	max-width: 14px;
	transition: all 0.3s ease-in-out;
}

.service-btn a:hover img{
	transform: rotate(45deg);
}

.service-content{
	position: relative;
	z-index: 1;
}

.service-content h3{
	font-size: 20px;
	margin-bottom: 15px;
	transition: all 0.3s ease-in-out;
}

.service-content h3 a{
	color: inherit;
}

.service-content p{
	margin: 0;
	transition: all 0.3s ease-in-out;
}

.service-item:hover .service-content p,
.service-item:hover .service-content h3{
	color: var(--white-color);
}

.section-footer-text{
	margin-top: 30px;
	text-align: center;
}

.section-footer-text p{
	margin: 0;
}

.section-footer-text p span{
	font-weight: 500;
	color: var(--white-color);
	background: var(--accent-secondary-color);
	border-radius: 24px;
	padding: 2px 8px;
	margin-right: 10px;
}

.section-footer-text p a{
	color: var(--accent-secondary-color);
	font-weight: 600;
	text-transform: capitalize;
	text-decoration: underline;
	transition: all 0.3s ease-in-out;
}

.section-footer-text p a:hover{
	color: var(--primary-color);
}

/************************************/
/***      07. What We Do css      ***/
/************************************/

.what-we-do{
	position: relative;
	padding: 50px 0;
}

.what-we-do::before{
    content: '';
    position: absolute;
    top: -70px;
    left: -70px;
    background-image: url('../images/section-bg-img-2.svg');
    background-repeat: no-repeat;
    background-position: top left;
    background-size: cover;
    height: 379px;
    width: 262px;
    z-index: 0;
}

.what-we-image{
	background: url('../images/what-we-bg-shape.svg') no-repeat;
	background-position: center center;
	background-size: auto;
	text-align: center;
	margin: 0 20px 0 30px;
}

.what-we-image img{
	width: 100%;
	aspect-ratio: 1 / 1.03;
	object-fit: cover;
}

.what-we-body{
	margin-bottom: 40px;
}

.what-we-body ul{
    list-style: disc;
    margin: 0;
    padding-left: 20px;
	display: flex;
	flex-wrap: wrap;
	gap: 20px 40px;
}

.what-we-body ul li{
	width: calc(50% - 20px);
	text-transform: capitalize;
	line-height: 1.6em;
}

.what-we-body ul li:last-child{
	margin-bottom: 0;
}

.what-we-body ul li::marker{
    color: var(--accent-color);
}

.what-we-benefits-box{
	display: flex;
	flex-wrap: wrap;
	border-radius: 30px;
	overflow: hidden;
}

.what-we-benefits-list{
	width: calc(100% - 417px);
	background: var(--primary-color);
	display: flex;
	flex-wrap: wrap;
	align-content: center;
	gap: 50px 30px;
	padding: 60px;
}

.what-we-item{
	width: calc(50% - 15px);
	display: flex;
}

.what-we-item .icon-box{
	margin-right: 20px;
}

.what-we-item .icon-box img{
	max-width: 40px;
}

.what-we-item-content{
	width: calc(100% - 60px);
}

.what-we-item-content h3{
	font-size: 20px;
	color: var(--white-color);
	margin-bottom: 10px;
}

.what-we-item-content p{
	color: var(--white-color);
	margin: 0;
}

.what-we-benefit-image{
	width: 417px;
	border-left: 4px solid var(--white-color);
}

.what-we-benefit-image figure{
	display: block;
	height: 100%;
}

.what-we-benefit-image img{
	width: 100%;
	height: 100%;
	aspect-ratio: 1 / 0.862;
	object-fit: cover;
}

/************************************/
/***    08. Why Choose Us css     ***/
/************************************/

.why-choose-us{
	padding: 50px 0;
}

.why-choose-content{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

.why-choose-image{
	width: calc(50% - 20px);
}

.why-choose-image figure{
	display: block;
	border-radius: 20px;
}

.why-choose-image img{
	width: 100%;
	aspect-ratio: 1 / 0.5512;
	object-fit: cover;
	border-radius: 20px;
}

.why-choose-item{
	position: relative;
	width: calc(25% - 20px);
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 20px;
	padding: 30px 25px;
	overflow: hidden;
}

.why-choose-item::before{
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background: var(--accent-color);
	border-radius: 500px 500px 0 0;
	width: 100%;
	height: 0;
	transition: all 0.4s ease-in-out;
	z-index: 0;
}

.why-choose-item:hover:before{
	border-radius: 0;
	height: 100%;
}

.why-choose-item .icon-box{
	position: relative;
	margin-bottom: 60px;
	z-index: 1;
}

.why-choose-item .icon-box img{
	max-width: 80px;
	transition: all 0.4s ease-in-out;
}

.why-choose-item:hover .icon-box img{
	filter: brightness(0) invert(1);
}

.why-choose-item-content{
	position: relative;
	z-index: 1;
}

.why-choose-item-content h3{
	font-size: 20px;
	text-transform: capitalize;
	margin-bottom: 10px;
	transition: all 0.3s ease-in-out;
}

.why-choose-item-content p{
	margin: 0;
	transition: all 0.3s ease-in-out;
}

.why-choose-item:hover .why-choose-item-content p,
.why-choose-item:hover .why-choose-item-content h3{
	color: var(--white-color);
}

.why-choose-counter-box{
	display: flex;
	flex-wrap: wrap;
	gap: 50px;
	border-top: 1px solid var(--divider-color);
	margin-top: 60px;
	padding-top: 60px;
}

.why-choose-counter-item{
	position: relative;
	width: calc(25% - 37.5px);
	display: flex;
}

.why-choose-counter-item::before{
	content: '';
	position: absolute;
	right: -25px;
	background: var(--divider-color);
	width: 1px;
	height: 100%;
}

.why-choose-counter-item:nth-child(4n + 4):before,
.why-choose-counter-item:last-child:before{
	display: none;
}

.why-choose-counter-item .icon-box{
	margin-right: 20px;
}

.why-choose-counter-item .icon-box img{
	max-width: 50px;
}

.why-choose-counter-content h3{
	font-size: 30px;
	margin-bottom: 5px;
}

.why-choose-counter-content p{
	text-transform: capitalize;
	margin: 0;
}

/************************************/
/***     09. Our Benefits css     ***/
/************************************/

.our-benefits{
	position: relative;
	padding: 50px 0 100px;
}

.our-benefits::before{
    content: '';
    position: absolute;
    bottom: 10px;
    right: -75px;
    background-image: url('../images/section-bg-img-3.svg');
    background-repeat: no-repeat;
    background-position: bottom right;
    background-size: cover;
    height: 417px;
    width: 431px;
    z-index: 0;
}

.benefit-item{
	border-bottom: 1px solid var(--divider-color);
	margin-bottom: 50px;
	padding-bottom: 50px;
}

.benefit-item:last-child{
	border-bottom: none;
	margin-bottom: 0px;
	padding-bottom: 0px;
}

.benefit-item .icon-box{
	margin-bottom: 30px;
}

.benefit-item .icon-box img{
	max-width: 80px;
}

.benefit-item-content h3{
	font-size: 20px;
	text-transform: capitalize;
	margin-bottom: 15px;
}

.benefit-item-content p{
	margin: 0;
}

.our-benefits-image{
	position: relative;
	text-align: center;
	margin: 0 30px;
}

.our-benefits-image::before{
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: var(--accent-color);
	opacity: 10%;
	width: 445px;
	height: 410px;
	z-index: 0;
}

.our-benefits-image figure{
	position: relative;
	background: url('../images/benefits-image-bg-shape.svg') no-repeat;
	background-position: top center;
	background-size: auto;
	z-index: 1;
}

.our-benefits-image img{
	width: 100%;
	max-width: 474px;
	margin: 0 auto;
}

/************************************/
/***      10. Intro Video css     ***/
/************************************/

.intro-video .container-fluid{
	padding: 0;
}

.intro-video-box{
	position: relative;
	overflow: hidden;
	height: 700px;
}

.intro-bg-video{
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
}

.intro-bg-video::before{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: var(--primary-color);
	opacity: 30%;
	width: 100%;
	height: 100%;
}

.intro-bg-video video{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.intro-video-box .video-play-button{
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
}

.intro-video-box .video-play-button a{
	width: 100px;
	height: 100px;
	font-size: 20px;
	font-weight: 500;
	text-transform: capitalize;
	color: var(--white-color);
}

.video-play-button:hover a{
	border-color: var(--accent-color);
	color: var(--accent-color);
}

.cta-box{
	background: var(--accent-color);
	padding: 50px 0;
}

.cta-box .section-title{
	margin-bottom: 0;
}

.cta-box .section-title h2{
	color: var(--white-color);
}

/************************************/
/***      11. How It Work css     ***/
/************************************/

.how-it-work{
	padding: 100px 0 50px;
}

.how-work-content{
	margin-right: 30px;
}

.how-work-stpes-box{
	border-top: 1px solid var(--divider-color);
	padding-top: 40px;
}

.how-work-step{
	display: flex;
	margin-bottom: 40px;
}

.how-work-step:last-child{
	margin-bottom: 0;
}

.how-work-step-no{
	margin-right: 20px;
}

.how-work-step-no h2{
	font-size: 40px;
}

.how-work-step-content h3{
	font-size: 20px;
	margin-bottom: 10px;
}

.how-work-step-content p{
	margin: 0;
}

.how-work-image{
	position: relative;
	padding-bottom: 40px
}

.how-work-image::before{
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    background: linear-gradient(90deg, transparent 46%, var(--accent-color) 46%);
    border-radius: 50%;
    width: 100%;
    height: 100%;
}

.how-work-image::after{
    content: '';
    position: absolute;
    top: 30px;
    bottom: 30px;
    left: 30px;
    background: linear-gradient(90deg, var(--divider-color) 39%, transparent 39%);
    border-radius: 50%;
    width: 100%;
    height: calc(100% - 60px);
}

.how-work-image figure{
	position: relative;
	background: url('../images/how-work-image-bg-shape.svg') no-repeat;
	background-position: right 10px top;
	background-size: auto;
	z-index: 1;
}

.how-work-image img{
	width: 100%;
	aspect-ratio: 1 / 0.92;
	object-fit: cover;
}

/************************************/
/***     12. Our Features css     ***/
/************************************/

.our-features{
	padding: 50px 0;
}

.features-item{
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 30px;
	overflow: hidden;
	align-content: end;
	padding: 30px 0 0 30px;
}

.features-item-image{
	text-align: right;
	margin-right: -110px;
	margin-bottom: -40px;
}

.features-item-image img{
	width: 100%;
	aspect-ratio: 1 / 0.816;
	object-fit: contain;
}

.our-features-boxes{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

.features-box{
	position: relative;
	width: calc(50% - 15px);
	border-radius: 30px;
	overflow: hidden;
}

.features-box .features-box-content{
	position: absolute;
	top: 30px;
	left: 30px;
}

.features-box-image img{
	width: 100%;
	aspect-ratio: 1 / 0.5;
	border-radius: 30px;
	object-fit: cover;
}

.features-box.box-1{
	width: 100%;
}

.features-box.box-2 .features-box-image img{
	aspect-ratio: 1 / 1.051;
	filter: brightness(70%);
}

.features-box.box-2 .features-box-content{
	position: absolute;
	top: auto;
	left: 30px;
	bottom: 30px;
	right: 30px;
	max-width: calc(100% - 60px);
}

.features-box.box-2 .features-box-content{
	position: absolute;
	top: auto;
	left: 30px;
	bottom: 30px;
}

.features-box.box-3 .features-item-image{
	margin-right: -40px;
	margin-bottom: -17px;
}

.features-box.box-3 .features-item-image img{
	max-width: 188px;
	aspect-ratio: 1 / 1.57;
}

.features-box.box-3 .features-box-content{
	position: absolute;
	top: auto;
	left: 30px;
	bottom: 30px;
	max-width: 140px;
}

.features-box.box-2 .features-box-content p,
.features-box.box-2 .features-box-content h3{
	color: var(--white-color);
}

.features-box-content,
.features-item-content{
	position: relative;
	width: 100%;
	max-width: 285px;
	z-index: 1;
}

.features-box-content p,
.features-item-content p{
	font-size: 14px;
	font-weight: 500;
	text-transform: uppercase;
	color: var(--primary-color);
	margin-bottom: 10px;
}

.features-box-content h3,
.features-item-content h3{
	font-size: 20px;
	line-height: 1.4em;
	text-transform: capitalize;
}

/************************************/
/***      13. Our Pricing css     ***/
/************************************/

.our-pricing{
	position: relative;
	padding: 50px 0 20px;
}

.our-pricing::before{
    content: '';
    position: absolute;
    top: -120px;
    left: -80px;
    background-image: url('../images/section-bg-img-1.svg');
    background-repeat: no-repeat;
    background-position: top left;
    background-size: cover;
    transform: rotateY(180deg);
    height: 274px;
    width: 337px;
    z-index: 0;
}

.our-pricing::after{
    content: '';
    position: absolute;
    bottom: 10px;
    right: -50px;
    background-image: url('../images/section-bg-img-4.svg');
    background-repeat: no-repeat;
    background-position: bottom right;
    background-size: cover;
    height: 136px;
    width: 381px;
    z-index: 0;
}

.pricing-item{
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 30px;
	text-align: center;
	height: calc(100% - 30px);
	margin-bottom: 30px;
	overflow: hidden;
}

.pricing-image figure{
	display: block;
}

.pricing-image img{
	width: 100%;
	aspect-ratio: 1 / 0.484;
	object-fit: cover;
}

.pricing-content{
	padding: 30px;
	border-bottom: 1px solid var(--divider-color);
}

.pricing-title{
	margin-top: -52px;
	margin-bottom: 30px;
}

.pricing-content h3{
	position: relative;
	display: inline-block;
	font-family: var(--default-font);
	font-size: 16px;
	font-weight: 500;
	text-transform: capitalize;
	color: var(--primary-color);
	background-color: var(--white-color);
	box-shadow: 0px 0px 30px 0px #00000014;
	border: 1px solid var(--divider-color);
	border-radius: 100px;
	padding: 12px 30px;
}

.pricing-content h2{
	font-size: 48px;
}

.pricing-content p{
	text-transform: capitalize;
	margin: 0;
}

.pricing-content .pricing-badge{
	margin: 0 0 10px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: var(--accent-color);
}

.pricing-body{
	padding: 30px;
}

.pricing-list{
	margin-bottom: 40px;
}

.pricing-list ul{
    list-style: disc;
    display: inline-block;
    margin: 0;
    padding-left: 20px;
    text-align: left;
}

.pricing-list ul li{
	text-transform: capitalize;
	line-height: 1.6em;
	margin-bottom: 15px;
}

.pricing-list ul li:last-child{
	margin-bottom: 0;
}

.pricing-list ul li::marker{
    color: var(--accent-color);
}

.pricing-item.highlighted-box{
	background: var(--accent-color);
	border: none;
}

.pricing-item.highlighted-box .pricing-content{
	border-color: var(--dark-divider-color);
}

.pricing-item.highlighted-box .pricing-list ul li::marker,
.pricing-item.highlighted-box .pricing-list ul li,
.pricing-item.highlighted-box .pricing-content p,
.pricing-item.highlighted-box .pricing-content h2{
	color: var(--white-color);
}

/************************************/
/***   14. Scrolling Ticker css	  ***/
/************************************/

.scrolling-ticker{
	padding: 50px 0;
}

.scrolling-ticker-box{
	position: relative;
	--gap: 40px;
	display: flex;
	user-select: none;
	gap: var(--gap);
	align-items: center;
	border-top: 1px solid var(--divider-color);
	border-bottom: 1px solid var(--divider-color);
	padding: 80px 0;
	margin: 40px 0;
}

.scrolling-content{
	flex-shrink: 0;
	display: flex;
	gap: var(--gap);
	min-width: 100%;
	animation: scroll 50s linear infinite;
}

@keyframes scroll{
	from{
		transform: translateX(0);
	}

	to{
		transform: translateX(calc(-100% - var(--gap)));
	}
}

.scrolling-ticker-box .scrolling-content span{
	font-family: var(--accent-font);
	display: flex;
	align-items: center;
	text-transform: capitalize;
	font-size: 60px;
	line-height: 1em;
	font-weight: 400;
	color: var(--accent-color);
}

.scrolling-ticker-box .scrolling-content span img{
	width: 20px;
	margin-right: 40px;
}

.scrolling-ticker-images{
	display: flex;
	min-width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	display: flex;
	height: 100%;
}

.scrolling-ticker-image{
	position: relative;
	text-align: center;
	transform: translateY(40px);
	align-content: end;
	width: 25%;
}

.scrolling-ticker-images .scrolling-ticker-image:nth-child(even){
	align-content: start;
	transform: translateY(-40px);
}

.scrolling-ticker-image figure{
	display: block;
	border-radius: 50%;
}

.scrolling-ticker-image img{
	border-radius: 50%;
	max-width: 80px;
}

/************************************/
/***    15. Our Testimonial css   ***/
/************************************/

.our-testimonials{
	padding: 50px 0;
}

.testimonial-image{
	margin-bottom: 30px;
}

.testimonial-image figure{
	display: block;
	border-radius: 30px;
}

.testimonial-image img{
	width: 100%;
	aspect-ratio: 1 / 0.7581;
	object-fit: cover;
	border-radius: 30px;
}

.testimonial-review-box{
	background: var(--primary-color);
	border-radius: 30px;
	padding: 40px;
}

.testimonial-review-header{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 15px 20px;
	margin-bottom: 60px;
}

.testimonial-review-title h3{
	font-size: 30px;
	text-transform: capitalize;
	color: var(--white-color);
}

.testimonial-review-counter{
	display: flex;
	align-items: center;
}

.testimonial-review-counter p{
	color: var(--white-color);
	line-height: normal;
	max-width: 100px;
	margin: 0;
}

.testimonial-review-counter span{
	background: var(--white-color);
	border-radius: 100px;
	font-weight: 500;
	line-height: normal;
	color: var(--primary-color);
	padding: 4px 10px;
	margin-right: 10px;
}

.testimonial-review-body{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px 50px;
}

.testimonial-review-content{
	width: calc(100% - 106px);
}

.testimonial-review-content p{
	color: var(--white-color);
	margin: 0;
}

.testimonial-review-btn a{
	background: var(--accent-secondary-color);
	border-radius: 50%;
	width: 56px;
	height: 56px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease-in-out;
}

.testimonial-review-btn a:hover{
	background: var(--accent-color);
}

.testimonial-review-btn a img{
	max-width: 16px;
	transition: all 0.3s ease-in-out;
}

.testimonial-review-btn a:hover img{
	transform: rotate(45deg);
}

.our-testimonial-box{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

.testimonial-item{
	position: relative;
	width: 100%;
    background: var(--white-color);
	border: 1px solid var(--divider-color);
    border-radius: 30px;
    padding: 40px;
    overflow: hidden;
}

.testimonial-author{
	display: flex;
	align-items: center;
	margin-bottom: 30px;
}

.testimonial-author .author-image{
	margin-right: 15px;
}

.testimonial-author .author-image figure{
	border-radius: 50%;
}

.testimonial-author .author-image img{
	max-width: 60px;
	width: 100%;
	border-radius: 50%;
}

.testimonial-author .author-content{
	width: calc(100% - 75px);
}

.testimonial-author .author-content h3{
	font-size: 20px;
	text-transform: capitalize;
	margin-bottom: 5px;
}

.testimonial-author .author-content p{
	margin: 0;
}

.testimonial-item-content{
	margin-bottom: 15px;
}

.testimonial-item-content p{
	margin: 0;
}

.testimonial-rating i{
	font-size: 16px;
	color: var(--accent-secondary-color);
}

/************************************/
/***        16. Our FAQs css      ***/
/************************************/

.our-faqs{
	padding: 50px 0;
}

.faq-accordion .accordion-item{
	position: relative;
	border: 1px solid var(--divider-color);
    background: var(--white-color);
	border-radius: 10px;
	margin-bottom: 30px;
    padding: 0;
	transition: all 0.3s ease-in-out;
	overflow: hidden;
}

.faq-accordion .accordion-item:last-child{
	margin-bottom: 0;
}

.faq-accordion .accordion-header .accordion-button{
	font-size: 20px;
	font-weight: 400;
	line-height: 1.2em;
	background: var(--accent-color);
	color: var(--white-color);
	padding: 18px 50px 18px 20px;
	transition: all 0.3s ease-in-out;
}

.faq-accordion .accordion-header .accordion-button.collapsed{
	color: var(--primary-color);
	background: transparent;
}

.faq-accordion .accordion-item .accordion-button::after,
.faq-accordion .accordion-item .accordion-button.collapsed::after{
	content: '\f0fe';
	font-family: "FontAwesome";
	position: absolute;
	right: 20px;
	top: 19px;
	font-size: 22px;
	font-weight: 900;
    line-height: normal;
    color: var(--white-color);
}

.faq-accordion .accordion-item .accordion-button.collapsed::after{
	content: '\f146';
	color: var(--accent-color);
}

.faq-accordion .accordion-item .accordion-body{
	background: var(--accent-color);
	border-top: 1px solid var(--dark-divider-color);
	padding: 18px 50px 18px 20px;
	z-index: 1;
}

.faq-accordion .accordion-item .accordion-body p{
    color: var(--white-color);
	margin: 0;
}

.faqs-image{
	position: relative;
	padding: 35px 35px 30px 45px;
	margin-left: 20px;
}

.faqs-image::before{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	background: var(--accent-secondary-color);
	border-radius: 30px;
	width: 310px;
	height: 310px;
}

.faqs-image figure{
	position: relative;
	display: block;
	border-radius: 30px;
	z-index: 1;
}

.faqs-image img{
	width: 100%;
	aspect-ratio: 1 / 1.01;
	object-fit: cover;
	border-radius: 30px;
}

.faqs-contact-box{
	position: absolute;
	bottom: 0;
	left: 0;
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 20px;
	display: inline-flex;
	align-items: center;
	padding: 20px;
	animation: contactbox 3s infinite linear;
	overflow: hidden;
	z-index: 1;
}

@keyframes contactbox{
	50%{
		left: 40px;
	}
}

.faqs-contact-box::before{
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background: var(--accent-color);
	width: 100%;
	height: 0;
	transition: all 0.4s ease-in-out;
	z-index: 0;
}

.faqs-contact-box:hover:before{
	border-radius: 0;
	height: 100%;
}

.faqs-contact-box .icon-box{
	position: relative;
	background-color: var(--accent-secondary-color);
	border-radius: 50%;
	width: 50px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 15px;
	z-index: 1;
}

.faqs-contact-box .icon-box i{
	font-size: 18px;
	color: var(--white-color);
}

.faqs-contact-box-content{
	position: relative;
	width: calc(100% - 65px);
	z-index: 1;
}

.faqs-contact-box-content h3{
	font-size: 20px;
	margin-bottom: 5px;
	transition: all 0.3s ease-in-out;
}

.faqs-contact-box-content p{
	margin: 0;
	transition: all 0.3s ease-in-out;
}

.faqs-contact-box:hover .faqs-contact-box-content p,
.faqs-contact-box:hover .faqs-contact-box-content h3{
	color: var(--white-color);
}

.faqs-contact-box-content p a{
	color: inherit;
}

/************************************/
/***      17. Our Blog css        ***/
/************************************/

.our-blog{
	position: relative;
	padding: 50px 0 70px;
}

.our-blog::before{
    content: '';
    position: absolute;
    top: -90px;
    right: -60px;
    background-image: url('../images/section-bg-img-1.svg');
    background-repeat: no-repeat;
    background-position: right top;
    background-size: cover;
    height: 251px;
    width: 308px;
    z-index: 0;
}

.post-item{
	background-color: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 30px;
	height: calc(100% - 30px);
	margin-bottom: 30px;
	padding: 30px;
}

.post-featured-image{
	margin-bottom: 20px;
}

.post-featured-image a{
    cursor: none;	
    display: block;
	border-radius: 30px;
    overflow: hidden;
}

.post-featured-image figure{
	display: block;
}

.post-featured-image img{
    aspect-ratio: 1 / 0.645;
    object-fit: cover;
    transition: all 0.4s ease-in-out;
}

.post-item:hover .post-featured-image img{
	transform: scale(1.1);
}

.post-item-content{
	margin-bottom: 20px;
}

.post-item-content h2{
    font-size: 20px;
	line-height: 1.4em;
}

.post-item-content h2 a{
    color: inherit;
}

/************************************/
/***       18. Footer css	      ***/
/************************************/

.footer-main{
	position: relative;
    background: url('../images/footer-bg.svg'), var(--accent-color);
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-position: bottom center;
	padding: 80px 0 0 0;
}

.footer-main::before{
    content: '';
    position: absolute;
    top: 0;
    left: -100px;
    background-image: url('../images/section-bg-img-3.svg');
    background-repeat: no-repeat;
    background-position: top left;
    background-size: cover;
    height: 417px;
    width: 431px;
    transform: rotateY(180deg) translateY(-85%);
    z-index: 0;
}

.footer-header{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border-bottom: 1px solid var(--dark-divider-color);
    padding-bottom: 40px;
    margin-bottom: 40px;
}

.footer-about{
    width: calc(78% - 10px);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.footer-logo{
    border-right: 1px solid var(--dark-divider-color);
    margin-right: 40px;
    padding-right: 70px;
}

.footer-logo img{
    width: 100%;
    max-width: 181px;
}

.about-footer-content{
    width: calc(100% - 292px);
}

.about-footer-content p{
    color: var(--white-color);
    margin-bottom: 0;
}

.footer-social-links{
    width: calc(22% - 15px);
    text-align: right;
}

.footer-social-links ul{
	display: inline-block;
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-social-links ul li{
    display: inline-block;
    border-radius: 50%;
    margin-right: 15px;
}

.footer-social-links ul li:last-child{
	margin: 0;
}

.footer-social-links ul li a{
	width: 36px;
	height: 36px;
	background: var(--accent-secondary-color);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	color: var(--white-color);
	transition: all 0.4s ease-in-out;
}

.footer-social-links ul li:hover a{
	background: var(--primary-color);
}

.footer-social-links ul li a i{
    color: inherit;
    font-size: 18px;
}

.footer-links h3{
	font-size: 20px;
    color: var(--white-color);
	text-transform: capitalize;
	margin-bottom: 30px;
}

.footer-links ul{
	margin: 0;
	padding: 0;
	list-style: none;
}

.footer-links ul li{
    color: var(--white-color);
	line-height: 1.7em;
	margin-bottom: 15px;
}

.footer-links ul li:last-child{
	margin-bottom: 0;
}

.footer-links ul li a{
	color: inherit;
	transition: all 0.3s ease-in-out;
}

.footer-links ul li a:hover{
	color: var(--accent-secondary-color);
}

.footer-contact-links{
    margin-right: 50px;
}

.footer-newsletter-box .section-title h2{
    color: var(--white-color);
}

.newsletter-form .form-group{
	display: flex;
}

.newsletter-form .form-group .form-control{
	width: calc(100% - 56px);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4em;
	color: var(--text-color);
	background: transparent;
	border: 1px solid var(--dark-divider-color);
	border-radius: 100px;
	outline: none;
	box-shadow: none;
	padding: 15px 20px;
}

.newsletter-form .form-group .form-control::placeholder{
	color: var(--text-color);
}

.newsletter-form .form-group .newsletter-btn{
	background-color: var(--accent-secondary-color);
	width: 56px;
	height: 56px;
	border: none;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	transition: all 0.3s ease-in-out;
}

.newsletter-form .form-group .newsletter-btn:hover{
	background-color: var(--primary-color);
    transform: rotate(15deg);
}

.newsletter-form .form-group .newsletter-btn i{
    font-size: 24px;
    color: var(--white-color);
	padding-right: 5px;
}

.footer-copyright{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	border-top: 1px solid var(--dark-divider-color);
	margin-top: 50px;
	padding: 50px 0;
}

.footer-copyright-text p{
	color: var(--white-color);
	margin-bottom: 0;
}

.footer-privacy-policy ul{
	margin: 0;
	padding: 0;
	list-style: none;
}

.footer-privacy-policy ul li{
	position: relative;
    color: var(--white-color);
	text-transform: capitalize;
	display: inline-block;
	margin-right: 10px;
    padding-right: 16px;
	transition: all 0.3s ease-in-out;
}

.footer-privacy-policy ul li:hover{
	color: var(--accent-secondary-color);
}

.footer-privacy-policy ul li::before{
	content: '/';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	color: var(--white-color);
}

.footer-privacy-policy ul li:last-child{
	padding: 0;
	margin: 0;
}

.footer-privacy-policy ul li:last-child:before{
	display: none;
}

.footer-privacy-policy ul li a{
	color: inherit;
}

/************************************/
/***     19. About Us Page css    ***/
/************************************/

.page-header{
	position: relative;
    background: url('../images/page-header-bg.jpg');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
	padding: 250px 0 140px;
}

.page-header::before{
	content: '';
    display: block;
    position: absolute;
    top: 0;
	right: 0;
	bottom: 0;
    left: 0;
    background: linear-gradient(269.99deg, rgba(30, 30, 30, 0) 43.61%, rgba(30, 30, 30, 0.828125) 78.06%, #1E1E1E 101.51%),linear-gradient(360deg, rgba(30, 30, 30, 0.1) 78.13%, #1E1E1E 102.84%);
    width: 100%;
    height: 100%;
    z-index: 0;
}

.page-header-box{
	position: relative;
	z-index: 1;
}

.page-header-box h1{
	display: inline-block;
	color: var(--white-color);
    font-size: 60px;
    text-transform: uppercase;
	margin-bottom: 10px;
	cursor: none;
}

.page-header-box ol{
	margin: 0;
	padding: 0;
}

.page-header-box ol li.breadcrumb-item{
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5em;
	text-transform: capitalize;
	color: var(--white-color);
}

.page-header-box ol li.breadcrumb-item a{
    color: inherit;
}

.page-header-box ol li.breadcrumb-item.active{
	color: var(--white-color);
}

.page-header-box ol .breadcrumb-item+.breadcrumb-item::before{
	content: "/";
    color: var(--white-color);
}

.our-approach{
	padding: 50px 0;
}

.our-approach-body{
	background-color: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 20px;
	padding: 40px;
}

.mission-vision-item{
	border-bottom: 1px solid var(--divider-color);
	padding-bottom: 30px;
	margin-bottom: 30px;
}

.mission-vision-item:last-child{
	padding-bottom: 0px;
	margin-bottom: 0px;
	border-bottom: none;
}

.mission-vision-item h3{
	font-size: 20px;
	text-transform: capitalize;
	color: var(--accent-secondary-color);
	margin-bottom: 15px;
}

.mission-vision-item p{
	margin: 0;
}

.our-approach-image{
	position: relative;
	padding-right: 222px;
	margin-left: 15px;
}

.our-approach-img-1 figure,
.our-approach-img-2 figure{
	display: block;
}

.our-approach-img-1 img,
.our-approach-img-2 img{
	width: 100%;
	object-fit: cover;
}

.our-approach-img-1 figure{
	border-radius: 999px;
}

.our-approach-img-1 img{
	aspect-ratio: 1 / 1.796;
	border-radius: 999px;
}

.our-approach-img-2{
	max-width: 364px;
	position: absolute;
	right: 0;
	bottom: 0;
	border: 10px solid var(--secondary-color);
	border-radius: 999px;
	overflow: hidden;
	z-index: 1;
}

.our-approach-img-2 img{
	width: 100%;
	aspect-ratio: 1 / 1.291;
}

.approach-explore-more-circle{
	position: absolute;
	top: 30px;
	right: 20px;
}

.approach-explore-more-circle a{
	display: block;
	border-radius: 50%;
}

.approach-explore-more-circle img{
	width: 100%;
	max-width: 180px;
	border-radius: 50%;
	animation: infiniterotate 20s infinite linear;
}

@keyframes infiniterotate{
	from{
		transform: rotate(0deg);
	  }
	to{
		transform: rotate(360deg);
	}
}

.who-we-are{
	padding: 50px 0;
}

.who-we-are-image{
	position: relative;
}

.who-we-are-image:before{
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 380px;
	height: 380px;
	background: url('../images/who-we-are-image-bg.png') no-repeat;
	background-position: center center;
	background-size: cover;
	z-index: 0;
	animation: whoweimagebg 20s infinite linear;
}

@keyframes whoweimagebg{
	from{
		transform: translate(-50% , -50%) rotate(0deg);
	  }
	to{
		transform: translate(-50% , -50%) rotate(360deg);
	}
}

.who-we-are-image figure{
	position: relative;
	display: block;
	z-index: 1;
}

.who-we-are-image img{
	width: 100%;
	aspect-ratio: 1 / 0.83;
	object-fit: cover;
}

.who-we-are-body{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	margin-bottom: 40px;
}

.we-are-item{
	width: calc(50% - 15px);
	display: flex;
}

.we-are-item .icon-box{
	margin-right: 20px;
}

.we-are-item .icon-box img{
	width: 100%;
	max-width: 60px;
}

.we-are-item-content{
	width: calc(100% - 80px);
}

.we-are-item-content h3{
	font-size: 20px;
	text-transform: capitalize;
	margin-bottom: 10px;
}

.we-are-item-content p{
	margin: 0;
}

.our-expertise{
	padding: 50px 0;
}

.our-expertise-body ul{
	list-style: disc;
    padding: 0;
	padding-left: 20px;
    margin-bottom: 40px;
	display: flex;
	flex-wrap: wrap;
	gap: 15px 40px;
}

.our-expertise-body ul li{
	width: calc(50% - 20px);
	line-height: 1.4em;
}

.our-expertise-body ul li::marker{
    color: var(--accent-color);
}

.skills-progress-bar{
	margin-bottom: 30px;
}

.skills-progress-bar:last-child{
	margin-bottom: 0px;
}

.skills-progress-bar .skill-data{
	display: flex;
    justify-content: space-between;
	gap: 10px;
    margin-bottom: 15px;
}

.skills-progress-bar .skill-data .skill-title{
	text-transform: capitalize;
}

.skills-progress-bar .skill-data .skill-no{
	color: var(--primary-color);
}

.skills-progress-bar .skillbar .skill-progress{
	position: relative;
	width: 100%;
	height: 16px;
	background: var(--divider-color);
	border-radius: 100px;
    overflow: hidden;
}

.skills-progress-bar .skillbar .skill-progress .count-bar{
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	background: var(--accent-color);
	border-radius: 100px;
}

.expertise-image{
	position: relative;
	padding: 0 0 60px 80px;
	overflow: hidden;
	margin-left: 15px;
}

.expertise-img figure{
	display: block;
	border-radius: 30px;
}

.expertise-img img{
	width: 100%;
	aspect-ratio: 1 / 0.891;
	object-fit: cover;
	border-radius: 30px;
}

.expertise-image-list{
	max-width: 216px;
	position: absolute;
	bottom: 0;
	left: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	z-index: 1;
}

.expertise-list-img{
	border: 6px solid var(--white-color);
	border-radius: 20px;
	overflow: hidden;
}

.expertise-list-img img{
	width: 100%;
	aspect-ratio: 1 / 0.99;
	object-fit: cover;
}

.expertise-explore-more-circle{
	position: absolute;
	right: 130px;
	bottom: 0;
	border: 6px solid var(--white-color);
	border-radius: 50%;
	overflow: hidden;
	z-index: 1;
}

.expertise-explore-more-circle a{
	display: block;
	border-radius: 50%;
}

.expertise-explore-more-circle img{
	width: 100%;
	max-width: 140px;
	animation: infiniterotate 20s infinite linear;
}

.our-features.about-our-features{
    position: relative;
}

.our-features.about-our-features::before{
    content: '';
    position: absolute;
    top: -105px;
    right: -140px;
    background-image: url(../images/section-bg-img-3.svg);
    background-repeat: no-repeat;
    background-position: top right;
    background-size: cover;
    height: 417px;
    width: 431px;
    z-index: 0;
}

.our-team{
	padding: 50px 0 20px;
}

.team-member-item{
	background-color: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 30px;
	display: flex;
	flex-wrap: wrap;
	height: calc(100% - 30px);
	margin-bottom: 30px;
	overflow: hidden;
}

.team-member-item .team-image{
	width: 47%;
}

.team-image a{
	height: 100%;
    display: block;
	cursor: none;
}

.team-image figure{
	height: 100%;
}

.team-image img{
	height: 100%;
    width: 100%;
	aspect-ratio: 1 / 1.033;
    object-fit: cover;
	transition: all 0.4s ease-in-out;
}

.team-member-item:hover .team-image img{
	transform: scale(1.1);
}

.team-member-item .team-body{
	width: 53%;
}

.team-body{
	align-content: center;
	padding: 40px;
}

.team-content{
	margin-bottom: 15px;
}

.team-content p{
	color: var(--accent-secondary-color);
	text-transform: capitalize;
	margin-bottom: 5px;
}

.team-content h2{
	font-size: 20px;
	text-transform: capitalize;
}

.team-content h2 a{
	color: inherit;
}

.team-body-content{
	border-bottom: 1px solid var(--divider-color);
	margin-bottom: 30px;
	padding-bottom: 30px;
}

.team-body-content p{
	margin: 0;
}

.team-social-icon ul{
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.team-social-icon ul li a{
	width: 36px;
	height: 36px;
	color: var(--white-color);
	background: var(--accent-secondary-color);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.4s ease-in-out;
}

.team-social-icon ul li a:hover{
	background: var(--primary-color);
}

.team-social-icon ul li a i{
	color: inherit;
	font-size: 18px;
}

.our-testimonials.about-our-testimonials{
    position: relative;
}

.our-testimonials.about-our-testimonials::before{
    content: '';
    position: absolute;
    bottom: 0;
    right: -60px;
    background-image: url('../images/section-bg-img-1.svg');
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: cover;
    height: 251px;
    width: 308px;
    transform: translateY(68%);
    z-index: 0;
}

.our-appointment{
	padding: 50px 0;
}

.our-appointment-box{
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 30px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 70px;
	padding: 100px;
}

.our-appointment-content,
.appointment-form{
	width: calc(50% - 35px);
}

.appointment-form form .form-control{
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5em;
    color: var(--text-color);
    background-color: transparent;
    border: 1px solid var(--divider-color);
    border-radius: 10px;
    padding: 17px 20px;
    outline: none;
    box-shadow: none;
}

.appointment-form form .form-control::placeholder{
	text-transform: capitalize;
    color: var(--text-color);
}

.appointment-form form .form-group select{
	padding: 16px 30px 16px 20px;
}

.appointment-form form .form-group select option{
	color: var(--primary-color);
}

.appointment-item{
	display: flex;
	align-items: center;
	border-bottom: 1px solid var(--divider-color);
	margin-bottom: 40px;
	padding-bottom: 40px;
}

.appointment-item:last-child{
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

.appointment-item .icon-box{
	margin-right: 20px;
}

.appointment-item .icon-box img{
	max-width: 60px;
}

.appointment-item-content{
	width: calc(100% - 80px);
}

.appointment-item-content h3{
	font-size: 20px;
	text-transform: capitalize;
	margin-bottom: 5px;
}

.appointment-item-content p{
	margin: 0;
}

.appointment-item-content p a{
	color: inherit;
	transition: all 0.3s ease-in-out;
}

.appointment-item-content p a:hover{
	color: var(--primary-color);
}

.our-faqs.about-faqs{
	padding: 50px 0 100px;
}

/************************************/
/***     20. Services Page css    ***/
/************************************/

.page-services{
	position: relative;
	padding: 100px 0 50px;
}

.services-landing-hero{
	padding: 100px 0 90px;
	background: var(--secondary-color);
	text-align: center;
}

.services-landing-hero-content{
	max-width: 940px;
	margin: 0 auto;
}

.services-eyebrow{
	margin: 0 0 16px;
	color: var(--accent-color);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 1.7px;
	text-transform: uppercase;
}

.services-landing-hero h1{
	max-width: 900px;
	margin: 0 auto 22px;
	font-size: clamp(42px, 5vw, 68px);
	line-height: 1.12em;
}

.services-landing-hero h1 span,
.services-section-heading h2 span,
.services-final-cta h2 span{
	color: var(--accent-secondary-color);
}

.services-landing-intro{
	max-width: 720px;
	margin: 0 auto 30px;
	font-size: 18px;
	line-height: 1.7em;
}

.services-reassurance{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 28px;
	flex-wrap: wrap;
	margin-top: 34px;
}

.services-reassurance-item{
	display: inline-flex;
	align-items: center;
	gap: 9px;
	font-size: 14px;
}

.services-check{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--white-color);
	color: var(--accent-color);
	font-size: 13px;
	font-weight: 700;
}

.services-catalog{
	padding: 100px 0 85px;
	background: var(--white-color);
}

.services-section-heading{
	max-width: 760px;
	margin: 0 auto 52px;
	text-align: center;
}

.services-section-heading h2{
	margin-bottom: 18px;
}

.services-section-heading > p:last-child{
	margin-bottom: 0;
	font-size: 17px;
	line-height: 1.7em;
}

.services-formulas-grid{
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}

.services-formula-card{
	display: flex;
	flex-direction: column;
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 26px;
	overflow: hidden;
	box-shadow: 0 15px 45px rgba(25, 38, 32, 0.06);
	transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.services-formula-card:hover{
	transform: translateY(-8px);
	box-shadow: 0 22px 55px rgba(25, 38, 32, 0.12);
}

.services-formula-card-featured{
	border: 2px solid var(--accent-color);
}

.services-formula-image{
	position: relative;
	overflow: hidden;
}

.services-formula-image img{
	display: block;
	width: 100%;
	aspect-ratio: 1 / 0.7;
	object-fit: cover;
	transition: transform 0.45s ease;
}

.services-formula-card:hover .services-formula-image img{
	transform: scale(1.06);
}

.services-formula-badge{
	position: absolute;
	top: 16px;
	left: 16px;
	padding: 8px 12px;
	border-radius: 100px;
	background: var(--accent-color);
	color: var(--white-color);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.services-formula-body{
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 24px;
}

.services-formula-meta{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 14px;
	color: var(--text-color);
	font-size: 13px;
}

.services-formula-meta strong{
	color: var(--primary-color);
	font-size: 22px;
}

.services-formula-body h3{
	margin-bottom: 12px;
	font-size: 22px;
}

.services-formula-body > p{
	margin-bottom: 20px;
	font-size: 15px;
	line-height: 1.65em;
}

.services-formula-body ul{
	margin: 0 0 24px;
	padding-left: 18px;
	list-style: disc;
}

.services-formula-body li{
	margin-bottom: 9px;
	font-size: 14px;
	line-height: 1.45em;
}

.services-formula-body li::marker{
	color: var(--accent-color);
}

.services-formula-body .btn-default{
	width: 100%;
	margin-top: auto;
	text-align: center;
}

.services-process-section{
	padding: 100px 0;
	background: var(--primary-color);
}

.services-section-heading-light h2,
.services-section-heading-light > p:last-child{
	color: var(--white-color);
}

.services-section-heading-light .services-eyebrow{
	color: var(--accent-secondary-color);
}

.services-process-grid{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.services-process-card{
	position: relative;
	padding: 30px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 24px;
	background: rgba(255, 255, 255, 0.07);
	text-align: center;
}

.services-process-number{
	position: absolute;
	top: 22px;
	right: 24px;
	color: rgba(255, 255, 255, 0.38);
	font-size: 18px;
	font-weight: 700;
}

.services-process-icon{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 74px;
	height: 74px;
	margin: 0 auto 22px;
	border-radius: 50%;
	background: var(--accent-color);
}

.services-process-icon img{
	width: 38px;
	height: 38px;
	object-fit: contain;
	filter: brightness(0) invert(1);
}

.services-process-card h3{
	margin-bottom: 12px;
	color: var(--white-color);
	font-size: 22px;
}

.services-process-card p{
	margin: 0;
	color: rgba(255, 255, 255, 0.78);
	line-height: 1.65em;
}

.services-process-cta{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-top: 34px;
	padding: 24px 28px;
	border-radius: 20px;
	background: var(--white-color);
}

.services-process-cta p{
	margin: 0;
	max-width: 650px;
	color: var(--text-color);
	font-size: 16px;
}

.services-process-cta .btn-default{
	flex-shrink: 0;
}

.services-final-cta{
	padding: 85px 0;
	background: var(--secondary-color);
}

.services-final-cta-inner{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 35px;
	padding: 42px;
	border-radius: 28px;
	background: var(--white-color);
	box-shadow: 0 18px 55px rgba(25, 38, 32, 0.08);
}

.services-final-cta h2{
	margin-bottom: 12px;
}

.services-final-cta-inner > div > p:last-child{
	margin: 0;
	max-width: 650px;
	font-size: 17px;
	line-height: 1.65em;
}

.services-final-cta-inner .btn-default{
	flex-shrink: 0;
}

.services-faq-section{
	padding: 100px 0;
	background: var(--white-color);
}

.services-faq-list{
	max-width: 900px;
	margin: 0 auto;
}

.services-faq-item{
	border-bottom: 1px solid var(--divider-color);
}

.services-faq-item:first-child{
	border-top: 1px solid var(--divider-color);
}

.services-faq-item summary{
	position: relative;
	padding: 23px 45px 23px 0;
	color: var(--primary-color);
	font-size: 18px;
	font-weight: 600;
	list-style: none;
	cursor: pointer;
}

.services-faq-item summary::-webkit-details-marker{
	display: none;
}

.services-faq-item summary::after{
	content: '+';
	position: absolute;
	top: 50%;
	right: 4px;
	transform: translateY(-50%);
	color: var(--accent-color);
	font-size: 25px;
	font-weight: 400;
}

.services-faq-item[open] summary::after{
	content: '−';
}

.services-faq-item p{
	max-width: 780px;
	margin: -4px 0 24px;
	padding-right: 35px;
	line-height: 1.7em;
}

@media only screen and (max-width: 1199px){
	.services-formulas-grid{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media only screen and (max-width: 767px){
	.services-landing-hero,
	.services-catalog,
	.services-process-section,
	.services-faq-section{
		padding: 70px 0;
	}

	.services-landing-hero h1{
		font-size: 40px;
	}

	.services-landing-intro{
		font-size: 16px;
	}

	.services-reassurance{
		align-items: flex-start;
		flex-direction: column;
		gap: 14px;
		width: fit-content;
		margin-right: auto;
		margin-left: auto;
	}

	.services-formulas-grid,
	.services-process-grid{
		grid-template-columns: 1fr;
	}

	.services-process-cta,
	.services-final-cta-inner{
		align-items: flex-start;
		flex-direction: column;
		padding: 28px;
	}

	.services-final-cta{
		padding: 70px 0;
	}

	.services-final-cta-inner .btn-default,
	.services-process-cta .btn-default{
		width: 100%;
		text-align: center;
	}
}

.page-services::before{
    content: '';
    position: absolute;
    bottom: 50px;
    left: -70px;
    background-image: url('../images/section-bg-img-2.svg');
    background-repeat: no-repeat;
    background-position: bottom left;
    background-size: cover;
    height: 379px;
    width: 262px;
    z-index: 0;
}

/************************************/
/***    21. Service Single css    ***/
/************************************/

.page-service-single{
	position: relative;
    padding: 100px 0;
}

.page-service-single::before{
    content: '';
    position: absolute;
    top: 15%;
    left: -70px;
    background-image: url('../images/section-bg-img-2.svg');
    background-repeat: no-repeat;
    background-position: top left;
    background-size: cover;
    height: 379px;
    width: 262px;
    z-index: 0;
}

.page-service-single::after{
    content: '';
    position: absolute;
    top: 40%;
    right: -95px;
    background-image: url('../images/section-bg-img-1.svg');
    background-repeat: no-repeat;
    background-position: right center;
    background-size: cover;
    height: 251px;
    width: 308px;
    z-index: 0;
}

.page-single-sidebar{
    position: sticky;
    top: 20px;
	margin-right: 20px;
}

.page-catagery-list{
	background-color: var(--white-color);
    border: 1px solid var(--divider-color);
    border-radius: 30px;
    margin-bottom: 60px;
	overflow: hidden;
}

.page-catagery-list h3{
    font-size: 20px;
    text-transform: capitalize;
    border-bottom: 1px solid var(--divider-color);
    padding: 30px;
}

.page-catagery-list ul{
    list-style: none;
    margin: 0;
	padding: 30px;
}

.page-catagery-list ul li{
    margin-bottom: 20px;
}

.page-catagery-list ul li:last-child{
    margin: 0;
}

.page-catagery-list ul li a{
	position: relative;
    display: block;
	line-height: 1.3em;
    text-transform: capitalize;
    color: var(--text-color);
	background-color: var(--secondary-color);
	border-radius: 15px;
	padding: 17px 45px 17px 20px;
	overflow: hidden;
    transition: all 0.4s ease-in-out;
	z-index: 1;
}

.page-catagery-list ul li:hover a{
    color: var(--white-color);
}

.page-catagery-list ul li a::before{
    content: '';
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translate(0px, -50%);
    background: url('../images/arrow-text.svg');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    width: 14px;
    height: 14px;
    transition: all 0.3s ease-in-out;
}

.page-catagery-list ul li a:hover::before{
    filter: brightness(0) invert(1);
    transform: translate(0px, -50%) rotate(45deg);
}

.page-catagery-list ul li a::after{
	content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0;
    background: var(--accent-color);
    transition: all 0.4s ease-in-out;
    z-index: -1;
}

.page-catagery-list ul li:hover a::after{
	top: 0;
	height: 100%;
}

.sidebar-cta-box{
    background: var(--white-color);
    border: 1px solid var(--divider-color);
    border-radius: 30px;
    padding: 30px;
}

.sidebar-cta-image{
    margin-bottom: 20px;
}

.sidebar-cta-image figure{
    display: block;
    border-radius: 30px;
}

.sidebar-cta-image img{
    width: 100%;
    aspect-ratio: 1 / 0.68;
    object-fit: cover;
    border-radius: 30px;
    transition: all 0.4s ease-in-out;
}

.sidebar-cta-box:hover .sidebar-cta-image img{
    transform: scale(1.1);
}

.sidebar-cta-content h3{
    font-size: 20px;
	line-height: 1.3em;
    margin-bottom: 20px;
}

.service-featured-image{
    margin-bottom: 40px;
}

.service-featured-image figure{
    display: block;
    border-radius: 30px;
}

.service-featured-image img{
    width: 100%;
    aspect-ratio: 1 / 0.598;
    object-fit: cover;
    border-radius: 30px;
}

.service-entry{
	margin-bottom: 60px;
}

.service-kicker{
	color: var(--accent-color);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 1.4px;
	text-transform: uppercase;
}

.service-intro-cta{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	background: var(--secondary-color);
	border: 1px solid var(--divider-color);
	border-radius: 20px;
	padding: 22px 25px;
	margin-top: 35px;
}

.service-intro-cta > div{
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.service-intro-cta strong{
	font-size: 18px;
	color: var(--primary-color);
}

.service-intro-cta span{
	font-size: 14px;
}

.service-ethics-note{
	background: var(--secondary-color);
	border-left: 4px solid var(--accent-color);
	border-radius: 0 18px 18px 0;
	padding: 24px 26px;
	margin-top: 60px;
}

.service-ethics-note strong{
	display: block;
	font-size: 18px;
	margin-bottom: 8px;
	color: var(--primary-color);
}

.service-ethics-note p{
	margin: 0;
}

.service-page-cta{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	background: var(--primary-color);
	border-radius: 24px;
	padding: 32px;
	margin-top: 60px;
}

.service-page-cta h3{
	color: var(--white-color);
	font-size: 24px;
	margin-bottom: 8px;
}

.service-page-cta p{
	color: var(--white-color);
	margin: 0;
	max-width: 520px;
}

.service-page-cta-actions{
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	flex-shrink: 0;
}

@media only screen and (max-width: 767px){
	.service-intro-cta,
	.service-page-cta{
		align-items: flex-start;
		flex-direction: column;
	}

	.service-page-cta-actions{
		width: 100%;
	}
}

.service-entry p{
    margin-bottom: 20px;
}

.service-entry p:last-child{
    margin-bottom: 0;
}

.service-entry h2{
    font-size: 48px;
    margin-bottom: 20px;
}

.service-entry h2 span{
    color: var(--accent-secondary-color);
}

.service-entry ul{
    list-style: disc;
    margin: 0;
    padding-left: 20px;
	display: flex;
	flex-wrap: wrap;
	gap: 20px 40px;
}

.service-entry ul li{
	width: calc(33.33% - 26.66px);
	text-transform: capitalize;
	line-height: 1.6em;
}

.service-entry ul li:last-child{
	margin-bottom: 0;
}

.service-entry ul li::marker{
    color: var(--accent-color);
}

.discover-peace-box,
.service-benefits-box,
.service-process-box{
    margin-top: 60px;
}

.discover-peace-item-list{
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    margin-top: 40px;
}

.discover-peace-item{
    position: relative;
    width: calc(50% - 15px);
    display: flex;
    background: var(--white-color);
    border: 1px solid var(--divider-color);
    border-radius: 20px;
    padding: 30px 25px;
    overflow: hidden;
}

.discover-peace-item::before{
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background: var(--accent-color);
	width: 100%;
	height: 0;
	transition: all 0.4s ease-in-out;
	z-index: 0;
}

.discover-peace-item:hover:before{
	height: 100%;
}

.discover-peace-item .icon-box{
    position: relative;
    margin-right: 20px;
    z-index: 1;
}

.discover-peace-item .icon-box img{
    width: 100%;
    max-width: 60px;
    transition: all 0.4s ease-in-out;
}

.discover-peace-item:hover .icon-box img{
    filter: brightness(0) invert(1);
}

.discover-peace-item-content{
    position: relative;
    width: calc(100% - 80px);
    z-index: 1;
}

.discover-peace-item-content h3{
    font-size: 20px;
    margin-bottom: 15px;
    text-transform: capitalize;
    transition: all 0.4s ease-in-out;
}

.discover-peace-item-content p{
	margin: 0;
    transition: all 0.4s ease-in-out;
}

.discover-peace-item:hover .discover-peace-item-content h3,
.discover-peace-item:hover .discover-peace-item-content p{
    color: var(--white-color);
}

.discover-peace-info-box{
    display: flex;
    align-items: center;
    background: var(--accent-color);
    border-radius: 20px;
    padding: 20px;
    margin: 30px 0 40px;
}

.discover-peace-info-box .icon-box{
    border-right: 1px solid var(--dark-divider-color);
    margin-right: 30px;
    padding-right: 30px;
}

.discover-peace-info-box .icon-box img{
    width: 100%;
    max-width: 80px;
}

.discover-peace-info-content{
    width: calc(100% - 140px);
}

.discover-peace-info-content h3{
    font-size: 20px;
	line-height: 1.3em;
    color: var(--white-color);
}

.service-benefits-image{
    margin-top: 40px;
}

.service-benefits-image figure{
    width: 100%;
    border-radius: 30px;
}

.service-benefits-image img{
    width: 100%;
    aspect-ratio: 1 / 0.479;
    object-fit: cover;
    border-radius: 30px;
}

.service-process-steps{
    margin-top: 40px;
}

.service-process-steps .how-work-step .how-work-step-no h2{
    font-size: 40px;
    margin-bottom: 0;
}

/************************************/
/***      22. Blog Archive css    ***/
/************************************/

.page-blog{
	padding: 100px 0;
}

.page-pagination{
    margin-top: 30px;
    text-align: center;
}

.page-pagination ul{
    justify-content: center;
    padding: 0;
    margin: 0;
}

.page-pagination ul li a,
.page-pagination ul li span{
    display: flex;
    text-decoration: none;
    justify-content: center;
    align-items: center;
    background: var(--white-color);
    color: var(--accent-color);
	border-radius: 10px;
    width: 40px;
    height: 40px;
    margin: 0 5px;
    font-weight: 700;
	line-height: 1em;
    transition: all 0.3s ease-in-out;
}

.page-pagination ul li.active a, 
.page-pagination ul li a:hover{
    background: var(--accent-color);
	color: var(--white-color);
}

/************************************/
/***      23. Blog Single css     ***/
/************************************/

.page-single-post{
	position: relative;
	padding: 100px 0;
}

.page-single-post::before{
    content: '';
    position: absolute;
    top: 15%;
    left: -70px;
    background-image: url('../images/section-bg-img-2.svg');
    background-repeat: no-repeat;
    background-position: top left;
    background-size: cover;
    height: 379px;
    width: 262px;
    z-index: 0;
}

.page-single-post::after{
    content: '';
    position: absolute;
    top: 40%;
    right: -95px;
    background-image: url('../images/section-bg-img-1.svg');
    background-repeat: no-repeat;
    background-position: right center;
    background-size: cover;
    height: 251px;
    width: 308px;
    z-index: 0;
}

.post-single-meta ol li{
	font-size: 18px;
	color: var(--white-color);
	margin-right: 15px;
}

.post-single-meta ol li:last-child{
	margin-right: 0;
}

.post-single-meta ol li i{
    font-size: 18px;
    color: var(--white-color);
    margin-right: 5px;
}

.post-image{
	position: relative;
	margin-bottom: 30px;
}

.post-image figure{
	display: block;	
	border-radius: 30px;
	overflow: hidden;
}

.post-image img{
	width: 100%;
	aspect-ratio: 1 / 0.50;
	object-fit: cover;
	border-radius: 30px;
}

.post-content{
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
}

.post-entry{
	border-bottom: 1px solid var(--divider-color);
	padding-bottom: 30px;
    margin-bottom: 30px;
}

.post-entry:after{
    content: '';
    display: block;
    clear: both;
}

.post-entry a{
    color: var(--accent-color);
}

.post-entry h1,
.post-entry h2,
.post-entry h3,
.post-entry h4,
.post-entry h5,
.post-entry h6{
	font-weight: 400;
	line-height: 1.2em;
	margin: 0 0 0.42em;
}

.post-entry h1{
	font-size: 60px;
}

.post-entry h2{
	font-size: 48px;
}

.post-entry h3{
	font-size: 40px;
}

.post-entry h4{
	font-size: 30px;
}

.post-entry h5{
	font-size: 24px;
}

.post-entry h6{
	font-size: 18px;
}

.post-entry p{
	margin-bottom: 20px;
}

.post-entry p:last-child{
	margin-bottom: 0;
}

.post-entry p strong{
	color: var(--primary-color);
	font-size: 18px;
	font-weight: 600;
}

.post-entry ol{
    margin: 0 0 30px;
}

.post-entry ul{
	padding: 0;
	margin: 20px 0 20px;
	padding-left: 20px;
}

.post-entry ol li,
.post-entry ul li{
    position: relative;
	font-size: 18px;
    font-weight: 500;
    line-height: 1.5em;
    color: var(--text-color);
    margin-bottom: 15px;
}

.post-entry ul li:last-child{
	margin-bottom: 0;
}

.post-entry ul ul,
.post-entry ul ol,
.post-entry ol ol,
.post-entry ol ul{
    margin-top: 20px;
    margin-bottom: 0;
}

.post-entry ul ul li:last-child,
.post-entry ul ol li:last-child,
.post-entry ol ol li:last-child,
.post-entry ol ul li:last-child{
    margin-bottom: 0;
}

.post-entry blockquote{
	background: url('../images/icon-blockquote.svg'), var(--accent-color);
	background-repeat: no-repeat;
	background-position: 30px 30px;
    background-size: 45px;
	border-radius: 20px;
    padding: 30px 30px 30px 90px;
    margin-bottom: 30px;
}

.post-entry blockquote p{
	font-family: var(--accent-font);
	font-size: 20px;
	font-weight: 400;
	line-height: 1.5em;
	color: var(--white-color);
}

.post-entry blockquote p:last-child{
	margin-bottom: 0;
}

.tag-links{
	font-family: var(--accent-font);
    font-size: 20px;
	font-weight: 400;
    text-transform: capitalize;
	color: var(--primary-color);
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 15px;
}

.post-tags .tag-links a{
    display: inline-block;
	font-family: var(--default-font);
    font-size: 16px;
	font-weight: 500;
	line-height: 1em;
	text-transform: capitalize;
	background: var(--accent-color);
	color: var(--white-color);
	border-radius: 10px;
    padding: 12px 20px;
	transition: all 0.3s ease-in-out;
}

.post-tags .tag-links a:hover{
	background: var(--accent-secondary-color);
}

.post-social-sharing{
    text-align: right;
}

.post-social-sharing ul{
    list-style: none;
    padding: 0;
    margin: 0;
}

.post-social-sharing ul li{
    display: inline-block;
    margin-right: 10px;
}

.post-social-sharing ul li:last-child{
	margin-right: 0;
}

.post-social-sharing ul li a{
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
	background: var(--accent-color);
	color: var(--white-color);
	border-radius: 10px;
    width: 40px;
    height: 40px;
    transition: all 0.3s ease-in-out;
}

.post-social-sharing ul li:hover a{
	background: var(--accent-secondary-color);
}

.post-social-sharing ul li a i{
    font-size: 18px;
    color: inherit;
}

/************************************/
/***      24. Team Page css       ***/
/************************************/

.page-team{
	padding: 100px 0 70px;
}

.team-item{
	height: calc(100% - 30px);
	margin-bottom: 30px;
}

.team-item .team-image{
	position: relative;
	margin-bottom: 20px;
}

.team-item .team-image figure:before{
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	top: 100%;
	right: 0;
	bottom: 0;
	left: 0;
	background: linear-gradient(180deg, rgba(61, 73, 58, 0) 61.53%, rgba(61, 73, 58, 0.6) 100%);
	transition: all 0.3s ease-in-out;
	z-index: 1;
}

.team-item:hover .team-image figure:before{
	top: 0;
}

.team-item .team-social-icon{
	position: absolute;
	right: 30px;
	bottom: 0;
	left: 30px;
	opacity: 0;
	visibility: hidden;
	transition: all 0.4s ease-in-out;
	z-index: 1;
}

.team-item:hover .team-social-icon{
	bottom: 30px;
	opacity: 1;
	visibility: visible;
}

.team-item .team-social-icon ul{
	justify-content: center;
}

.team-item .team-social-icon ul a{
	display: flex;
	cursor: pointer;
}

.team-item .team-image a{
	border-radius: 20px;
    display: block;
	cursor: none;
	overflow: hidden;
}

.team-item .team-image img{
    width: 100%;
	aspect-ratio: 1 / 1.19;
    object-fit: cover;
	transition: all 0.4s ease-in-out;
}

.team-item:hover .team-image img{
	transform: scale(1.1);
}

.team-item .team-content{
	text-align: center;
	margin-bottom: 0;
}

.team-item .team-content h2{
	margin-bottom: 5px;
}

.team-item .team-content p{
	margin: 0;
}

/************************************/
/***      25. Team Single css     ***/
/************************************/

.page-team-single{
	position: relative;
	padding: 100px 0;
}

.page-team-single::before{
    content: '';
    position: absolute;
    top: 15%;
    left: -70px;
    background-image: url('../images/section-bg-img-2.svg');
    background-repeat: no-repeat;
    background-position: top left;
    background-size: cover;
    height: 379px;
    width: 262px;
    z-index: 0;
}

.page-team-single::after{
    content: '';
    position: absolute;
    top: 40%;
    right: -95px;
    background-image: url('../images/section-bg-img-1.svg');
    background-repeat: no-repeat;
    background-position: right center;
    background-size: cover;
    height: 251px;
    width: 308px;
    z-index: 0;
}

.page-team-single-box{
	display: flex;
	flex-wrap: wrap;
	gap: 100px 0;
}

.team-member-info-box{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 30px 60px;
}

.team-member-image,
.team-member-content{
	width: calc(50% - 30px);
}

.team-member-image{
	border-radius: 30px;
	overflow: hidden;
}

.team-member-image figure{
	display: block;
}

.team-member-image img{
	width: 100%;
    aspect-ratio: 1 / 1.022;
	object-fit: cover;
}

.member-social-list{
	background-color: var(--accent-color);
	padding: 20px 40px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px 20px;
}

.member-social-list h3{
	color: var(--white-color);
	font-size: 20px;
	text-transform: capitalize;
}

.member-social-list ul{
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.member-social-list ul li a{
	width: 38px;
	height: 38px;
	color: var(--white-color);
	background: var(--accent-secondary-color);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.4s ease-in-out;
}

.member-social-list ul li a:hover{
	background: var(--white-color);
	color: var(--primary-color);
}

.member-social-list ul li a i{
	color: inherit;
	font-size: 18px;
}

.member-info-list ul{
    display: flex;
    flex-wrap: wrap;
    gap: 60px 30px;
    list-style: none;
    margin: 0;
    padding: 0;
    margin-bottom: 40px;
}

.member-info-list ul li{
	position: relative;
    width: calc(50% - 15px);
	font-family: var(--accent-font);
    font-size: 20px;
    font-weight: 400;
    text-transform: capitalize;
    color: var(--primary-color);
    display: flex;
    justify-content: space-between;
}

.member-info-list ul li:before{
	content: '';
	position: absolute;
	right: 0;
	bottom: -30px;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: var(--divider-color);
}

.member-info-list ul li:nth-last-child(-n + 2):before{
	display: none;
}

.member-info-list ul li span{
    width: 58%;
    font-size: 16px;
    font-weight: 400;
    text-transform: none;
    color: var(--text-color);
}

.member-about-list{
	background-color: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 20px;
	padding: 30px;
}

.member-about-list ul{
    list-style: disc;
    margin: 0;
    padding-left: 20px;
	display: flex;
	flex-wrap: wrap;
	gap: 20px 40px;
}

.member-about-list ul li{
	width: calc(50% - 20px);
	line-height: 1.6em;
}

.member-about-list ul li::marker{
    color: var(--accent-color);
}

.team-member-about .section-title{
	margin-bottom: 0;
}

.team-member-Skill-box{
	display: flex;
	flex-wrap: wrap;
	gap: 30px 60px;
}

.team-member-Skill-feature,
.team-contact-form{
	width: calc(50% - 30px);
}

.member-feature-content{
	border-bottom: 1px solid var(--divider-color);
	margin-bottom: 40px;
	padding-bottom: 40px;
}

.member-feature-content .member-about-list{
	background: transparent;
	border-radius: 0;
	border: none;
	padding: 0;
}

/************************************/
/*** 	 26. Pricing Page css	  ***/
/************************************/

.page-pricing{
	position: relative;
	padding: 100px 0 20px;
}

.page-pricing::before{
    content: '';
    position: absolute;
    bottom: 20px;
    left: -100px;
    background-image: url('../images/section-bg-img-2.svg');
    background-repeat: no-repeat;
    background-position: bottom left;
    background-size: cover;
    height: 379px;
    width: 262px;
    z-index: 0;
}

/************************************/
/***   27. Testimonials Page css  ***/
/************************************/

.page-testimonials{
	position: relative;
	padding: 100px 0 50px;
}

.page-testimonials::before{
    content: '';
    position: absolute;
    bottom: 150px;
    left: -100px;
    background-image: url('../images/section-bg-img-2.svg');
    background-repeat: no-repeat;
    background-position: bottom left;
    background-size: cover;
    height: 379px;
    width: 262px;
    z-index: 0;
}

.page-testimonials .our-testimonial-box .testimonial-item{
	width: calc(50% - 15px);
}

/************************************/
/*** 	 28. Image Gallery css	  ***/
/************************************/

.page-gallery{
	padding: 100px 0 70px;
}

.page-gallery-box .photo-gallery{
	height: calc(100% - 30px);
	margin-bottom: 30px;
}

.page-gallery-box .photo-gallery a{
	cursor: none;
}

.page-gallery-box .photo-gallery figure{
	display: block;
	border-radius: 20px;
}

.page-gallery-box .photo-gallery img{
	width: 100%;
	aspect-ratio: 1 / 0.794;
	object-fit: cover;
	border-radius: 20px;
}

/************************************/
/*** 	 29. Video Gallery css	  ***/
/************************************/

.page-video-gallery{
	padding: 100px 0 70px;
}

.video-gallery-image{
	height: calc(100% - 30px);
	margin-bottom: 30px;
	overflow: hidden;
}

.video-gallery-image a{
	position: relative;
	display: block;
	cursor: none;
}

.video-gallery-image a::before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--primary-color);
	border-radius: 20px;
    opacity: 0%;
    visibility: hidden;
    width: 100%;
    height: 100%;
    z-index: 1;
    transform: scale(0);
    transition: all 0.4s ease-in-out;
}

.video-gallery-image:hover a::before{
    opacity: 40%;
    visibility: visible;
    transform: scale(1);
}

.video-gallery-image a::after{
    content: '\f04b';
	font-family: 'FontAwesome';
    position: absolute;
    top: 50%;
    left: 50%;
    right: 0;
    transform: translate(-50%, -50%);
	font-size: 20px;
	background: var(--accent-color);
	color: var(--white-color);
    border-radius: 50%;
    height: 60px;
    width: 60px;
    cursor: none;
	display: flex;
	align-items: center;
	justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: all 0.5s ease-in-out;
    z-index: 1;
}

.video-gallery-image:hover a::after{
    opacity: 1;
    visibility: visible;
}

.video-gallery-image img{
	width: 100%;
	aspect-ratio: 1 / 0.794;
	object-fit: cover;
	border-radius: 20px;
}

/************************************/
/*** 	  30. FAQs Page css 	  ***/
/************************************/

.page-faqs{
	position: relative;
	padding: 100px 0;
}

.page-faqs::before{
    content: '';
    position: absolute;
    top: 15%;
    left: -70px;
    background-image: url('../images/section-bg-img-2.svg');
    background-repeat: no-repeat;
    background-position: top left;
    background-size: cover;
    height: 379px;
    width: 262px;
    z-index: 0;
}

.page-faqs::after{
    content: '';
    position: absolute;
    top: 40%;
    right: -95px;
    background-image: url('../images/section-bg-img-1.svg');
    background-repeat: no-repeat;
    background-position: right center;
    background-size: cover;
    height: 251px;
    width: 308px;
    z-index: 0;
}

.page-faqs-catagery .page-faq-accordion{
    margin-bottom: 60px;
}

.page-faqs-catagery .page-faq-accordion:last-child{
    margin-bottom: 0px;
}

/************************************/
/*** 	31. Contact Us Page css   ***/
/************************************/

.page-contact-us{
	padding: 100px 0;
}

.contact-us-content{
	margin-right: 30px;
}

.contact-info-list{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	margin-bottom: 50px;
}

.contact-info-item{
	width: calc(50% - 15px);
	background-color: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 20px;
	display: flex;
	align-items: center;
	padding: 20px;
}

.contact-info-item .icon-box{
	width: 50px;
	height: 50px;
	background-color: var(--accent-color);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 20px;
}

.contact-info-item .icon-box img{
	width: 100%;
	max-width: 25px;
}

.contact-item-content{
	width: calc(100% - 70px);
}

.contact-item-content h3{
	font-size: 20px;
	text-transform: capitalize;
	margin-bottom: 5px;
}

.contact-item-content p{
	margin: 0;
}

.contact-item-content p a{
	color: inherit;
	transition: all  0.3s ease-in-out;
}

.contact-item-content p a:hover{
	color: var(--primary-color);
}

.contact-social-list{
	display: flex;
	align-items: center;
	gap: 15px 20px;
}

.contact-social-list h3{
	font-size: 20px;
	text-transform: capitalize;
}

.contact-social-list ul{
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.contact-social-list ul li a{
	width: 38px;
	height: 38px;
	color: var(--white-color);
	background: var(--accent-secondary-color);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.4s ease-in-out;
}

.contact-social-list ul li a:hover{
	background: var(--primary-color);
}

.contact-social-list ul li a i{
	color: inherit;
	font-size: 18px;
}

.contact-us-form{
	background-color: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 30px;
	padding: 50px;
}

.contact-form .form-control{
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5em;
	color: var(--text-color);
	background-color: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 10px;
	padding: 17px 20px;
	box-shadow: none;
	outline: none;
}

.contact-form .form-control::placeholder{
	color: var(--text-color);
}

.google-map .container-fluid{
	padding: 0;
}

.google-map-iframe,
.google-map-iframe iframe{
	width: 100%;
	height: 600px;
}

/************************************/
/*** 	32. Book Appointment css  ***/
/************************************/

.page-book-appointment{
	position: relative;
	padding: 100px 0 50px;
}

.page-book-appointment::before{
    content: '';
    position: absolute;
    bottom: 10px;
    left: -70px;
    background-image: url('../images/section-bg-img-2.svg');
    background-repeat: no-repeat;
    background-position: bottom left;
    background-size: cover;
    height: 379px;
    width: 262px;
    z-index: 0;
}

/************************************/
/*** 	 33. 404 Error Page css	  ***/
/************************************/

.error-page{
	padding: 100px 0;
}

.error-page-image{
	text-align: center;
	margin-bottom: 30px;
}

.error-page-image img{
	width: 100%;
	max-width: 60%;
}

.error-page-content{
	text-align: center;
}

.error-page-content .section-title,
.error-page-content-body p{
	margin-bottom: 20px;
}

/************************************/
/***      34. Responsive css      ***/
/************************************/


@media only screen and (max-width: 1300px){
	.our-pricing::before{
        top: -25px;
        height: 197px;
        width: 240px;
    }
}


@media only screen and (max-width: 1024px){

	.header-contact-now{
		display: none;
	}
}

@media only screen and (max-width: 991px){

	.btn-default{
		padding: 15px 40px 15px 15px;
	}

	.btn-default::before{
		width: 12px;
		height: 12px;
	}

	.navbar{
		padding: 20px 0;
	}

	.slicknav_nav li,
	.slicknav_nav ul{
        display: block;
    }

	.responsive-menu,
    .navbar-toggle{
        display: block;
    }

	.header-btn{
		display: none;
	}

	.section-row{
		margin-bottom: 40px;
	}

	.section-title{
		margin-bottom: 30px;
	}

	.section-title h1{
		font-size: 45px;
	}

	.section-title h2{
		font-size: 36px;
	}

	.section-title p{
		margin-top: 10px;
	}

	.section-title-content{
		margin-top: 15px;
	}

	.section-btn{
		text-align: left;
		margin-top: 15px;
	}

	.section-content-btn .section-btn{
		margin-top: 15px;
	}

	.hero{
		padding: 190px 0 100px;
		min-height: auto;
	}

	.hero.hero-slider-layout .hero-slide{
		padding: 190px 0 100px;
		min-height: auto;
	}
	
	.hero.hero-slider-layout .hero-pagination{
		bottom: 30px;
		padding-left: 15px;
	}

	.hero-content .section-title p{
		margin-top: 20px;
		padding-top: 20px;
	}

	.hero-content .section-title h3{
		margin-bottom: 20px;
	}

	.down-arrow-circle{
		bottom: 10px;
	}

	.down-arrow-circle a img{
		max-width: 100px;
	}

	.down-arrow-circle a i{
		font-size: 30px;
	}

	.about-us{
		padding: 50px 0 25px;
	}

	.about-us::before{
        bottom: -40px;
        height: 170px;
        width: 208px;
    }

	.about-images{
		max-width: 80%;
		margin: 20px auto 50px;
	}

	.about-image-title h2{
		font-size: 88px;
	}

	.about-us-content{
		margin-left: 0px;
	}

	.about-content-body{
		margin-bottom: 30px;
	}

	.about-benefit-item{
		margin-bottom: 20px;
	}

	.about-benefit-item .icon-box{
		margin-right: 10px;
	}

	.about-benefit-item .icon-box img{
		max-width: 50px;
	}

	.about-benefit-item-content{
		width: calc(100% - 60px);
	}

	.our-services{
		padding: 25px 0;
	}

	.service-item{
		border-radius: 20px;
		padding: 20px;
	}

	.service-header{
		margin-bottom: 50px;
	}

	.service-header .icon-box img{
		max-width: 60px;
	}

	.service-btn a{
		width: 40px;
		height: 40px;
	}

	.service-btn a img{
		max-width: 12px;
	}

	.service-content h3{
		margin-bottom: 10px;
	}

	.section-footer-text{
		margin-top: 10px;
	}

	.section-footer-text p span{
		font-size: 14px;
	}

	.what-we-do{
		padding: 25px 0;
	}

	.what-we-do::before{
        left: -50px;
        height: 260px;
        width: 180px;
    }

	.what-we-content,
	.what-we-body{
		margin-bottom: 30px;
	}

	.what-we-body ul{
		gap: 15px 40px;
	}

	.what-we-image{
		max-width: 80%;
		margin: 0 auto;
	}

	.what-we-benefits-box{
		border-radius: 20px;
	}

	.what-we-benefits-list{
		width: 100%;
		gap: 30px;
		padding: 30px;
	}

	.what-we-item .icon-box{
		margin-right: 10px;
	}

	.what-we-item-content{
		width: calc(100% - 50px);
	}

	.what-we-item-content p{
		font-size: 14px;
	}

	.what-we-benefit-image{
		width: 100%;
		border: none;
	}

	.what-we-benefit-image figure{
		height: auto;
	}

	.what-we-benefit-image img{
		height: auto;
		aspect-ratio: 1 / 0.6;
	}

	.why-choose-us{
		padding: 25px 0;
	}

	.why-choose-image{
		width: 100%;
	}

	.why-choose-item{
		width: calc(50% - 15px);
		padding: 20px;
	}

	.why-choose-item .icon-box{
		margin-bottom: 30px;
	}

	.why-choose-item .icon-box img{
		max-width: 60px;
	}

	.why-choose-counter-box{
		gap: 30px;
		margin-top: 40px;
		padding-top: 40px;
	}

	.why-choose-counter-item{
		display: block;
		width: calc(25% - 22.5px);
	}

	.why-choose-counter-item::before{
		right: -15px;
	}

	.why-choose-counter-item .icon-box{
        margin: 0 0 10px 0;
    }

	.why-choose-counter-item .icon-box img{
		max-width: 40px;
	}

	.why-choose-counter-content h3{
		font-size: 26px;
	}

	.why-choose-counter-content p{
		font-size: 14px;
	}

	.why-choose-counter-item .icon-box{
		margin-right: 10px;
	}

	.our-benefits{
		padding: 25px 0 50px;
	}

	.our-benefits::before{
        height: 260px;
        width: 268px;
    }

	.benefit-item{
		margin-bottom: 30px;
		padding-bottom: 30px;
	}

	.benefit-item .icon-box{
		margin-bottom: 20px;
	}

	.benefit-item .icon-box img{
		max-width: 60px;
	}

	.our-benefits-image{
		width: 100%;
		max-width: 70%;
		margin: 0 auto;
		margin-top: 30px;
	}

	.intro-video-box{
		height: 500px;
	}

	.intro-video-box .video-play-button a{
		width: 80px;
		height: 80px;
		font-size: 18px;
	}

	.cta-box{
		padding: 25px 0;
	}

	.cta-box .section-title,
	.cta-box .section-btn{
		text-align: center;
	}

	.how-it-work{
		padding: 50px 0 25px;
	}

	.how-work-content{
		margin-right: 0px;
		margin-bottom: 30px;
	}

	.how-work-stpes-box{
		padding-top: 30px;
	}

	.how-work-step{
		margin-bottom: 30px;
	}

	.how-work-step-no{
		margin-right: 15px;
	}

	.how-work-step-no h2{
		font-size: 34px;
	}

	.how-work-image{
		max-width: 80%;
		margin: 0 auto;
	}

	.our-features{
		padding: 25px 0;
	}

	.our-features.about-our-features::before{
		top: -50px;
        right: -75px;
        height: 310px;
        width: 320px;
    }

	.features-item{
		border-radius: 20px;
		padding: 20px 0 0 20px;
		margin-bottom: 30px;
	}

	.features-item-image img{
		aspect-ratio: 1 / 0.5;
	}

	.features-box{
		border-radius: 20px;
	}

	.features-box .features-box-content{
		top: 20px;
		left: 20px;
	}

	.features-box-image img{
		border-radius: 20px;
	}

	.features-box.box-2 .features-box-content{
		left: 20px;
		bottom: 20px;
	}

	.features-box.box-2 .features-box-image img{
		aspect-ratio: 1 / 0.9;
	}

	.features-item.features-box{
		margin-bottom: 0;
	}

	.our-pricing{
		padding: 25px 0 0;
	}

	.our-pricing::after{
        height: 105px;
        width: 290px;
    }

	.pricing-item{
		border-radius: 20px;
	}

	.pricing-content{
		padding: 20px;
	}

	.pricing-title{
		margin-top: -38px;
		margin-bottom: 20px;
	}

	.pricing-content h3{
		padding: 8px 20px;
	}

	.pricing-content h2{
		font-size: 36px;
	}

	.pricing-content p{
		font-size: 14px;
	}

	.pricing-body{
		padding: 20px;
	}

	.pricing-list{
		margin-bottom: 30px;
	}

	.pricing-list ul li{
		margin-bottom: 10px;
	}

	.scrolling-ticker{
		padding: 25px 0;
	}

	.scrolling-ticker-box{
		--gap: 30px;
		padding: 60px 0;
		margin: 30px 0;
	}

	.scrolling-ticker-box .scrolling-content span{
		font-size: 45px;
	}

	.scrolling-ticker-box .scrolling-content span img{
		margin-right: 30px;
	}

	.scrolling-ticker-image img{
		max-width: 60px;
	}

	.scrolling-ticker-image{
		transform: translateY(30px);
	}
	
	.scrolling-ticker-images .scrolling-ticker-image:nth-child(even){
		transform: translateY(-30px);
	}
	
	.our-testimonials{
		padding: 25px 0;
	}

	.testimonial-image-content{
		margin-bottom: 30px;
	}

	.testimonial-image figure{
		border-radius: 20px;
	}

	.testimonial-image img{
		aspect-ratio: 1 / 0.64;
		border-radius: 20px;
	}

	.testimonial-review-box{
		border-radius: 20px;
		padding: 30px;
	}

	.testimonial-review-header{
		margin-bottom: 40px;
	}

	.testimonial-review-title h3{
		font-size: 26px;
	}

	.testimonial-item{
		border-radius: 20px;
		padding: 30px;
	}

	.testimonial-author{
		margin-bottom: 20px;
	}

	.our-faqs{
		padding: 25px 0;
	}

	.our-faqs-content{
		margin-bottom: 30px;
	}

	.faq-accordion .accordion-item{
		margin-bottom: 20px;
	}

	.faq-accordion .accordion-header .accordion-button{
		padding: 15px 40px 15px 15px;
	}

	.faq-accordion .accordion-item .accordion-button::after,
	.faq-accordion .accordion-item .accordion-button.collapsed::after{
		top: 16px;
		right: 15px;
		font-size: 20px;
	}

	.faq-accordion .accordion-item .accordion-body{
		padding: 15px 45px 15px 15px;
	}

	.faqs-image{
		padding: 35px 35px 30px 45px;
		margin-left: 0;
	}

	.faqs-image::before{
		border-radius: 20px;
	}

	.faqs-image figure{
		border-radius: 20px;
	}

	.faqs-image img{
		aspect-ratio: 1 / 0.8;
		border-radius: 20px;
	}

	.faqs-contact-box{
		border-radius: 12px;
		padding: 15px;
	}

	.our-blog{
		padding: 25px 0 20px;
	}

	.our-blog::before{
        top: -65px;
        right: -40px;
        height: 180px;
        width: 220px;
    }

	.post-item{
		border-radius: 20px;
		padding: 20px;
	}

	.post-featured-image,
	.post-item-content{
		margin-bottom: 15px;
	}

	.post-featured-image a{
		border-radius: 20px;
	}

	.footer-main{
        padding: 40px 0 0 0;
    }

	.footer-main::before{
        left: -75px;
        height: 310px;
        width: 320px;
    }

    .footer-header{
        padding-bottom: 30px;
        margin-bottom: 30px;
    }

    .footer-about{
        width: calc(70% - 10px);
    }

    .footer-logo{
        margin-right: 20px;
        padding-right: 20px;
    }

    .about-footer-content{
        width: calc(100% - 222px);
    }

    .footer-social-links{
        width: calc(30% - 10px);
    }

    .footer-social-links ul li{
        margin-right: 10px;
    }
    
    .footer-links{
        margin-bottom: 30px;
    }

    .footer-links h3{
        margin-bottom: 20px;
    }

    .footer-links ul li{
        margin-bottom: 10px;
    }

    .footer-contact-links{
        margin-right: 0;
    }

	.footer-newsletter-box{
		margin-bottom: 30px;
	}

	.footer-newsletter-box .section-title{
		margin-bottom: 20px;
	}

    .newsletter-form .form-group .form-control{
        width: calc(100% - 48px);
        padding: 11px 20px;
    }

    .newsletter-form .form-group .newsletter-btn{
        width: 48px;
        height: 48px;
    }

    .newsletter-form .form-group .newsletter-btn i{
        font-size: 20px;
    }

    .footer-copyright{
        margin-top: 0px;
        padding: 30px 0;
    }

    .footer-privacy-policy ul li{
        margin-right: 3px;
        padding-right: 12px;
    }

	.page-header{
		padding: 170px 0 80px;
	}
	
	.page-header-box h1{
		font-size: 45px;
		margin-bottom: 5px;
	}

	.our-approach{
		padding: 25px 0;
	}

	.our-approach-content{
		margin-bottom: 30px;
	}

	.our-approach-body{
		padding: 30px;
	}

	.mission-vision-item{
		padding-bottom: 20px;
		margin-bottom: 20px;
	}

	.mission-vision-item h3{
		margin-bottom: 10px;
	}

	.our-approach-image{
		max-width: 80%;
		margin: 0 auto;
		padding-right: 180px;
	}

	.our-approach-img-1 img{
		aspect-ratio: 1 / 1.65;
	}

	.approach-explore-more-circle img{
		max-width: 140px;
	}

	.who-we-are{
		padding: 25px 0;
	}

	.who-we-are-image{
		max-width: 75%;
		margin: 0 auto;
		margin-bottom: 30px;
	}

	.who-we-are-image:before{
		width: 330px;
		height: 330px;
	}

	.who-we-are-body{
		margin-bottom: 30px;
	}

	.we-are-item .icon-box{
		margin-right: 10px;
	}

	.we-are-item .icon-box img{
		max-width: 50px;
	}

	.we-are-item-content{
		width: calc(100% - 60px);
	}

	.our-expertise{
		padding: 25px 0;
	}

	.our-expertise-content{
		margin-bottom: 30px;
	}

	.our-expertise-body ul{
		margin-bottom: 30px;
	}

	.skills-progress-bar{
		margin-bottom: 20px;
	}

	.skills-progress-bar .skill-data{
		margin-bottom: 10px;
	}

	.expertise-image{
		margin-left: 0;
	}

	.expertise-image-list{
		max-width: 190px;
	}

	.expertise-explore-more-circle{
		right: 90px;
	}

	.expertise-explore-more-circle img{
		max-width: 110px;
	}

	.team-image img{
		aspect-ratio: 1 / 0.95;
	}

	.team-body{
		padding: 30px;
	}

	.team-content{
		margin-bottom: 10px;
	}

	.team-body-content{
		margin-bottom: 20px;
		padding-bottom: 20px;
	}

	.our-testimonials.about-our-testimonials::before{
        right: -40px;
        height: 180px;
        width: 220px;
    }

	.our-appointment{
		padding: 25px 0;
	}

	.our-appointment-box{
        padding: 50px;
		gap: 30px;
    }

	.our-appointment-content,
	.appointment-form{
		width: 100%;
	}

	.appointment-form form .form-control{
		padding: 12px 15px;
	}

	.appointment-form form .form-group select{
		padding: 10px 30px 10px 15px;
	}

	.appointment-item{
		margin-bottom: 30px;
		padding-bottom: 30px;
	}

	.appointment-item .icon-box{
		margin-right: 10px;
	}

	.appointment-item .icon-box img{
		max-width: 50px;
	}

	.appointment-item-content{
		width: calc(100% - 60px);
	}

	.our-faqs.about-faqs{
		padding: 25px 0 50px;
	}

	.page-services{
		padding: 50px 0 25px;
	}

	.page-services::before{
        bottom: -15px;
        height: 260px;
        width: 180px;
    }

	.page-service-single{
        padding: 50px 0;
    }

	.page-service-single::before{
        height: 260px;
        width: 180px;
    }

    .page-service-single::after{
        bottom: -40px;
        height: 170px;
        width: 208px;
    }

    .page-single-sidebar{
        position: initial;
        margin: 0 0 30px 0;
    }

    .page-catagery-list{
        border-radius: 20px;
        margin-bottom: 30px;
    }

    .page-catagery-list h3,
    .page-catagery-list ul{
        padding: 20px;
    }

    .page-catagery-list ul li a{
        border-radius: 10px;
        padding: 13px 35px 13px 15px;
        overflow: hidden;
        transition: all 0.4s ease-in-out;
        z-index: 1;
    }

    .page-catagery-list ul li a::before{
        right: 15px;
        width: 12px;
        height: 12px;
    }

    .sidebar-cta-box{
        border-radius: 20px;
        padding: 20px;
    }

    .sidebar-cta-image figure{
        border-radius: 20px;
    }
    
    .sidebar-cta-image img{
        aspect-ratio: 1 / 0.5;
        border-radius: 20px;
    }

    .sidebar-cta-content h3{
        margin-bottom: 15px;
    }

    .service-featured-image{
        margin-bottom: 30px;
    }

    .service-featured-image figure{
        border-radius: 20px;
    }

    .service-featured-image img{
        aspect-ratio: 1 / 0.51;
        border-radius: 20px;
    }

    .service-entry{
        margin-bottom: 40px;
    }

    .service-entry p{
        margin-bottom: 15px;
    }

    .service-entry h2{
        font-size: 36px;
        margin-bottom: 15px;
    }

    .service-entry ul{
        gap: 15px 40px;
    }

    .service-entry ul li{
        font-size: 14px;
    }

    .discover-peace-box,
    .service-benefits-box,
    .service-process-box{
        margin-top: 40px;
    }

    .discover-peace-item-list{
        gap: 20px;
        margin-top: 30px;
    }

    .discover-peace-item{
        width: calc(50% - 10px);
        padding: 20px 15px;
    }

    .discover-peace-item .icon-box{
        margin-right: 10px;
    }

    .discover-peace-item .icon-box img{
        max-width: 50px;
    }

    .discover-peace-item-content{
        width: calc(100% - 60px);
    }

    .discover-peace-info-box{
        margin: 20px 0 30px;
    }

    .discover-peace-info-box .icon-box{
        margin-right: 20px;
        padding-right: 20px;
    }

    .discover-peace-info-box .icon-box img{
        max-width: 60px;
    }

    .discover-peace-info-content{
        width: calc(100% - 100px);
    }

    .service-benefits-image{
        margin-top: 30px;
    }

    .service-benefits-image figure,
    .service-benefits-image img{
        border-radius: 20px;
    }

    .service-process-steps{
        margin-top: 30px;
    }

    .service-process-steps .how-work-step .how-work-step-no h2{
        font-size: 34px;
    }

	.page-blog{
		padding: 50px 0;
	}

	.page-pagination{
		margin-top: 10px;
	}

	.page-single-post{
		padding: 50px 0;
	}

	.page-single-post::before{
        left: -80px;
        height: 260px;
        width: 180px;
    }

    .page-single-post::after{
        bottom: -40px;
        height: 170px;
        width: 208px;
    }

	.post-single-meta ol li,
	.post-single-meta ol li i{
		font-size: 16px;
	}
	
	.post-image{
		margin-bottom: 20px;
	}

	.post-image figure,
	.post-image img{
		border-radius: 20px;
	}
		
	.post-entry h1,
	.post-entry h2,
	.post-entry h3,
	.post-entry h4,
	.post-entry h5,
	.post-entry h6{
		margin: 0 0 0.417em;
	}

	.post-entry h2{
		font-size: 36px;
	}

	.post-entry p{
		margin-bottom: 15px;
	}

	.post-entry ol li,
	.post-entry ul li{
		font-size: 16px;
		margin-bottom: 10px;
	}

	.post-entry blockquote{
		background-position: 20px 20px;
		background-size: 40px;
		padding: 20px 20px 20px 70px;
		margin-bottom: 20px;
	}

	.post-entry blockquote p{
		font-size: 18px;
	}

	.post-tags{
		margin-bottom: 20px;
	}

	.post-tags .tag-links a{
		padding: 12px 15px;
	}

	.post-social-sharing ul{
		text-align: left;
	}

	.page-team{
		padding: 50px 0 20px;
	}

	.team-item .team-image{
		margin-bottom: 15px;
	}

	.team-item .team-image img{
		aspect-ratio: 1 / 0.98;
	}

	.team-social-icon{
		left: 20px;
		right: 20px;
	}

	.team-item:hover .team-social-icon{
		bottom: 20px;
	}

	.page-team-single{
		padding: 50px 0;
	}

	.page-team-single::before{
        height: 260px;
        width: 180px;
    }

    .page-team-single::after{
        bottom: -40px;
        height: 170px;
        width: 208px;
    }

	.page-team-single-box{
		gap: 50px 0;
	}

	.team-member-image,
	.team-member-content{
		width: 100%;
	}

	.team-member-image img{
		aspect-ratio: 1 / 0.7;
	}

	.member-social-list{
		padding: 20px;
	}

	.member-info-list ul{
		gap: 40px 30px;
		margin-bottom: 30px;
	}

	.member-info-list ul li:before{
		bottom: -20px;
	}

	.member-about-list{
		padding: 20px;
	}

	.member-about-list ul{
		gap: 10px 40px;
	}

	.team-member-Skill-feature,
	.team-contact-form{
		width: 100%;
	}

	.member-feature-content{
		margin-bottom: 30px;
		padding-bottom: 30px;
	}

	.page-pricing{
		padding: 50px 0 0px;
	}

	.page-pricing::before{
        height: 260px;
        width: 180px;
    }

	.page-testimonials{
		padding: 50px 0 25px;
	}

	.page-testimonials::before{
        height: 260px;
        width: 180px;
    }

	.page-gallery{
		padding: 50px 0 20px;
	}

	.page-video-gallery{
		padding: 50px 0 20px;
	}

	.page-faqs{
		padding: 50px 0;
	}

	.page-faqs::before{
        height: 260px;
        width: 180px;
    }
    
    .page-faqs::after{
        bottom: -40px;
        height: 170px;
        width: 208px;
    }
	
	.page-faqs-catagery .page-faq-accordion{
		margin-bottom: 40px;
	}

	.page-contact-us{
		padding: 50px 0;
	}

	.contact-us-content{
		margin-right: 0;
		margin-bottom: 30px;
	}

	.contact-info-list{
		margin-bottom: 30px;
	}

	.contact-info-item .icon-box{
		margin-right: 10px;
	}

	.contact-item-content{
		width: calc(100% - 60px);
	}

	.contact-us-form{
		border-radius: 20px;
		padding: 30px;
	}

	.contact-form .form-control{
		padding: 12px 15px;
	}

	.google-map-iframe,
	.google-map-iframe iframe{
		height: 450px;
	}

	.page-book-appointment{
		padding: 50px 0 25px;
	}

	.page-book-appointment::before{
        height: 260px;
        width: 180px;
    }

	.error-page{
		padding: 50px 0;
	}

	.error-page-image{
		margin-bottom: 20px;
	}

	.error-page-image img{
		max-width: 80%;
	}

	.error-page-content .section-title,
	.error-page-content-body p{
		margin-bottom: 15px;
	}
}

@media only screen and (max-width: 767px){

	body{
		font-size: 16px;
	}
	x
	.readmore-btn{
		padding: 2px 32px 2px 0;
	}

	.readmore-btn:after{
		width: 24px;
		height: 24px;
	}

	.section-row{
		margin-bottom: 30px;
	}

	.section-title h1{
		font-size: 30px;
	}

	.section-title h2{
		font-size: 26px;
	}

	.section-title p{
        margin-top: 10px;
    }

	.section-title-content{
        margin-top: 10px;
    }

	.hero-body{
		gap: 20px;
	}

	.video-play-button a{
		height: 45px;
		width: 45px;
	}

	.video-play-button a i{
		font-size: 16px;
	}

	.hero-body .video-play-button p{
		font-size: 14px;
	}

	.down-arrow-circle{
		right: 0;
		left: 0;
	}

	.down-arrow-circle a img{
        max-width: 80px;
    }

	.down-arrow-circle a i{
        font-size: 24px;
    }

	.about-us::before{
        height: 135px;
        width: 166px;
    }

	.about-images{
		max-width: 100%;
		margin: 0 0 50px 0;
	}

	.about-images::after{
		top: 0;
		background-size: contain;
		max-width: 60%;
	}

	.about-image img{
		max-width: 100%;
		aspect-ratio: 1 / 1.3;
		object-fit: contain;
	}

	.about-image-title{
		right: 20px;
	}

	.about-image-title h2{
        font-size: 58px;
    }

	.about-benefit-item-content h3{
		font-size: 18px;
	}

	.service-header{
        margin-bottom: 30px;
    }

	.service-content h3{
		font-size: 18px;
	}

	.what-we-do::before{
        left: -30px;
        height: 200px;
        width: 138px;
    }

	.what-we-body ul{
        gap: 10px;
    }

	.what-we-body ul li{
		width: 100%;
	}

	.what-we-image{
		background-size: 80% auto;
        max-width: 100%;
    }

	.what-we-benefits-list{
        padding: 30px 20px;
    }

	.what-we-item{
		width: 100%;
	}

	.what-we-item-content h3{
		font-size: 18px;
	}

	.what-we-benefit-image img{
        aspect-ratio: 1 / 0.682;
    }

	.why-choose-content{
		gap: 20px;
	}

	.why-choose-item{
        width: 100%;
    }

	.why-choose-item .icon-box img{
        max-width: 50px;
    }

	.why-choose-item-content h3{
		font-size: 18px;
	}

	.why-choose-counter-item{
        width: calc(50% - 15px);
    }

	.why-choose-counter-item .icon-box img{
		max-width: 30px;
	}

	.why-choose-counter-content h3{
        font-size: 22px;
    }

	.our-benefits::before{
        height: 190px;
        width: 198px;
    }

	.benefit-item{
        margin-bottom: 20px;
        padding-bottom: 20px;
    }

	.benefit-item .icon-box img{
        max-width: 50px;
    }

	.benefit-item-content h3{
		font-size: 18px;
		margin-bottom: 10px;
	}

	.our-benefits-image{
        max-width: 100%;
        margin: 30px 0;
    }

	.our-benefits-image::before{
		width: 100%;
		height: 350px;
	}

	.our-benefits-image figure{
		background-size: 90%;
	}

	.our-benefits-image img{
		max-width: 100%;
	}

	.intro-video-box{
		height: 350px;
	}

	.intro-video-box .video-play-button a{
        width: 70px;
        height: 70px;
        font-size: 16px;
    }

	.how-work-step-no h2{
        font-size: 28px;
    }

	.how-work-step-content h3{
		font-size: 18px;
	}

	.how-work-image{
        max-width: 100%;
    }

	.how-work-image::after{
		top: 20px;
		bottom: 20px;
		left: 15px;
		height: calc(100% - 40px);
	}

	.how-work-image figure{
		background-size: 38% auto;
	}

	.features-item{
		margin-bottom: 20px;
	}

	.our-features-boxes{
		gap: 20px;
	}

	.features-box{
		width: 100%;
	}

	.features-box.box-2 .features-box-image img,
	.features-box-image img{
		aspect-ratio: 1 / 0.7;
	}

	.features-box.box-3 .features-item-image img{
		aspect-ratio: 1 / 1.1;
	}

	.features-box-content h3,
	.features-item-content h3{
		font-size: 18px;
	}

	.our-pricing::before{
        top: 0;
        left: -50px;
        height: 163px;
        width: 180px;
    }

    .our-pricing::after{
        right: -30px;
        height: 75px;
        width: 208px;
    }

	.pricing-content h2{
        font-size: 26px;
    }

	.scrolling-ticker-box{
		--gap: 20px;
		padding: 40px 0;
		margin: 25px 0;
	}

	.scrolling-ticker-box .scrolling-content span{
		font-size: 30px;
	}

	.scrolling-ticker-box .scrolling-content span img{
		max-width: 18px;
		margin-right: 20px;
	}

	.scrolling-ticker-image img{
		max-width: 50px;
	}

	.scrolling-ticker-image{
		transform: translateY(25px);
	}
	
	.scrolling-ticker-images .scrolling-ticker-image:nth-child(even){
		transform: translateY(-25px);
	}

	.testimonial-review-box{
        padding: 20px;
    }

	.testimonial-review-header{
		margin-bottom: 30px;
	}

	.testimonial-review-counter p{
		max-width: 100%;
	}

	.testimonial-review-content{
		width: 100%;
	}

	.testimonial-review-btn a{
		width: 46px;
		height: 46px;
	}

	.testimonial-review-btn a img{
		max-width: 12px;
	}

	.testimonial-item{
        padding: 20px;
    }

	.testimonial-author .author-image{
		margin-right: 10px;
	}

	.testimonial-author .author-image img{
		max-width: 50px;
	}

	.testimonial-author .author-content h3{
		font-size: 18px;
	}

	.testimonial-author .author-content p{
		font-size: 14px;
	}

	.testimonial-item-content p{
		font-size: 14px;
	}

	.testimonial-author .author-content{
		width: calc(100% - 60px);
	}

	.faq-accordion .accordion-header .accordion-button{
		font-size: 18px;
		padding: 12px 40px 12px 15px;
	}

	.faq-accordion .accordion-item .accordion-body{
        padding: 12px 15px;
    }

	.faq-accordion .accordion-item .accordion-body p{
		font-size: 14px;
	}

	.faqs-image{
        padding: 15px 15px 30px 25px;
    }

	.faqs-image::before{
		width: 210px;
		height: 210px;
	}

	.faqs-contact-box{
        padding: 10px 15px;
    }

	.faqs-contact-box .icon-box{
		width: 40px;
		height: 40px;
		margin-right: 10px;
	}

	.faqs-contact-box-content{
		width: calc(100% - 50px);
	}

	.faqs-contact-box-content h3{
		font-size: 18px;
	}

	.our-blog::before{
        height: 135px;
        width: 166px;
    }

	.post-item-content h2{
		font-size: 18px;
	}

	.footer-main::before{
        height: 210px;
        width: 219px;
    }

	.footer-header{
        gap: 15px;
        padding-bottom: 20px;
        margin-bottom: 20px;
    }

    .footer-about,
    .footer-social-links,
    .footer-logo,
    .about-footer-content{
        width: 100%;
    }

    .footer-logo{
        margin: 0 0 15px 0;
		padding-right: 0;
        border-right: none;
    }

    .footer-social-links{
        text-align: left;
    }

    .footer-links h3{
        font-size: 18px;
        margin-bottom: 15px;
    }

	.footer-links ul li{
        margin-bottom: 8px;
    }

    .footer-copyright{
        flex-direction: column;
        gap: 15px;
        padding: 20px 0;
    }

	.page-header-box h1{
		font-size: 30px;
	}

	.page-header-box ol li.breadcrumb-item{
		font-size: 14px;
	}

	.our-approach-body{
        padding: 20px;
    }

	.mission-vision-item h3{
		font-size: 18px;
	}

	.our-approach-image{
		max-width: 100%;
		padding-right: 120px;
	}

	.our-approach-img-2{
		max-width: 190px;
		border-width: 5px;
	}

	.approach-explore-more-circle{
		position: absolute;
		top: 15px;
		right: 10px;
	}

	.approach-explore-more-circle img{
        max-width: 100px;
    }

	.who-we-are-image{
		max-width: 100%;
	}

	.who-we-are-image:before{
		width: 220px;
		height: 220px;
	}

	.who-we-are-body{
		gap: 20px;
	}

	.we-are-item{
		width: 100%;
	}

	.we-are-item-content h3{
		font-size: 18px;
		margin-bottom: 5px;
	}

	.our-expertise-body ul{
		gap: 10px 40px;
	}

	.our-expertise-body ul li{
		width: 100%;
	}

	.skills-progress-bar .skillbar .skill-progress{
		height: 12px;
	}

	.expertise-image{
		padding: 0 0 40px 40px;
	}

	.expertise-img figure,
	.expertise-img img{
		border-radius: 20px;
	}

    .expertise-image-list{
        max-width: 120px;
    }

	.expertise-list-img{
		border-width: 3px;
		border-radius: 12px;
	}

	.expertise-explore-more-circle{
		right: 40px;
		border-width: 3px;
	}

	.expertise-explore-more-circle img{
        max-width: 80px;
    }

	.our-features.about-our-features::before{
		right: -40px;
        height: 190px;
        width: 198px;
    }

	.team-member-item .team-image,
	.team-member-item .team-body{
		width: 100%;
	}
	
	.team-image a,
	.team-image figure,
	.team-image img{
		height: auto;
	}

	.team-body{
        padding: 20px;
    }

	.team-content h2{
		font-size: 18px;
	}

	.our-testimonials.about-our-testimonials::before{
        height: 135px;
        width: 166px;
    }

	.our-appointment-box{
		border-radius: 20px;
        padding: 20px;
    }

	.appointment-item{
        margin-bottom: 20px;
        padding-bottom: 20px;
    }

	.appointment-item-content h3{
		font-size: 18px;
	}

	.page-services::before{
        left: -50px;
        height: 200px;
        width: 138px;
    }    
    
    .page-service-single::before{
        left: -50px;
        height: 200px;
        width: 138px;
    }
    
    .page-service-single::after{
        top: 50%;
        height: 135px;
        width: 166px;
    }

	.page-catagery-list h3{
        font-size: 18px;
        padding: 15px 20px;
    }

    .sidebar-cta-image img{
        aspect-ratio: 1 / 0.64;
    }

    .sidebar-cta-content h3{
        font-size: 18px;
    }

    .service-featured-image{
        margin-bottom: 20px;
    }

    .service-featured-image img{
        aspect-ratio: 1 / 0.65;
    }

    .service-entry h2{
        font-size: 26px;
    }

    .service-entry ul{
        gap: 10px;
    }

    .service-entry ul li{
        width: 100%;
    }

	.discover-peace-box,
	.service-benefits-box,
	.service-process-box{
        margin-top: 30px;
    }

    .discover-peace-item{
        width: 100%;
    }

    .discover-peace-item-content h3{
        font-size: 18px;
        margin-bottom: 10px;
    }

    .discover-peace-item-content p{
        font-size: 14px;
    }

    .discover-peace-info-box{
		display: block;
        margin: 20px 0;
    }

    .discover-peace-info-box .icon-box{
		border-right: none;
        margin-right: 0px;
        padding-right: 0px;
		margin-bottom: 10px;
    }

    .discover-peace-info-content{
        width: 100%;
    }

    .discover-peace-info-content h3{
        font-size: 18px;
    }

    .service-benefits-image img{
        aspect-ratio: 1 / 0.58;
    }

    .service-process-steps .how-work-step{
        margin-bottom: 20px;
    }

    .service-process-steps .how-work-step .how-work-step-no h2{
        font-size: 28px;
    }

	.page-single-post::before{
        left: -50px;
        height: 200px;
        width: 138px;
    }
    
    .page-single-post::after{
        top: 50%;
        height: 135px;
        width: 166px;
    }

	.post-image img{
        aspect-ratio: 1 / 0.7;
    }
    
    .post-entry blockquote{
        background-position: 15px 15px;
        padding: 60px 15px 15px 15px;
    }
    
    .post-entry blockquote p{
        font-size: 16px;
    }
    
    .post-entry h2{
        font-size: 26px;
    }
    
    .tag-links{
        font-size: 18px;
    }

	.page-team-single::before{
        left: -50px;
        height: 200px;
        width: 138px;
    }
    
    .page-team-single::after{
        top: 50%;
        height: 135px;
        width: 166px;
    }

	.team-member-image img{
        aspect-ratio: 1 / 0.9;
    }

	.member-social-list h3{
		font-size: 18px;
	}

	.member-info-list ul{
		gap: 30px;
	}

	.member-info-list ul li{
		width: 100%;
		font-size: 18px;
	}

	.member-info-list ul li:before{
        bottom: -15px;
    }

	.member-info-list ul li:nth-last-child(-n + 2):before{
		display: block;
	}

	.member-info-list ul li:last-child::before{
		display: none;
	}

	.member-info-list ul li span{
		width: 65%;
	}

	.member-about-list ul li{
		width: 100%;
	}

	.page-pricing::before{
        left: -50px;
        height: 200px;
        width: 138px;
    }
    
    .page-testimonials::before{
        left: -50px;
        height: 200px;
        width: 138px;
    }

	.page-testimonials .our-testimonial-box .testimonial-item{
		width: 100%;
	}

	.page-faqs::before{
        left: -50px;
        height: 200px;
        width: 138px;
    }
    
    .page-faqs::after{
        top: 50%;
        height: 135px;
        width: 166px;
    }

	.contact-info-list{
		gap: 20px;
	}
	
	.contact-info-item{
		width: 100%;
	}

	.contact-item-content h3{
		font-size: 18px;
	}

	.contact-social-list{
		display: block;
	}

	.contact-social-list h3{
		font-size: 18px;
		margin-bottom: 10px;
	}

	.contact-social-list ul li a i{
		font-size: 16px;
	}

	.contact-us-form{
		padding: 20px;
	}

	.google-map-iframe,
	.google-map-iframe iframe{
		height: 350px;
	}

	.page-book-appointment::before{
        left: -50px;
        height: 200px;
        width: 138px;
    }
}

/* Guarantees Page — alternative premium visual */
.guarantees-hero{
	position: relative;
	padding: 100px 0;
	background: var(--primary-color);
	overflow: hidden;
}

.guarantees-hero::after{
	content: '';
	position: absolute;
	right: -120px;
	bottom: -170px;
	width: 420px;
	height: 420px;
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 50%;
}

.guarantees-hero-grid{
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
	align-items: center;
	gap: 80px;
}

.guarantees-breadcrumb{
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 52px;
	margin-bottom: 34px;
	color: rgba(255,255,255,.68);
	font-size: 13px;
	text-transform: capitalize;
}

.guarantees-breadcrumb a{ color: rgba(255,255,255,.68); }
.guarantees-breadcrumb strong{ color: var(--white-color); font-weight: 500; }
.guarantees-hero .services-eyebrow{ color: var(--accent-secondary-color); }

.guarantees-hero h1{
	max-width: 700px;
	margin-bottom: 24px;
	color: var(--white-color);
	font-size: clamp(42px, 5vw, 68px);
	line-height: 1.1em;
}

.guarantees-hero h1 span{ color: var(--accent-secondary-color); }

.guarantees-hero-intro{
	max-width: 640px;
	margin-bottom: 32px;
	color: rgba(255,255,255,.78);
	font-size: 18px;
	line-height: 1.75em;
}

.guarantees-hero-card{
	position: relative;
	padding: 32px;
	background: var(--white-color);
	border-radius: 30px;
	box-shadow: 20px 25px 0 rgba(199,154,69,.22);
}

.guarantees-hero-card-top,
.guarantees-hero-card-footer{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	color: var(--text-color);
	font-size: 13px;
}

.guarantees-seal{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	border: 1px solid var(--accent-color);
	border-radius: 50%;
	color: var(--accent-color);
	font-family: var(--accent-font);
	font-size: 20px;
}

.guarantees-hero-card-quote{
	padding: 70px 0;
	color: var(--primary-color);
	font-family: var(--accent-font);
	font-size: 30px;
	line-height: 1.25em;
}

.guarantees-hero-card-footer{
	padding-top: 18px;
	border-top: 1px solid var(--divider-color);
	text-transform: uppercase;
	letter-spacing: 1px;
}

.guarantees-principles,
.guarantees-faq-section{
	padding: 100px 0;
	background: var(--white-color);
}

.guarantees-section-heading{
	max-width: 760px;
	margin: 0 auto 52px;
	text-align: center;
}

.guarantees-section-heading h2{ margin-bottom: 18px; }
.guarantees-section-heading h2 span{ color: var(--accent-secondary-color); }
.guarantees-section-heading > p:last-child{ margin-bottom: 0; font-size: 17px; line-height: 1.7em; }

.guarantees-principles-grid{
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px;
}

.guarantees-principle-card{
	position: relative;
	padding: 30px 26px;
	border: 1px solid var(--divider-color);
	border-radius: 24px;
	background: var(--white-color);
	transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.guarantees-principle-card:hover{
	transform: translateY(-8px);
	border-color: var(--accent-color);
	box-shadow: 0 18px 45px rgba(25,38,32,.09);
}

.guarantees-principle-number{
	position: absolute;
	top: 24px;
	right: 25px;
	color: var(--accent-color);
	font-size: 14px;
	font-weight: 700;
}

.guarantees-principle-icon{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 62px;
	height: 62px;
	margin-bottom: 25px;
	border-radius: 18px;
	background: var(--secondary-color);
}

.guarantees-principle-icon img{ width: 34px; height: 34px; object-fit: contain; }
.guarantees-principle-card h3{ margin-bottom: 12px; font-size: 21px; }
.guarantees-principle-card p{ margin: 0; line-height: 1.65em; }

.guarantees-commitment{
	padding: 100px 0;
	background: var(--secondary-color);
}

.guarantees-commitment-grid{
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
	align-items: center;
	gap: 80px;
}

.guarantees-commitment-image{ position: relative; }
.guarantees-commitment-image figure{ border-radius: 28px; }
.guarantees-commitment-image img{ width: 100%; aspect-ratio: 1 / 1.05; object-fit: cover; border-radius: 28px; }

.guarantees-floating-card{
	position: absolute;
	right: -25px;
	bottom: 28px;
	display: flex;
	flex-direction: column;
	gap: 5px;
	max-width: 230px;
	padding: 18px 20px;
	border-radius: 18px;
	background: var(--primary-color);
	box-shadow: 0 12px 28px rgba(0,0,0,.15);
}

.guarantees-floating-card strong{ color: var(--white-color); font-size: 17px; }
.guarantees-floating-card span{ color: rgba(255,255,255,.72); font-size: 13px; line-height: 1.4em; }
.guarantees-commitment-content > p:not(.services-eyebrow){ line-height: 1.75em; }

.guarantees-check-list{
	margin: 32px 0 0;
	padding: 0;
	list-style: none;
}

.guarantees-check-list li{
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 18px 0;
	border-bottom: 1px solid var(--divider-color);
}

.guarantees-check-list li:first-child{ border-top: 1px solid var(--divider-color); }
.guarantees-check-list li > span{ color: var(--accent-color); font-size: 21px; font-weight: 700; line-height: 1; }
.guarantees-check-list strong{ display: block; margin-bottom: 5px; color: var(--primary-color); font-size: 17px; }
.guarantees-check-list p{ margin: 0; font-size: 15px; line-height: 1.55em; }

.guarantees-method{
	padding: 100px 0;
	background: var(--white-color);
}

.guarantees-method-grid{
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px;
}

.guarantees-method-card{
	padding: 28px 24px;
	border-radius: 22px;
	background: var(--secondary-color);
}

.guarantees-method-card > span{
	display: block;
	margin-bottom: 32px;
	color: var(--accent-color);
	font-size: 14px;
	font-weight: 700;
}

.guarantees-method-card h3{ margin-bottom: 12px; font-size: 21px; }
.guarantees-method-card p{ margin: 0; line-height: 1.65em; }

.guarantees-notice-section{
	padding: 0 0 100px;
	background: var(--white-color);
}

.guarantees-notice{
	display: flex;
	align-items: flex-start;
	gap: 22px;
	padding: 28px 32px;
	border-left: 4px solid var(--accent-color);
	border-radius: 0 22px 22px 0;
	background: var(--secondary-color);
}

.guarantees-notice-icon{
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 42px;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--accent-color);
	color: var(--white-color);
	font-size: 21px;
	font-weight: 700;
}

.guarantees-notice h3{ margin-bottom: 8px; font-size: 20px; }
.guarantees-notice p{ margin: 0; line-height: 1.65em; }

.guarantees-cta-section{
	padding: 0 0 100px;
	background: var(--white-color);
}

.guarantees-cta{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 35px;
	padding: 42px;
	border-radius: 28px;
	background: var(--primary-color);
}

.guarantees-cta .services-eyebrow{ color: var(--accent-secondary-color); }
.guarantees-cta h2{ max-width: 650px; margin-bottom: 12px; color: var(--white-color); }
.guarantees-cta p:last-child{ margin: 0; max-width: 610px; color: rgba(255,255,255,.75); line-height: 1.65em; }
.guarantees-cta-actions{ display: flex; flex-wrap: wrap; gap: 12px; flex-shrink: 0; }

.guarantees-faq-list{ max-width: 900px; margin: 0 auto; }
.guarantees-faq-item{ border-bottom: 1px solid var(--divider-color); }
.guarantees-faq-item:first-child{ border-top: 1px solid var(--divider-color); }
.guarantees-faq-item summary{ position: relative; padding: 23px 45px 23px 0; color: var(--primary-color); font-size: 18px; font-weight: 600; list-style: none; cursor: pointer; }
.guarantees-faq-item summary::-webkit-details-marker{ display: none; }
.guarantees-faq-item summary::after{ content: '+'; position: absolute; top: 50%; right: 4px; transform: translateY(-50%); color: var(--accent-color); font-size: 25px; font-weight: 400; }
.guarantees-faq-item[open] summary::after{ content: '−'; }
.guarantees-faq-item p{ max-width: 780px; margin: -4px 0 24px; padding-right: 35px; line-height: 1.7em; }

@media only screen and (max-width: 1199px){
	.guarantees-hero-grid,
	.guarantees-commitment-grid{ gap: 45px; }
	.guarantees-principles-grid,
	.guarantees-method-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media only screen and (max-width: 767px){
	.guarantees-hero,
	.guarantees-principles,
	.guarantees-commitment,
	.guarantees-method,
	.guarantees-faq-section{ padding: 70px 0; }
	.guarantees-notice-section,
	.guarantees-cta-section{ padding-bottom: 70px; }
	.guarantees-hero-grid,
	.guarantees-commitment-grid{ grid-template-columns: 1fr; gap: 45px; }
	.guarantees-hero h1{ font-size: 40px; }
	.guarantees-hero-intro{ font-size: 16px; }
	.guarantees-hero-card{ box-shadow: 12px 14px 0 rgba(199,154,69,.22); }
	.guarantees-hero-card-quote{ padding: 45px 0; font-size: 25px; }
	.guarantees-principles-grid,
	.guarantees-method-grid{ grid-template-columns: 1fr; }
	.guarantees-floating-card{ right: 15px; bottom: 15px; }
	.guarantees-notice,
	.guarantees-cta{ align-items: flex-start; flex-direction: column; padding: 28px; }
	.guarantees-cta-actions{ width: 100%; }
	.guarantees-cta-actions .btn-default{ width: 100%; text-align: center; }
}

/* Voyance générale — direction artistique premium */
.voyance-hero{
	position: relative;
	padding: 70px 0 105px;
	background: var(--primary-color);
	overflow: hidden;
}

.voyance-hero::before{
	content: '';
	position: absolute;
	top: -180px;
	left: 48%;
	width: 520px;
	height: 520px;
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 50%;
}

.voyance-hero-orbit{
	position: absolute;
	border: 1px solid rgba(199,154,69,.22);
	border-radius: 50%;
	pointer-events: none;
}

.voyance-hero-orbit-one{ right: -100px; bottom: -220px; width: 500px; height: 500px; }
.voyance-hero-orbit-two{ right: 20px; bottom: -100px; width: 260px; height: 260px; }

.voyance-breadcrumb{
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 64px;
	color: rgba(255,255,255,.58);
	font-size: 13px;
}

.voyance-breadcrumb a{ color: rgba(255,255,255,.58); }
.voyance-breadcrumb strong{ color: var(--white-color); font-weight: 500; }

.voyance-hero-grid{
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(330px, .92fr);
	align-items: center;
	gap: 80px;
}

.voyance-hero .services-eyebrow{ color: var(--accent-secondary-color); }
.voyance-hero h1{ max-width: 760px; margin-bottom: 24px; color: var(--white-color); font-size: clamp(42px, 5vw, 70px); line-height: 1.08em; }
.voyance-hero h1 span{ color: var(--accent-secondary-color); }
.voyance-hero-intro{ max-width: 640px; margin-bottom: 32px; color: rgba(255,255,255,.76); font-size: 18px; line-height: 1.75em; }
.voyance-hero-actions{ display: flex; align-items: center; flex-wrap: wrap; gap: 24px; }
.voyance-text-link{ color: var(--white-color); font-size: 15px; font-weight: 600; }
.voyance-text-link span{ display: inline-block; margin-left: 5px; color: var(--accent-secondary-color); font-size: 20px; transition: transform .3s ease; }
.voyance-text-link:hover span{ transform: translate(4px,4px); }
.voyance-hero-trust{ display: flex; flex-wrap: wrap; gap: 22px; margin-top: 42px; color: rgba(255,255,255,.72); font-size: 13px; }
.voyance-hero-trust b{ margin-right: 6px; color: var(--accent-secondary-color); }

.voyance-reading-card{
	position: relative;
	padding: 30px;
	border-radius: 30px;
	background: var(--secondary-color);
	box-shadow: 16px 18px 0 rgba(199,154,69,.2);
	overflow: hidden;
}

.voyance-reading-card-glow{ position: absolute; top: -80px; right: -80px; width: 230px; height: 230px; border: 1px solid rgba(199,154,69,.35); border-radius: 50%; }
.voyance-reading-card-top,
.voyance-reading-card-bottom{ display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.voyance-reading-label{ color: var(--accent-color); font-size: 12px; font-weight: 700; letter-spacing: 1.6px; text-transform: uppercase; }
.voyance-reading-mark{ display: inline-flex; align-items: center; justify-content: center; width: 50px; height: 50px; border: 1px solid var(--accent-color); border-radius: 50%; color: var(--accent-color); font-family: var(--accent-font); font-size: 17px; }
.voyance-reading-card-center{ display: flex; align-items: center; gap: 22px; padding: 58px 0 42px; }
.voyance-reading-ring{ display: flex; align-items: baseline; justify-content: center; flex: 0 0 115px; width: 115px; height: 115px; padding-top: 39px; border: 1px solid var(--accent-color); border-radius: 50%; color: var(--primary-color); }
.voyance-reading-ring span{ font-family: var(--accent-font); font-size: 42px; line-height: .8; }
.voyance-reading-ring small{ margin-left: 3px; font-size: 13px; }
.voyance-reading-card-center p{ margin: 0; color: var(--text-color); font-size: 15px; line-height: 1.6em; }
.voyance-reading-domains{ display: flex; flex-wrap: wrap; gap: 8px; padding-bottom: 28px; }
.voyance-reading-domains span{ padding: 8px 11px; border: 1px solid rgba(25,38,32,.14); border-radius: 100px; color: var(--text-color); font-size: 12px; }
.voyance-reading-card-bottom{ padding-top: 20px; border-top: 1px solid rgba(25,38,32,.14); color: var(--text-color); font-size: 14px; }
.voyance-reading-card-bottom strong{ color: var(--primary-color); font-size: 28px; }

.voyance-domains{ padding: 105px 0 90px; background: var(--white-color); }
.voyance-section-heading{ display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .8fr); align-items: end; gap: 60px; margin-bottom: 50px; }
.voyance-section-heading h2{ margin-bottom: 0; }
.voyance-section-heading h2 span{ color: var(--accent-secondary-color); }
.voyance-section-heading > p{ margin: 0; line-height: 1.7em; }
.voyance-section-heading-centered{ display: block; text-align: center; }
.voyance-domains-grid{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.voyance-domain-card{ position: relative; min-height: 285px; padding: 26px; border: 1px solid var(--divider-color); border-radius: 24px; background: var(--white-color); transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease; }
.voyance-domain-card:hover{ transform: translateY(-8px); border-color: var(--accent-color); box-shadow: 0 18px 45px rgba(25,38,32,.09); }
.voyance-domain-card-head{ display: flex; align-items: center; justify-content: space-between; margin-bottom: 48px; }
.voyance-domain-card-head span{ color: var(--accent-color); font-size: 13px; font-weight: 700; }
.voyance-domain-card-head img{ width: 42px; height: 42px; object-fit: contain; }
.voyance-domain-card h3{ margin-bottom: 12px; font-size: 22px; }
.voyance-domain-card p{ margin: 0; padding-right: 10px; line-height: 1.6em; }
.voyance-domain-card > a{ position: absolute; right: 24px; bottom: 21px; color: var(--accent-color); font-size: 24px; line-height: 1; }

.voyance-focus{ padding: 105px 0; background: var(--secondary-color); }
.voyance-focus-grid{ display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: center; gap: 85px; }
.voyance-focus-image{ position: relative; }
.voyance-focus-image figure{ border-radius: 28px; }
.voyance-focus-image img{ width: 100%; aspect-ratio: 1 / 1.08; object-fit: cover; border-radius: 28px; }
.voyance-focus-stamp{ position: absolute; right: -28px; bottom: 28px; display: flex; flex-direction: column; gap: 2px; min-width: 185px; padding: 18px 20px; border-radius: 18px; background: var(--primary-color); box-shadow: 0 14px 30px rgba(0,0,0,.16); }
.voyance-focus-stamp span{ color: rgba(255,255,255,.7); font-size: 12px; }
.voyance-focus-stamp strong{ color: var(--white-color); font-family: var(--accent-font); font-size: 26px; line-height: 1; }
.voyance-focus-content > p:not(.services-eyebrow){ line-height: 1.75em; }
.voyance-focus-content h2 span{ color: var(--accent-secondary-color); }
.voyance-focus-list{ margin: 30px 0 0; padding: 0; list-style: none; }
.voyance-focus-list li{ display: flex; gap: 16px; padding: 17px 0; border-bottom: 1px solid var(--divider-color); }
.voyance-focus-list li:first-child{ border-top: 1px solid var(--divider-color); }
.voyance-focus-list li > span{ color: var(--accent-color); font-size: 13px; font-weight: 700; }
.voyance-focus-list strong{ display: block; margin-bottom: 4px; color: var(--primary-color); font-size: 17px; }
.voyance-focus-list p{ margin: 0; font-size: 14px; line-height: 1.55em; }

.voyance-process{ padding: 105px 0; background: var(--primary-color); }
.voyance-process-heading{ max-width: 760px; margin: 0 auto 50px; text-align: center; }
.voyance-process-heading .services-eyebrow{ color: var(--accent-secondary-color); }
.voyance-process-heading h2{ color: var(--white-color); }
.voyance-process-heading h2 span{ color: var(--accent-secondary-color); }
.voyance-process-heading > p:last-child{ margin: 0; color: rgba(255,255,255,.72); line-height: 1.7em; }
.voyance-process-grid{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.voyance-process-step{ padding: 26px 24px; border: 1px solid rgba(255,255,255,.16); border-radius: 22px; background: rgba(255,255,255,.06); }
.voyance-process-step > span{ display: block; margin-bottom: 48px; color: var(--accent-secondary-color); font-size: 14px; font-weight: 700; }
.voyance-process-step h3{ margin-bottom: 12px; color: var(--white-color); font-size: 21px; }
.voyance-process-step p{ margin: 0; color: rgba(255,255,255,.72); line-height: 1.6em; }

.voyance-cta-section{ padding: 0 0 100px; background: var(--primary-color); }
.voyance-cta{ display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 42px; border-radius: 28px; background: var(--secondary-color); }
.voyance-cta .services-eyebrow{ color: var(--accent-color); }
.voyance-cta h2{ max-width: 680px; margin-bottom: 12px; color: var(--primary-color); }
.voyance-cta h2 span{ color: var(--accent-color); }
.voyance-cta p:last-child{ max-width: 650px; margin: 0; line-height: 1.65em; }
.voyance-cta-actions{ display: flex; flex-shrink: 0; flex-wrap: wrap; gap: 12px; }

.voyance-faq-section{ padding: 105px 0; background: var(--white-color); }
.voyance-faq-list{ max-width: 900px; margin: 0 auto; }
.voyance-faq-item{ border-bottom: 1px solid var(--divider-color); }
.voyance-faq-item:first-child{ border-top: 1px solid var(--divider-color); }
.voyance-faq-item summary{ position: relative; padding: 23px 45px 23px 0; color: var(--primary-color); font-size: 18px; font-weight: 600; list-style: none; cursor: pointer; }
.voyance-faq-item summary::-webkit-details-marker{ display: none; }
.voyance-faq-item summary::after{ content: '+'; position: absolute; top: 50%; right: 4px; transform: translateY(-50%); color: var(--accent-color); font-size: 25px; font-weight: 400; }
.voyance-faq-item[open] summary::after{ content: '−'; }
.voyance-faq-item p{ max-width: 780px; margin: -4px 0 24px; padding-right: 35px; line-height: 1.7em; }

@media only screen and (max-width: 1199px){
	.voyance-hero-grid,
	.voyance-focus-grid{ gap: 45px; }
	.voyance-domains-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.voyance-process-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media only screen and (max-width: 767px){
	.voyance-hero,
	.voyance-domains,
	.voyance-focus,
	.voyance-process,
	.voyance-faq-section{ padding: 70px 0; }
	.voyance-cta-section{ padding-bottom: 70px; }
	.voyance-breadcrumb{ margin-bottom: 42px; }
	.voyance-hero-grid,
	.voyance-focus-grid{ grid-template-columns: 1fr; gap: 45px; }
	.voyance-hero h1{ font-size: 40px; }
	.voyance-hero-intro{ font-size: 16px; }
	.voyance-hero-actions{ align-items: flex-start; flex-direction: column; gap: 18px; }
	.voyance-hero-trust{ flex-direction: column; gap: 12px; }
	.voyance-reading-card{ box-shadow: 10px 12px 0 rgba(199,154,69,.2); }
	.voyance-reading-card-center{ align-items: flex-start; flex-direction: column; padding: 42px 0 30px; }
	.voyance-section-heading{ display: block; }
	.voyance-section-heading > p{ margin-top: 20px; }
	.voyance-domains-grid,
	.voyance-process-grid{ grid-template-columns: 1fr; }
	.voyance-domain-card{ min-height: 245px; }
	.voyance-focus-stamp{ right: 15px; bottom: 15px; }
	.voyance-cta{ align-items: flex-start; flex-direction: column; padding: 28px; }
	.voyance-cta-actions{ width: 100%; }
	.voyance-cta-actions .btn-default{ width: 100%; text-align: center; }
}

/* Retour d'affection — direction artistique relationnelle */
.affection-hero{
	position: relative;
	padding: 70px 0 105px;
	background: var(--secondary-color);
	overflow: hidden;
}

.affection-hero::before{
	content: '♡';
	position: absolute;
	top: -95px;
	right: 8%;
	color: rgba(199,154,69,.12);
	font-family: Georgia, serif;
	font-size: 430px;
	line-height: 1;
}

.affection-breadcrumb{ display: flex; align-items: center; gap: 10px; margin-bottom: 65px; color: rgba(25,38,32,.55); font-size: 13px; }
.affection-breadcrumb a{ color: rgba(25,38,32,.55); }
.affection-breadcrumb strong{ color: var(--primary-color); font-weight: 600; }
.affection-hero-grid{ position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(330px, .95fr); align-items: center; gap: 80px; }
.affection-hero .services-eyebrow{ color: var(--accent-color); }
.affection-hero h1{ max-width: 720px; margin-bottom: 24px; color: var(--primary-color); font-size: clamp(43px, 5vw, 70px); line-height: 1.08em; }
.affection-hero h1 span{ color: var(--accent-color); }
.affection-hero-intro{ max-width: 620px; margin-bottom: 32px; color: var(--text-color); font-size: 18px; line-height: 1.75em; }
.affection-hero-actions{ display: flex; align-items: center; flex-wrap: wrap; gap: 24px; }
.affection-text-link{ color: var(--primary-color); font-size: 15px; font-weight: 600; }
.affection-text-link span{ color: var(--accent-color); font-size: 20px; }
.affection-hero-note{ display: flex; gap: 12px; margin-top: 38px; color: var(--text-color); font-size: 13px; }
.affection-hero-note b{ color: var(--accent-color); font-size: 17px; }

.affection-letter-card{ position: relative; padding: 34px; border-radius: 28px; background: var(--primary-color); box-shadow: 16px 18px 0 rgba(199,154,69,.24); overflow: hidden; }
.affection-letter-card::after{ content: ''; position: absolute; right: -70px; bottom: -80px; width: 250px; height: 250px; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; }
.affection-letter-top{ display: flex; align-items: center; justify-content: space-between; color: rgba(255,255,255,.65); font-size: 12px; letter-spacing: 1px; text-transform: uppercase; }
.affection-letter-mark{ display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; border: 1px solid var(--accent-secondary-color); border-radius: 50%; color: var(--accent-secondary-color); font-family: var(--accent-font); font-size: 18px; }
.affection-letter-body{ position: relative; z-index: 1; padding: 70px 0 58px; }
.affection-letter-body .affection-heart{ margin-bottom: 22px; color: var(--accent-secondary-color); font-family: Georgia, serif; font-size: 54px; line-height: 1; }
.affection-letter-body h2{ max-width: 340px; margin-bottom: 15px; color: var(--white-color); font-size: 31px; line-height: 1.2em; }
.affection-letter-body p{ margin: 0; color: rgba(255,255,255,.7); line-height: 1.65em; }
.affection-letter-bottom{ position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 15px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.16); color: rgba(255,255,255,.65); font-size: 13px; }
.affection-letter-bottom strong{ color: var(--white-color); font-size: 20px; }

.affection-reasons{ padding: 105px 0 90px; background: var(--white-color); }
.affection-section-heading{ max-width: 760px; margin: 0 auto 52px; text-align: center; }
.affection-section-heading h2{ margin-bottom: 18px; }
.affection-section-heading h2 span{ color: var(--accent-secondary-color); }
.affection-section-heading > p:last-child{ margin: 0; font-size: 17px; line-height: 1.7em; }
.affection-reasons-grid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.affection-reason-card{ position: relative; padding: 30px 26px; border: 1px solid var(--divider-color); border-radius: 24px; background: var(--white-color); transition: transform .35s ease, box-shadow .35s ease, background-color .35s ease, border-color .35s ease; overflow: hidden; }
.affection-reason-card::after{ content: ''; position: absolute; right: -40px; bottom: -55px; width: 140px; height: 140px; border: 1px solid rgba(199,154,69,.2); border-radius: 50%; transition: transform .45s ease, border-color .35s ease; pointer-events: none; }
.affection-reason-card:hover{ transform: translateY(-10px); border-color: var(--accent-color); background: var(--primary-color); box-shadow: 0 22px 50px rgba(25,38,32,.16); }
.affection-reason-card:hover::after{ transform: scale(1.7); border-color: rgba(199,154,69,.45); }
.affection-reason-card h3,
.affection-reason-card p,
.affection-reason-number,
.affection-reason-icon{ transition: color .35s ease, background-color .35s ease, transform .35s ease; }
.affection-reason-card:hover h3,
.affection-reason-card:hover p{ color: var(--white-color); }
.affection-reason-card:hover .affection-reason-number{ color: var(--accent-secondary-color); }
.affection-reason-card:hover .affection-reason-icon{ transform: translateY(-3px); background: var(--accent-color); }
.affection-reason-card:hover .affection-reason-icon img{ filter: brightness(0) invert(1); }
.affection-reason-card:nth-child(2){ margin-top: 35px; background: var(--primary-color); }
.affection-reason-card:nth-child(2):hover{ background: var(--accent-color); }
.affection-reason-card:nth-child(2) h3,
.affection-reason-card:nth-child(2) p{ color: var(--white-color); }
.affection-reason-card:nth-child(2) p{ color: rgba(255,255,255,.72); }
.affection-reason-number{ display: block; margin-bottom: 34px; color: var(--accent-color); font-size: 14px; font-weight: 700; }
.affection-reason-icon{ display: flex; align-items: center; justify-content: center; width: 58px; height: 58px; margin-bottom: 25px; border-radius: 18px; background: var(--secondary-color); }
.affection-reason-icon img{ width: 32px; height: 32px; object-fit: contain; }
.affection-reason-card h3{ margin-bottom: 12px; font-size: 21px; }
.affection-reason-card p{ margin: 0; line-height: 1.65em; }

.affection-focus{ padding: 105px 0; background: var(--secondary-color); }
.affection-focus-grid{ display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); align-items: center; gap: 85px; }
.affection-focus-image{ position: relative; }
.affection-focus-image figure{ border-radius: 28px; }
.affection-focus-image img{ width: 100%; aspect-ratio: 1 / 1.08; object-fit: cover; border-radius: 28px; }
.affection-focus-caption{ position: absolute; right: -25px; bottom: 25px; max-width: 210px; padding: 18px 20px; border-radius: 18px; background: var(--white-color); box-shadow: 0 12px 28px rgba(25,38,32,.13); }
.affection-focus-caption strong{ display: block; margin-bottom: 5px; color: var(--primary-color); font-size: 16px; }
.affection-focus-caption span{ color: var(--text-color); font-size: 13px; line-height: 1.45em; }
.affection-focus-content h2 span{ color: var(--accent-secondary-color); }
.affection-focus-content > p:not(.services-eyebrow){ line-height: 1.75em; }
.affection-focus-list{ margin: 30px 0 0; padding: 0; list-style: none; }
.affection-focus-list li{ display: flex; gap: 16px; padding: 17px 0; border-bottom: 1px solid var(--divider-color); }
.affection-focus-list li:first-child{ border-top: 1px solid var(--divider-color); }
.affection-focus-list li > span{ color: var(--accent-color); font-size: 13px; font-weight: 700; }
.affection-focus-list strong{ display: block; margin-bottom: 4px; color: var(--primary-color); font-size: 17px; }
.affection-focus-list p{ margin: 0; font-size: 14px; line-height: 1.55em; }

.affection-process{ padding: 105px 0; background: var(--primary-color); }
.affection-process-heading{ max-width: 760px; margin: 0 auto 50px; text-align: center; }
.affection-process-heading .services-eyebrow{ color: var(--accent-secondary-color); }
.affection-process-heading h2{ color: var(--white-color); }
.affection-process-heading h2 span{ color: var(--accent-secondary-color); }
.affection-process-heading > p:last-child{ margin: 0; color: rgba(255,255,255,.72); line-height: 1.7em; }
.affection-process-grid{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.affection-process-step{ padding: 26px 24px; border: 1px solid rgba(255,255,255,.16); border-radius: 22px; background: rgba(255,255,255,.06); }
.affection-process-step > span{ display: block; margin-bottom: 48px; color: var(--accent-secondary-color); font-size: 14px; font-weight: 700; }
.affection-process-step h3{ margin-bottom: 12px; color: var(--white-color); font-size: 20px; }
.affection-process-step p{ margin: 0; color: rgba(255,255,255,.72); line-height: 1.6em; }

.affection-ethics{ padding: 100px 0; background: var(--white-color); }
.affection-ethics-inner{ display: flex; align-items: flex-start; gap: 22px; max-width: 950px; margin: 0 auto; padding: 30px 34px; border-left: 4px solid var(--accent-color); border-radius: 0 22px 22px 0; background: var(--secondary-color); }
.affection-ethics-mark{ display: flex; align-items: center; justify-content: center; flex: 0 0 42px; width: 42px; height: 42px; border-radius: 50%; background: var(--accent-color); color: var(--white-color); font-weight: 700; }
.affection-ethics h3{ margin-bottom: 8px; font-size: 20px; }
.affection-ethics p{ margin: 0; line-height: 1.65em; }

.affection-cta-section{ padding: 0 0 100px; background: var(--white-color); }
.affection-cta{ display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 42px; border-radius: 28px; background: var(--secondary-color); }
.affection-cta h2{ max-width: 670px; margin-bottom: 12px; }
.affection-cta h2 span{ color: var(--accent-color); }
.affection-cta p:last-child{ max-width: 620px; margin: 0; line-height: 1.65em; }
.affection-cta-actions{ display: flex; flex-shrink: 0; flex-wrap: wrap; gap: 12px; }

.affection-faq{ padding: 105px 0; background: var(--white-color); }
.affection-faq-list{ max-width: 900px; margin: 0 auto; }
.affection-faq-item{ border-bottom: 1px solid var(--divider-color); }
.affection-faq-item:first-child{ border-top: 1px solid var(--divider-color); }
.affection-faq-item summary{ position: relative; padding: 23px 45px 23px 0; color: var(--primary-color); font-size: 18px; font-weight: 600; list-style: none; cursor: pointer; }
.affection-faq-item summary::-webkit-details-marker{ display: none; }
.affection-faq-item summary::after{ content: '+'; position: absolute; top: 50%; right: 4px; transform: translateY(-50%); color: var(--accent-color); font-size: 25px; font-weight: 400; }
.affection-faq-item[open] summary::after{ content: '−'; }
.affection-faq-item p{ max-width: 780px; margin: -4px 0 24px; padding-right: 35px; line-height: 1.7em; }

@media only screen and (max-width: 1199px){
	.affection-hero-grid,
	.affection-focus-grid{ gap: 45px; }
	.affection-reasons-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.affection-reason-card:nth-child(2){ margin-top: 0; }
	.affection-process-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media only screen and (max-width: 767px){
	.affection-hero,
	.affection-reasons,
	.affection-focus,
	.affection-process,
	.affection-faq{ padding: 70px 0; }
	.affection-ethics{ padding: 70px 0; }
	.affection-cta-section{ padding-bottom: 70px; }
	.affection-breadcrumb{ margin-bottom: 42px; }
	.affection-hero-grid,
	.affection-focus-grid{ grid-template-columns: 1fr; gap: 45px; }
	.affection-hero h1{ font-size: 40px; }
	.affection-hero-intro{ font-size: 16px; }
	.affection-hero-actions{ align-items: flex-start; flex-direction: column; gap: 18px; }
	.affection-hero-note{ align-items: flex-start; }
	.affection-letter-card{ box-shadow: 10px 12px 0 rgba(199,154,69,.2); }
	.affection-letter-body{ padding: 50px 0 42px; }
	.affection-reasons-grid,
	.affection-process-grid{ grid-template-columns: 1fr; }
	.affection-focus-caption{ right: 15px; bottom: 15px; }
	.affection-ethics-inner,
	.affection-cta{ align-items: flex-start; flex-direction: column; padding: 28px; }
	.affection-cta-actions{ width: 100%; }
	.affection-cta-actions .btn-default{ width: 100%; text-align: center; }
}

/* Team single — profil éditorial premium */
.profile-hero{ position: relative; padding: 70px 0 105px; background: var(--primary-color); overflow: hidden; }
.profile-hero::before{ content: ''; position: absolute; top: -210px; right: -120px; width: 540px; height: 540px; border: 1px solid rgba(199,154,69,.24); border-radius: 50%; }
.profile-hero-line{ position: absolute; right: 22%; bottom: -180px; width: 330px; height: 330px; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; }
.profile-breadcrumb{ position: relative; z-index: 1; display: flex; align-items: center; gap: 10px; margin-bottom: 64px; color: rgba(255,255,255,.58); font-size: 13px; }
.profile-breadcrumb a{ color: rgba(255,255,255,.58); }
.profile-breadcrumb strong{ color: var(--white-color); font-weight: 500; }
.profile-hero-grid{ position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(330px, .92fr); align-items: center; gap: 80px; }
.profile-hero .services-eyebrow{ color: var(--accent-secondary-color); }
.profile-hero h1{ max-width: 730px; margin-bottom: 24px; color: var(--white-color); font-size: clamp(42px, 5vw, 68px); line-height: 1.08em; }
.profile-hero h1 span{ color: var(--accent-secondary-color); }
.profile-hero-intro{ max-width: 640px; margin-bottom: 32px; color: rgba(255,255,255,.76); font-size: 18px; line-height: 1.75em; }
.profile-hero-actions{ display: flex; align-items: center; flex-wrap: wrap; gap: 24px; }
.profile-text-link{ color: var(--white-color); font-size: 15px; font-weight: 600; }
.profile-text-link span{ color: var(--accent-secondary-color); font-size: 20px; }
.profile-hero-trust{ display: flex; flex-wrap: wrap; gap: 22px; margin-top: 40px; color: rgba(255,255,255,.7); font-size: 13px; }
.profile-hero-trust b{ margin-right: 6px; color: var(--accent-secondary-color); }
.profile-portrait-card{ position: relative; padding: 14px; border-radius: 30px; background: var(--secondary-color); box-shadow: 15px 18px 0 rgba(199,154,69,.2); }
.profile-portrait-image{ position: relative; overflow: hidden; border-radius: 22px; }
.profile-portrait-image::after{ content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(25,38,32,.65)); }
.profile-portrait-image img{ display: block; width: 100%; aspect-ratio: 1 / 1.15; object-fit: cover; }
.profile-portrait-badge{ position: absolute; top: 30px; right: 30px; z-index: 1; display: flex; align-items: center; gap: 10px; padding: 9px 12px 9px 9px; border-radius: 100px; background: var(--white-color); }
.profile-portrait-badge span{ display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border: 1px solid var(--accent-color); border-radius: 50%; color: var(--accent-color); font-family: var(--accent-font); }
.profile-portrait-badge small{ color: var(--text-color); font-size: 11px; }
.profile-portrait-caption{ position: absolute; right: 30px; bottom: 30px; left: 30px; z-index: 1; display: flex; flex-direction: column; gap: 4px; }
.profile-portrait-caption span{ color: rgba(255,255,255,.72); font-size: 13px; }
.profile-portrait-caption strong{ color: var(--white-color); font-family: var(--accent-font); font-size: 25px; }
.profile-story{ padding: 105px 0; background: var(--white-color); }
.profile-story-grid{ display: grid; grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr); align-items: center; gap: 85px; }
.profile-story-image{ position: relative; }
.profile-story-image figure{ border-radius: 28px; }
.profile-story-image img{ display: block; width: 100%; aspect-ratio: 1 / 1.06; object-fit: cover; border-radius: 28px; }
.profile-story-stamp{ position: absolute; right: -28px; bottom: 26px; display: flex; align-items: center; gap: 12px; padding: 16px 20px; border-radius: 18px; background: var(--primary-color); box-shadow: 0 14px 30px rgba(0,0,0,.16); }
.profile-story-stamp strong{ color: var(--accent-secondary-color); font-family: var(--accent-font); font-size: 32px; }
.profile-story-stamp span{ color: rgba(255,255,255,.75); font-size: 12px; line-height: 1.35em; }
.profile-story-content h2 span{ color: var(--accent-secondary-color); }
.profile-story-content > p:not(.services-eyebrow){ line-height: 1.75em; }
.profile-signature{ display: flex; flex-direction: column; gap: 4px; margin-top: 32px; padding-top: 20px; border-top: 1px solid var(--divider-color); }
.profile-signature span{ color: var(--primary-color); font-family: var(--accent-font); font-size: 28px; }
.profile-signature small{ color: var(--text-color); font-size: 13px; }
.profile-values{ padding: 105px 0 90px; background: var(--secondary-color); }
.profile-section-heading{ max-width: 760px; margin: 0 auto 52px; text-align: center; }
.profile-section-heading h2{ margin-bottom: 18px; }
.profile-section-heading h2 span{ color: var(--accent-secondary-color); }
.profile-section-heading > p:last-child{ margin: 0; font-size: 17px; line-height: 1.7em; }
.profile-values-grid{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.profile-value-card{ position: relative; padding: 28px 24px; border: 1px solid var(--divider-color); border-radius: 22px; background: var(--white-color); transition: transform .35s ease, box-shadow .35s ease; }
.profile-value-card:hover{ transform: translateY(-8px); box-shadow: 0 18px 45px rgba(25,38,32,.1); }
.profile-value-card > span{ position: absolute; top: 22px; right: 22px; color: var(--accent-color); font-size: 13px; font-weight: 700; }
.profile-value-icon{ display: flex; align-items: center; justify-content: center; width: 58px; height: 58px; margin-bottom: 25px; border-radius: 18px; background: var(--secondary-color); color: var(--accent-color); font-family: Georgia, serif; font-size: 30px; }
.profile-value-card h3{ margin-bottom: 10px; font-size: 21px; }
.profile-value-card p{ margin: 0; line-height: 1.65em; }
.profile-expertise{ padding: 105px 0; background: var(--white-color); }
.profile-expertise-heading{ display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .8fr); align-items: end; gap: 60px; margin-bottom: 50px; }
.profile-expertise-heading h2{ margin-bottom: 0; }
.profile-expertise-heading h2 span{ color: var(--accent-secondary-color); }
.profile-expertise-heading > p{ margin: 0; line-height: 1.7em; }
.profile-expertise-grid{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.profile-expertise-card{ display: flex; align-items: center; gap: 18px; padding: 22px 24px; border: 1px solid var(--divider-color); border-radius: 18px; color: var(--primary-color); transition: background-color .35s ease, transform .35s ease, border-color .35s ease; }
.profile-expertise-card:hover{ transform: translateX(6px); border-color: var(--accent-color); background: var(--secondary-color); }
.profile-expertise-card > span{ color: var(--accent-color); font-size: 13px; font-weight: 700; }
.profile-expertise-card h3{ margin-bottom: 4px; font-size: 18px; }
.profile-expertise-card p{ margin: 0; color: var(--text-color); font-size: 13px; }
.profile-expertise-card > strong{ margin-left: auto; color: var(--accent-color); font-size: 23px; font-weight: 400; }
.profile-method{ padding: 105px 0; background: var(--primary-color); }
.profile-section-heading-light h2{ color: var(--white-color); }
.profile-section-heading-light .services-eyebrow{ color: var(--accent-secondary-color); }
.profile-method-grid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.profile-method-card{ padding: 28px 25px; border: 1px solid rgba(255,255,255,.16); border-radius: 22px; background: rgba(255,255,255,.06); }
.profile-method-card > span{ display: block; margin-bottom: 42px; color: var(--accent-secondary-color); font-size: 14px; font-weight: 700; }
.profile-method-card h3{ margin-bottom: 12px; color: var(--white-color); font-size: 21px; }
.profile-method-card p{ margin: 0; color: rgba(255,255,255,.72); line-height: 1.65em; }
.profile-cta-section{ padding: 100px 0; background: var(--white-color); }
.profile-cta{ display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 42px; border-radius: 28px; background: var(--secondary-color); }
.profile-cta h2{ max-width: 650px; margin-bottom: 12px; }
.profile-cta h2 span{ color: var(--accent-color); }
.profile-cta p:last-child{ margin: 0; max-width: 600px; line-height: 1.65em; }
.profile-cta-actions{ display: flex; flex-shrink: 0; flex-wrap: wrap; gap: 12px; }
.profile-faq{ padding: 105px 0; background: var(--white-color); }
.profile-faq-list{ max-width: 900px; margin: 0 auto; }
.profile-faq-item{ border-bottom: 1px solid var(--divider-color); }
.profile-faq-item:first-child{ border-top: 1px solid var(--divider-color); }
.profile-faq-item summary{ position: relative; padding: 23px 45px 23px 0; color: var(--primary-color); font-size: 18px; font-weight: 600; list-style: none; cursor: pointer; }
.profile-faq-item summary::-webkit-details-marker{ display: none; }
.profile-faq-item summary::after{ content: '+'; position: absolute; top: 50%; right: 4px; transform: translateY(-50%); color: var(--accent-color); font-size: 25px; }
.profile-faq-item[open] summary::after{ content: '−'; }
.profile-faq-item p{ max-width: 780px; margin: -4px 0 24px; padding-right: 35px; line-height: 1.7em; }

@media only screen and (max-width: 1199px){
	.profile-hero-grid,
	.profile-story-grid{ gap: 45px; }
	.profile-values-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media only screen and (max-width: 767px){
	.profile-hero,
	.profile-story,
	.profile-values,
	.profile-expertise,
	.profile-method,
	.profile-faq{ padding: 70px 0; }
	.profile-cta-section{ padding: 70px 0; }
	.profile-breadcrumb{ margin-bottom: 42px; }
	.profile-hero-grid,
	.profile-story-grid{ grid-template-columns: 1fr; gap: 45px; }
	.profile-hero h1{ font-size: 40px; }
	.profile-hero-intro{ font-size: 16px; }
	.profile-hero-actions{ align-items: flex-start; flex-direction: column; gap: 18px; }
	.profile-hero-trust{ align-items: flex-start; flex-direction: column; gap: 12px; }
	.profile-portrait-card{ box-shadow: 10px 12px 0 rgba(199,154,69,.2); }
	.profile-story-stamp{ right: 15px; bottom: 15px; }
	.profile-values-grid,
	.profile-expertise-grid,
	.profile-method-grid{ grid-template-columns: 1fr; }
	.profile-expertise-heading{ display: block; }
	.profile-expertise-heading > p{ margin-top: 20px; }
	.profile-cta{ align-items: flex-start; flex-direction: column; padding: 28px; }
	.profile-cta-actions{ width: 100%; }
	.profile-cta-actions .btn-default{ width: 100%; text-align: center; }
}

/* Booking page — parcours de réservation premium */
.booking-hero{ position: relative; padding: 70px 0 105px; background: var(--primary-color); overflow: hidden; }
.booking-hero::before{ content: ''; position: absolute; top: -220px; right: -80px; width: 560px; height: 560px; border: 1px solid rgba(199,154,69,.2); border-radius: 50%; }
.booking-hero-orbit{ position: absolute; right: 14%; bottom: -210px; width: 360px; height: 360px; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; }
.booking-breadcrumb{ position: relative; z-index: 1; display: flex; align-items: center; gap: 10px; margin-bottom: 58px; color: rgba(255,255,255,.58); font-size: 13px; }
.booking-breadcrumb a{ color: rgba(255,255,255,.58); }
.booking-breadcrumb strong{ color: var(--white-color); font-weight: 500; }
.booking-hero-grid{ position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .85fr) minmax(430px, 1.15fr); align-items: start; gap: 80px; }
.booking-hero .services-eyebrow{ color: var(--accent-secondary-color); }
.booking-hero h1{ max-width: 650px; margin-bottom: 23px; color: var(--white-color); font-size: clamp(43px, 5vw, 68px); line-height: 1.08em; }
.booking-hero h1 span{ color: var(--accent-secondary-color); }
.booking-hero-intro{ max-width: 580px; margin-bottom: 36px; color: rgba(255,255,255,.76); font-size: 17px; line-height: 1.75em; }
.booking-hero-points{ display: grid; gap: 16px; }
.booking-hero-points > div{ display: grid; grid-template-columns: 25px 1fr; align-items: center; column-gap: 10px; }
.booking-hero-points span{ grid-row: span 2; display: flex; align-items: center; justify-content: center; width: 23px; height: 23px; border-radius: 50%; background: var(--accent-color); color: var(--white-color); font-size: 12px; }
.booking-hero-points strong{ color: var(--white-color); font-size: 14px; }
.booking-hero-points small{ color: rgba(255,255,255,.58); font-size: 12px; }
.booking-whatsapp-link{ display: inline-flex; align-items: center; gap: 8px; margin-top: 36px; color: var(--accent-secondary-color); font-size: 13px; font-weight: 600; }
.booking-whatsapp-link i{ font-size: 18px; }
.booking-form-card{ padding: 34px; border-radius: 28px; background: var(--white-color); box-shadow: 16px 18px 0 rgba(199,154,69,.22); }
.booking-form-card-header{ display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 8px; }
.booking-form-card-header .services-eyebrow{ margin-bottom: 9px; color: var(--accent-color); }
.booking-form-card-header h2{ margin: 0; color: var(--primary-color); font-size: 30px; }
.booking-form-mark{ display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border: 1px solid var(--accent-color); border-radius: 50%; color: var(--accent-color); font-family: var(--accent-font); }
.booking-form-lead{ margin-bottom: 26px; color: var(--text-color); font-size: 14px; line-height: 1.55em; }
.booking-form-card label{ display: block; margin-bottom: 8px; color: var(--primary-color); font-size: 13px; font-weight: 600; }
.booking-form-card label span{ color: var(--text-color); font-size: 11px; font-weight: 400; }
.booking-form-card .form-control{ min-height: 52px; border: 1px solid var(--divider-color); border-radius: 10px; background: #fff; color: var(--primary-color); font-size: 14px; }
.booking-form-card textarea.form-control{ min-height: 105px; resize: vertical; }
.booking-form-card .form-control:focus{ border-color: var(--accent-color); box-shadow: 0 0 0 3px rgba(199,154,69,.12); }
.booking-form-card .form-control::placeholder{ color: #9aa09b; }
.booking-form-submit{ margin-top: 4px; }
.booking-form-submit .btn-default{ width: 100%; text-align: center; }
.booking-form-note{ margin: 14px 0 0; color: #89918c; font-size: 11px; line-height: 1.5em; text-align: center; }
.booking-formulas{ padding: 100px 0 90px; background: var(--white-color); }
.booking-section-heading{ max-width: 780px; margin: 0 auto 50px; text-align: center; }
.booking-section-heading h2{ margin-bottom: 18px; }
.booking-section-heading h2 span{ color: var(--accent-secondary-color); }
.booking-section-heading > p:last-child{ margin: 0; color: rgba(255,255,255,.72); line-height: 1.7em; }
.booking-formulas .booking-section-heading > p:last-child{ color: var(--text-color); }
.booking-formulas-grid{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.booking-formula-card{ position: relative; padding: 25px 22px; border: 1px solid var(--divider-color); border-radius: 22px; background: var(--white-color); transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease; }
.booking-formula-card:hover{ transform: translateY(-7px); border-color: var(--accent-color); box-shadow: 0 16px 40px rgba(25,38,32,.1); }
.booking-formula-card > span{ display: block; margin-bottom: 26px; color: var(--accent-color); font-size: 12px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
.booking-formula-card h3{ max-width: 180px; min-height: 52px; margin-bottom: 12px; font-size: 19px; }
.booking-formula-card strong{ display: block; margin-bottom: 13px; color: var(--primary-color); font-family: var(--accent-font); font-size: 28px; }
.booking-formula-card p{ margin: 0; font-size: 13px; line-height: 1.6em; }
.booking-formula-card-featured{ border: 2px solid var(--accent-color); background: var(--secondary-color); }
.booking-formula-card-featured em{ position: absolute; top: 16px; right: 16px; padding: 6px 9px; border-radius: 100px; background: var(--accent-color); color: var(--white-color); font-size: 9px; font-style: normal; font-weight: 700; letter-spacing: .7px; text-transform: uppercase; }
.booking-steps{ padding: 100px 0; background: var(--primary-color); }
.booking-section-heading-light h2{ color: var(--white-color); }
.booking-section-heading-light .services-eyebrow{ color: var(--accent-secondary-color); }
.booking-steps-grid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.booking-step{ padding: 28px 25px; border: 1px solid rgba(255,255,255,.16); border-radius: 22px; background: rgba(255,255,255,.06); }
.booking-step > span{ display: block; margin-bottom: 42px; color: var(--accent-secondary-color); font-size: 14px; font-weight: 700; }
.booking-step h3{ margin-bottom: 11px; color: var(--white-color); font-size: 21px; }
.booking-step p{ margin: 0; color: rgba(255,255,255,.72); line-height: 1.65em; }
.booking-reassurance{ padding: 100px 0; background: var(--secondary-color); }
.booking-reassurance-inner{ display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 40px; border-radius: 28px; background: var(--white-color); box-shadow: 0 18px 50px rgba(25,38,32,.08); }
.booking-reassurance-inner h2{ max-width: 650px; margin-bottom: 12px; }
.booking-reassurance-inner h2 span{ color: var(--accent-secondary-color); }
.booking-reassurance-inner p:last-child{ max-width: 600px; margin: 0; line-height: 1.65em; }
.booking-reassurance-inner .btn-default{ flex-shrink: 0; }

@media only screen and (max-width: 1199px){
	.booking-hero-grid{ gap: 45px; }
	.booking-formulas-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media only screen and (max-width: 767px){
	.booking-hero,
	.booking-formulas,
	.booking-steps,
	.booking-reassurance{ padding: 70px 0; }
	.booking-breadcrumb{ margin-bottom: 42px; }
	.booking-hero-grid{ grid-template-columns: 1fr; gap: 45px; }
	.booking-hero h1{ font-size: 40px; }
	.booking-hero-intro{ font-size: 16px; }
	.booking-form-card{ padding: 26px 20px; box-shadow: 10px 12px 0 rgba(199,154,69,.2); }
	.booking-formulas-grid,
	.booking-steps-grid{ grid-template-columns: 1fr; }
	.booking-formula-card h3{ min-height: auto; }
	.booking-reassurance-inner{ align-items: flex-start; flex-direction: column; padding: 28px; }
	.booking-reassurance-inner .btn-default{ width: 100%; text-align: center; }
}

/* Booking flow — parcours en quatre étapes */
.booking-intro-banner{ padding: 112px 0 42px; background: var(--primary-color); }
.booking-intro-banner-inner{ display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .8fr); align-items: center; gap: 70px; }
.booking-intro-banner .services-eyebrow{ margin-bottom: 10px; color: var(--accent-secondary-color); }
.booking-intro-banner h2{ max-width: 620px; margin: 0; color: var(--white-color); font-size: clamp(28px, 3.2vw, 44px); line-height: 1.15em; }
.booking-intro-banner h2 span{ color: var(--accent-secondary-color); }
.booking-intro-banner-copy{ padding-left: 26px; border-left: 1px solid rgba(255,255,255,.2); }
.booking-intro-banner-copy > p{ margin: 0 0 17px; color: rgba(255,255,255,.72); font-size: 15px; line-height: 1.65em; }
.booking-intro-banner-badges{ display: flex; flex-wrap: wrap; gap: 15px; }
.booking-intro-banner-badges span{ color: var(--white-color); font-size: 12px; }
.booking-intro-banner-badges span::first-letter{ color: var(--accent-secondary-color); }
.booking-flow-page{ padding: 34px 0 100px; background: var(--secondary-color); }
.booking-flow-breadcrumb{ display: flex; align-items: center; gap: 10px; margin-bottom: 30px; color: rgba(25,38,32,.55); font-size: 13px; }
.booking-flow-breadcrumb a{ color: rgba(25,38,32,.55); }
.booking-flow-breadcrumb strong{ color: var(--primary-color); font-weight: 600; }
.booking-flow-header{ max-width: 750px; margin: 0 auto 38px; text-align: center; }
.booking-flow-header h1{ margin-bottom: 17px; color: var(--primary-color); font-size: clamp(42px, 5vw, 62px); line-height: 1.08em; }
.booking-flow-header h1 span{ color: var(--accent-secondary-color); }
.booking-flow-header > p:last-child{ max-width: 650px; margin: 0 auto; font-size: 17px; line-height: 1.7em; }
.booking-progress{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: 1050px; margin: 0 auto 38px; padding: 0; list-style: none; }
.booking-progress li{ position: relative; display: flex; align-items: center; gap: 12px; padding: 0 16px; color: #9aa09b; }
.booking-progress li:not(:last-child)::after{ content: ''; position: absolute; top: 18px; right: -10px; left: 54px; height: 1px; background: var(--divider-color); }
.booking-progress li.is-active{ color: var(--primary-color); }
.booking-progress li.is-active::after{ background: var(--accent-color); }
.booking-progress li > span{ position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; border: 1px solid #cfd5d0; border-radius: 50%; background: var(--secondary-color); font-size: 13px; font-weight: 700; }
.booking-progress li.is-active > span{ border-color: var(--accent-color); background: var(--accent-color); color: var(--white-color); }
.booking-progress strong,
.booking-progress small{ display: block; }
.booking-progress strong{ font-size: 13px; }
.booking-progress small{ margin-top: 3px; font-size: 11px; }
.booking-flow-layout{ display: grid; grid-template-columns: minmax(0, 1fr) 340px; align-items: start; gap: 28px; max-width: 1180px; margin: 0 auto; }
.booking-step-panel{ min-width: 0; margin: 0; padding: 38px; border: 1px solid var(--divider-color); border-radius: 26px; background: var(--white-color); box-shadow: 0 18px 50px rgba(25,38,32,.06); }
.booking-step-panel[hidden]{ display: none !important; }
.booking-panel-heading{ margin-bottom: 30px; }
.booking-panel-heading > span{ display: block; margin-bottom: 10px; color: var(--accent-color); font-size: 12px; font-weight: 700; letter-spacing: 1.6px; text-transform: uppercase; }
.booking-panel-heading h2{ margin-bottom: 10px; color: var(--primary-color); font-size: 32px; }
.booking-panel-heading p{ max-width: 700px; margin: 0; color: var(--text-color); line-height: 1.65em; }
.booking-formula-options{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.booking-option-card{ position: relative; display: flex; flex-direction: column; min-height: 215px; padding: 25px 24px 22px; border: 1px solid var(--divider-color); border-radius: 18px; background: var(--white-color); cursor: pointer; transition: border-color .3s ease, transform .3s ease, box-shadow .3s ease, background-color .3s ease; }
.booking-option-card:hover{ transform: translateY(-4px); border-color: var(--accent-color); box-shadow: 0 12px 28px rgba(25,38,32,.08); }
.booking-option-card input{ position: absolute; opacity: 0; pointer-events: none; }
.booking-option-card:has(input:checked){ border: 2px solid var(--accent-color); background: #fffdf8; box-shadow: 0 12px 28px rgba(199,154,69,.13); }
.booking-option-card-featured{ border-color: rgba(199,154,69,.5); }
.booking-option-badge{ position: absolute; top: 14px; right: 14px; padding: 6px 9px; border-radius: 100px; background: var(--accent-color); color: var(--white-color); font-size: 8px; font-weight: 700; letter-spacing: .5px; line-height: 1; white-space: nowrap; text-transform: uppercase; }
.booking-option-card-featured strong{ max-width: 58%; padding-top: 10px; }
.booking-option-check{ position: absolute; top: 20px; right: 20px; display: flex; align-items: center; justify-content: center; width: 22px; height: 22px; border: 1px solid var(--divider-color); border-radius: 50%; color: transparent; font-size: 12px; }
.booking-option-card:has(input:checked) .booking-option-check{ border-color: var(--accent-color); background: var(--accent-color); color: var(--white-color); }
.booking-option-duration{ margin-bottom: 18px; color: var(--accent-color); font-size: 11px; font-weight: 700; letter-spacing: .9px; text-transform: uppercase; }
.booking-option-card strong{ max-width: 80%; margin-bottom: 8px; color: var(--primary-color); font-family: var(--accent-font); font-size: 18px; line-height: 1.2em; font-weight: 400; }
.booking-option-card b{ position: absolute; right: 23px; bottom: 72px; color: var(--primary-color); font-family: var(--accent-font); font-size: 24px; font-weight: 400; }
.booking-option-card p{ max-width: 88%; margin: auto 0 0; color: var(--text-color); font-size: 13px; line-height: 1.55em; }
.booking-inline-error{ min-height: 20px; margin: 14px 0 0; color: #b33a3a; font-size: 13px; }
.booking-step-actions{ display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 16px; padding-top: 25px; border-top: 1px solid var(--divider-color); }
.booking-step-actions .booking-back{ border: none; background: transparent; color: var(--text-color); font-size: 14px; cursor: pointer; }
.booking-step-actions .booking-back:hover{ color: var(--accent-color); }
.booking-step-actions .btn-default{ min-width: 160px; text-align: center; }
.booking-field-group{ margin-bottom: 25px; }
.booking-field-label{ display: block; margin-bottom: 12px; color: var(--primary-color); font-size: 14px; font-weight: 600; }
.booking-availability-options{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.booking-availability-card{ position: relative; display: flex; flex-direction: column; gap: 6px; padding: 21px 22px 21px 53px; border: 1px solid var(--divider-color); border-radius: 16px; cursor: pointer; transition: border-color .3s ease, background-color .3s ease, box-shadow .3s ease; }
.booking-availability-card:hover,
.booking-availability-card.is-selected,
.booking-availability-card:has(input:checked){ border-color: var(--accent-color); background: #fffdf8; box-shadow: 0 10px 24px rgba(199,154,69,.1); }
.booking-availability-card input{ position: absolute; opacity: 0; }
.booking-radio-mark{ position: absolute; top: 23px; left: 21px; width: 18px; height: 18px; border: 1px solid #bdc5be; border-radius: 50%; }
.booking-availability-card input:checked + .booking-radio-mark,
.booking-payment-card input:checked + .booking-radio-mark{ border: 5px solid var(--accent-color); }
.booking-availability-card strong{ color: var(--primary-color); font-size: 15px; }
.booking-availability-card small{ color: var(--text-color); font-size: 12px; line-height: 1.45em; }
.booking-date-field{ margin: 25px 0; }
.booking-date-field[hidden]{ display: none !important; }
.booking-date-field label{ display: block; margin-bottom: 8px; color: var(--primary-color); font-size: 13px; font-weight: 600; }
.booking-date-field .form-control,
.booking-fields-row .form-control{ min-height: 52px; border: 1px solid var(--divider-color); border-radius: 10px; background: var(--white-color); color: var(--primary-color); font-size: 14px; }
.booking-date-field .form-control:focus,
.booking-fields-row .form-control:focus{ border-color: var(--accent-color); box-shadow: 0 0 0 3px rgba(199,154,69,.12); }
.booking-date-field small{ display: block; margin-top: 7px; color: #89918c; font-size: 11px; }
.booking-fields-row label{ display: block; margin-bottom: 8px; color: var(--primary-color); font-size: 13px; font-weight: 600; }
.booking-fields-row label em{ color: var(--accent-color); font-style: normal; }
.booking-fields-row label span{ color: var(--text-color); font-size: 11px; font-weight: 400; }
.booking-fields-row textarea.form-control{ min-height: 112px; resize: vertical; }
.booking-field-hint{ display: block; margin-top: 6px; color: #89918c; font-size: 10px; line-height: 1.4em; }
.booking-payment-options{ display: grid; gap: 14px; }
.booking-payment-card{ position: relative; display: flex; gap: 15px; padding: 22px 22px 22px 54px; border: 1px solid var(--divider-color); border-radius: 16px; cursor: pointer; transition: border-color .3s ease, background-color .3s ease, box-shadow .3s ease; }
.booking-payment-card:hover,
.booking-payment-card:has(input:checked){ border-color: var(--accent-color); background: #fffdf8; box-shadow: 0 10px 24px rgba(199,154,69,.1); }
.booking-payment-card input{ position: absolute; opacity: 0; }
.booking-payment-card .booking-radio-mark{ top: 24px; }
.booking-payment-card strong{ display: block; margin-bottom: 5px; color: var(--primary-color); font-size: 16px; }
.booking-payment-card p{ margin: 0; color: var(--text-color); font-size: 13px; line-height: 1.55em; }
.booking-payment-notice{ display: flex; align-items: flex-start; gap: 12px; margin-top: 22px; padding: 17px; border-radius: 12px; background: var(--secondary-color); }
.booking-payment-notice > span{ display: flex; align-items: center; justify-content: center; flex: 0 0 21px; width: 21px; height: 21px; border-radius: 50%; background: var(--accent-color); color: var(--white-color); font-size: 12px; font-weight: 700; }
.booking-payment-notice p{ margin: 0; color: var(--text-color); font-size: 12px; line-height: 1.5em; }
.booking-final-consent{ display: flex; align-items: flex-start; gap: 10px; margin-top: 24px; }
.booking-final-consent > span{ color: var(--accent-color); font-weight: 700; }
.booking-final-consent p{ margin: 0; color: #89918c; font-size: 11px; line-height: 1.5em; }
.booking-success{ display: flex; flex-direction: column; gap: 4px; margin-top: 18px; padding: 14px 16px; border-left: 3px solid var(--accent-color); background: var(--secondary-color); color: var(--primary-color); font-size: 13px; }
.booking-success span{ color: var(--text-color); font-size: 12px; }
.booking-success[hidden]{ display: none !important; }
.booking-submit-message{ margin-top: 14px; font-size: 13px; }
.booking-summary-column{ position: sticky; top: 28px; }
.booking-summary-card{ padding: 27px; border: 1px solid var(--divider-color); border-radius: 24px; background: var(--white-color); box-shadow: 0 14px 40px rgba(25,38,32,.07); }
.booking-summary-header{ display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; padding-bottom: 20px; border-bottom: 1px solid var(--divider-color); }
.booking-summary-header .services-eyebrow{ margin-bottom: 8px; color: var(--accent-color); }
.booking-summary-header h2{ margin: 0; color: var(--primary-color); font-size: 25px; }
.booking-summary-mark{ display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid var(--accent-color); border-radius: 50%; color: var(--accent-color); font-family: var(--accent-font); font-size: 15px; }
.booking-summary-list{ padding: 8px 0; }
.booking-summary-list > div{ display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; padding: 14px 0; border-bottom: 1px solid #edf0ed; }
.booking-summary-list span{ color: #89918c; font-size: 12px; }
.booking-summary-list strong{ max-width: 175px; color: var(--primary-color); font-size: 13px; text-align: right; }
.booking-summary-total{ display: flex; align-items: center; justify-content: space-between; padding-top: 20px; }
.booking-summary-total span{ color: var(--text-color); font-size: 14px; }
.booking-summary-total strong{ color: var(--primary-color); font-family: var(--accent-font); font-size: 30px; font-weight: 400; }
.booking-summary-note{ margin: 19px 0 0; padding-top: 18px; border-top: 1px solid var(--divider-color); color: #89918c; font-size: 11px; line-height: 1.55em; }
.booking-help-card{ display: flex; flex-direction: column; gap: 7px; margin-top: 18px; padding: 22px; border-radius: 20px; background: var(--primary-color); }
.booking-help-card > span{ color: var(--accent-secondary-color); font-size: 11px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
.booking-help-card strong{ color: var(--white-color); font-size: 16px; }
.booking-help-card a{ margin-top: 5px; color: var(--accent-secondary-color); font-size: 13px; font-weight: 600; }
.booking-help-card i{ margin-right: 5px; font-size: 17px; }

@media only screen and (max-width: 1199px){
	.booking-flow-layout{ grid-template-columns: minmax(0, 1fr) 300px; }
	.booking-progress li{ padding: 0 7px; }
	.booking-progress li:not(:last-child)::after{ left: 44px; }
}

@media only screen and (max-width: 767px){
	.booking-intro-banner{ padding: 94px 0 32px; }
	.booking-intro-banner-inner{ grid-template-columns: 1fr; gap: 22px; }
	.booking-intro-banner-copy{ padding-top: 20px; padding-left: 0; border-top: 1px solid rgba(255,255,255,.2); border-left: 0; }
	.booking-flow-page{ padding: 28px 0 70px; }
	.booking-flow-header{ margin-bottom: 34px; }
	.booking-flow-header h1{ font-size: 40px; }
	.booking-flow-header > p:last-child{ font-size: 15px; }
	.booking-progress{ grid-template-columns: repeat(4, 1fr); gap: 6px; margin-bottom: 28px; }
	.booking-progress li{ justify-content: center; padding: 0; }
	.booking-progress li > div{ display: none; }
	.booking-progress li:not(:last-child)::after{ top: 18px; right: -4px; left: 30px; }
	.booking-flow-layout{ grid-template-columns: 1fr; }
	.booking-step-panel{ padding: 26px 20px; }
	.booking-panel-heading h2{ font-size: 27px; }
	.booking-formula-options,
	.booking-availability-options{ grid-template-columns: 1fr; }
	.booking-option-card{ min-height: 190px; }
	.booking-summary-column{ position: static; order: -1; }
	.booking-summary-card{ padding: 22px 20px; }
	.booking-help-card{ display: none; }
}

/* Booking page hero — informations centrées sous le header */
.booking-page-hero{ position: relative; padding: 128px 0 64px; background: var(--primary-color); overflow: hidden; }
.booking-page-hero::before{ content: ''; position: absolute; top: -180px; right: 12%; width: 440px; height: 440px; border: 1px solid rgba(199,154,69,.2); border-radius: 50%; }
.booking-page-hero-orbit{ position: absolute; right: 22%; bottom: -220px; width: 390px; height: 390px; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; }
.booking-page-breadcrumb{ position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; gap: 11px; margin-bottom: 38px; color: rgba(255,255,255,.58); font-size: 13px; }
.booking-page-breadcrumb a{ color: rgba(255,255,255,.58); }
.booking-page-breadcrumb strong{ color: var(--white-color); font-weight: 600; }
.booking-page-hero-content{ position: relative; z-index: 1; max-width: 850px; margin: 0 auto; text-align: center; }
.booking-page-hero-content .services-eyebrow{ margin-bottom: 12px; color: var(--accent-secondary-color); }
.booking-page-hero-content h1{ margin-bottom: 19px; color: var(--white-color); font-size: clamp(44px, 5.5vw, 72px); line-height: 1.06em; }
.booking-page-hero-content h1 span{ color: var(--accent-secondary-color); }
.booking-page-hero-content > p:last-child{ max-width: 700px; margin: 0 auto; color: rgba(255,255,255,.74); font-size: 17px; line-height: 1.7em; }
.booking-flow-page{ padding-top: 48px; }

@media only screen and (max-width: 767px){
	.booking-page-hero{ padding: 104px 0 48px; }
	.booking-page-breadcrumb{ margin-bottom: 30px; }
	.booking-page-hero-content h1{ font-size: 42px; }
	.booking-page-hero-content > p:last-child{ font-size: 15px; }
	.booking-flow-page{ padding-top: 34px; }
}

.booking-formula-options-two{ grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 820px; margin: 0 auto; }
.booking-formula-options-two .booking-option-card{ min-height: 185px; padding-top: 21px; padding-bottom: 18px; }
.booking-formula-options-two .booking-option-card strong{ margin-bottom: 8px; }
@media only screen and (max-width: 767px){
	.booking-formula-options-two{ grid-template-columns: 1fr; }
}

/* Booking step 1 — cartes de formules repensées */
.booking-formula-options-two .booking-option-card{ min-height: 224px; padding: 22px 22px 18px; }
.booking-option-top{ display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 25px; }
.booking-option-index{ color: var(--accent-color); font-size: 12px; font-weight: 700; letter-spacing: 1px; }
.booking-option-tag{ padding: 5px 8px; border: 1px solid var(--divider-color); border-radius: 100px; color: #89918c; font-size: 9px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase; }
.booking-option-card-featured .booking-option-top{ padding-right: 91px; }
.booking-formula-options-two .booking-option-card strong{ display: block; max-width: 100%; margin: 0 0 11px; padding: 0; color: var(--primary-color); font-size: 20px; line-height: 1.15em; }
.booking-formula-options-two .booking-option-card p{ max-width: 100%; margin: 0; color: var(--text-color); font-size: 13px; line-height: 1.55em; }
.booking-formula-options-two .booking-option-card b{ position: static; color: var(--primary-color); font-family: var(--accent-font); font-size: 25px; font-weight: 400; }
.booking-option-footer{ display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: auto; padding-top: 15px; border-top: 1px solid var(--divider-color); }
.booking-option-footer > span{ color: var(--accent-color); font-size: 11px; font-weight: 700; }
.booking-option-footer i{ margin-left: 3px; font-size: 15px; font-style: normal; }
.booking-option-card-featured .booking-option-check{ right: 101px; }
.booking-option-card-featured:has(input:checked){ background: var(--primary-color); }
.booking-option-card-featured:has(input:checked) strong,
.booking-option-card-featured:has(input:checked) p,
.booking-option-card-featured:has(input:checked) b{ color: var(--white-color); }
.booking-option-card-featured:has(input:checked) .booking-option-tag{ border-color: rgba(255,255,255,.25); color: rgba(255,255,255,.7); }
.booking-option-card-featured:has(input:checked) .booking-option-footer{ border-color: rgba(255,255,255,.18); }

/* Booking step 1 — rendu maquette : cartes horizontales et recommandation sombre */
.booking-formula-options-two{ grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; max-width: none; }
.booking-formula-options-two .booking-option-card{ min-height: 222px; padding: 22px 22px 17px; border-radius: 19px; }
.booking-formula-options-two .booking-option-top{ margin-bottom: 24px; }
.booking-formula-options-two .booking-option-card strong{ margin-bottom: 10px; font-size: 20px; line-height: 1.15em; }
.booking-formula-options-two .booking-option-card p{ max-width: 100%; font-size: 13px; line-height: 1.55em; }
.booking-formula-options-two .booking-option-footer{ padding-top: 13px; }
.booking-formula-options-two .booking-option-footer b{ font-size: 27px; }
.booking-formula-options-two .booking-option-footer > span{ font-size: 11px; }
.booking-option-card-featured{ border-color: var(--primary-color); background: var(--primary-color); }
.booking-option-card-featured .booking-option-index{ color: rgba(255,255,255,.42); }
.booking-option-card-featured .booking-option-tag{ border-color: rgba(255,255,255,.28); color: rgba(255,255,255,.68); }
.booking-option-card-featured .booking-option-check{ border-color: rgba(255,255,255,.35); }
.booking-option-card-featured strong,
.booking-option-card-featured p,
.booking-option-card-featured b{ color: var(--white-color); }
.booking-option-card-featured .booking-option-footer{ border-color: rgba(255,255,255,.2); }
.booking-option-card-featured .booking-option-footer > span{ color: rgba(255,255,255,.35); }
.booking-option-card-featured .booking-option-badge{ z-index: 2; background: #71384e; }
.booking-option-card-featured:hover{ border-color: var(--primary-color); background: #242925; }
.booking-option-card-featured:has(input:checked){ background: var(--primary-color); }
@media only screen and (max-width: 767px){
	.booking-formula-options-two .booking-option-card{ min-height: 210px; }
}

/* Booking step 1 — variante claire, éditoriale et plus aérée */
.booking-formula-options-two{ gap: 18px; }
.booking-formula-options-two .booking-option-card{ min-height: 222px; padding: 24px 25px 18px; border: 1px solid #e3e5e1; border-radius: 18px; background: #fff; box-shadow: none; }
.booking-formula-options-two .booking-option-card:hover{ transform: translateY(-2px); border-color: var(--accent-color); box-shadow: 0 12px 25px rgba(25,38,32,.07); }
.booking-formula-options-two .booking-option-top{ margin-bottom: 22px; padding-right: 30px; }
.booking-formula-options-two .booking-option-index{ color: #68736c; font-size: 11px; }
.booking-formula-options-two .booking-option-tag{ padding: 5px 9px; background: #fff; font-size: 8px; }
.booking-formula-options-two .booking-option-card strong{ margin-bottom: 10px; color: var(--primary-color); font-size: 19px; line-height: 1.2em; }
.booking-formula-options-two .booking-option-card p{ color: #7c837e; font-size: 13px; line-height: 1.55em; }
.booking-formula-options-two .booking-option-footer{ margin-top: auto; padding-top: 13px; border-color: #e5e8e4; }
.booking-formula-options-two .booking-option-footer b{ color: var(--primary-color); font-size: 27px; }
.booking-formula-options-two .booking-option-footer > span{ color: var(--primary-color); font-size: 11px; }
.booking-formula-options-two .booking-option-badge{ top: -12px; right: 15px; padding: 6px 10px; border-radius: 100px; background: #74344e; box-shadow: 0 4px 12px rgba(116,52,78,.2); font-size: 8px; }
.booking-formula-options-two .booking-option-card-featured{ border: 2px solid #174f43; background: #fbfafc; }
.booking-formula-options-two .booking-option-card-featured .booking-option-index{ color: #68736c; }
.booking-formula-options-two .booking-option-card-featured .booking-option-tag{ border-color: #cfd5d0; color: #68736c; }
.booking-formula-options-two .booking-option-card-featured .booking-option-check{ right: 21px; border-color: #cfd5d0; }
.booking-formula-options-two .booking-option-card-featured strong,
.booking-formula-options-two .booking-option-card-featured p,
.booking-formula-options-two .booking-option-card-featured b{ color: var(--primary-color); }
.booking-formula-options-two .booking-option-card-featured .booking-option-footer{ border-color: #dfe4df; }
.booking-formula-options-two .booking-option-card-featured .booking-option-footer > span{ color: var(--primary-color); }
.booking-formula-options-two .booking-option-card-featured:hover,
.booking-formula-options-two .booking-option-card-featured:has(input:checked){ border-color: #174f43; background: #fbfafc; box-shadow: 0 12px 26px rgba(23,79,67,.1); }
.booking-formula-options-two .booking-option-card:not(.booking-option-card-featured):has(input:checked){ border: 2px solid #174f43; background: #fff; box-shadow: 0 12px 26px rgba(23,79,67,.08); }
.booking-formula-options-two .booking-option-card:has(input:checked) .booking-option-tag{ border-color: #c5d1cb; }
.booking-formula-options-two .booking-option-card:has(input:checked) .booking-option-check{ border-color: #174f43; background: #174f43; color: #fff; }
.booking-formula-options-two .booking-option-card-featured:has(input:checked) .booking-option-check{ background: #174f43; color: #fff; }
.booking-formula-options-two + .booking-inline-error{ margin-top: 16px; }
.booking-step-actions{ margin-top: 22px; padding-top: 22px; }
@media only screen and (max-width: 767px){
	.booking-formula-options-two .booking-option-card{ min-height: 218px; }
	.booking-formula-options-two .booking-option-card-featured{ margin-top: 9px; }
}

/* Correction de contraste — carte Consultation Complète sélectionnée */
.booking-formula-options-two .booking-option-card-featured:has(input:checked) strong,
.booking-formula-options-two .booking-option-card-featured:has(input:checked) p,
.booking-formula-options-two .booking-option-card-featured:has(input:checked) b{ color: var(--primary-color); }
.booking-formula-options-two .booking-option-card-featured:has(input:checked) .booking-option-footer > span{ color: var(--primary-color); }


/* Protection spirituelle — direction premium éditoriale */
.premium-service-page .page-single-sidebar{
    top: 100px;
}

.premium-service-page .page-catagery-list ul li a[aria-current="page"]{
    color: var(--white-color);
    background: var(--primary-color);
}

.premium-service-page .page-catagery-list ul li a[aria-current="page"]::after{
    top: 0;
    height: 100%;
    background: var(--primary-color);
}

.premium-service-page .page-catagery-list ul li a[aria-current="page"]::before{
    filter: brightness(0) invert(1);
}

.protection-service-hero{
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(280px, .92fr);
    align-items: center;
    gap: 42px;
    padding: 38px;
    margin-bottom: 70px;
    border: 1px solid rgba(61, 73, 58, .12);
    border-radius: 32px;
    background:
        radial-gradient(circle at 12% 12%, rgba(174, 161, 126, .18), transparent 28%),
        linear-gradient(135deg, #f6f5f0 0%, #fbf8f3 100%);
    overflow: visible;
}

.protection-service-hero::before{
    content: '';
    position: absolute;
    top: 24px;
    left: 24px;
    width: 64px;
    height: 64px;
    border-top: 1px solid rgba(61, 73, 58, .28);
    border-left: 1px solid rgba(61, 73, 58, .28);
    border-radius: 12px 0 0 0;
    pointer-events: none;
}

.protection-hero-copy{
    position: relative;
    z-index: 1;
    padding: 20px 0 12px 8px;
}

.protection-hero-eyebrow{
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 21px;
    color: var(--accent-color);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    line-height: 1.4em;
    text-transform: uppercase;
}

.protection-hero-eyebrow span{
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--accent-secondary-color);
    box-shadow: 0 0 0 5px rgba(174, 161, 126, .18);
}

.protection-hero-eyebrow b{
    color: var(--accent-secondary-color);
    font-weight: 700;
}

.protection-service-hero h2{
    max-width: 520px;
    margin-bottom: 20px;
    font-size: clamp(38px, 4vw, 56px);
    line-height: 1.06em;
    letter-spacing: -1px;
}

.protection-service-hero h2 span{
    display: block;
    color: var(--accent-secondary-color);
}

.protection-hero-lead{
    max-width: 500px;
    margin-bottom: 14px;
    color: var(--primary-color);
    font-size: 18px;
    line-height: 1.55em;
}

.protection-hero-text{
    max-width: 500px;
    margin-bottom: 0;
    font-size: 14px;
    line-height: 1.75em;
}

.protection-hero-actions{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 22px;
    margin-top: 30px;
}

.protection-text-link{
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--primary-color);
    font-size: 13px;
    font-weight: 700;
    transition: all .3s ease-in-out;
}

.protection-text-link i{
    color: var(--accent-color);
    transition: transform .3s ease-in-out;
}

.protection-text-link:hover{
    color: var(--accent-color);
}

.protection-text-link:hover i{
    transform: translateY(3px);
}

.protection-hero-signals{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    max-width: 500px;
    margin-top: 34px;
    padding-top: 20px;
    border-top: 1px solid rgba(61, 73, 58, .16);
}

.protection-hero-signal{
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.protection-signal-number{
    color: var(--accent-secondary-color);
    font-family: 'Marcellus', serif;
    font-size: 17px;
    line-height: 1.3em;
}

.protection-hero-signal strong,
.protection-hero-signal small{
    display: block;
}

.protection-hero-signal strong{
    color: var(--primary-color);
    font-size: 13px;
    line-height: 1.3em;
}

.protection-hero-signal small{
    margin-top: 5px;
    color: var(--text-color);
    font-size: 11px;
    line-height: 1.45em;
}

.protection-hero-media{
    position: relative;
    min-height: 460px;
}

.protection-hero-media::after{
    content: '';
    position: absolute;
    right: -12px;
    bottom: -12px;
    width: 82%;
    height: 82%;
    border: 1px solid rgba(174, 161, 126, .55);
    border-radius: 28px;
    pointer-events: none;
    z-index: 0;
}

.protection-hero-media figure{
    position: relative;
    z-index: 1;
    height: 460px;
    margin: 0;
    border-radius: 25px;
    overflow: hidden;
    box-shadow: 0 22px 45px rgba(30, 30, 30, .14);
}

.protection-hero-media figure::after{
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(30, 30, 30, .04) 25%, rgba(30, 30, 30, .42) 100%);
    pointer-events: none;
}

.protection-hero-media img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease-in-out;
}

.protection-service-hero:hover .protection-hero-media img{
    transform: scale(1.04);
}

.protection-hero-float{
    position: absolute;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 195px;
    padding: 14px 16px;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 14px;
    background: rgba(250, 249, 250, .94);
    box-shadow: 0 14px 30px rgba(30, 30, 30, .14);
    backdrop-filter: blur(8px);
}

.protection-hero-float-top{
    top: 28px;
    right: -24px;
}

.protection-hero-float-bottom{
    bottom: 28px;
    left: -24px;
}

.protection-float-icon,
.protection-float-check{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--accent-color);
    color: var(--white-color);
    font-size: 13px;
}

.protection-float-check{
    background: var(--accent-secondary-color);
}

.protection-hero-float strong,
.protection-hero-float small{
    display: block;
}

.protection-hero-float strong{
    color: var(--primary-color);
    font-size: 13px;
    line-height: 1.3em;
}

.protection-hero-float small{
    margin-top: 4px;
    color: var(--text-color);
    font-size: 10px;
    line-height: 1.4em;
}

.premium-service-page .discover-peace-box{
    position: relative;
    padding: 44px;
    border-radius: 30px;
    background:
        radial-gradient(circle at 90% 10%, rgba(174, 161, 126, .18), transparent 28%),
        var(--primary-color);
    overflow: hidden;
}

.premium-service-page .discover-peace-box::before{
    content: 'PROTECTION';
    position: absolute;
    top: 24px;
    right: 34px;
    color: rgba(255, 255, 255, .06);
    font-family: 'Marcellus', serif;
    font-size: 62px;
    letter-spacing: 4px;
    pointer-events: none;
}

.premium-service-page .discover-peace-box > h2,
.premium-service-page .discover-peace-box > p{
    position: relative;
    z-index: 1;
}

.premium-service-page .discover-peace-box > h2{
    max-width: 610px;
    color: var(--white-color);
}

.premium-service-page .discover-peace-box > h2 span{
    color: var(--accent-secondary-color);
}

.premium-service-page .discover-peace-box > p{
    max-width: 620px;
    color: rgba(255, 255, 255, .72);
}

.premium-service-page .discover-peace-item-list{
    position: relative;
    z-index: 1;
}

.premium-service-page .discover-peace-item{
    border-color: rgba(255, 255, 255, .14);
    background: rgba(255, 255, 255, .07);
    box-shadow: none;
    transition: transform .3s ease-in-out, border-color .3s ease-in-out, background .3s ease-in-out;
}

.premium-service-page .discover-peace-item::before{
    background: var(--accent-color);
}

.premium-service-page .discover-peace-item:hover{
    border-color: rgba(174, 161, 126, .75);
    transform: translateY(-4px);
}

.premium-service-page .discover-peace-item-content h3{
    color: var(--white-color);
}

.premium-service-page .discover-peace-item-content p{
    color: rgba(255, 255, 255, .68);
}

.premium-service-page .discover-peace-info-box{
    position: relative;
    z-index: 1;
    border: 1px solid rgba(255, 255, 255, .16);
    background: var(--accent-secondary-color);
}

.premium-service-page .discover-peace-info-content h3{
    color: var(--primary-color);
}

.premium-service-page .service-benefits-box,
.premium-service-page .service-process-box{
    padding: 40px;
    border: 1px solid rgba(61, 73, 58, .10);
    border-radius: 28px;
    background: #f7f6f1;
}

.premium-service-page .service-benefits-box > h2,
.premium-service-page .service-process-box > h2{
    max-width: 600px;
}

.premium-service-page .service-benefits-box > p,
.premium-service-page .service-process-box > p{
    max-width: 650px;
}

.premium-service-page .service-benefits-box ul{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px 28px;
    margin-top: 26px;
    padding: 0;
    list-style: none;
}

.premium-service-page .service-benefits-box ul li{
    position: relative;
    padding: 14px 14px 14px 35px;
    border-bottom: 1px solid rgba(61, 73, 58, .14);
    color: var(--primary-color);
    font-size: 14px;
    line-height: 1.45em;
}

.premium-service-page .service-benefits-box ul li::before{
    content: '\f058';
    position: absolute;
    top: 14px;
    left: 0;
    color: var(--accent-secondary-color);
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
}

.premium-service-page .service-benefits-image img{
    filter: saturate(.82);
}

.premium-service-page .service-process-box{
    background: var(--white-color);
}

.premium-service-page .service-process-steps{
    position: relative;
    margin-top: 32px;
    padding-left: 8px;
}

.premium-service-page .service-process-steps::before{
    content: '';
    position: absolute;
    top: 8px;
    bottom: 10px;
    left: 27px;
    width: 1px;
    background: rgba(174, 161, 126, .55);
}

.premium-service-page .service-process-steps .how-work-step{
    position: relative;
    z-index: 1;
    align-items: flex-start;
    margin-bottom: 26px;
}

.premium-service-page .service-process-steps .how-work-step:last-child{
    margin-bottom: 0;
}

.premium-service-page .service-process-steps .how-work-step-no{
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    margin-right: 18px;
    border: 1px solid var(--accent-secondary-color);
    border-radius: 50%;
    background: var(--white-color);
}

.premium-service-page .service-process-steps .how-work-step-no h2{
    color: var(--accent-color);
    font-size: 13px;
}

.premium-service-page .service-process-steps .how-work-step-content{
    padding-top: 7px;
}

.premium-service-page .service-process-steps .how-work-step-content h3{
    margin-bottom: 6px;
    color: var(--primary-color);
}

.premium-service-page .service-ethics-note{
    margin-top: 48px;
    border: 1px solid rgba(174, 161, 126, .38);
    border-left: 4px solid var(--accent-secondary-color);
    background: #f4f1ea;
}

.premium-service-page .service-page-cta{
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, var(--primary-color), #2d3930);
}

.premium-service-page .service-page-cta::after{
    content: '';
    position: absolute;
    right: -50px;
    bottom: -80px;
    width: 230px;
    height: 230px;
    border: 1px solid rgba(174, 161, 126, .35);
    border-radius: 50%;
    pointer-events: none;
}

@media only screen and (max-width: 991px){
    .protection-service-hero{
        grid-template-columns: 1fr;
        gap: 34px;
        padding: 30px;
    }

    .protection-hero-copy{
        padding: 10px 0 0;
    }

    .protection-hero-media{
        min-height: 390px;
        max-width: 600px;
        width: calc(100% - 22px);
        margin: 0 auto;
    }

    .protection-hero-media figure{
        height: 390px;
    }

    .premium-service-page .discover-peace-box,
    .premium-service-page .service-benefits-box,
    .premium-service-page .service-process-box{
        padding: 30px;
    }
}

@media only screen and (max-width: 767px){
    .protection-service-hero{
        gap: 28px;
        padding: 25px 20px 22px;
        margin-bottom: 46px;
        border-radius: 24px;
    }

    .protection-service-hero::before{
        top: 15px;
        left: 15px;
        width: 45px;
        height: 45px;
    }

    .protection-hero-eyebrow{
        max-width: 250px;
        margin-bottom: 16px;
        font-size: 9px;
    }

    .protection-service-hero h2{
        margin-bottom: 16px;
        font-size: 36px;
    }

    .protection-hero-lead{
        font-size: 16px;
    }

    .protection-hero-actions{
        align-items: flex-start;
        flex-direction: column;
        gap: 16px;
        margin-top: 24px;
    }

    .protection-hero-signals{
        gap: 14px;
        margin-top: 26px;
        padding-top: 17px;
    }

    .protection-hero-signal{
        gap: 7px;
    }

    .protection-signal-number{
        font-size: 14px;
    }

    .protection-hero-signal strong{
        font-size: 11px;
    }

    .protection-hero-signal small{
        font-size: 9px;
    }

    .protection-hero-media{
        min-height: 310px;
        width: calc(100% - 12px);
    }

    .protection-hero-media figure{
        height: 310px;
        border-radius: 20px;
    }

    .protection-hero-float{
        min-width: 0;
        max-width: 172px;
        padding: 10px;
        gap: 8px;
        border-radius: 11px;
    }

    .protection-hero-float-top{
        top: 16px;
        right: -12px;
    }

    .protection-hero-float-bottom{
        bottom: 16px;
        left: -12px;
    }

    .protection-float-icon,
    .protection-float-check{
        flex-basis: 28px;
        width: 28px;
        height: 28px;
        font-size: 10px;
    }

    .protection-hero-float strong{
        font-size: 10px;
    }

    .protection-hero-float small{
        font-size: 8px;
    }

    .premium-service-page .discover-peace-box,
    .premium-service-page .service-benefits-box,
    .premium-service-page .service-process-box{
        padding: 25px 20px;
        border-radius: 22px;
    }

    .premium-service-page .discover-peace-box::before{
        top: 18px;
        right: 20px;
        font-size: 30px;
    }

    .premium-service-page .service-benefits-box ul{
        grid-template-columns: 1fr;
        gap: 0;
    }

    .premium-service-page .service-process-steps{
        padding-left: 0;
    }

    .premium-service-page .service-process-steps::before{
        left: 20px;
    }

    .premium-service-page .service-process-steps .how-work-step-no{
        flex-basis: 32px;
        width: 32px;
        height: 32px;
        margin-right: 14px;
    }

    .premium-service-page .service-process-steps .how-work-step-no h2{
        font-size: 10px;
    }

    .premium-service-page .service-process-steps .how-work-step-content{
        padding-top: 3px;
    }
}


/* Magie blanche — variation éditoriale */
.magie-service-page .discover-peace-box::before{
    content: 'HARMONIE';
}

.magie-service-page .discover-peace-info-box{
    background: #d7c9a9;
}

.magie-service-page .discover-peace-info-content h3{
    color: var(--primary-color);
}

.magie-service-page .protection-hero-media::after{
    border-color: rgba(215, 201, 169, .72);
}

.magie-service-page .protection-float-icon{
    background: #8a7650;
}

.magie-service-page .protection-float-check{
    background: var(--accent-color);
}


/* Magie blanche — rendu lumineux, symbolique et éditorial */
.magic-editorial-hero{
    position: relative;
    padding: 95px 0 115px;
    background: #f7f4ee;
    overflow: hidden;
}

.magic-editorial-hero::before{
    content: '';
    position: absolute;
    top: -210px;
    left: -180px;
    width: 520px;
    height: 520px;
    border: 1px solid rgba(174, 161, 126, .32);
    border-radius: 50%;
}

.magic-editorial-hero::after{
    content: '';
    position: absolute;
    right: -120px;
    bottom: -220px;
    width: 520px;
    height: 520px;
    border: 1px solid rgba(61, 73, 58, .16);
    border-radius: 50%;
}

.magic-editorial-grid{
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    align-items: center;
    gap: 90px;
}

.magic-editorial-visual{
    position: relative;
    max-width: 510px;
    padding: 26px 28px 0 0;
}

.magic-visual-frame{
    position: relative;
}

.magic-visual-frame figure{
    position: relative;
    z-index: 1;
    height: 590px;
    margin: 0;
    border-radius: 190px 190px 24px 24px;
    overflow: hidden;
    box-shadow: 18px 20px 0 rgba(174, 161, 126, .22);
}

.magic-visual-frame figure::after{
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(30, 30, 30, .02) 38%, rgba(30, 30, 30, .44) 100%);
}

.magic-visual-frame img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .55s ease-in-out;
}

.magic-editorial-visual:hover .magic-visual-frame img{
    transform: scale(1.04);
}

.magic-visual-orbit{
    position: absolute;
    z-index: 0;
    border: 1px solid rgba(61, 73, 58, .28);
    border-radius: 50%;
    pointer-events: none;
}

.magic-orbit-one{
    top: -10px;
    left: -38px;
    width: 220px;
    height: 220px;
}

.magic-orbit-two{
    right: -8px;
    bottom: -30px;
    width: 170px;
    height: 170px;
    border-color: rgba(174, 161, 126, .7);
}

.magic-visual-stamp{
    position: absolute;
    right: -2px;
    top: 58px;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 10px 15px 10px 10px;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 50px;
    background: rgba(250, 249, 250, .94);
    box-shadow: 0 12px 28px rgba(30, 30, 30, .15);
    backdrop-filter: blur(8px);
}

.magic-visual-stamp span{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 1px solid var(--accent-secondary-color);
    border-radius: 50%;
    color: var(--accent-color);
    font-family: 'Marcellus', serif;
    font-size: 13px;
}

.magic-visual-stamp small{
    color: var(--primary-color);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1px;
    line-height: 1.35em;
    text-transform: uppercase;
}

.magic-visual-caption{
    display: flex;
    align-items: center;
    gap: 9px;
    margin-top: 25px;
    color: var(--text-color);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.3px;
    text-transform: uppercase;
}

.magic-visual-caption span{
    display: inline-block;
    width: 28px;
    height: 1px;
    background: var(--accent-secondary-color);
}

.magic-editorial-content{
    max-width: 650px;
}

.magic-breadcrumb{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 48px;
    color: var(--text-color);
    font-size: 13px;
}

.magic-breadcrumb a{ color: var(--text-color); }
.magic-breadcrumb strong{ color: var(--primary-color); font-weight: 600; }
.magic-breadcrumb span{ color: var(--accent-secondary-color); }

.magic-editorial-content .services-eyebrow{
    margin-bottom: 22px;
    color: var(--accent-color);
}

.magic-editorial-content h1{
    max-width: 650px;
    margin-bottom: 25px;
    color: var(--primary-color);
    font-size: clamp(43px, 5vw, 70px);
    line-height: 1.05em;
    letter-spacing: -1px;
}

.magic-editorial-content h1 span{
    display: block;
    color: var(--accent-color);
}

.magic-editorial-intro{
    max-width: 600px;
    margin-bottom: 0;
    color: var(--text-color);
    font-size: 18px;
    line-height: 1.75em;
}

.magic-editorial-actions{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 25px;
    margin-top: 34px;
}

.magic-link{
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--primary-color);
    font-size: 13px;
    font-weight: 700;
    transition: all .3s ease-in-out;
}

.magic-link i{
    color: var(--accent-color);
    transition: transform .3s ease-in-out;
}

.magic-link:hover{ color: var(--accent-color); }
.magic-link:hover i{ transform: translateY(3px); }

.magic-editorial-signature{
    display: flex;
    align-items: center;
    gap: 14px;
    max-width: 500px;
    margin-top: 42px;
    padding-top: 20px;
    border-top: 1px solid rgba(61, 73, 58, .15);
}

.magic-signature-line{
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    border: 1px solid var(--accent-secondary-color);
    border-radius: 50%;
}

.magic-editorial-signature p{
    margin: 0;
    color: var(--primary-color);
    font-family: 'Marcellus', serif;
    font-size: 15px;
    line-height: 1.45em;
}

.magic-intro-section{
    padding: 100px 0 110px;
    background: var(--white-color);
}

.magic-section-heading{
    max-width: 760px;
    margin: 0 auto 52px;
    text-align: center;
}

.magic-section-heading h2{
    margin-bottom: 18px;
}

.magic-section-heading h2 span{
    color: var(--accent-secondary-color);
}

.magic-section-heading > p:last-child{
    margin-bottom: 0;
    font-size: 17px;
    line-height: 1.7em;
}

.magic-pillars-grid{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.magic-pillar-card{
    position: relative;
    min-height: 300px;
    padding: 30px 28px 28px;
    border: 1px solid var(--divider-color);
    border-radius: 26px;
    background: var(--white-color);
    transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.magic-pillar-card:hover{
    transform: translateY(-8px);
    border-color: var(--accent-secondary-color);
    box-shadow: 0 18px 45px rgba(25, 38, 32, .09);
}

.magic-pillar-card-accent{
    background: #f7f2e9;
    border-color: rgba(174, 161, 126, .55);
}

.magic-pillar-top{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 34px;
}

.magic-pillar-top > span{
    color: var(--accent-color);
    font-size: 13px;
    font-weight: 700;
}

.magic-pillar-icon{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 18px;
    background: var(--secondary-color);
}

.magic-pillar-icon img{
    width: 32px;
    height: 32px;
    object-fit: contain;
}

.magic-pillar-card h3{
    margin-bottom: 13px;
    font-size: 22px;
}

.magic-pillar-card p{
    max-width: 300px;
    margin: 0;
    line-height: 1.65em;
}

.magic-pillar-card > a{
    position: absolute;
    right: 28px;
    bottom: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 1px solid var(--accent-secondary-color);
    border-radius: 50%;
    color: var(--accent-color);
    font-size: 12px;
    transition: all .3s ease-in-out;
}

.magic-pillar-card > a:hover{
    color: var(--white-color);
    background: var(--accent-color);
    transform: rotate(-45deg);
}

.magic-commitment-section{
    padding: 105px 0;
    background: var(--secondary-color);
}

.magic-commitment-grid{
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    align-items: center;
    gap: 88px;
}

.magic-commitment-content > p:not(.services-eyebrow){
    line-height: 1.75em;
}

.magic-commitment-content h2{
    max-width: 590px;
    margin-bottom: 20px;
}

.magic-commitment-content h2 span{ color: var(--accent-secondary-color); }

.magic-check-list{
    margin: 30px 0 0;
    padding: 0;
    list-style: none;
}

.magic-check-list li{
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 17px 0;
    border-bottom: 1px solid var(--divider-color);
}

.magic-check-list li:first-child{ border-top: 1px solid var(--divider-color); }

.magic-check-list li > span{
    color: var(--accent-color);
    font-size: 21px;
    font-weight: 700;
    line-height: 1;
}

.magic-check-list strong{
    display: block;
    margin-bottom: 5px;
    color: var(--primary-color);
    font-size: 17px;
}

.magic-check-list p{
    margin: 0;
    font-size: 15px;
    line-height: 1.55em;
}

.magic-commitment-visual{
    position: relative;
    padding: 0 0 30px 25px;
}

.magic-commitment-visual figure{
    position: relative;
    z-index: 1;
    margin: 0;
    border-radius: 170px 170px 24px 24px;
    overflow: hidden;
}

.magic-commitment-visual img{
    width: 100%;
    aspect-ratio: 1 / 1.12;
    object-fit: cover;
    border-radius: 170px 170px 24px 24px;
}

.magic-commitment-visual::before{
    content: '';
    position: absolute;
    left: -5px;
    bottom: 0;
    width: 78%;
    height: 78%;
    border: 1px solid rgba(174, 161, 126, .65);
    border-radius: 170px 170px 24px 24px;
}

.magic-commitment-card{
    position: absolute;
    right: -18px;
    bottom: 60px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 5px;
    max-width: 220px;
    padding: 20px;
    border-radius: 18px;
    background: var(--primary-color);
    box-shadow: 0 15px 30px rgba(0, 0, 0, .15);
}

.magic-card-symbol{
    margin-bottom: 7px;
    color: var(--accent-secondary-color);
    font-size: 22px;
}

.magic-commitment-card strong{ color: var(--white-color); font-size: 17px; }
.magic-commitment-card small{ color: rgba(255, 255, 255, .72); font-size: 12px; line-height: 1.45em; }

.magic-process-section{
    padding: 105px 0 115px;
    background: var(--primary-color);
}

.magic-section-heading-light .services-eyebrow{ color: var(--accent-secondary-color); }
.magic-section-heading-light h2{ color: var(--white-color); }
.magic-section-heading-light h2 span{ color: var(--accent-secondary-color); }
.magic-section-heading-light > p:last-child{ color: rgba(255, 255, 255, .72); }

.magic-process-grid{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.magic-process-card{
    display: flex;
    align-items: flex-start;
    gap: 20px;
    min-height: 160px;
    padding: 27px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 22px;
    background: rgba(255, 255, 255, .06);
    transition: all .3s ease-in-out;
}

.magic-process-card:hover{
    border-color: rgba(174, 161, 126, .72);
    background: rgba(174, 161, 126, .12);
    transform: translateY(-4px);
}

.magic-process-card > span{
    flex: 0 0 38px;
    color: var(--accent-secondary-color);
    font-family: 'Marcellus', serif;
    font-size: 20px;
    line-height: 1.3em;
}

.magic-process-card h3{
    margin-bottom: 8px;
    color: var(--white-color);
    font-size: 20px;
}

.magic-process-card p{
    margin: 0;
    color: rgba(255, 255, 255, .68);
    line-height: 1.6em;
}

.magic-notice-section{
    padding: 0 0 100px;
    background: var(--primary-color);
}

.magic-notice{
    display: flex;
    align-items: flex-start;
    gap: 22px;
    padding: 28px 32px;
    border-left: 4px solid var(--accent-secondary-color);
    border-radius: 0 22px 22px 0;
    background: rgba(255, 255, 255, .09);
}

.magic-notice-symbol{
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--accent-secondary-color);
    color: var(--primary-color);
    font-size: 21px;
    font-weight: 700;
}

.magic-notice h3{ margin-bottom: 8px; color: var(--white-color); font-size: 20px; }
.magic-notice p{ margin: 0; color: rgba(255, 255, 255, .72); line-height: 1.65em; }

.magic-cta-section{
    padding: 0 0 100px;
    background: var(--primary-color);
}

.magic-cta{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
    padding: 42px;
    border: 1px solid rgba(174, 161, 126, .35);
    border-radius: 28px;
    background: #29342c;
}

.magic-cta .services-eyebrow{ color: var(--accent-secondary-color); }
.magic-cta h2{ max-width: 650px; margin-bottom: 12px; color: var(--white-color); }
.magic-cta p:last-child{ max-width: 610px; margin: 0; color: rgba(255, 255, 255, .75); line-height: 1.65em; }
.magic-cta-actions{ display: flex; flex-wrap: wrap; gap: 12px; flex-shrink: 0; }

.magic-faq-section{
    padding: 105px 0;
    background: var(--white-color);
}

.magic-faq-list{ max-width: 900px; margin: 0 auto; }

.magic-faq-item{ border-bottom: 1px solid var(--divider-color); }
.magic-faq-item:first-child{ border-top: 1px solid var(--divider-color); }

.magic-faq-item summary{
    position: relative;
    padding: 23px 45px 23px 0;
    color: var(--primary-color);
    font-size: 18px;
    font-weight: 600;
    list-style: none;
    cursor: pointer;
}

.magic-faq-item summary::-webkit-details-marker{ display: none; }
.magic-faq-item summary::after{ content: '+'; position: absolute; top: 50%; right: 4px; transform: translateY(-50%); color: var(--accent-color); font-size: 25px; font-weight: 400; }
.magic-faq-item[open] summary::after{ content: '−'; }
.magic-faq-item p{ max-width: 780px; margin: -4px 0 24px; padding-right: 35px; line-height: 1.7em; }

@media only screen and (max-width: 1199px){
    .magic-editorial-grid{ gap: 55px; }
    .magic-commitment-grid{ gap: 55px; }
}

@media only screen and (max-width: 991px){
    .magic-editorial-grid,
    .magic-commitment-grid{ grid-template-columns: 1fr; gap: 55px; }

    .magic-editorial-content{ max-width: 760px; }
    .magic-editorial-visual{ max-width: 570px; width: calc(100% - 25px); margin: 0 auto; }
    .magic-visual-frame figure{ height: 500px; }
    .magic-pillars-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
    .magic-pillar-card{ padding: 24px 20px; }
    .magic-commitment-content{ order: 1; }
    .magic-commitment-visual{ order: 2; max-width: 570px; width: calc(100% - 25px); margin: 0 auto; }
}

@media only screen and (max-width: 767px){
    .magic-editorial-hero,
    .magic-intro-section,
    .magic-commitment-section,
    .magic-process-section,
    .magic-faq-section{ padding: 70px 0; }

    .magic-notice-section,
    .magic-cta-section{ padding-bottom: 70px; }

    .magic-editorial-grid,
    .magic-commitment-grid{ gap: 43px; }

    .magic-editorial-visual{ width: calc(100% - 12px); padding: 18px 14px 0 0; }
    .magic-visual-frame figure{ height: 365px; border-radius: 120px 120px 20px 20px; }
    .magic-visual-frame figure img{ border-radius: 120px 120px 20px 20px; }
    .magic-orbit-one{ top: -4px; left: -24px; width: 145px; height: 145px; }
    .magic-orbit-two{ right: -1px; bottom: -17px; width: 115px; height: 115px; }
    .magic-visual-stamp{ top: 35px; right: -10px; padding: 7px 10px 7px 7px; }
    .magic-visual-stamp span{ width: 31px; height: 31px; font-size: 10px; }
    .magic-visual-stamp small{ font-size: 7px; }
    .magic-visual-caption{ margin-top: 18px; font-size: 8px; }

    .magic-breadcrumb{ margin-bottom: 30px; font-size: 11px; }
    .magic-editorial-content h1{ font-size: 39px; }
    .magic-editorial-intro{ font-size: 16px; line-height: 1.65em; }
    .magic-editorial-actions{ align-items: flex-start; flex-direction: column; gap: 16px; margin-top: 25px; }
    .magic-editorial-signature{ margin-top: 30px; }
    .magic-editorial-signature p{ font-size: 13px; }

    .magic-section-heading{ margin-bottom: 35px; }
    .magic-section-heading > p:last-child{ font-size: 15px; }
    .magic-pillars-grid{ grid-template-columns: 1fr; gap: 15px; }
    .magic-pillar-card{ min-height: 0; padding: 23px 20px 26px; }
    .magic-pillar-top{ margin-bottom: 25px; }
    .magic-pillar-card p{ max-width: 270px; }
    .magic-pillar-card > a{ right: 20px; bottom: 25px; }

    .magic-commitment-visual{ width: calc(100% - 10px); padding-left: 12px; }
    .magic-commitment-visual figure,
    .magic-commitment-visual img{ border-radius: 120px 120px 20px 20px; }
    .magic-commitment-card{ right: -7px; bottom: 35px; max-width: 170px; padding: 14px; }
    .magic-card-symbol{ margin-bottom: 3px; font-size: 17px; }
    .magic-commitment-card strong{ font-size: 13px; }
    .magic-commitment-card small{ font-size: 9px; }

    .magic-process-grid{ grid-template-columns: 1fr; gap: 12px; }
    .magic-process-card{ min-height: 0; padding: 22px 18px; gap: 13px; }
    .magic-process-card > span{ flex-basis: 31px; font-size: 16px; }
    .magic-process-card h3{ font-size: 17px; }
    .magic-process-card p{ font-size: 13px; }

    .magic-notice{ gap: 14px; padding: 22px 18px; }
    .magic-notice-symbol{ flex-basis: 34px; width: 34px; height: 34px; font-size: 17px; }
    .magic-notice h3{ font-size: 17px; }
    .magic-notice p{ font-size: 13px; }

    .magic-cta{ align-items: flex-start; flex-direction: column; gap: 25px; padding: 27px 20px; }
    .magic-cta h2{ font-size: 28px; }
    .magic-cta-actions{ width: 100%; }
    .magic-faq-item summary{ padding: 19px 35px 19px 0; font-size: 16px; }
    .magic-faq-item p{ padding-right: 10px; font-size: 14px; }
}


/* Ajustement du fil d’Ariane — magie blanche */
.magic-editorial-breadcrumb-wrap{
    position: relative;
    z-index: 2;
    margin-bottom: 58px;
}

.magic-editorial-breadcrumb-wrap .magic-breadcrumb{
    margin: 0;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(61, 73, 58, .16);
}

.magic-editorial-breadcrumb-wrap .magic-breadcrumb a,
.magic-editorial-breadcrumb-wrap .magic-breadcrumb strong{
    transition: color .25s ease-in-out;
}

.magic-editorial-breadcrumb-wrap .magic-breadcrumb a:hover{
    color: var(--accent-color);
}

.magic-editorial-breadcrumb-wrap .magic-breadcrumb strong{
    position: relative;
    padding-left: 14px;
}

.magic-editorial-breadcrumb-wrap .magic-breadcrumb strong::before{
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--accent-secondary-color);
    transform: translateY(-50%);
}

@media only screen and (max-width: 767px){
    .magic-editorial-breadcrumb-wrap{
        margin-bottom: 38px;
    }

    .magic-editorial-breadcrumb-wrap .magic-breadcrumb{
        gap: 7px;
        padding-bottom: 14px;
        font-size: 10px;
    }

    .magic-editorial-breadcrumb-wrap .magic-breadcrumb strong{
        padding-left: 11px;
    }
}


/* Magie blanche — hero sombre centré après le header */
.magic-dark-intro-hero{
    position: relative;
    padding: 92px 0 105px;
    background:
        radial-gradient(circle at 12% 18%, rgba(174, 161, 126, .16), transparent 28%),
        radial-gradient(circle at 88% 80%, rgba(174, 161, 126, .10), transparent 26%),
        var(--primary-color);
    overflow: hidden;
}

.magic-dark-intro-hero::before{
    content: '';
    position: absolute;
    top: -220px;
    left: -120px;
    width: 480px;
    height: 480px;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 50%;
}

.magic-dark-intro-hero::after{
    content: '';
    position: absolute;
    right: -145px;
    bottom: -220px;
    width: 520px;
    height: 520px;
    border: 1px solid rgba(174, 161, 126, .22);
    border-radius: 50%;
}

.magic-dark-breadcrumb-wrap{
    position: relative;
    z-index: 1;
    max-width: 900px;
    margin: 0 auto 54px;
}

.magic-dark-breadcrumb{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(255, 255, 255, .16);
    color: rgba(255, 255, 255, .62);
    font-size: 12px;
    text-align: center;
}

.magic-dark-breadcrumb a{ color: rgba(255, 255, 255, .62); transition: color .25s ease-in-out; }
.magic-dark-breadcrumb a:hover{ color: var(--accent-secondary-color); }
.magic-dark-breadcrumb span{ color: var(--accent-secondary-color); }
.magic-dark-breadcrumb strong{ color: var(--white-color); font-weight: 500; }

.magic-dark-intro-content{
    position: relative;
    z-index: 1;
    max-width: 880px;
    margin: 0 auto;
    text-align: center;
}

.magic-dark-intro-content .services-eyebrow{
    margin-bottom: 20px;
    color: var(--accent-secondary-color);
}

.magic-dark-intro-content h1{
    max-width: 800px;
    margin: 0 auto 24px;
    color: var(--white-color);
    font-size: clamp(44px, 5.4vw, 72px);
    line-height: 1.06em;
    letter-spacing: -1px;
}

.magic-dark-intro-content h1 span{ color: var(--accent-secondary-color); }

.magic-dark-intro-text{
    max-width: 685px;
    margin: 0 auto;
    color: rgba(255, 255, 255, .76);
    font-size: 18px;
    line-height: 1.75em;
}

.magic-dark-intro-actions{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 24px;
    margin-top: 33px;
}

.magic-dark-link{
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: rgba(255, 255, 255, .84);
    font-size: 13px;
    font-weight: 700;
    transition: color .3s ease-in-out;
}

.magic-dark-link i{ color: var(--accent-secondary-color); transition: transform .3s ease-in-out; }
.magic-dark-link:hover{ color: var(--accent-secondary-color); }
.magic-dark-link:hover i{ transform: translateY(3px); }

.magic-dark-signals{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    max-width: 860px;
    margin: 58px auto 0;
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, .16);
    text-align: left;
}

.magic-dark-signals > div{
    min-height: 68px;
    padding: 0 25px;
    border-right: 1px solid rgba(255, 255, 255, .14);
}

.magic-dark-signals > div:first-child{ padding-left: 0; }
.magic-dark-signals > div:last-child{ padding-right: 0; border-right: 0; }

.magic-dark-signals span,
.magic-dark-signals strong,
.magic-dark-signals small{ display: block; }

.magic-dark-signals span{
    margin-bottom: 10px;
    color: var(--accent-secondary-color);
    font-family: 'Marcellus', serif;
    font-size: 17px;
}

.magic-dark-signals strong{
    color: var(--white-color);
    font-size: 13px;
    line-height: 1.35em;
}

.magic-dark-signals small{
    margin-top: 5px;
    color: rgba(255, 255, 255, .58);
    font-size: 11px;
    line-height: 1.45em;
}

@media only screen and (max-width: 767px){
    .magic-dark-intro-hero{ padding: 68px 0 75px; }
    .magic-dark-breadcrumb-wrap{ margin-bottom: 40px; }
    .magic-dark-breadcrumb{ gap: 7px; padding-bottom: 14px; font-size: 10px; }
    .magic-dark-intro-content h1{ font-size: 39px; }
    .magic-dark-intro-text{ font-size: 16px; line-height: 1.65em; }
    .magic-dark-intro-actions{ align-items: center; flex-direction: column; gap: 17px; margin-top: 26px; }
    .magic-dark-signals{ grid-template-columns: 1fr; gap: 0; margin-top: 40px; padding-top: 0; text-align: left; }
    .magic-dark-signals > div,
    .magic-dark-signals > div:first-child,
    .magic-dark-signals > div:last-child{ min-height: 0; padding: 16px 0; border-right: 0; border-bottom: 1px solid rgba(255, 255, 255, .14); }
    .magic-dark-signals > div:last-child{ border-bottom: 0; }
}


/* Retour d’affection — hero sombre centré après le header */
.affection-dark-intro-hero{
    position: relative;
    padding: 92px 0 105px;
    background:
        radial-gradient(circle at 14% 18%, rgba(174, 161, 126, .16), transparent 28%),
        radial-gradient(circle at 88% 78%, rgba(126, 67, 83, .18), transparent 28%),
        var(--primary-color);
    overflow: hidden;
}

.affection-dark-intro-hero::before{
    content: '';
    position: absolute;
    top: -220px;
    left: -120px;
    width: 480px;
    height: 480px;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 50%;
}

.affection-dark-intro-hero::after{
    content: '';
    position: absolute;
    right: -145px;
    bottom: -220px;
    width: 520px;
    height: 520px;
    border: 1px solid rgba(174, 161, 126, .22);
    border-radius: 50%;
}

.affection-dark-breadcrumb-wrap{
    position: relative;
    z-index: 1;
    max-width: 900px;
    margin: 0 auto 54px;
}

.affection-dark-breadcrumb{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(255, 255, 255, .16);
    color: rgba(255, 255, 255, .62);
    font-size: 12px;
    text-align: center;
}

.affection-dark-breadcrumb a{ color: rgba(255, 255, 255, .62); transition: color .25s ease-in-out; }
.affection-dark-breadcrumb a:hover{ color: var(--accent-secondary-color); }
.affection-dark-breadcrumb span{ color: var(--accent-secondary-color); }
.affection-dark-breadcrumb strong{ color: var(--white-color); font-weight: 500; }

.affection-dark-content{
    position: relative;
    z-index: 1;
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

.affection-dark-content .services-eyebrow{
    margin-bottom: 20px;
    color: var(--accent-secondary-color);
}

.affection-dark-content h1{
    max-width: 840px;
    margin: 0 auto 24px;
    color: var(--white-color);
    font-size: clamp(44px, 5.3vw, 70px);
    line-height: 1.06em;
    letter-spacing: -1px;
}

.affection-dark-content h1 span{ color: var(--accent-secondary-color); }

.affection-dark-intro{
    max-width: 690px;
    margin: 0 auto;
    color: rgba(255, 255, 255, .76);
    font-size: 18px;
    line-height: 1.75em;
}

.affection-dark-actions{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 24px;
    margin-top: 33px;
}

.affection-dark-link{
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: rgba(255, 255, 255, .84);
    font-size: 13px;
    font-weight: 700;
    transition: color .3s ease-in-out;
}

.affection-dark-link i{ color: var(--accent-secondary-color); transition: transform .3s ease-in-out; }
.affection-dark-link:hover{ color: var(--accent-secondary-color); }
.affection-dark-link:hover i{ transform: translateY(3px); }

.affection-dark-signals{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    max-width: 880px;
    margin: 58px auto 0;
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, .16);
    text-align: left;
}

.affection-dark-signals > div{
    min-height: 68px;
    padding: 0 25px;
    border-right: 1px solid rgba(255, 255, 255, .14);
}

.affection-dark-signals > div:first-child{ padding-left: 0; }
.affection-dark-signals > div:last-child{ padding-right: 0; border-right: 0; }
.affection-dark-signals span,
.affection-dark-signals strong,
.affection-dark-signals small{ display: block; }
.affection-dark-signals span{ margin-bottom: 10px; color: var(--accent-secondary-color); font-family: 'Marcellus', serif; font-size: 17px; }
.affection-dark-signals strong{ color: var(--white-color); font-size: 13px; line-height: 1.35em; }
.affection-dark-signals small{ margin-top: 5px; color: rgba(255, 255, 255, .58); font-size: 11px; line-height: 1.45em; }

.affection-dark-quote{
    display: flex;
    align-items: center;
    gap: 17px;
    max-width: 500px;
    margin: 42px auto 0;
    padding: 19px 25px;
    border: 1px solid rgba(174, 161, 126, .38);
    border-radius: 16px;
    background: rgba(255, 255, 255, .06);
    text-align: left;
}

.affection-dark-quote-mark{
    color: var(--accent-secondary-color);
    font-family: 'Marcellus', serif;
    font-size: 40px;
    line-height: .7em;
}

.affection-dark-quote p{ margin: 0 0 5px; color: var(--white-color); font-family: 'Marcellus', serif; font-size: 16px; line-height: 1.35em; }
.affection-dark-quote small{ color: rgba(255, 255, 255, .56); font-size: 10px; line-height: 1.4em; }

@media only screen and (max-width: 767px){
    .affection-dark-intro-hero{ padding: 68px 0 75px; }
    .affection-dark-breadcrumb-wrap{ margin-bottom: 40px; }
    .affection-dark-breadcrumb{ gap: 7px; padding-bottom: 14px; font-size: 10px; }
    .affection-dark-content h1{ font-size: 38px; }
    .affection-dark-intro{ font-size: 16px; line-height: 1.65em; }
    .affection-dark-actions{ align-items: center; flex-direction: column; gap: 17px; margin-top: 26px; }
    .affection-dark-signals{ grid-template-columns: 1fr; gap: 0; margin-top: 40px; padding-top: 0; text-align: left; }
    .affection-dark-signals > div,
    .affection-dark-signals > div:first-child,
    .affection-dark-signals > div:last-child{ min-height: 0; padding: 16px 0; border-right: 0; border-bottom: 1px solid rgba(255, 255, 255, .14); }
    .affection-dark-signals > div:last-child{ border-bottom: 0; }
    .affection-dark-quote{ margin-top: 30px; padding: 17px 18px; }
    .affection-dark-quote p{ font-size: 14px; }
}


/* Pages juridiques — mise en page premium et lisible */
.legal-hero{
    position: relative;
    padding: 86px 0 92px;
    background:
        radial-gradient(circle at 12% 22%, rgba(174, 161, 126, .16), transparent 28%),
        radial-gradient(circle at 88% 78%, rgba(174, 161, 126, .10), transparent 26%),
        var(--primary-color);
    overflow: hidden;
}

.legal-hero::after{
    content: '';
    position: absolute;
    right: -150px;
    bottom: -250px;
    width: 540px;
    height: 540px;
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: 50%;
}

.legal-breadcrumb{
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    max-width: 920px;
    margin: 44px auto 48px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(255, 255, 255, .16);
    color: rgba(255, 255, 255, .62);
    font-size: 12px;
    text-align: center;
}

.legal-breadcrumb a{ color: rgba(255, 255, 255, .62); transition: color .25s ease-in-out; }
.legal-breadcrumb a:hover{ color: var(--accent-secondary-color); }
.legal-breadcrumb span{ color: var(--accent-secondary-color); }
.legal-breadcrumb strong{ color: var(--white-color); font-weight: 500; }

.legal-hero-content{
    position: relative;
    z-index: 1;
    max-width: 850px;
    margin: 0 auto;
    text-align: center;
}

.legal-hero-content .services-eyebrow{ margin-bottom: 19px; color: var(--accent-secondary-color); }
.legal-hero-content h1{ max-width: 820px; margin: 0 auto 22px; color: var(--white-color); font-size: clamp(43px, 5vw, 66px); line-height: 1.08em; }
.legal-hero-content h1 span{ color: var(--accent-secondary-color); }
.legal-hero-content > p{ max-width: 680px; margin: 0 auto; color: rgba(255, 255, 255, .76); font-size: 17px; line-height: 1.75em; }
.legal-update{ display: inline-block; margin-top: 28px; color: rgba(255, 255, 255, .54); font-size: 11px; letter-spacing: 1px; text-transform: uppercase; }

.legal-page{ padding: 92px 0 110px; background: #f8f7f4; }
.legal-layout{ display: grid; grid-template-columns: 245px minmax(0, 1fr); align-items: start; gap: 72px; }

.legal-sidebar{ position: sticky; top: 25px; }
.legal-sidebar-label{ margin-bottom: 15px; color: var(--accent-color); font-size: 11px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; }
.legal-sidebar nav{ display: flex; flex-direction: column; border-top: 1px solid var(--divider-color); }
.legal-sidebar nav a{ padding: 14px 0; border-bottom: 1px solid var(--divider-color); color: var(--text-color); font-size: 13px; line-height: 1.45em; transition: color .25s ease-in-out, padding-left .25s ease-in-out; }
.legal-sidebar nav a:hover,
.legal-sidebar nav a.is-active{ padding-left: 10px; color: var(--accent-color); }
.legal-sidebar-contact{ display: flex; flex-direction: column; gap: 6px; margin-top: 28px; padding: 18px; border-radius: 15px; background: var(--secondary-color); }
.legal-sidebar-contact strong{ color: var(--primary-color); font-size: 14px; }
.legal-sidebar-contact a{ color: var(--accent-color); font-size: 12px; word-break: break-word; }

.legal-content{ min-width: 0; max-width: 850px; }
.legal-intro-card{ margin-bottom: 44px; padding: 23px 25px; border-left: 4px solid var(--accent-secondary-color); border-radius: 0 17px 17px 0; background: var(--white-color); color: var(--text-color); font-size: 15px; line-height: 1.7em; box-shadow: 0 8px 25px rgba(25, 38, 32, .045); }
.legal-intro-card strong{ color: var(--primary-color); }

.legal-section{ display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 22px; padding: 0 0 38px; margin-bottom: 38px; border-bottom: 1px solid var(--divider-color); }
.legal-section-number{ padding-top: 4px; color: var(--accent-color); font-family: 'Marcellus', serif; font-size: 16px; }
.legal-section h2{ margin: 0 0 15px; color: var(--primary-color); font-size: 27px; line-height: 1.2em; }
.legal-section p{ margin: 0 0 14px; font-size: 15px; line-height: 1.75em; }
.legal-section p:last-child{ margin-bottom: 0; }
.legal-section a{ color: var(--accent-color); text-decoration: underline; text-decoration-color: rgba(174, 161, 126, .55); text-underline-offset: 3px; }

.legal-details{ display: grid; gap: 0; margin: 22px 0 0; border-top: 1px solid var(--divider-color); }
.legal-details > div{ display: grid; grid-template-columns: 175px minmax(0, 1fr); gap: 20px; padding: 14px 0; border-bottom: 1px solid var(--divider-color); }
.legal-details dt{ color: var(--primary-color); font-size: 13px; font-weight: 700; }
.legal-details dd{ margin: 0; color: var(--text-color); font-size: 14px; line-height: 1.5em; }
.legal-details dd a{ color: var(--accent-color); }

.legal-notice{ margin-top: 8px; padding: 22px 24px; border: 1px solid rgba(174, 161, 126, .45); border-radius: 17px; background: #f5eee2; color: var(--text-color); font-size: 14px; line-height: 1.7em; }
.legal-notice strong{ color: var(--primary-color); }

@media only screen and (max-width: 991px){
    .legal-layout{ grid-template-columns: 190px minmax(0, 1fr); gap: 38px; }
    .legal-details > div{ grid-template-columns: 135px minmax(0, 1fr); gap: 14px; }
}

@media only screen and (max-width: 767px){
    .legal-hero{ padding: 68px 0 74px; }
    .legal-breadcrumb{ gap: 7px; margin-bottom: 39px; padding-bottom: 14px; font-size: 10px; }
    .legal-hero-content h1{ font-size: 38px; }
    .legal-hero-content > p{ font-size: 15px; line-height: 1.65em; }
    .legal-page{ padding: 68px 0 78px; }
    .legal-layout{ display: block; }
    .legal-sidebar{ position: static; margin-bottom: 42px; }
    .legal-sidebar nav{ display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
    .legal-sidebar-contact{ max-width: 270px; }
    .legal-intro-card{ margin-bottom: 35px; padding: 19px 18px; font-size: 14px; }
    .legal-section{ grid-template-columns: 32px minmax(0, 1fr); gap: 13px; padding-bottom: 29px; margin-bottom: 29px; }
    .legal-section h2{ font-size: 22px; }
    .legal-section p{ font-size: 14px; line-height: 1.7em; }
    .legal-details > div{ display: block; padding: 12px 0; }
    .legal-details dt{ margin-bottom: 5px; }
    .legal-details dd{ font-size: 13px; }
    .legal-notice{ padding: 18px; font-size: 13px; }
}


/* Accueil — nouvelle présentation éditoriale des formules */
.home-formulas-showcase{
    padding: 105px 0 115px;
    background: #f7f5f0;
}

.home-formulas-heading{
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .8fr);
    align-items: end;
    gap: 70px;
    margin-bottom: 52px;
}

.home-formulas-heading h2{ max-width: 600px; margin: 0; }
.home-formulas-heading h2 span{ color: var(--accent-secondary-color); }
.home-formulas-heading-copy{ max-width: 440px; }
.home-formulas-heading-copy p{ margin: 0 0 20px; line-height: 1.7em; }

.home-formulas-link{
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--primary-color);
    font-size: 13px;
    font-weight: 700;
    transition: color .3s ease-in-out;
}

.home-formulas-link i{ color: var(--accent-color); font-size: 11px; transition: transform .3s ease-in-out; }
.home-formulas-link:hover{ color: var(--accent-color); }
.home-formulas-link:hover i{ transform: translate(2px, -2px); }

.home-formulas-board{
    display: grid;
    grid-template-columns: minmax(230px, .33fr) minmax(0, 1fr);
    gap: 0;
    overflow: hidden;
    border-radius: 28px;
    background: var(--primary-color);
    box-shadow: 0 20px 50px rgba(25, 38, 32, .12);
}

.home-formulas-board-intro{
    padding: 42px 32px;
    background: #29342c;
}

.home-formulas-monogram{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 57px;
    height: 57px;
    margin-bottom: 54px;
    border: 1px solid var(--accent-secondary-color);
    border-radius: 50%;
    color: var(--accent-secondary-color);
    font-family: 'Marcellus', serif;
    font-size: 18px;
}

.home-formulas-board-intro .services-eyebrow{ margin-bottom: 16px; color: var(--accent-secondary-color); }
.home-formulas-board-intro h3{ margin-bottom: 15px; color: var(--white-color); font-size: 25px; line-height: 1.25em; }
.home-formulas-board-intro > p:not(.services-eyebrow){ margin-bottom: 28px; color: rgba(255, 255, 255, .68); font-size: 14px; line-height: 1.65em; }
.home-formulas-board-intro .btn-default{ width: 100%; padding: 14px 18px; font-size: 11px; text-align: center; }

.home-formulas-list{ padding: 18px; background: var(--primary-color); }

.home-formula-row{
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr) 104px;
    align-items: center;
    gap: 22px;
    min-height: 170px;
    padding: 18px 17px;
    border-bottom: 1px solid rgba(255, 255, 255, .14);
    transition: background .3s ease-in-out;
}

.home-formula-row:last-child{ border-bottom: 0; }
.home-formula-row:hover{ background: rgba(255, 255, 255, .06); }
.home-formula-row-featured{ border-radius: 18px; background: rgba(174, 161, 126, .14); }
.home-formula-row-featured:hover{ background: rgba(174, 161, 126, .20); }

.home-formula-image,
.home-formula-image img{ width: 92px; height: 116px; border-radius: 12px; }
.home-formula-image{ overflow: hidden; }
.home-formula-image img{ object-fit: cover; transition: transform .4s ease-in-out; }
.home-formula-row:hover .home-formula-image img{ transform: scale(1.07); }

.home-formula-main{ display: flex; align-items: flex-start; gap: 17px; }
.home-formula-index{ flex: 0 0 26px; padding-top: 2px; color: var(--accent-secondary-color); font-family: 'Marcellus', serif; font-size: 16px; }
.home-formula-main h3{ margin: 0 0 8px; color: var(--white-color); font-size: 20px; }
.home-formula-main p{ margin: 0 0 10px; color: rgba(255, 255, 255, .66); font-size: 13px; line-height: 1.5em; }
.home-formula-main ul{ display: flex; flex-wrap: wrap; gap: 5px 17px; margin: 0; padding: 0; list-style: none; }
.home-formula-main li{ position: relative; padding-left: 12px; color: rgba(255, 255, 255, .54); font-size: 11px; }
.home-formula-main li::before{ content: '•'; position: absolute; left: 0; color: var(--accent-secondary-color); }
.home-formula-badge{ display: inline-block; margin-bottom: 7px; padding: 4px 8px; border: 1px solid rgba(174, 161, 126, .65); border-radius: 4px; color: var(--accent-secondary-color); font-size: 8px; font-weight: 700; letter-spacing: 1.1px; text-transform: uppercase; }

.home-formula-price{ display: flex; flex-direction: column; align-items: flex-end; gap: 7px; text-align: right; }
.home-formula-price span{ color: rgba(255, 255, 255, .48); font-size: 10px; }
.home-formula-price strong{ color: var(--accent-secondary-color); font-family: 'Marcellus', serif; font-size: 25px; font-weight: 400; }
.home-formula-price a{ display: flex; align-items: center; justify-content: center; width: 31px; height: 31px; border: 1px solid rgba(174, 161, 126, .55); border-radius: 50%; color: var(--accent-secondary-color); font-size: 10px; transition: all .3s ease-in-out; }
.home-formula-price a:hover{ color: var(--primary-color); background: var(--accent-secondary-color); transform: translate(2px, -2px); }

@media only screen and (max-width: 991px){
    .home-formulas-heading{ gap: 35px; }
    .home-formulas-board{ grid-template-columns: 1fr; }
    .home-formulas-board-intro{ padding: 32px; }
    .home-formulas-monogram{ margin-bottom: 27px; }
}

@media only screen and (max-width: 767px){
    .home-formulas-showcase{ padding: 70px 0; }
    .home-formulas-heading{ display: block; margin-bottom: 35px; }
    .home-formulas-heading h2{ margin-bottom: 20px; }
    .home-formulas-heading-copy p{ font-size: 14px; }
    .home-formulas-board{ border-radius: 20px; }
    .home-formulas-board-intro{ padding: 27px 20px; }
    .home-formulas-board-intro h3{ font-size: 22px; }
    .home-formulas-list{ padding: 9px; }
    .home-formula-row{ grid-template-columns: 63px minmax(0, 1fr); gap: 13px; min-height: 0; padding: 17px 10px; }
    .home-formula-image,
    .home-formula-image img{ width: 63px; height: 85px; border-radius: 9px; }
    .home-formula-main{ display: block; }
    .home-formula-index{ margin-bottom: 5px; font-size: 13px; }
    .home-formula-main h3{ margin-bottom: 6px; font-size: 16px; }
    .home-formula-main p{ margin-bottom: 7px; font-size: 11px; }
    .home-formula-main ul{ display: none; }
    .home-formula-price{ position: absolute; right: 20px; align-items: flex-end; gap: 4px; }
    .home-formula-row{ position: relative; padding-right: 72px; }
    .home-formula-price span{ display: none; }
    .home-formula-price strong{ font-size: 19px; }
    .home-formula-price a{ width: 26px; height: 26px; font-size: 8px; }
    .home-formula-badge{ margin-bottom: 5px; font-size: 7px; }
}


/* Page À propos — direction premium éditoriale */
.about-premium-profile{
    padding: 108px 0;
    background: #f7f5f0;
}

.about-premium-profile-grid{
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    align-items: center;
    gap: 88px;
}

.about-premium-profile-visual{
    position: relative;
    padding: 0 28px 28px 0;
}

.about-premium-profile-visual::before{
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    width: 82%;
    height: 82%;
    border: 1px solid rgba(174, 161, 126, .65);
    border-radius: 28px;
}

.about-premium-profile-visual figure{
    position: relative;
    z-index: 1;
    margin: 0;
    border-radius: 28px;
    overflow: hidden;
}

.about-premium-profile-visual img{
    width: 100%;
    aspect-ratio: 1 / 1.1;
    object-fit: cover;
    border-radius: 28px;
}

.about-premium-profile-badge{
    position: absolute;
    right: -8px;
    bottom: 38px;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 17px 12px 11px;
    border-radius: 14px;
    background: var(--primary-color);
    box-shadow: 0 15px 30px rgba(25, 38, 32, .16);
}

.about-premium-profile-badge > span{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid var(--accent-secondary-color);
    border-radius: 50%;
    color: var(--accent-secondary-color);
    font-family: 'Marcellus', serif;
    font-size: 12px;
}

.about-premium-profile-badge strong,
.about-premium-profile-badge small{ display: block; }
.about-premium-profile-badge strong{ color: var(--white-color); font-size: 14px; }
.about-premium-profile-badge small{ margin-top: 3px; color: rgba(255, 255, 255, .65); font-size: 10px; }
.about-premium-profile-content h2{ max-width: 640px; margin-bottom: 20px; }
.about-premium-profile-content h2 span{ color: var(--accent-secondary-color); }
.about-premium-profile-content > p:not(.services-eyebrow){ max-width: 650px; margin-bottom: 16px; line-height: 1.75em; }
.about-premium-profile-actions{ display: flex; align-items: center; flex-wrap: wrap; gap: 22px; margin-top: 29px; }
.about-premium-profile-actions > span{ color: var(--accent-color); font-size: 11px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }

.about-premium-values{
    padding: 105px 0 115px;
    background: var(--white-color);
}

.about-premium-heading{ max-width: 760px; margin: 0 auto 52px; text-align: center; }
.about-premium-heading h2{ margin-bottom: 18px; }
.about-premium-heading h2 span{ color: var(--accent-secondary-color); }
.about-premium-heading > p:last-child{ margin: 0; font-size: 17px; line-height: 1.7em; }

.about-premium-values-grid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.about-premium-value-card{ position: relative; min-height: 286px; padding: 30px 27px; border: 1px solid var(--divider-color); border-radius: 24px; background: var(--white-color); transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease; }
.about-premium-value-card:hover{ transform: translateY(-8px); border-color: var(--accent-color); box-shadow: 0 18px 45px rgba(25, 38, 32, .09); }
.about-premium-value-card-accent{ background: #f7f2e9; border-color: rgba(174, 161, 126, .55); }
.about-premium-value-top{ display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 32px; }
.about-premium-value-top > span{ color: var(--accent-color); font-size: 13px; font-weight: 700; }
.about-premium-value-top > div{ display: flex; align-items: center; justify-content: center; width: 58px; height: 58px; border-radius: 18px; background: var(--secondary-color); }
.about-premium-value-top img{ width: 31px; height: 31px; object-fit: contain; }
.about-premium-value-card h3{ margin-bottom: 12px; font-size: 21px; }
.about-premium-value-card p{ margin: 0; line-height: 1.65em; }

.about-premium-method{
    padding: 108px 0;
    background: var(--secondary-color);
}

.about-premium-method-grid{ display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: center; gap: 85px; }
.about-premium-method-visual{ position: relative; padding: 0 0 30px 25px; }
.about-premium-method-visual figure{ position: relative; z-index: 1; margin: 0; border-radius: 170px 170px 24px 24px; overflow: hidden; }
.about-premium-method-visual img{ width: 100%; aspect-ratio: 1 / 1.1; object-fit: cover; border-radius: 170px 170px 24px 24px; }
.about-premium-method-visual::before{ content: ''; position: absolute; left: -5px; bottom: 0; width: 78%; height: 78%; border: 1px solid rgba(174, 161, 126, .65); border-radius: 170px 170px 24px 24px; }
.about-premium-method-note{ position: absolute; right: -18px; bottom: 60px; z-index: 2; display: flex; align-items: flex-start; gap: 11px; max-width: 220px; padding: 17px 19px; border-radius: 16px; background: var(--primary-color); box-shadow: 0 15px 30px rgba(0, 0, 0, .15); }
.about-premium-method-note > span{ color: var(--accent-secondary-color); font-size: 20px; }
.about-premium-method-note strong,
.about-premium-method-note small{ display: block; }
.about-premium-method-note strong{ color: var(--white-color); font-size: 14px; }
.about-premium-method-note small{ margin-top: 4px; color: rgba(255, 255, 255, .68); font-size: 10px; line-height: 1.4em; }
.about-premium-method-content h2{ max-width: 620px; margin-bottom: 27px; }
.about-premium-method-content h2 span{ color: var(--accent-secondary-color); }
.about-premium-steps{ border-top: 1px solid var(--divider-color); }
.about-premium-step{ display: flex; align-items: flex-start; gap: 20px; padding: 18px 0; border-bottom: 1px solid var(--divider-color); }
.about-premium-step > span{ flex: 0 0 33px; color: var(--accent-color); font-family: 'Marcellus', serif; font-size: 17px; }
.about-premium-step h3{ margin-bottom: 5px; color: var(--primary-color); font-size: 18px; }
.about-premium-step p{ margin: 0; font-size: 14px; line-height: 1.55em; }

.about-premium-promise{ padding: 0 0 100px; background: var(--secondary-color); }
.about-premium-promise-inner{ display: flex; align-items: center; justify-content: space-between; gap: 35px; padding: 40px 42px; border-radius: 26px; background: var(--primary-color); }
.about-premium-promise .services-eyebrow{ color: var(--accent-secondary-color); }
.about-premium-promise h2{ max-width: 620px; margin-bottom: 10px; color: var(--white-color); }
.about-premium-promise p:last-child{ max-width: 650px; margin: 0; color: rgba(255, 255, 255, .72); line-height: 1.65em; }

.about-premium-cta{ padding: 0 0 105px; background: var(--secondary-color); }
.about-premium-cta-inner{ display: flex; align-items: center; justify-content: space-between; gap: 35px; padding: 42px; border: 1px solid rgba(174, 161, 126, .50); border-radius: 28px; background: #f7f2e9; }
.about-premium-cta h2{ max-width: 650px; margin-bottom: 10px; }
.about-premium-cta p:last-child{ margin: 0; line-height: 1.65em; }
.about-premium-cta-actions{ display: flex; flex-wrap: wrap; gap: 12px; flex-shrink: 0; }

@media only screen and (max-width: 991px){
    .about-premium-profile-grid,
    .about-premium-method-grid{ gap: 50px; }
    .about-premium-profile-grid,
    .about-premium-method-grid{ grid-template-columns: 1fr; }
    .about-premium-profile-visual,
    .about-premium-method-visual{ max-width: 570px; width: calc(100% - 25px); margin: 0 auto; }
    .about-premium-profile-content{ order: 1; }
    .about-premium-profile-visual{ order: 2; }
    .about-premium-values-grid{ gap: 15px; }
    .about-premium-value-card{ padding: 25px 20px; }
}

@media only screen and (max-width: 767px){
    .about-premium-profile,
    .about-premium-values,
    .about-premium-method{ padding: 70px 0; }
    .about-premium-promise,
    .about-premium-cta{ padding-bottom: 70px; }
    .about-premium-profile-visual,
    .about-premium-method-visual{ width: calc(100% - 10px); }
    .about-premium-profile-visual{ padding-right: 14px; }
    .about-premium-profile-visual img{ border-radius: 21px; }
    .about-premium-profile-visual figure{ border-radius: 21px; }
    .about-premium-profile-badge{ right: -6px; bottom: 27px; padding: 8px 11px 8px 8px; }
    .about-premium-profile-badge > span{ width: 32px; height: 32px; font-size: 10px; }
    .about-premium-profile-badge strong{ font-size: 11px; }
    .about-premium-profile-badge small{ font-size: 8px; }
    .about-premium-profile-actions{ align-items: flex-start; flex-direction: column; gap: 14px; }
    .about-premium-heading{ margin-bottom: 35px; }
    .about-premium-heading > p:last-child{ font-size: 15px; }
    .about-premium-values-grid{ grid-template-columns: 1fr; }
    .about-premium-value-card{ min-height: 0; padding: 23px 20px 26px; }
    .about-premium-method-visual{ padding-left: 12px; }
    .about-premium-method-visual figure,
    .about-premium-method-visual img{ border-radius: 120px 120px 20px 20px; }
    .about-premium-method-note{ right: -7px; bottom: 35px; max-width: 170px; padding: 14px; }
    .about-premium-method-note strong{ font-size: 12px; }
    .about-premium-method-note small{ font-size: 9px; }
    .about-premium-step{ gap: 13px; padding: 16px 0; }
    .about-premium-step h3{ font-size: 17px; }
    .about-premium-step p{ font-size: 13px; }
    .about-premium-promise-inner,
    .about-premium-cta-inner{ align-items: flex-start; flex-direction: column; gap: 25px; padding: 27px 20px; }
    .about-premium-promise h2,
    .about-premium-cta h2{ font-size: 28px; }
    .about-premium-cta-actions{ width: 100%; }
}

/* ==========================================================================
   FontAwesome Vector Icons Styling
   ========================================================================== */

.icon-box i {
    font-size: 32px;
    color: var(--accent-color);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.4s ease-in-out;
}

.service-item:hover .service-header .icon-box i,
.why-choose-item:hover .icon-box i {
    color: var(--white-color);
    transform: scale(1.1);
}

.what-we-item .icon-box i {
    font-size: 30px;
    color: var(--accent-color);
}

.benefit-item .icon-box i {
    font-size: 36px;
    color: var(--accent-color);
}

.why-choose-counter-item .icon-box i {
    font-size: 28px;
    color: var(--accent-color);
}

.contact-info-item .icon-box i {
    font-size: 26px;
    color: var(--accent-color);
}

.about-benefit-item .icon-box i {
    font-size: 28px;
    color: var(--accent-color);
}

.discover-peace-item .icon-box i {
    font-size: 28px;
    color: var(--accent-color);
}

.discover-peace-info-box .icon-box i {
    font-size: 24px;
    color: var(--accent-color);
}

.faqs-contact-box .icon-box i {
    font-size: 24px;
    color: var(--accent-color);
}

.scrolling-content span i {
    font-size: 16px;
    color: var(--accent-color);
    margin-right: 35px;
    vertical-align: middle;
}

.magic-pillar-icon i,
.guarantees-principle-icon i,
.affection-reason-icon i,
.services-process-icon i,
.voyance-domain-card-head i,
.about-premium-value-top i {
    font-size: 26px;
    color: var(--accent-color);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease-in-out;
}

.magic-pillar-card:hover .magic-pillar-icon i,
.guarantees-principle-card:hover .guarantees-principle-icon i,
.affection-reason-card:hover .affection-reason-icon i,
.services-process-card:hover .services-process-icon i,
.voyance-domain-card:hover .voyance-domain-card-head i,
.about-premium-value-card:hover .about-premium-value-top i {
    transform: scale(1.1);
}

.testimonial-review-btn a i {
    font-size: 18px;
    color: var(--white-color);
    transition: all 0.3s ease-in-out;
}

.testimonial-review-btn a:hover i {
    transform: translateX(4px);
}

.loading-spinner i {
    font-size: 40px;
    color: var(--accent-color);
    animation: fa-spin 2s infinite linear;
}

/* Home Page Specific Enhancements */
.about-content-btn {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-top: 35px;
}

.btn-default.btn-highlighted {
    background: var(--accent-secondary-color);
    border-color: var(--accent-secondary-color);
    color: var(--white-color);
}

.btn-default.btn-highlighted:hover {
    background: var(--accent-color);
    border-color: var(--accent-color);
    color: var(--white-color);
}

.home-pricing-section {
    padding: 80px 0;
    background: #fdfbf7;
}

.home-pricing-section .pricing-item {
    margin-bottom: 30px;
    height: calc(100% - 30px);
}

.cta-box .section-btn {
    text-align: right;
}

@media only screen and (max-width: 991px) {
    .cta-box .section-btn {
        text-align: left;
        margin-top: 20px;
    }
}

/* ==========================================================================
   Clean & Professional About Section (Home Page)
   ========================================================================== */

.home-about-clean {
    position: relative;
    padding: 100px 0 80px;
    background: #ffffff;
    overflow: hidden;
}

.home-about-clean::before {
    display: none !important;
}

.about-image-wrapper {
    position: relative;
    max-width: 460px;
    margin: 0 auto;
    padding: 10px;
}

.about-main-image {
    position: relative;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(184, 150, 94, 0.25);
    background: var(--white-color);
}

.about-main-image figure {
    margin: 0;
    line-height: 0;
}

.about-main-image img {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1.32;
    object-fit: cover;
    display: block;
    transition: transform 0.6s cubic-bezier(0.2, 1, 0.3, 1);
}

.about-main-image:hover img {
    transform: scale(1.03);
}

.about-experience-badge {
    position: absolute;
    bottom: -10px;
    right: -10px;
    background: #ffffff;
    padding: 14px 22px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    gap: 14px;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.12);
    border: 1px solid rgba(184, 150, 94, 0.3);
    z-index: 2;
}

.about-experience-badge .badge-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: rgba(184, 150, 94, 0.15);
    color: var(--accent-color);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
}

.about-experience-badge .badge-text {
    display: flex;
    flex-direction: column;
}

.about-experience-badge .badge-text strong {
    font-size: 15px;
    font-weight: 700;
    color: var(--primary-color, #1a2b23);
    line-height: 1.2;
}

.about-experience-badge .badge-text span {
    font-size: 12px;
    color: #666666;
    margin-top: 3px;
}

.about-benefit-item {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 25px;
}

.about-benefit-icon {
    width: 52px;
    height: 52px;
    border-radius: 16px;
    background: rgba(184, 150, 94, 0.12);
    border: 1px solid rgba(184, 150, 94, 0.25);
    color: var(--accent-color);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    flex-shrink: 0;
    transition: all 0.3s ease-in-out;
}

.about-benefit-item:hover .about-benefit-icon {
    background: var(--accent-color);
    color: #ffffff;
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(184, 150, 94, 0.3);
}

.about-benefit-item-content h3 {
    font-size: 19px;
    font-weight: 700;
    color: var(--primary-color, #1a2b23);
    margin-bottom: 6px;
}

.about-benefit-item-content p {
    font-size: 15px;
    line-height: 1.6;
    color: var(--text-color, #555);
    margin: 0;
}

@media only screen and (max-width: 767px) {
    .about-experience-badge {
        position: static;
        margin-top: 15px;
        justify-content: center;
    }
    .about-image-wrapper {
        padding: 0;
        margin-bottom: 35px;
    }
}

/* ==========================================================================
   Clean & Luxury Home Page Sections Styling
   ========================================================================== */

/* Remove default clashing pseudo backgrounds from original template */
.what-we-do::before,
.why-choose-us::before,
.our-benefits::before,
.how-it-work::before,
.how-work-image::before,
.how-work-image::after,
.why-choose-item::before {
    display: none !important;
}

/* 1. Services Section (What We Do) */
.home-services-clean {
    padding: 90px 0;
    background: #fdfbf7;
}

.home-service-card {
    background: #ffffff;
    border-radius: 24px;
    padding: 35px 28px;
    border: 1px solid rgba(184, 150, 94, 0.2);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
    height: 100%;
    display: flex;
    flex-direction: column;
    transition: all 0.35s ease-in-out;
}

.home-service-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 20px 45px rgba(184, 150, 94, 0.15);
    border-color: var(--accent-color);
}

.service-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 25px;
}

.service-card-icon {
    width: 58px;
    height: 58px;
    border-radius: 16px;
    background: rgba(184, 150, 94, 0.12);
    color: var(--accent-color);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    transition: all 0.3s ease-in-out;
}

.home-service-card:hover .service-card-icon {
    background: var(--accent-color);
    color: #ffffff;
}

.service-card-num {
    font-size: 16px;
    font-weight: 700;
    color: rgba(184, 150, 94, 0.5);
    letter-spacing: 1px;
}

.home-service-card h3 {
    font-size: 20px;
    font-weight: 700;
    color: var(--primary-color, #1a2b23);
    margin-bottom: 12px;
}

.home-service-card p {
    font-size: 14.5px;
    line-height: 1.6;
    color: #666;
    margin-bottom: 20px;
    flex-grow: 1;
}

.service-card-link {
    font-size: 14px;
    font-weight: 600;
    color: var(--accent-color);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: gap 0.2s ease-in-out;
}

.service-card-link:hover {
    color: var(--primary-color, #1a2b23);
    gap: 12px;
}

/* 2. Why Choose Us Section */
.home-why-clean {
    padding: 90px 0;
    background: #ffffff;
}

.home-why-image-wrap {
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(184, 150, 94, 0.2);
}

.home-why-image-wrap figure {
    margin: 0;
    line-height: 0;
}

.home-why-image-wrap img {
    width: 100%;
    aspect-ratio: 16 / 11;
    object-fit: cover;
}

.home-why-cards-wrap {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.home-why-feature-card {
    background: #fdfbf7;
    border-radius: 20px;
    padding: 28px 24px;
    border: 1px solid rgba(184, 150, 94, 0.2);
    display: flex;
    align-items: flex-start;
    gap: 20px;
    transition: all 0.3s ease-in-out;
}

.home-why-feature-card:hover {
    background: #ffffff;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.06);
    border-color: var(--accent-color);
    transform: translateX(5px);
}

.home-why-feature-card .feature-icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: rgba(184, 150, 94, 0.15);
    color: var(--accent-color);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    flex-shrink: 0;
}

.home-why-feature-card .feature-content h3 {
    font-size: 19px;
    font-weight: 700;
    color: var(--primary-color, #1a2b23);
    margin-bottom: 6px;
}

.home-why-feature-card .feature-content p {
    font-size: 14.5px;
    line-height: 1.6;
    color: #666;
    margin: 0;
}

/* Stats Boxes */
.home-stat-box {
    background: #fdfbf7;
    border-radius: 20px;
    padding: 30px 20px;
    text-align: center;
    border: 1px solid rgba(184, 150, 94, 0.2);
    transition: all 0.3s ease-in-out;
}

.home-stat-box:hover {
    background: #ffffff;
    border-color: var(--accent-color);
    box-shadow: 0 15px 35px rgba(184, 150, 94, 0.12);
    transform: translateY(-5px);
}

.home-stat-box .stat-icon {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: rgba(184, 150, 94, 0.12);
    color: var(--accent-color);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    margin: 0 auto 15px;
}

.home-stat-box .stat-num {
    font-size: 34px;
    font-weight: 800;
    color: var(--primary-color, #1a2b23);
    line-height: 1;
    margin-bottom: 8px;
}

.home-stat-box p {
    font-size: 14px;
    font-weight: 500;
    color: #777;
    margin: 0;
}

/* 3. Luxury Pricing Formulas Section */
.home-pricing-luxury {
    padding: 100px 0 90px;
    background: #fdfbf7;
    position: relative;
}

.luxury-formula-card {
    background: #ffffff;
    border-radius: 26px;
    border: 1px solid rgba(184, 150, 94, 0.22);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.04);
    padding: 30px 24px;
    display: flex;
    flex-direction: column;
    height: 100%;
    position: relative;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.luxury-formula-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 25px 55px rgba(184, 150, 94, 0.16);
    border-color: var(--accent-color);
}

/* Star Highlighted Card */
.luxury-star-card {
    background: #ffffff;
    border: 2px solid var(--accent-color);
    box-shadow: 0 20px 50px rgba(184, 150, 94, 0.2);
    transform: translateY(-6px);
}

.luxury-star-card:hover {
    transform: translateY(-12px);
    box-shadow: 0 30px 65px rgba(184, 150, 94, 0.28);
}

.star-ribbon {
    position: absolute;
    top: -14px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, var(--accent-color) 0%, #c9a66b 100%);
    color: #ffffff;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1px;
    padding: 5px 16px;
    border-radius: 20px;
    box-shadow: 0 6px 18px rgba(184, 150, 94, 0.35);
    white-space: nowrap;
    z-index: 2;
}

.luxury-card-head {
    margin-bottom: 18px;
}

.luxury-duration-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(184, 150, 94, 0.12);
    color: var(--accent-color);
    font-size: 12px;
    font-weight: 700;
    padding: 4px 12px;
    border-radius: 12px;
    margin-bottom: 12px;
}

.star-duration {
    background: rgba(184, 150, 94, 0.2);
}

.formula-name {
    font-size: 21px;
    font-weight: 700;
    color: var(--primary-color, #1a2b23);
    margin-bottom: 10px;
    line-height: 1.3;
}

.luxury-price {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin-bottom: 6px;
}

.luxury-price .amount {
    font-size: 36px;
    font-weight: 800;
    color: var(--primary-color, #1a2b23);
    line-height: 1;
}

.luxury-price .period {
    font-size: 13.5px;
    color: #777;
    font-weight: 500;
}

.star-price .amount {
    color: var(--accent-color);
}

.luxury-card-thumb {
    margin-bottom: 18px;
    border-radius: 16px;
    overflow: hidden;
    line-height: 0;
}

.luxury-card-thumb figure {
    margin: 0;
}

.luxury-card-thumb img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    transition: transform 0.5s ease-in-out;
}

.luxury-formula-card:hover .luxury-card-thumb img {
    transform: scale(1.05);
}

.luxury-card-body {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.formula-desc {
    font-size: 13.5px;
    line-height: 1.55;
    color: #666;
    margin-bottom: 18px;
}

.luxury-features-list {
    list-style: none;
    padding: 0;
    margin: 0 0 24px 0;
    display: flex;
    flex-direction: column;
    gap: 11px;
}

.luxury-features-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 13px;
    line-height: 1.45;
    color: #444;
}

.check-circle {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: rgba(184, 150, 94, 0.14);
    color: var(--accent-color);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    flex-shrink: 0;
    margin-top: 1px;
}

.star-check {
    background: var(--accent-color);
    color: #ffffff;
}

.luxury-card-footer {
    margin-top: auto;
}

.btn-luxury {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 13px 18px;
    border-radius: 14px;
    background: #fdfbf7;
    border: 1px solid rgba(184, 150, 94, 0.35);
    color: var(--primary-color, #1a2b23);
    font-size: 13.5px;
    font-weight: 700;
    text-transform: capitalize;
    transition: all 0.3s ease-in-out;
}

.btn-luxury:hover {
    background: var(--accent-color);
    border-color: var(--accent-color);
    color: #ffffff;
    gap: 12px;
}

.btn-luxury-star {
    background: linear-gradient(135deg, var(--accent-color) 0%, #c9a66b 100%);
    border: none;
    color: #ffffff;
    box-shadow: 0 8px 20px rgba(184, 150, 94, 0.28);
}

.btn-luxury-star:hover {
    background: linear-gradient(135deg, #a6844b 0%, var(--accent-color) 100%);
    box-shadow: 0 12px 28px rgba(184, 150, 94, 0.4);
    color: #ffffff;
}

/* Pricing Trust Bar */
.pricing-trust-bar {
    margin-top: 55px;
    background: #ffffff;
    border-radius: 20px;
    padding: 24px 35px;
    border: 1px solid rgba(184, 150, 94, 0.2);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
    display: flex;
    align-items: center;
    justify-content: space-around;
    flex-wrap: wrap;
    gap: 25px;
}

.trust-item {
    display: flex;
    align-items: center;
    gap: 14px;
}

.trust-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: rgba(184, 150, 94, 0.12);
    color: var(--accent-color);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
}

.trust-text {
    display: flex;
    flex-direction: column;
}

.trust-text strong {
    font-size: 14.5px;
    color: var(--primary-color, #1a2b23);
    font-weight: 700;
}

.trust-text span {
    font-size: 12.5px;
    color: #777;
}

@media only screen and (max-width: 991px) {
    .pricing-trust-bar {
        flex-direction: column;
        align-items: flex-start;
        padding: 20px;
    }
    .luxury-star-card {
        transform: none;
    }
}


/* 4. Process Section (How it works) */
.home-process-clean {
    padding: 90px 0;
    background: #ffffff;
}

.home-process-image-wrap {
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(184, 150, 94, 0.2);
}

.home-process-image-wrap figure {
    margin: 0;
    line-height: 0;
}

.home-process-image-wrap img {
    width: 100%;
    aspect-ratio: 1 / 1.1;
    object-fit: cover;
}

.how-work-step {
    background: #fdfbf7;
    border-radius: 20px;
    padding: 24px;
    border: 1px solid rgba(184, 150, 94, 0.18);
    display: flex;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 20px;
    transition: all 0.3s ease-in-out;
}

.how-work-step:hover {
    background: #ffffff;
    border-color: var(--accent-color);
    box-shadow: 0 10px 25px rgba(184, 150, 94, 0.1);
    transform: translateX(5px);
}

.how-work-step-no h2 {
    font-size: 26px;
    font-weight: 800;
    color: var(--accent-color);
    margin: 0;
    line-height: 1;
}

.how-work-step-content h3 {
    font-size: 18px;
    font-weight: 700;
    color: var(--primary-color, #1a2b23);
    margin-bottom: 6px;
}

.how-work-step-content p {
    font-size: 14px;
    line-height: 1.5;
    color: #666;
    margin: 0;
}

/* 5. Testimonials Section */
.home-testimonials-clean {
    padding: 90px 0;
    background: #fdfbf7;
}

.testimonial-item {
    background: #ffffff;
    border-radius: 22px;
    padding: 26px;
    border: 1px solid rgba(184, 150, 94, 0.2);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
    margin-bottom: 20px;
}

.testimonial-rating {
    color: #f1b931;
    font-size: 14px;
    margin-top: 12px;
}

/* 6. CTA Box Clean */
.home-cta-clean {
    background: linear-gradient(135deg, var(--primary-color, #1a2b23) 0%, #263e33 100%);
    padding: 60px 0;
    border-radius: 0;
}

.home-cta-clean .section-title h2 {
    color: #ffffff;
}

/* 7. FAQs Clean */
.home-faqs-clean {
    padding: 90px 0;
    background: #ffffff;
}

.faq-accordion .accordion-item {
    background: #fdfbf7;
    border-radius: 16px !important;
    border: 1px solid rgba(184, 150, 94, 0.2);
    margin-bottom: 14px;
    overflow: hidden;
}

.faq-accordion .accordion-button {
    background: #fdfbf7;
    font-size: 16.5px;
    font-weight: 600;
    color: var(--primary-color, #1a2b23);
    padding: 20px 24px;
    box-shadow: none;
}

.faq-accordion .accordion-button:not(.collapsed) {
    background: rgba(184, 150, 94, 0.08);
    color: var(--accent-color);
}

.faq-accordion .accordion-body {
    padding: 10px 24px 22px;
    font-size: 14.5px;
    line-height: 1.6;
    color: #555;
}

.faqs-image {
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(184, 150, 94, 0.2);
    position: relative;
}

.faqs-image figure {
    margin: 0;
    line-height: 0;
}

.faqs-image img {
    width: 100%;
    aspect-ratio: 1 / 1.15;
    object-fit: cover;
}

.faqs-contact-box {
    position: absolute;
    bottom: 20px;
    left: 20px;
    right: 20px;
    background: #ffffff;
    border-radius: 18px;
    padding: 16px 20px;
    display: flex;
    align-items: center;
    gap: 15px;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
    border: 1px solid rgba(184, 150, 94, 0.3);
}

.faqs-contact-box .icon-box {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: rgba(184, 150, 94, 0.15);
    color: var(--accent-color);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}

.faqs-contact-box-content h3 {
    font-size: 14px;
    font-weight: 700;
    color: var(--primary-color, #1a2b23);
    margin: 0 0 2px 0;
}

.faqs-contact-box-content p a {
    font-size: 15px;
    font-weight: 700;
    color: var(--accent-color);
}

/* 8. Blog Clean */
.home-blog-clean {
    padding: 90px 0 100px;
    background: #fdfbf7;
}

.post-item {
    background: #ffffff;
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid rgba(184, 150, 94, 0.2);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
    height: 100%;
    display: flex;
    flex-direction: column;
    transition: all 0.35s ease-in-out;
}

.post-item:hover {
    transform: translateY(-7px);
    box-shadow: 0 20px 45px rgba(184, 150, 94, 0.15);
    border-color: var(--accent-color);
}

.post-featured-image {
    overflow: hidden;
}

.post-featured-image figure {
    margin: 0;
    line-height: 0;
}

.post-featured-image img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    transition: transform 0.5s ease-in-out;
}

.post-item:hover .post-featured-image img {
    transform: scale(1.05);
}

.post-item-body {
    padding: 24px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.post-item-meta ul {
    display: flex;
    gap: 15px;
    list-style: none;
    padding: 0;
    margin: 0 0 12px 0;
}

.post-item-meta ul li {
    font-size: 12.5px;
    color: #888;
    display: flex;
    align-items: center;
    gap: 6px;
}

.post-item-meta ul li i {
    color: var(--accent-color);
}

.post-item-content h3 {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 10px;
}

.post-item-content h3 a {
    color: var(--primary-color, #1a2b23);
    transition: color 0.2s ease-in-out;
}

.post-item-content h3 a:hover {
    color: var(--accent-color);
}

.post-item-content p {
    font-size: 14px;
    line-height: 1.6;
    color: #666;
    margin-bottom: 18px;
    flex-grow: 1;
}

.readmore-btn {
    font-size: 14px;
    font-weight: 600;
    color: var(--accent-color);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: gap 0.2s ease-in-out;
}

.readmore-btn:hover {
    color: var(--primary-color, #1a2b23);
    gap: 10px;
}

/* ==========================================================================
   Luxury Emerald & Gold Ribbon Ticker
   ========================================================================== */

.luxury-ribbon-ticker {
    background: linear-gradient(135deg, #102119 0%, #1a3328 50%, #102119 100%);
    border-top: 1px solid rgba(184, 150, 94, 0.4);
    border-bottom: 1px solid rgba(184, 150, 94, 0.4);
    padding: 24px 0;
    overflow: hidden;
    position: relative;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
}

.luxury-ticker-track {
    display: flex;
    width: max-content;
    animation: luxuryTickerScroll 35s linear infinite;
    will-change: transform;
}

.luxury-ribbon-ticker:hover .luxury-ticker-track {
    animation-play-state: paused;
}

.luxury-ticker-content {
    display: flex;
    align-items: center;
    gap: 40px;
    padding-right: 40px;
    flex-shrink: 0;
}

.luxury-ticker-content span {
    font-family: var(--accent-font, 'Marcellus', serif);
    font-size: 22px;
    font-weight: 400;
    letter-spacing: 1.2px;
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    gap: 16px;
    white-space: nowrap;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

.luxury-ticker-content span i {
    color: var(--accent-color, #b8965e);
    font-size: 15px;
    filter: drop-shadow(0 0 6px rgba(184, 150, 94, 0.6));
    animation: starPulse 2.5s ease-in-out infinite alternate;
}

@keyframes luxuryTickerScroll {
    0% {
        transform: translate3d(0, 0, 0);
    }
    100% {
        transform: translate3d(-50%, 0, 0);
    }
}

@keyframes starPulse {
    0% {
        transform: scale(0.9);
        opacity: 0.8;
    }
    100% {
        transform: scale(1.15);
        opacity: 1;
    }
}

@media only screen and (max-width: 767px) {
    .luxury-ribbon-ticker {
        padding: 18px 0;
    }
    .luxury-ticker-content span {
        font-size: 17px;
        gap: 12px;
    }
    .luxury-ticker-content {
        gap: 25px;
        padding-right: 25px;
    }
}

/* ==========================================================================
   Global Hero Spacing Adjustment (All Pages - Eyebrow & Hero Content offset)
   ========================================================================== */

.magic-dark-intro-hero,
.affection-dark-intro-hero,
.profile-dark-hero,
.about-dark-intro-hero,
.guarantees-hero,
.voyance-hero,
.affection-hero,
.profile-hero,
.booking-hero,
.booking-page-hero,
.services-landing-hero,
.legal-hero {
    padding-top: 180px !important;
    padding-bottom: 105px !important;
}

@media only screen and (max-width: 991px) {
    .magic-dark-intro-hero,
    .affection-dark-intro-hero,
    .profile-dark-hero,
    .about-dark-intro-hero,
    .guarantees-hero,
    .voyance-hero,
    .affection-hero,
    .profile-hero,
    .booking-hero,
    .booking-page-hero,
    .services-landing-hero,
    .legal-hero {
        padding-top: 145px !important;
        padding-bottom: 75px !important;
    }
}

/* ==========================================================================
   Luxury Testimonials (No reviewer photos, elegant monogram initials)
   ========================================================================== */

.author-avatar-initials {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: linear-gradient(135deg, #182e23 0%, #264736 100%);
    border: 2px solid var(--accent-color, #b8965e);
    color: #ffffff;
    font-family: var(--accent-font, 'Marcellus', serif);
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 1px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 15px rgba(184, 150, 94, 0.25);
    flex-shrink: 0;
}

.verified-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    font-weight: 600;
    color: #27ae60;
    background: rgba(39, 174, 96, 0.1);
    padding: 3px 9px;
    border-radius: 12px;
    margin-left: 8px;
    vertical-align: middle;
}

.verified-badge i {
    font-size: 11px;
    color: #27ae60;
}

.testimonial-author {
    display: flex;
    align-items: center;
    gap: 16px;
}

.luxury-testimonial-item {
    background: #ffffff;
    border-radius: 20px;
    padding: 32px 28px;
    border: 1px solid rgba(184, 150, 94, 0.2);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
    transition: all 0.35s ease;
    margin-bottom: 24px;
}

.luxury-testimonial-item:hover {
    border-color: var(--accent-color);
    box-shadow: 0 15px 40px rgba(184, 150, 94, 0.14);
    transform: translateY(-4px);
}

.luxury-testimonial-item .testimonial-rating {
    color: var(--accent-color, #b8965e);
    font-size: 14px;
    display: flex;
    gap: 4px;
    margin-top: 15px;
}

/* Stats Box Ultra Premium */
.home-stat-box {
    background: #ffffff;
    border-radius: 20px;
    padding: 35px 22px;
    text-align: center;
    border: 1px solid rgba(184, 150, 94, 0.25);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
    transition: all 0.35s cubic-bezier(0.165, 0.84, 0.44, 1);
    position: relative;
    overflow: hidden;
}

.home-stat-box::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--accent-color), transparent);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.home-stat-box:hover {
    border-color: var(--accent-color);
    box-shadow: 0 20px 45px rgba(184, 150, 94, 0.18);
    transform: translateY(-7px);
}

.home-stat-box:hover::before {
    opacity: 1;
}

.home-stat-box .stat-icon {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(184, 150, 94, 0.15) 0%, rgba(184, 150, 94, 0.05) 100%);
    border: 1px solid rgba(184, 150, 94, 0.3);
    color: var(--accent-color);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    margin: 0 auto 16px;
    transition: all 0.3s ease;
}

.home-stat-box:hover .stat-icon {
    background: var(--accent-color);
    color: #ffffff;
    transform: scale(1.08);
}

.home-stat-box .stat-num {
    font-family: var(--accent-font, 'Marcellus', serif);
    font-size: 42px;
    font-weight: 700;
    color: var(--primary-color, #1a2b23);
    line-height: 1.1;
    margin-bottom: 8px;
    letter-spacing: -0.5px;
}

.home-stat-box .stat-num span {
    color: var(--accent-color, #b8965e);
}

.home-stat-box p {
    font-size: 14px;
    font-weight: 600;
    color: #555555;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.8px;
}

/* ==========================================================================
   Luxury Step 1 Formula Selection Cards (Redesign)
   ========================================================================== */

.luxury-booking-formula-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin-top: 10px;
}

.luxury-select-card {
    position: relative;
    display: flex !important;
    flex-direction: column;
    background: #ffffff !important;
    border-radius: 20px !important;
    padding: 24px 22px 20px !important;
    border: 1.5px solid rgba(184, 150, 94, 0.25) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.03) !important;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
    overflow: hidden;
    min-height: 240px;
}

.luxury-select-card input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.luxury-select-card:hover {
    transform: translateY(-4px);
    border-color: var(--accent-color, #b8965e) !important;
    box-shadow: 0 14px 30px rgba(184, 150, 94, 0.14) !important;
}

.luxury-select-card:has(input:checked),
.luxury-select-card.is-selected {
    border-color: var(--accent-color, #b8965e) !important;
    background: linear-gradient(180deg, #fffdfa 0%, #faf5ea 100%) !important;
    box-shadow: 0 16px 36px rgba(184, 150, 94, 0.18) !important;
    transform: translateY(-4px);
}

.select-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(184, 150, 94, 0.15);
}

.select-card-badge-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
}

.select-card-icon {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(184, 150, 94, 0.12);
    color: var(--accent-color, #b8965e);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    transition: all 0.3s ease;
}

.luxury-select-card:has(input:checked) .select-card-icon {
    background: var(--accent-color, #b8965e);
    color: #ffffff;
}

.select-card-duration {
    font-size: 12px;
    font-weight: 600;
    color: var(--primary-color, #1a2b23);
    background: rgba(26, 43, 35, 0.06);
    padding: 4px 10px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.select-card-right {
    display: flex;
    align-items: center;
    gap: 8px;
}

.select-card-star-badge {
    background: linear-gradient(135deg, #b8965e 0%, #d4b57e 100%);
    color: #ffffff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    padding: 4px 9px;
    border-radius: 100px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    box-shadow: 0 2px 8px rgba(184, 150, 94, 0.3);
}

.select-card-check {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 1.5px solid #d5d9d6;
    background: #ffffff;
    color: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    transition: all 0.25s ease;
}

.luxury-select-card:has(input:checked) .select-card-check,
.luxury-select-card.is-selected .select-card-check {
    border-color: var(--accent-color, #b8965e);
    background: var(--accent-color, #b8965e);
    color: #ffffff;
}

.select-card-body h3 {
    font-family: var(--accent-font, 'Marcellus', serif);
    font-size: 20px;
    font-weight: 400;
    color: var(--primary-color, #1a2b23) !important;
    margin: 0 0 10px;
    line-height: 1.25;
}

.select-card-price {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin-bottom: 12px;
}

.select-card-price .price-val {
    font-family: var(--accent-font, 'Marcellus', serif);
    font-size: 28px;
    font-weight: 700;
    color: var(--accent-color, #b8965e) !important;
    line-height: 1;
}

.select-card-price .price-label {
    font-size: 12px;
    font-weight: 500;
    color: #888888;
}

.select-card-desc {
    font-size: 13px;
    line-height: 1.55;
    color: #555555 !important;
    margin: 0 0 14px;
    flex-grow: 1;
}

.select-card-features {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-top: 12px;
    border-top: 1px dashed rgba(184, 150, 94, 0.2);
}

.select-card-features li {
    font-size: 12px;
    color: var(--primary-color, #1a2b23);
    display: flex;
    align-items: center;
    gap: 7px;
}

.select-card-features li i {
    color: var(--accent-color, #b8965e);
    font-size: 11px;
}

@media only screen and (max-width: 767px) {
    .luxury-booking-formula-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}

/* ==========================================================================
   Luxury Step 2, 3 & 4 Styles
   ========================================================================== */

.booking-step-tag {
    display: inline-block;
    color: var(--accent-color, #b8965e);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.6px;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.booking-section-subtitle {
    margin-bottom: 22px;
}

.booking-section-subtitle h3 {
    font-size: 18px;
    font-weight: 700;
    color: var(--primary-color, #1a2b23);
    margin-bottom: 5px;
}

.booking-section-subtitle p {
    font-size: 13.5px;
    color: #666;
    margin: 0;
}

/* Step 2: Availability Cards */
.luxury-avail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 20px;
}

.luxury-avail-card {
    position: relative;
    background: #ffffff;
    border: 1.5px solid rgba(184, 150, 94, 0.25);
    border-radius: 18px;
    padding: 22px 20px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.luxury-avail-card input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.luxury-avail-card:hover {
    border-color: var(--accent-color);
    box-shadow: 0 10px 24px rgba(184, 150, 94, 0.12);
    transform: translateY(-3px);
}

.luxury-avail-card:has(input:checked),
.luxury-avail-card.is-selected {
    border-color: var(--accent-color, #b8965e) !important;
    background: linear-gradient(180deg, #fffdfa 0%, #faf5ea 100%) !important;
    box-shadow: 0 12px 28px rgba(184, 150, 94, 0.16) !important;
    transform: translateY(-3px);
}

.avail-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.avail-card-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(184, 150, 94, 0.12);
    color: var(--accent-color, #b8965e);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
}

.luxury-avail-card:has(input:checked) .avail-card-icon {
    background: var(--accent-color, #b8965e);
    color: #ffffff;
}

.avail-radio-check {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 1.5px solid #d5d9d6;
    background: #ffffff;
    color: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
}

.luxury-avail-card:has(input:checked) .avail-radio-check,
.luxury-avail-card.is-selected .avail-radio-check {
    border-color: var(--accent-color, #b8965e);
    background: var(--accent-color, #b8965e);
    color: #ffffff;
}

.avail-card-body strong {
    display: block;
    font-family: var(--accent-font, 'Marcellus', serif);
    font-size: 18px;
    color: var(--primary-color, #1a2b23);
    margin-bottom: 4px;
}

.avail-card-body p {
    font-size: 13px;
    color: #555555;
    margin: 0;
    line-height: 1.45;
}

.form-text-hint {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #777;
    font-size: 11.5px;
    margin-top: 8px;
}

/* Step 3: Form Fields */
.booking-fields-row label {
    font-size: 13px;
    font-weight: 600;
    color: var(--primary-color, #1a2b23);
    margin-bottom: 6px;
    display: block;
}

.booking-fields-row label em {
    color: #d9534f;
    font-style: normal;
    font-weight: bold;
}

.booking-fields-row .form-control {
    border: 1.5px solid rgba(184, 150, 94, 0.25);
    border-radius: 12px;
    padding: 12px 16px;
    font-size: 14px;
    color: var(--primary-color, #1a2b23);
    background: #ffffff;
    transition: all 0.25s ease;
}

.booking-fields-row .form-control:focus {
    border-color: var(--accent-color, #b8965e);
    box-shadow: 0 0 0 4px rgba(184, 150, 94, 0.15);
    outline: none;
}

/* Step 4: Payment Cards */
.luxury-payment-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 24px;
}

.luxury-payment-card {
    position: relative;
    background: #ffffff;
    border: 1.5px solid rgba(184, 150, 94, 0.25);
    border-radius: 18px;
    padding: 22px 20px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.luxury-payment-card input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.luxury-payment-card:hover {
    border-color: var(--accent-color);
    box-shadow: 0 10px 24px rgba(184, 150, 94, 0.12);
    transform: translateY(-3px);
}

.luxury-payment-card:has(input:checked),
.luxury-payment-card.is-selected {
    border-color: var(--accent-color, #b8965e) !important;
    background: linear-gradient(180deg, #fffdfa 0%, #faf5ea 100%) !important;
    box-shadow: 0 12px 28px rgba(184, 150, 94, 0.16) !important;
    transform: translateY(-3px);
}

.payment-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.payment-card-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(184, 150, 94, 0.12);
    color: var(--accent-color, #b8965e);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
}

.luxury-payment-card:has(input:checked) .payment-card-icon {
    background: var(--accent-color, #b8965e);
    color: #ffffff;
}

.payment-radio-check {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 1.5px solid #d5d9d6;
    background: #ffffff;
    color: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
}

.luxury-payment-card:has(input:checked) .payment-radio-check,
.luxury-payment-card.is-selected .payment-radio-check {
    border-color: var(--accent-color, #b8965e);
    background: var(--accent-color, #b8965e);
    color: #ffffff;
}

.payment-card-body strong {
    display: block;
    font-family: var(--accent-font, 'Marcellus', serif);
    font-size: 18px;
    color: var(--primary-color, #1a2b23);
    margin-bottom: 4px;
}

.payment-card-body p {
    font-size: 13px;
    color: #555555;
    margin: 0;
    line-height: 1.45;
}

.luxury-reassurance-box {
    display: flex;
    align-items: center;
    gap: 14px;
    background: #fdfbf7;
    border: 1px solid rgba(184, 150, 94, 0.25);
    border-radius: 14px;
    padding: 16px 20px;
    margin-top: 10px;
}

.luxury-reassurance-box .reassurance-icon {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(184, 150, 94, 0.15);
    color: var(--accent-color, #b8965e);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
}

.luxury-reassurance-box p {
    font-size: 12.5px;
    line-height: 1.5;
    color: #555555;
    margin: 0;
}

@media only screen and (max-width: 767px) {
    .luxury-avail-grid,
    .luxury-payment-grid {
        grid-template-columns: 1fr;
    }
}









