:root {
	--cream: #f5ede6;
	--blush: #f7e8e2;
	--blush-mid: #eecfc4;
	--rose: #d4958a;
	--rose-deep: #c0705a;
	--peach: #e8a882;
	--sage: #8aac88;
	--sage-light: #d4e4d2;
	--gold: #c9a96e;
	--gold-light: #eeddb8;
	--petal: #fdf6f2;
	--lavender: #ede8f0;
	--warm-white: #fefaf8;
	--deep: #2c1a14;
	--muted: #7a5a50;
	--text-light: #b09088;
}
*,*::before,*::after{
	box-sizing:border-box;
	margin:0;
	padding:0
}
body{
	font-family: 'Montserrat', sans-serif;
	font-weight:300;
	background:var(--warm-white);
	color:var(--deep)
}
/* ── SOUND PLAYER ── */
.sound-player{
	position:fixed;
	bottom:24px;
	right:24px;
	z-index:9999;
	display:flex;
	align-items:center;
	gap:.7rem;
	background:rgba(253,246,242,0.97);
	backdrop-filter:blur(20px);
	border:1px solid var(--blush-mid);
	border-radius:50px;
	padding:.55rem 1.1rem .55rem .6rem;
	box-shadow:0 8px 40px rgba(192,112,90,0.2)
}
.play-btn{
	width:38px;
	height:38px;
	border-radius:50%;
	background:linear-gradient(135deg,var(--rose-deep),#8a5060);
	border:none;
	cursor:pointer;
	color:#fff;
	font-size:.9rem;
	display:flex;
	align-items:center;
	justify-content:center;
	transition:transform .2s;
	flex-shrink:0
}
.play-btn:hover{
	transform:scale(1.1)
}
.player-title{
	font-size:.72rem;
	font-weight:500;
	color:var(--deep)
}
.player-sub{
	font-size:.6rem;
	color:var(--text-light);
	letter-spacing:.06em
}
.wave-bars{
	display:flex;
	align-items:center;
	gap:2px;
	height:16px
}
.wave-bar{
	width:3px;
	background:linear-gradient(to top,var(--rose),var(--peach));
	border-radius:3px;
	opacity:.2;
	animation:wv 1.2s ease-in-out infinite
}
.wave-bar:nth-child(1){
	height:5px;
	animation-delay:0s
}
.wave-bar:nth-child(2){
	height:12px;
	animation-delay:.15s
}
.wave-bar:nth-child(3){
	height:8px;
	animation-delay:.3s
}
.wave-bar:nth-child(4){
	height:15px;
	animation-delay:.45s
}
.wave-bar:nth-child(5){
	height:6px;
	animation-delay:.6s
}
.wave-bar.active{
	opacity:1
}
@keyframes wv{
	0%,100%{
		transform:scaleY(.5)
}
	50%{
		transform:scaleY(1.2)
}
}
input[type=range]{
	-webkit-appearance:none;
	width:60px;
	height:3px;
	background:var(--blush-mid);
	border-radius:3px;
	outline:none
}
input[type=range]::-webkit-slider-thumb{
	-webkit-appearance:none;
	width:11px;
	height:11px;
	border-radius:50%;
	background:var(--rose-deep);
	cursor:pointer
}
/* ── NAVBAR ── */
.navbar{
	background:linear-gradient(to right, #fdfef9 10%, #fdfeff 100%);
	backdrop-filter:blur(16px);
	border-bottom:1px solid var(--blush-mid);
	padding:.7rem 0;
	border: 1;
}
.nav-logo{
	height:auto;
	width:300px;
	/*! border: 2px solid #000000;
	*/
}
.nav-link{
	font-size:.75rem;
	letter-spacing:.15em;
	text-transform:uppercase;
	color:var(--muted)!important;
	margin:0 .45rem;
	transition:color .3s;
	font-weight:400
}
.nav-link:hover{
	color:var(--rose-deep)!important
}
.nav-cta{
	background:linear-gradient(135deg,var(--rose-deep),#8a5060);
	color:#fff!important;
	padding:.45rem 1.3rem!important;
	border-radius:30px;
	font-size:.72rem!important;
	letter-spacing:.12em
}
/* ── HERO ── */
.hero{
	min-height:100vh;
	background:linear-gradient(150deg,#fdf6f2 0%,#f7e8e2 30%,#ede8f0 65%,#fdf4f0 100%);
	display:flex;
	align-items:center;
	position:relative;
	overflow:hidden;
	padding-top:5rem
}
.blob{
	position:absolute;
	border-radius:50%;
	filter:blur(70px);
	pointer-events:none
}
.blob-1{
	width:520px;
	height:520px;
	background:radial-gradient(circle,rgba(192,112,90,.1),transparent 70%);
	top:-150px;
	right:-120px;
	animation:flt 10s ease-in-out infinite
}
.blob-2{
	width:380px;
	height:380px;
	background:radial-gradient(circle,rgba(138,172,136,.12),transparent 70%);
	bottom:-100px;
	left:-80px;
	animation:flt 13s ease-in-out infinite reverse
}
@keyframes flt{
	0%,100%{
		transform:translateY(0)
}
	50%{
		transform:translateY(-28px)
}
}
.hero-eyebrow{
	display:inline-flex;
	align-items:center;
	gap:.5rem;
	background:rgba(192,112,90,.08);
	border:1px solid rgba(192,112,90,.2);
	border-radius:30px;
	padding:.38rem .95rem;
	font-size:.7rem;
	letter-spacing:.22em;
	text-transform:uppercase;
	color:var(--rose-deep);
	margin-bottom:1.6rem
}
.hero-title{
	font-family:'Playfair Display',serif;
	font-size:clamp(2.6rem,5.5vw,4.8rem);
	font-weight:300;
	line-height:1.08;
	color:var(--deep);
	margin-bottom:1.4rem
}
.hero-title em{
	font-style:italic;
	background:linear-gradient(135deg,var(--rose-deep),#8a5060);
	-webkit-background-clip:text;
	-webkit-text-fill-color:transparent;
	background-clip:text
}
.hero-desc{
	font-size:.97rem;
	color:var(--muted);
	line-height:1.95;
	max-width:430px;
	margin-bottom:1.8rem
}
.hero-loc{
	font-size:.8rem;
	color:var(--text-light);
	margin-bottom:2.4rem
}
.hero-loc strong{
	color:var(--rose-deep)
}
.btn-primary-ss{
	background:linear-gradient(135deg,var(--rose-deep),#8a5060);
	color:#fff;
	border:none;
	padding:.88rem 2.1rem;
	border-radius:30px;
	font-family:'Nunito',sans-serif;
	font-size:.8rem;
	letter-spacing:.15em;
	text-transform:uppercase;
	text-decoration:none;
	display:inline-block;
	transition:all .3s;
	box-shadow:0 8px 28px rgba(192,112,90,.28)
}
.btn-primary-ss:hover{
	transform:translateY(-3px);
	box-shadow:0 14px 40px rgba(192,112,90,.38);
	color:#fff
}
.btn-outline-ss{
	background:transparent;
	color:var(--rose-deep);
	border:1.5px solid var(--rose);
	padding:.88rem 2.1rem;
	border-radius:30px;
	font-family:'Nunito',sans-serif;
	font-size:.8rem;
	letter-spacing:.15em;
	text-transform:uppercase;
	text-decoration:none;
	display:inline-block;
	transition:all .3s
}
.btn-outline-ss:hover{
	background:var(--blush);
	border-color:var(--rose-deep)
}
/* Hero visual */
.bowl-visual{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	height:460px
}
.ring{
	position:absolute;
	border-radius:50%;
	border:1.5px solid;
	animation:rp 3.2s ease-out infinite
}
.ring:nth-child(1){
	width:230px;
	height:230px;
	border-color:rgba(192,112,90,.5);
	animation-delay:0s
}
.ring:nth-child(2){
	width:316px;
	height:316px;
	border-color:rgba(192,112,90,.28);
	animation-delay:.8s
}
.ring:nth-child(3){
	width:408px;
	height:408px;
	border-color:rgba(192,112,90,.12);
	animation-delay:1.6s
}
@keyframes rp{
	0%{
		transform:scale(.97);
		opacity:.9
}
	100%{
		transform:scale(1.07);
		opacity:0
}
}
.hero-bowl-img{
	width:210px;
	height:210px;
	border-radius:50%;
	object-fit:cover;
	z-index:5;
	box-shadow:0 16px 60px rgba(192,112,90,.3),0 0 0 7px rgba(253,246,242,.9);
	animation:flt 5s ease-in-out infinite
}
.fi{
	position:absolute;
	background:rgba(253,246,242,.95);
	border:1px solid var(--blush-mid);
	border-radius:50%;
	width:46px;
	height:46px;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:1.1rem;
	box-shadow:0 4px 18px rgba(192,112,90,.1)
}
.fi-1{
	top:28px;
	left:68px;
	animation:flt 5s ease-in-out infinite
}
.fi-2{
	top:55px;
	right:58px;
	animation:flt 7s ease-in-out infinite 1s
}
.fi-3{
	bottom:48px;
	left:78px;
	animation:flt 6s ease-in-out infinite .5s
}
.fi-4{
	bottom:38px;
	right:68px;
	animation:flt 8s ease-in-out infinite 1.5s
}
/* Stats */
.stats-strip{
	background:#fff;
	border-top:1px solid var(--blush-mid);
	border-bottom:1px solid var(--blush-mid);
	padding:2rem 0
}
.stat-num{
	font-family:'Playfair Display',serif;
	font-size:2rem;
	font-weight:400;
	background:linear-gradient(135deg,var(--rose-deep),#8a5060);
	-webkit-background-clip:text;
	-webkit-text-fill-color:transparent;
	background-clip:text
}
.stat-lbl{
	font-size:.7rem;
	letter-spacing:.18em;
	text-transform:uppercase;
	color:var(--text-light);
	margin-top:2px
}
section{
	padding:5.5rem 0
}
.sec-lbl{
	font-size:.68rem;
	letter-spacing:.3em;
	text-transform:uppercase;
	color:var(--rose-deep);
	margin-bottom:.7rem
}
.sec-ttl{
	font-family:'Playfair Display',serif;
	font-size:clamp(1.8rem,3.2vw,2.7rem);
	font-weight:300;
	line-height:1.2;
	color:var(--deep)
}
.sec-ttl em{
	font-style:italic;
	background:linear-gradient(135deg,var(--rose-deep),#8a5060);
	-webkit-background-clip:text;
	-webkit-text-fill-color:transparent;
	background-clip:text
}
.pdiv{
	display:flex;
	align-items:center;
	gap:.5rem;
	margin:1.1rem 0 1.7rem
}
.pdiv::before,.pdiv::after{
	content:'';
	flex:1;
	height:1px
}
.pdiv::before{
	background:linear-gradient(to right,var(--blush-mid),transparent)
}
.pdiv::after{
	background:linear-gradient(to left,var(--blush-mid),transparent)
}
/* GALLERY */
.gallery-bg{
	background:var(--petal)
}
.gallery-grid{
	display:grid;
	grid-template-columns:1.35fr 1fr 1fr;
	grid-template-rows:275px 195px;
	gap:13px
}
.gi{
	border-radius:18px;
	overflow:hidden;
	position:relative;
	cursor:pointer;
	background:var(--blush)
}
.gi img{
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform .55s;
	display:block
}
.gi:hover img{
	transform:scale(1.05)
}
.gi.tall{
	grid-row:span 2
}
.gov{
	position:absolute;
	inset:0;
	background:linear-gradient(to top,rgba(44,26,20,.5),transparent 55%);
	opacity:0;
	transition:opacity .4s;
	display:flex;
	align-items:flex-end;
	padding:1.1rem
}
.gi:hover .gov{
	opacity:1
}
.gov span{
	color:#fff;
	font-size:.76rem;
	letter-spacing:.14em;
	text-transform:uppercase
}
.cc0-badge{
	display:inline-flex;
	align-items:center;
	gap:.35rem;
	background:rgba(138,172,136,.12);
	border:1px solid rgba(138,172,136,.25);
	border-radius:20px;
	padding:.28rem .75rem;
	font-size:.67rem;
	color:var(--sage);
	letter-spacing:.07em;
	margin-top:1rem
}
/* SERVICES */
.svc-card{
	background:#fff;
	border:1px solid var(--blush-mid);
	border-radius:20px;
	overflow:hidden;
	height:100%;
	transition:transform .35s,box-shadow .35s;
	position:relative
}
.svc-card::after{
	content:'';
	position:absolute;
	top:0;
	left:0;
	right:0;
	height:3px;
	background:linear-gradient(90deg,var(--rose-deep),var(--peach));
	transform:scaleX(0);
	transition:transform .35s;
	transform-origin:left
}
.svc-card:hover{
	transform:translateY(-8px);
	box-shadow:0 20px 56px rgba(192,112,90,.12)
}
.svc-card:hover::after{
	transform:scaleX(1)
}
.svc-img{
	width:100%;
	height:175px;
	object-fit:cover;
	display:block
}
.svc-body{
	padding:1.4rem
}
.svc-ico{
	width:46px;
	height:46px;
	border-radius:13px;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:1.35rem;
	margin-bottom:.9rem
}
.svc-card h4{
	font-family:'Playfair Display',serif;
	font-size:1.15rem;
	font-weight:400;
	color:var(--deep);
	margin-bottom:.6rem
}
.svc-card p{
	font-size:.86rem;
	color:var(--muted);
	line-height:1.85;
	margin-bottom:.9rem
}
.svc-meta{
	display:flex;
	gap:.9rem;
	font-size:.7rem;
	color:var(--text-light)
}
/* ABOUT */
.about-img{
	width:100%;
	height:460px;
	object-fit:cover;
	display:block;
	border-radius:30px 30px 60% 30px/30px 30px 30px 60%
}
.about-float{
	position:absolute;
	bottom:-20px;
	right:-14px;
	width:148px;
	height:148px;
	object-fit:cover;
	border-radius:50%;
	border:5px solid #fff;
	box-shadow:0 10px 36px rgba(192,112,90,.18);
	display:block
}
.tag-pill{
	display:inline-block;
	background:var(--blush);
	color:var(--rose-deep);
	border:1px solid var(--blush-mid);
	border-radius:20px;
	padding:.28rem .85rem;
	font-size:.73rem;
	margin:.18rem
}
/* BOOKING */
.booking-card{
	background:var(--petal);
	border:1px solid var(--blush-mid);
	border-radius:22px;
	padding:2.8rem
}
.form-control,.form-select{
	border:1.5px solid var(--blush-mid);
	border-radius:11px;
	background:#fff;
	padding:.78rem .95rem;
	font-family:'Nunito',sans-serif;
	font-size:.87rem;
	color:var(--deep);
	transition:border-color .3s
}
.form-control:focus,.form-select:focus{
	border-color:var(--rose);
	box-shadow:0 0 0 3px rgba(192,112,90,.08);
	background:#fff
}
.form-label{
	font-size:.7rem;
	letter-spacing:.15em;
	text-transform:uppercase;
	color:var(--muted);
	margin-bottom:.38rem
}
/* TESTIMONIALS */
.testi-bg{
	background:var(--petal)
}
.testi-card{
	background:#fff;
	border-radius:18px;
	padding:1.8rem;
	border:1px solid var(--blush-mid);
	height:100%;
	transition:transform .3s
}
.testi-card:hover{
	transform:translateY(-5px);
	box-shadow:0 16px 40px rgba(192,112,90,.1)
}
.stars{
	color:var(--gold);
	font-size:.82rem;
	margin-bottom:.9rem
}
.testi-card blockquote{
	font-family:'Playfair Display',serif;
	font-size:.97rem;
	font-style:italic;
	color:var(--deep);
	line-height:1.75;
	margin-bottom:1.1rem
}
/* LOCATION */
.map-strip{
	background:linear-gradient(135deg,var(--blush) 0%,var(--lavender) 100%);
	padding:2.8rem 0
}
.loc-card{
	background:#fff;
	border-radius:18px;
	padding:1.8rem 2.3rem;
	display:flex;
	align-items:center;
	gap:1.8rem;
	border:1px solid var(--blush-mid);
	box-shadow:0 8px 36px rgba(192,112,90,.09);
	flex-wrap:wrap
}
.loc-ico{
	width:56px;
	height:56px;
	background:linear-gradient(135deg,var(--rose-deep),#8a5060);
	border-radius:15px;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:1.4rem;
	flex-shrink:0
}
/* FOOTER */
footer{
	background:var(--deep);
	color:rgba(253,246,242,.5);
	padding:3.5rem 0 2rem
}
.footer-logo{
	height:68px;
	width:auto;
	opacity:.88
}
.footer-links a{
	color:rgba(253,246,242,.4);
	text-decoration:none;
	font-size:.76rem;
	letter-spacing:.12em;
	text-transform:uppercase;
	transition:color .3s;
	display:block;
	margin-bottom:.48rem
}
.footer-links a:hover{
	color:var(--peach)
}
.footer-bottom{
	border-top:1px solid rgba(253,246,242,.08);
	margin-top:2rem;
	padding-top:1.5rem;
	text-align:center;
	font-size:.74rem;
	color:rgba(253,246,242,.22)
}
.soc{
	width:34px;
	height:34px;
	border-radius:50%;
	border:1px solid rgba(253,246,242,.14);
	display:inline-flex;
	align-items:center;
	justify-content:center;
	font-size:.88rem;
	margin-right:.45rem;
	color:rgba(253,246,242,.38);
	transition:all .3s;
	text-decoration:none
}
.soc:hover{
	border-color:var(--peach);
	color:var(--peach)
}
@media(max-width:768px){
	.gallery-grid{
		grid-template-columns:1fr 1fr;
		grid-template-rows:auto
}
	.gi.tall{
		grid-row:span 1
}
	.sound-player .vol-row{
		display:none
}
}

	.healing-section {
  padding: 70px 20px;
  background: linear-gradient(135deg, #f8f6f2, #f1f4f9);
  font-family: 'Merriweather', serif;
}

.healing-container {
  max-width: 1000px;
  margin: auto;
  text-align: center;
}

.healing-container h1 {
  font-size: 36px;
  color: #2c2c2c;
  margin-bottom: 20px;
  font-family: 'Montserrat', sans-serif;
}

.healing-container p {
  font-size: 17px;
  color: #555;
  line-height: 1.8;
  margin-bottom: 20px;
}

.healing-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
  margin: 30px 0;
  text-align: left;
}

.healing-list li {
  list-style: none;
  background: #ffffff;
  padding: 12px 15px;
  border-radius: 8px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
  position: relative;
  padding-left: 35px;
  font-size: 15px;
}

.healing-list li::before {
  content: "🌿";
  position: absolute;
  left: 10px;
}

.healing-highlight {
  font-weight: 500;
  color: #6a5acd;
  margin-top: 10px;
}

/* Responsive */
@media (max-width: 768px) {
  .healing-list {
    grid-template-columns: 1fr;
  }

  .healing-container h1 {
    font-size: 28px;
  }
}
	
	.about-section {
  padding: 60px 20px;
  background: #f9f7f4;
 font-family: 'Montserrat', sans-serif; /* clean headings */
}

.about-container {
  max-width: 1100px;
  margin: auto;
}

.about-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 40px;
}

.about-image {
  flex: 1 1 300px;
  text-align: center;
}

.about-image img {
  width: 100%;
  max-width: 320px;
  border-radius: 12px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.1);
}

.about-content {
  flex: 1 1 500px;
}

.about-content h1 {
  font-size: 34px;
  margin-bottom: 10px;
  color: #2f2f2f;
  letter-spacing: 1px;
}

.about-content h3 {
  font-size: 20px;
  color: #6d6d6d;
  margin-bottom: 20px;
  font-weight: 600;
  font-style: italic;
}

.about-content p {
  line-height: 1.8;
  color: #444;
  margin-bottom: 15px;
  font-size: 16px;
}

.quote {
  font-style: italic;
  color: #5a4fcf;
  margin: 25px 0;
  border-left: 3px solid #5a4fcf;
  padding-left: 15px;
}

.certifications {
  margin-top: 20px;
}

.certifications h4 {
  margin-bottom: 10px;
  color: #2f2f2f;
}

.certifications ul {
  padding-left: 20px;
}

.certifications li {
  margin-bottom: 6px;
  color: #444;
}

/* Responsive */
@media (max-width: 768px) {
  .about-row {
    flex-direction: column;
    text-align: center;
  }

  .quote {
    border-left: none;
    padding-left: 0;
  }
}



.services-section {
  padding: 70px 20px;
  background: #f7f9fb;
  font-family: 'Merriweather', serif;
}

.services-container {
  max-width: 1100px;
  margin: auto;
  text-align: center;
}

.services-container h2 {
  font-size: 34px;
  margin-bottom: 40px;
  font-family: 'Montserrat', sans-serif;
  color: #2c2c2c;
}

/* Service Cards */
.services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
  margin-bottom: 60px;
}

.service-card {
  background: #fff;
  padding: 25px;
  border-radius: 12px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.05);
  text-align: left;
  transition: 0.3s ease;
}

.service-card:hover {
  transform: translateY(-5px);
}

.service-card h3 {
  font-family: 'Montserrat', sans-serif;
  font-size: 20px;
  margin-bottom: 10px;
  color: #333;
}

.service-card p {
  font-size: 15px;
  color: #555;
  line-height: 1.7;
  margin-bottom: 15px;
}

.service-card ul {
  padding-left: 18px;
}

.service-card li {
  margin-bottom: 6px;
  font-size: 14px;
  color: #444;
}

/* Why Choose Section */
.why-section {
  background: #ffffff;
  padding: 40px 25px;
  border-radius: 12px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.05);
}

.why-section h3 {
  font-family: 'Montserrat', sans-serif;
  font-size: 24px;
  margin-bottom: 20px;
}

.why-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
  text-align: left;
}

.why-list li {
  list-style: none;
  background: #f4f6fb;
  padding: 12px;
  border-radius: 8px;
  font-size: 15px;
  position: relative;
  padding-left: 30px;
}

.why-list li::before {
  content: "✨";
  position: absolute;
  left: 10px;
}

/* Responsive */
@media (max-width: 900px) {
  .services-grid {
    grid-template-columns: 1fr;
  }

  .why-list {
    grid-template-columns: 1fr;
  }
}


.why-soul-section {
  padding: 0px 20px 60px 20px;
  background: linear-gradient(135deg, #f4f6fb, #fdfcf9);
  font-family: 'Merriweather', serif;
}

.why-container {
  max-width: 1100px;
  margin: auto;
  text-align: center;
}

.why-container h2 {
  font-size: 34px;
  margin-bottom: 15px;
  font-family: 'Montserrat', sans-serif;
  color: #2c2c2c;
}

.why-intro {
  max-width: 800px;
  margin: 0 auto 50px;
  color: #555;
  line-height: 1.8;
  font-size: 16px;
}

/* Cards Layout */
.why-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 25px;
}

.why-card {
  background: #ffffff;
  padding: 25px;
  border-radius: 14px;
  box-shadow: 0 6px 16px rgba(0,0,0,0.05);
  text-align: left;
  transition: 0.3s ease;
}

.why-card:hover {
  transform: translateY(-4px);
}

.why-card h3 {
  font-family: 'Montserrat', sans-serif;
  font-size: 18px;
  margin-bottom: 10px;
  color: #333;
}

.why-card p {
  font-size: 15px;
  color: #555;
  line-height: 1.7;
}

/* Responsive */
@media (max-width: 768px) {
  .why-grid {
    grid-template-columns: 1fr;
  }

  .why-container h2 {
    font-size: 28px;
  }
}


.testimonials-section {
  padding: 80px 20px;
  background: #f9f7f4;
  font-family: 'Merriweather', serif;
}

.testimonials-container {
  max-width: 1000px;
  margin: auto;
  text-align: center;
}

.testimonials-container h2 {
  font-size: 34px;
  margin-bottom: 40px;
  font-family: 'Montserrat', sans-serif;
  color: #2c2c2c;
}

/* Grid */
.testimonials-grid {
  display: grid;
  gap: 25px;
}

/* Card */
.testimonial-card {
  background: #ffffff;
  padding: 25px;
  border-radius: 14px;
  box-shadow: 0 6px 16px rgba(0,0,0,0.05);
  text-align: left;
  position: relative;
}

.testimonial-card::before {
  content: "“";
  font-size: 50px;
  color: #e0dff5;
  position: absolute;
  top: 10px;
  left: 15px;
}

/* Text */
.testimonial-text {
  font-size: 16px;
  color: #555;
  line-height: 1.8;
  margin-bottom: 20px;
  padding-left: 20px;
}

/* Author */
.testimonial-author {
  font-size: 14px;
  color: #333;
  font-weight: 600;
}

.testimonial-location {
  font-size: 13px;
  color: #777;
}

/* Stars */
.stars {
  color: #f4b400;
  margin-top: 5px;
  font-size: 14px;
}

/* Responsive */
@media (min-width: 768px) {
  .testimonials-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}


.cta-card {
  background: linear-gradient(135deg, #bad3a3, #fdfcff);
  text-align: center;
}

.cta-card .testimonial-text {
  padding-left: 0;
}

.cta-btn {
  display: inline-block;
  margin-top: 15px;
  padding: 10px 18px;
  background: #fda45e;
  color: #fff;
  text-decoration: none;
  border-radius: 6px;
  font-size: 14px;
  transition: 0.3s;
}

.cta-btn:hover {
  background: #d97525;
}

.faq-section {
  padding: 80px 20px;
  background: #f4f6fb;
  font-family: 'Merriweather', serif;
}

.faq-container {
  max-width: 900px;
  margin: auto;
}

.faq-container h2 {
  text-align: center;
  font-size: 34px;
  margin-bottom: 40px;
  font-family: 'Montserrat', sans-serif;
  color: #2c2c2c;
}

/* FAQ Item */
.faq-item {
  background: #fff;
  border-radius: 10px;
  margin-bottom: 15px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
  overflow: hidden;
}

/* Question */
.faq-question {
  width: 100%;
  padding: 18px 20px;
  font-size: 16px;
  text-align: left;
  border: none;
  outline: none;
  background: #fff;
  cursor: pointer;
  font-family: 'Montserrat', sans-serif;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.faq-question:hover {
  background: #f9f9ff;
}

/* Icon */
.faq-question span {
  font-size: 20px;
  transition: transform 0.3s;
}

/* Answer */
.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
  padding: 0 20px;
}

.faq-answer p {
  padding: 15px 0;
  font-size: 15px;
  color: #555;
  line-height: 1.7;
}

/* Active */
.faq-item.active .faq-answer {
  max-height: 200px;
}

.faq-item.active .faq-question span {
  transform: rotate(45deg);
}

/* Responsive */
@media (max-width: 768px) {
  .faq-container h2 {
    font-size: 28px;
  }
}

.cta-section {
  padding: 80px 20px;
  background: linear-gradient(135deg, #fef6ee, #f4f8f1);
  font-family: 'Merriweather', serif;
  text-align: center;
}

.cta-container {
  max-width: 800px;
  margin: auto;
}

.cta-container h2 {
  font-size: 34px;
  margin-bottom: 10px;
  font-family: 'Montserrat', sans-serif;
  color: #656668;
}

.cta-sub {
  font-size: 18px;
  color: #7a7f5f;
  margin-bottom: 20px;
}

.cta-body {
  font-size: 16px;
  color: #656668;
  line-height: 1.8;
  margin-bottom: 30px;
}

/* Location */
.cta-info {
  margin-bottom: 30px;
  font-size: 15px;
  color: #656668;
}

/* Buttons */
.cta-buttons {
  display: flex;
  justify-content: center;
  gap: 15px;
  flex-wrap: wrap;
}

.cta-btn {
  padding: 12px 22px;
  border-radius: 30px;
  text-decoration: none;
  font-size: 15px;
  font-family: 'Montserrat', sans-serif;
  transition: 0.3s ease;
}

/* Call Button (Orange) */
.cta-call {
  background: #fda45e;
  color: #fff;
}

.cta-call:hover {
  background: #e8914c;
}

/* WhatsApp Button (Green tone match) */
.cta-whatsapp {
  background: #9ec285;
  color: #fff;
}

.cta-whatsapp:hover {
  background: #88ad70;
}

/* Email */
.cta-email {
  display: block;
  margin-top: 15px;
  color: #7a7f5f;
  text-decoration: none;
}


footer {
  background: #7a7f5f;
  color: #fdf6f2;
  padding: 60px 20px 30px;
  font-family: 'Merriweather', serif;
}

.footer-container {
  max-width: 1100px;
  margin: auto;
}

.footer-logo {
  max-width: 180px;
  margin-bottom: 10px;
}

.footer-title {
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 15px;
  color: rgba(255,255,255,0.7);
  font-family: 'Montserrat', sans-serif;
}

.footer-links a {
  display: block;
  color: #fdf6f2;
  text-decoration: none;
  margin-bottom: 8px;
  font-size: 14px;
}

.footer-links a:hover {
  text-decoration: underline;
}

.footer-text {
  font-size: 14px;
  line-height: 1.8;
  color: rgba(255,255,255,0.9);
}

/* Icons */
.icon {
  margin-right: 8px;
  color: #fda45e;
}

.social-icon {
  display: inline-block;
  margin-top: 10px;
  font-size: 20px;
  color: #fdf6f2;
  text-decoration: none;
}

.social-icon:hover {
  color: #fda45e;
}

/* Map */
.footer-map {
  margin-top: 15px;
  border-radius: 10px;
  overflow: hidden;
}

/* Bottom */
.footer-bottom {
  text-align: center;
  margin-top: 30px;
  font-size: 13px;
  color: rgba(255,255,255,0.7);
  border-top: 1px solid rgba(255,255,255,0.2);
  padding-top: 15px;
}

/* Grid */
.footer-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
}

/* Responsive */
@media (max-width: 900px) {
  .footer-grid {
    grid-template-columns: 1fr;
  }
}
.nav-cta {
  background: #fda45e;
  color: #fff !important;
  padding: 8px 16px;
  border-radius: 20px;
}

.nav-cta:hover {
  background: #d97525;
  color: #fff !important;
}

#home,
#jump_services,
#about_me,
#happy_clients,
#asked_questions {
  scroll-margin-top: 90px;
}
html {
  scroll-behavior: smooth;
}
.hero-subtitle{
	font-size: 18px;
}