/* =========================
GLOBAL RESET
========================= */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{
font-family:'Poppins',sans-serif;
background:#040b1c;
color:white;
overflow-x:hidden;
}

/* Hide header during loader */

body.loading .header{
display:none;
}
html, body{
overflow-x:hidden;
max-width:100%;
}
.contact-map iframe{
width:100%;
max-width:100%;
}
img, iframe, video{
max-width:100%;
height:auto;
display:block;
}
/* =========================
CONTAINERS
========================= */

.nav-container,
.hero-container,
.about-container,
.about-stats,
.services-container,
.partners-container,
.gallery-container,
.testimonial-container,
.contact-container,
.footer-container{
max-width:1300px;
width:92%;
margin:auto;
}

/* =========================
LOADER
========================= */

#loader{
position:fixed;
width:100%;
height:100vh;
background:#020917;
display:flex;
align-items:center;
justify-content:center;
z-index:9999;
}
#loader{
transition:opacity 0.6s ease;
}
.loader-content{
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
text-align:center;
}

.loader-logo{
width:100px;
border-radius:14px;
margin-bottom:20px;
}

.loader-title{
font-family:Garamond,serif;
color:#f2c94c;
font-size:42px;
letter-spacing:2px;
}

.loader-sub{
color:#bbb;
margin-top:6px;
margin-bottom:20px;
}

.loader-line{
width:220px;
height:3px;
background:#222;
margin:auto;
border-radius:5px;
overflow:hidden;
position:relative;
}

.loader-line::after{
content:"";
position:absolute;
height:100%;
width:120px;
background:linear-gradient(90deg,#d4af37,#fff,#d4af37);
animation:loaderMove 2s infinite;
}

@keyframes loaderMove{
0%{left:-120px;}
100%{left:220px;}
}

.loader-sanskrit{
margin-top:20px;
color:#d4af37;
font-style:italic;
letter-spacing:1px;
}


/* =========================
HEADER
========================= */

.header{
position:fixed;
top:0;
width:100%;
background:rgba(5,12,32,0.85);
backdrop-filter:blur(18px);
border-bottom:1px solid rgba(255,255,255,0.08);
z-index:1000;
}

.nav-container{
display:flex;
align-items:center;
justify-content:space-between;
padding:18px 0;
}

/* LOGO */

.logo-area{
display:flex;
align-items:center;
gap:12px;
}

.logo{
width:50px;
height: 40px;
border-radius:8px;
}

.brand h2{
font-family:Garamond,serif;
color:#f2c94c;
font-size:27px;
}

/* Mobile brand break line */

@media(max-width:768px){

.brand h2{
font-size:18px;
line-height:1.2;
white-space:normal;
}

.brand p{
font-size:11px;
}

.logo{
width:46px;
height:34px;
}

}
@media(max-width:768px){

.nav-container{
padding:14px 0;
}

.logo-area{
gap:8px;
}

}
/* NAV */

.nav ul{
display:flex;
gap:38px;
list-style:none;
}

.nav a{
text-decoration:none;
color:white;
font-weight:500;
position:relative;
}

.nav a::after{
content:"";
position:absolute;
width:0%;
height:2px;
background:#f2c94c;
left:0;
bottom:-6px;
transition:0.3s;
}

.nav a:hover::after{
width:100%;
}

/* HAMBURGER */

.hamburger{
display:none;
flex-direction:column;
gap:5px;
cursor:pointer;
}

.hamburger span{
width:26px;
height:3px;
background:white;
border-radius:3px;
}
.hamburger{
display:none;
flex-direction:column;
gap:5px;
cursor:pointer;
}

.hamburger span{
width:26px;
height:3px;
background:white;
border-radius:3px;
}

/* MOBILE */

@media(max-width:900px){

.nav{
display:none;
}

.hamburger{
display:flex;
}

.nav.active{
display:block;
}

}
@media(max-width:768px){

.hero-buttons{
flex-direction:column;
align-items:center;
}

}
/* =========================
HERO
========================= */

.hero{
height:100vh;
padding-top:90px;
position:relative;
overflow:hidden;
}

.slider{
width:100%;
height:100%;
position:relative;
}

.slide{
position:absolute;
width:100%;
height:100%;
background-size:cover;
background-position:center;
display:flex;
align-items:center;
opacity:0;
transition:opacity 1s ease;
}

.slide.active{
opacity:1;
z-index:2;
}

/* DARK OVERLAY */

.overlay{
position:absolute;
width:100%;
height:100%;
background:linear-gradient(
90deg,
rgba(3,10,25,0.92) 0%,
rgba(3,10,25,0.7) 40%,
rgba(3,10,25,0.2) 80%
);
}

/* HERO CONTENT */

.hero-container{
position:relative;
z-index:2;
display:flex;
align-items:center;
justify-content:flex-start;
height:100%;
}

.hero-content{
max-width:650px;
text-align:left;
}
.hero-content{
max-width:650px;
text-align:left;
margin-left:2%;
}
.hero-content h1{
font-family:Garamond,serif;
font-size:70px;
color:#f2c94c;
line-height:1.1;
margin-bottom:18px;
}

.hero-sub{
font-size:22px;
color:#e0e0e0;
margin-bottom:20px;
}

.hero-sanskrit{
font-style:italic;
color:#d4af37;
margin-bottom:30px;
letter-spacing:1px;
}

.btn-primary,
.btn-secondary{
display:inline-flex;
align-items:center;
justify-content:center;
white-space:nowrap;
}
.hero-buttons{
display:flex;
flex-direction:row;
gap:18px;
justify-content:flex-start;
align-items:center;
flex-wrap:nowrap;
}
.hero-buttons{
display:flex;
gap:20px;
}
/* HERO MOBILE */

@media(max-width:768px){

.hero-content{
text-align:center;
margin:auto;
}

.hero-content h1{
font-size:38px;
}

.hero-sub{
font-size:16px;
}

.hero-buttons{
flex-direction:column;
gap:15px;
align-items:center;
}

.hero-buttons a{
width:100%;
max-width:260px;
}

}
/* BUTTONS */

.btn-primary{
background:linear-gradient(135deg,#d4af37,#f2c94c);
color:#081428;
padding:15px 34px;
border-radius:40px;
font-weight:600;
text-decoration:none;
transition:0.3s;
}

.btn-primary:hover{
transform:translateY(-4px);
box-shadow:0 10px 30px rgba(212,175,55,0.4);
}

.btn-secondary{
border:2px solid #d4af37;
padding:13px 30px;
border-radius:40px;
text-decoration:none;
color:white;
transition:0.3s;
}

.btn-secondary:hover{
background:#d4af37;
color:#081428;
}

/* =========================
ABOUT
========================= */

.about-section{
padding:100px 0;
background:#020d1f;
}

.about-container{
display:grid;
grid-template-columns:0.9fr 1.1fr;
gap:60px;
align-items:center;
}

/* HEADING */

.about-text h2{
font-family:Garamond,serif;
font-size:46px;
color:#f2c94c;
margin-bottom:20px;
}

.about-intro{
font-size:20px;
color:#eaeaea;
margin-bottom:12px;
}

.about-text p{
font-size:17px;
line-height:1.8;
color:#cfcfcf;
margin-bottom:12px;
}


/* =========================
QUOTE CARDS
========================= */

.quote-stack{
position:relative;
width:300px;
height:320px;
margin:auto;
}

.quote-card{
position:absolute;
width:100%;
height:100%;
border-radius:18px;
box-shadow:0 25px 50px rgba(0,0,0,0.45);
transition:0.4s;
}

.quote-card.one{
background:linear-gradient(135deg,#7f6cff,#b39cff);
transform:rotate(-8deg);
}

.quote-card.two{
background:linear-gradient(135deg,#ff6f91,#ff9671);
transform:rotate(8deg);
}

.quote-card.main{
background:white;
padding:28px;
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
text-align:center;
z-index:5;
}

.quote-text{
font-style:italic;
color:#333;
font-size:17px;
margin-bottom:10px;
}

.quote-author{
font-weight:600;
color:#555;
}

.quote-stack:hover .one{
transform:translateX(-40px) rotate(-16deg);
}

.quote-stack:hover .two{
transform:translateX(40px) rotate(16deg);
}

.quote-stack:hover .main{
transform:translateY(-10px);
}


/* =========================
STATS SECTION
========================= */

.about-stats{
margin-top:60px;
display:grid;
grid-template-columns:repeat(4,1fr);
gap:25px;
justify-items:center;
}

/* CARD */

.stat-card{
background:#07182E;
border-radius:18px;

width:210px;
height:130px;

display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
text-align:center;

position:relative;
overflow:hidden;

transition:0.35s;
}

.stat-card:hover{
transform:translateY(-8px) scale(1.05);
}

/* NUMBER */

.stat-card h3{
font-size:34px;
margin-bottom:6px;
z-index:5;
}

/* TEXT */

.stat-card p{
color:#cfcfcf;
font-size:14px;
z-index:5;
}

/* GLOW BORDER */

.stat-card::before{
content:"";
position:absolute;
width:300%;
height:300%;
background:conic-gradient(#00b7ff,#ff30ff,#00b7ff);
animation:rotateGlow 6s linear infinite;
}

.stat-card::after{
content:"";
position:absolute;
inset:3px;
background:#07182E;
border-radius:16px;
}

@keyframes rotateGlow{
from{transform:rotate(0deg);}
to{transform:rotate(360deg);}
}


/* =========================
TABLET
========================= */

@media(max-width:900px){

.about-container{
grid-template-columns:1fr;
gap:50px;
}

.about-stats{
grid-template-columns:repeat(2,1fr);
gap:22px;
}

.stat-card{
width:180px;
height:120px;
}

}


/* =========================
MOBILE
========================= */

@media(max-width:768px){

.about-stats{
grid-template-columns:repeat(2,1fr);
gap:18px;
}

.stat-card{
width:100%;
max-width:160px;
height:110px;
}

.stat-card h3{
font-size:26px;
}

.stat-card p{
font-size:13px;
}

}
/* =========================
MOBILE
========================= */

/* =========================
MOBILE NAV DROPDOWN
========================= */

@media(max-width:768px){

.nav{
display:none;
position:absolute;
top:75px;
right:20px;
width:220px;

background:#07182E;
border:1px solid rgba(255,255,255,0.08);
border-radius:12px;

box-shadow:0 15px 40px rgba(0,0,0,0.6);
padding:15px;

animation:menuFade 0.25s ease;
}

.nav ul{
flex-direction:column;
gap:12px;
}

.nav a{
display:block;
padding:8px 10px;
border-radius:6px;
}

.nav a:hover{
background:rgba(255,255,255,0.05);
}

.nav.active{
display:block;
}

}

/* animation */

@keyframes menuFade{
from{
opacity:0;
transform:translateY(-10px);
}
to{
opacity:1;
transform:translateY(0);
}
}

/* Hero centered on mobile */




.hero-content h1{
font-size:45px;
}

.hero-sub{
font-size:16px;
}



.stat-card{
height:160px;
}

.hamburger span{
transition:0.3s;
}

.hamburger.active span:nth-child(1){
transform:rotate(45deg) translate(5px,5px);
}

.hamburger.active span:nth-child(2){
opacity:0;
}

.hamburger.active span:nth-child(3){
transform:rotate(-45deg) translate(6px,-6px);
}
/* =========================
PARTNERS SECTION
========================= */

.partners-section{
padding:140px 0;
background:#030f25;
}

.partners-container{
max-width:1200px;
margin:auto;
width:90%;
}

/* Heading */

.partners-heading{
text-align:center;
margin-bottom:80px;
}

.partners-heading h2{
font-family:Garamond,serif;
font-size:48px;
color:#f2c94c;
margin-bottom:20px;
}

.partners-heading p{
color:#cfcfcf;
max-width:750px;
margin:auto;
line-height:1.8;
font-size:17px;
}


/* Grid */

.partners-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:60px;
}


/* Partner Card */

.partner-card{
background:#07182E;
border-radius:22px;
padding:40px;
text-align:center;
transition:0.35s;
position:relative;
overflow:hidden;
}
.partner-card p{
color:#cfcfcf;
line-height:1.8;
font-size:15px;
text-align:left;
max-width:520px;
margin:auto;
}
.partner-card:hover{
transform:translateY(-10px);
box-shadow:0 25px 50px rgba(0,0,0,0.5);
}

/* Image */
.partner-card img{
width:150px;
height:150px;
object-fit:cover;
border-radius:50%;

display:block;
margin:0 auto 22px auto;

border:4px solid #f2c94c;
transition:0.4s;
}


/* Name */

.partner-card h3{
font-size:24px;
margin-bottom:6px;
color:white;
}

/* Role */

.partner-card span{
display:block;
color:#f2c94c;
margin-bottom:14px;
font-weight:500;
}

/* Description */

.partner-card p{
color:#cfcfcf;
line-height:1.7;
font-size:15px;
}


/* =========================
MOBILE
========================= */

@media(max-width:768px){

.partners-grid{
grid-template-columns:1fr;
gap:40px;
}

}
/* =========================
GALLERY SECTION
========================= */

.gallery-section{
padding:110px 0;
background:#020d1f;
overflow:hidden;
}

.gallery-container{
max-width:1200px;
margin:auto;
width:90%;
}

.gallery-title{
font-family:Garamond,serif;
font-size:48px;
color:#f2c94c;
text-align:center;
margin-bottom:70px;
}


/* WRAPPER */

.gallery-wrapper{
display:flex;
align-items:center;
position:relative;
}

/* BUTTONS */

.gallery-btn{
background:rgba(7,24,46,0.9);
border:none;
color:#f2c94c;
font-size:28px;
width:55px;
height:55px;
border-radius:50%;
cursor:pointer;
transition:0.3s;
display:flex;
align-items:center;
justify-content:center;
}

.gallery-btn:hover{
background:#f2c94c;
color:#081428;
}

.gallery-btn:hover{
background:#f2c94c;
color:#081428;
}

/* TRACK */

.gallery-track-container{
overflow:hidden;
width:100%;
}

.gallery-track{
display:flex;
gap:30px;
transition:transform 0.5s ease;
}

/* CARD */

.gallery-card{
flex:0 0 calc(33.333% - 20px);
border-radius:18px;
overflow:hidden;
border:4px solid #d4af37;
cursor:pointer;
transition:0.3s;
}

.gallery-card:hover{
transform:scale(1.04);
box-shadow:0 20px 40px rgba(0,0,0,0.5);
}

.gallery-card img{
width:100%;
height:260px;
object-fit:cover;
display:block;
}


/* TABLET */

@media(max-width:1000px){

.gallery-card{
flex:0 0 calc(50% - 15px);
}

}

/* MOBILE */

@media(max-width:600px){

.gallery-card{
flex:0 0 100%;
}

.gallery-wrapper{
position:relative;
}

/* Mobile Buttons */

.gallery-btn{
position:absolute;
top:50%;
transform:translateY(-50%);
z-index:5;

width:42px;
height:42px;
font-size:20px;
}

.gallery-btn.prev{
left:10px;
}

.gallery-btn.next{
right:10px;
}

}

/* =========================
MODAL
========================= */

.gallery-modal{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.9);
display:none;
align-items:center;
justify-content:center;
z-index:2000;
}

.gallery-modal img{
max-width:90%;
max-height:85%;
border:6px solid #d4af37;
border-radius:10px;
}

.gallery-close{
position:absolute;
top:30px;
right:40px;
font-size:40px;
color:white;
cursor:pointer;
}
/* =========================
TESTIMONIAL SECTION
========================= */

.testimonial-section{
padding:140px 0;
background:#030f25;
overflow:hidden;
}

.testimonial-container{
max-width:1200px;
margin:auto;
width:90%;
}

.testimonial-title{
font-family:Garamond,serif;
font-size:48px;
color:#f2c94c;
text-align:center;
margin-bottom:15px;
}

.testimonial-sub{
text-align:center;
color:#cfcfcf;
margin-bottom:70px;
}

/* WRAPPER */

.testimonial-wrapper{
display:flex;
align-items:center;
position:relative;
}

/* BUTTONS */

.testimonial-btn{
background:#07182E;
border:none;
color:#f2c94c;
font-size:28px;
width:55px;
height:55px;
border-radius:50%;
cursor:pointer;
display:flex;
align-items:center;
justify-content:center;
transition:0.3s;
}

.testimonial-btn:hover{
background:#f2c94c;
color:#081428;
}

/* TRACK */

.testimonial-track-container{
overflow:hidden;
width:100%;
}

.testimonial-track{
display:flex;
gap:30px;
transition:transform 0.5s ease;
}

/* CARD */

.testimonial-card{
flex:0 0 calc(33.333% - 20px);
background:#07182E;
padding:55px;
border-radius:18px;
border:2px solid #d4af37;
transition:0.3s;
}

.testimonial-card:hover{
transform:translateY(-8px);
box-shadow:0 20px 40px rgba(0,0,0,0.5);
}

.testimonial-card p{
color:#e6e6e6;
line-height:1.7;
margin-bottom:20px;
}

.testimonial-card h4{
color:#f2c94c;
font-size:18px;
margin-bottom:3px;
}

.testimonial-card span{
color:#bdbdbd;
font-size:14px;
}


/* TABLET */

@media(max-width:1000px){

.testimonial-card{
flex:0 0 calc(50% - 15px);
}

}

/* MOBILE */

@media(max-width:600px){

.testimonial-card{
flex:0 0 100%;
}

.testimonial-btn{
position:absolute;
top:50%;
transform:translateY(-50%);
z-index:5;
width:42px;
height:42px;
font-size:20px;
}

.testimonial-btn.prev{
left:10px;
}

.testimonial-btn.next{
right:10px;
}

}
/* =========================
CONTACT SECTION
========================= */

.contact-section{
padding:140px 0;
background:#020d1f;
}

.contact-container{
max-width:1200px;
margin:auto;
width:90%;
}

.contact-title{
font-family:Garamond,serif;
font-size:48px;
color:#f2c94c;
text-align:center;
margin-bottom:15px;
}

.contact-sub{
text-align:center;
color:#cfcfcf;
margin-bottom:70px;
}


/* GRID */

.contact-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:30px;
align-items:start;
width:100%;
}


/* FORM BOX */

.contact-form-box{
background:#07182E;
padding:40px;
border-radius:20px;
border:2px solid #d4af37;
}
.contact-form-box{
max-width:100%;
}
.contact-form-box h3{
color:#f2c94c;
margin-bottom:20px;
}

.contact-form-box form{
display:flex;
flex-direction:column;
gap:15px;
}

.contact-form-box input,
.contact-form-box textarea{
padding:14px;
border-radius:8px;
border:none;
background:#020d1f;
color:white;
}

.contact-form-box input:focus,
.contact-form-box textarea:focus{
outline:2px solid #d4af37;
}


/* BUTTON */

.contact-btn{
background:linear-gradient(135deg,#d4af37,#f2c94c);
border:none;
padding:14px;
border-radius:40px;
font-weight:600;
cursor:pointer;
color:#081428;
transition:0.3s;
}

.contact-btn:hover{
transform:translateY(-3px);
box-shadow:0 10px 25px rgba(212,175,55,0.4);
}


/* CALL + WHATSAPP */

.contact-actions{
display:flex;
gap:15px;
margin-top:20px;
}

.contact-call,
.contact-whatsapp{
flex:1;
text-align:center;
padding:12px;
border-radius:30px;
text-decoration:none;
font-weight:500;
transition:0.3s;
}

.contact-call{
border:2px solid #d4af37;
color:#f2c94c;
}

.contact-call:hover{
background:#d4af37;
color:#081428;
}

.contact-whatsapp{
background:#25D366;
color:white;
}

.contact-whatsapp:hover{
transform:translateY(-3px);
}


/* MAP */

.contact-map{
width:100%;
height:100%;
}

.contact-map iframe{
width:100%;
height:100%;
min-height:450px;
border-radius:20px;
border:3px solid #d4af37;
}


/* MOBILE */

@media(max-width:900px){

.contact-grid{
grid-template-columns:1fr;
}

.contact-map iframe{
min-height:300px;
}

}



/* ADDRESS BELOW MAP */

.contact-address{
margin-top:20px;
background:#07182E;
border:2px solid #d4af37;
border-radius:16px;
padding:20px;
text-align:center;
}

.contact-address h4{
color:#f2c94c;
margin-bottom:10px;
font-size:18px;
}

.contact-address p{
color:#cfcfcf;
line-height:1.6;
}
@media(max-width:768px){

.contact-success{
margin-bottom:90px; /* space for floating buttons */
}

}
/* ===== FOOTER ===== */

.footer{
background:#010916;
padding:80px 0 30px;
}

.footer-container{
max-width:1200px;
margin:auto;
width:90%;
}

.footer-grid{
display:grid;
grid-template-columns:2fr 1fr 1fr 1fr;
gap:40px;
}

/* LOGO */

.footer-logo{
width:60px;
margin-bottom:15px;
border-radius:8px;
}

.footer-about p{
color:#bdbdbd;
font-size:14px;
line-height:1.6;
margin-bottom:10px;
}

.footer-desc-link{
color:#d4af37;
text-decoration:none;
font-size:13px;
}

/* LINKS */

.footer-links h4,
.footer-contact h4{
color:#f2c94c;
margin-bottom:12px;
}

.footer-links a{
display:block;
color:#bdbdbd;
text-decoration:none;
margin-bottom:6px;
font-size:14px;
}

.footer-links a:hover{
color:#f2c94c;
}

/* CONTACT */

.footer-contact p{
color:#bdbdbd;
font-size:14px;
margin-bottom:6px;
}

/* GOLD DIVIDER */

.footer-divider{
margin:40px 0 20px;
height:1px;
background:linear-gradient(
90deg,
transparent,
#d4af37,
transparent
);
}

/* BOTTOM */

.footer-bottom{
display:flex;
justify-content:space-between;
flex-wrap:wrap;
color:#888;
font-size:12px;
}

.footer-credit a{
color:#d4af37;
text-decoration:none;
}

/* ===== MODAL ===== */

.desc-modal{
display:none;
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.85);
align-items:center;
justify-content:center;
z-index:3000;
}

.desc-modal-box{
background:#07182E;
border:2px solid #d4af37;
padding:40px;
border-radius:18px;
max-width:600px;
width:90%;
color:white;
position:relative;
}

.desc-close{
position:absolute;
top:15px;
right:20px;
font-size:28px;
cursor:pointer;
}

/* MOBILE */

@media(max-width:900px){

.footer-grid{
grid-template-columns:1fr 1fr;
}

}

@media(max-width:600px){

.footer-grid{
grid-template-columns:1fr;
}

.footer-bottom{
flex-direction:column;
text-align:center;
gap:6px;
}

}
.disclaimer-popup{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.85);
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  z-index:9999;
}

.disclaimer-box{
  background:#061a2b;
  border:1px solid #d4af37;
  border-radius:12px;
  max-width:700px;
  width:100%;
  padding:25px;
  color:white;
}

.disclaimer-box h2{
  text-align:center;
  margin-bottom:15px;
}

.disclaimer-content{
  max-height:50vh;
  overflow-y:auto;
  padding-right:10px;
  line-height:1.7;
}

/* Smooth scroll bar */
.disclaimer-content::-webkit-scrollbar{
  width:6px;
}

.disclaimer-content::-webkit-scrollbar-thumb{
  background:#d4af37;
  border-radius:4px;
}

.disclaimer-buttons{
  display:flex;
  gap:15px;
  justify-content:center;
  margin-top:20px;
}

.disclaimer-buttons button{
  padding:10px 22px;
  border:none;
  border-radius:6px;
  cursor:pointer;
  font-weight:600;
}

.agree{
  background:#d4af37;
}

.decline{
  background:#444;
  color:white;
}

/* Mobile optimization */
@media (max-width:768px){

  .disclaimer-box{
    padding:18px;
  }

  .disclaimer-content{
    max-height:45vh;
  }

}
.disclaimer-box{
position:relative;
}

.disclaimer-close{
position:absolute;
top:12px;
right:18px;
font-size:28px;
cursor:pointer;
color:#d4af37;
font-weight:600;
transition:0.2s;
}

.disclaimer-close:hover{
transform:scale(1.2);
color:white;
}
.disclaimer-box{
  position:relative;
}

.disclaimer-close{
  position:absolute;
  top:10px;
  right:18px;
  font-size:32px;
  color:#d4af37;
  cursor:pointer;
  font-weight:600;
  transition:0.2s;
}

.disclaimer-close:hover{
  color:white;
  transform:scale(1.2);
}
/* RATE US */

.rate-us{
display:flex;
gap:12px;
margin-top:20px;
flex-wrap:wrap;   /* 🔥 IMPORTANT */
}

.rate-btn{
flex:1 1 48%;     /* 2 buttons per row */
min-width:140px;
text-align:center;
padding:12px;
border-radius:30px;
}
.rate-btn{
flex:1;
display:flex;
align-items:center;
justify-content:center;
gap:10px;
padding:14px;
border-radius:30px;
text-decoration:none;
font-weight:500;
transition:0.3s;
}

.rate-btn img{
width:22px;
height:22px;
}

.rate-btn.google{
background:#7ba2e1;
color:white;
}

.rate-btn.justdial{
background:#ff5c00;
color:white;
}

.rate-btn:hover{
transform:translateY(-3px);
box-shadow:0 10px 20px rgba(0,0,0,0.3);
}
@media(max-width:768px){

.rate-us{
flex-direction:column;
gap:10px;
}

.rate-btn{
width:100%;
flex:1 1 100%;
font-size:14px;
padding:12px;
}

}
/* FLOATING CONTACT */

.floating-contact{
position:fixed;
bottom:25px;
right:25px;
display:flex;
flex-direction:column;
gap:12px;
z-index:5000;
}

.float-btn{
width:55px;
height:55px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
box-shadow:0 10px 25px rgba(0,0,0,0.4);
transition:0.3s;
}

.float-btn img{
width:26px;
height:26px;
}

.float-btn.call{
background:#f2c94c;
}

.float-btn.whatsapp{
background:#b6e3c6;
}

.float-btn:hover{
transform:scale(1.1);
}
.gallery-card img{
cursor:pointer;
}
.services-section{
padding:140px 0;
background:#030f25;
}

.services-container{
max-width:1200px;
margin:auto;
width:90%;
}

.services-title{
font-family:Garamond,serif;
font-size:48px;
color:#f2c94c;
text-align:center;
margin-bottom:10px;
}

.services-sub{
text-align:center;
color:#cfcfcf;
margin-bottom:70px;
}

.services-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
gap:50px;
justify-items:center;
}

.service-content{
padding:15px;
text-align:center;
}

.service-content h3{
font-size:18px;
margin-bottom:8px;
}

.service-content p{
font-size:14px;
color:#cfcfcf;
margin-bottom:12px;
}


.cover{
height:150px;
border-radius:18px 18px 0 0;
display:flex;
align-items:flex-end;
padding:15px;
color:white;
font-weight:600;

background-size:cover;
background-position:center;

position:relative;
overflow:hidden;
}
.cover::after{
content:"";
position:absolute;
left:0;
bottom:0;
width:100%;
height:70%;

background:linear-gradient(
to top,
rgba(0,0,0,0.75),
rgba(0,0,0,0.4),
transparent
);

pointer-events:none;
}
.cover p{
position:relative;
z-index:2;
}
.service-card{
background:#07182E;
border-radius:18px;
overflow:hidden;
width:100%;
max-width:260px;
display:flex;
flex-direction:column;
justify-content:space-between;
}
.read-more{
background:#f2c94c;
border:none;
padding:8px 16px;
border-radius:20px;
cursor:pointer;
}
.service-modal{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.85);
display:none;
align-items:flex-end;
justify-content:center;

z-index:10000;   /* increase this */
}


.service-modal-box{
background:#07182E;
padding:40px;
border-radius:16px;
max-width:650px;
width:92%;
color:white;

position:relative;

max-height:80vh;
overflow-y:auto;
line-height:1.7;
}
.service-modal-box::-webkit-scrollbar{
width:6px;
}

.service-modal-box::-webkit-scrollbar-thumb{
background:#d4af37;
border-radius:4px;
}
.service-close{
position:fixed;

top:120px;
right:20px;

width:42px;
height:42px;

display:flex;
align-items:center;
justify-content:center;

font-size:26px;
background:#07182E;
border:2px solid #d4af37;
border-radius:50%;

color:#f2c94c;
cursor:pointer;

z-index:10001;

box-shadow:0 10px 20px rgba(0,0,0,0.5);
}
.service-close:hover{
color:white;
transform:scale(1.2);
}
@media(max-width:768px){

.service-modal-box{
padding:25px;
max-height:75vh;
}

.service-close{
font-size:28px;
}

}
@media(max-width:768px){

.service-modal-box{
padding:25px;
max-height:75vh;
}

.service-modal-box h3{
font-size:22px;
margin-bottom:10px;
}

.service-modal-box p{
font-size:14px;
line-height:1.7;
}

}
@media(max-width:768px){

.service-modal{
align-items:flex-end;
}

.service-modal-box{
border-radius:20px 20px 0 0;
width:100%;
max-width:100%;
}

}
@media(max-width:768px){

.service-close{
font-size:32px;
}

.service-modal-box{
padding:25px;
max-height:75vh;
}

}
/* CONTACT LINKS */

.footer-contact a{
color:#f2c94c;
text-decoration:none;
transition:0.3s;
}

.footer-contact a:hover{
color:#f2c94c;
text-decoration:underline;
}
.service-whatsapp{
  display:inline-flex;
  padding:8px;
  border-radius:50%;
}

.service-whatsapp img{
width:22px;
height:22px;
}
.service-content{
display:flex;
flex-direction:column;
align-items:center;
}

.service-actions{
display:flex;
gap:12px;
align-items:center;
margin-top:10px;
}

.service-content .service-whatsapp{
margin-bottom:10px;
}

.service-content .read-more{
margin-top:5px;
}
.contact-actions{
display:flex;
gap:12px;
margin-top:15px;
}

.contact-actions .contact-btn,
.contact-actions .contact-call{
flex:1;
text-align:center;
padding:12px;
border-radius:30px;
font-weight:600;
text-decoration:none;
cursor:pointer;
}

/* Send Message */

.contact-btn{
  width: 190px;
background:linear-gradient(135deg,#d4af37,#f2c94c);
color:#081428;
border:none;
}

/* Call */

.contact-call{
border:2px solid #d4af37;
color:#f2c94c;
display:flex;
align-items:center;
justify-content:center;
}

.contact-call:hover{
background:#d4af37;
color:#081428;
}
.back-to-top{
position:fixed;
bottom:25px;
left:25px;
width:50px;
height:50px;
background:#d4af37;
color:#081428;
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
font-size:20px;
text-decoration:none;
z-index:5000;
}
/* ================= SEARCH FLOAT BUTTON ================= */

.floating-search{
position:fixed;
bottom:25px;
left:25px;
z-index:5000;
}

.search-btn{
width:55px;
height:55px;
border-radius:50%;
border:none;
background:#d4af37;
font-size:24px;
cursor:pointer;
box-shadow:0 10px 25px rgba(0,0,0,0.4);
transition:0.3s;
}

.search-btn:hover{
transform:scale(1.1);
}

/* ================= SEARCH MODAL ================= */

.service-search-modal{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.9);
display:none;
align-items:flex-start;
justify-content:center;
padding-top:120px;
z-index:10000;
}

.service-search-box{
background:#07182E;
border:2px solid #d4af37;
border-radius:18px;
padding:40px;
width:90%;
max-width:650px;
position:relative;

/* add this */
padding-bottom:50px;
}

.service-search-box h2{
color:#f2c94c;
margin-bottom:20px;
text-align:center;
}

#serviceSearchInput{
width:100%;
padding:14px;
border-radius:10px;
border:none;
background:#020d1f;
color:white;
font-size:16px;
outline:2px solid #d4af37;
}

#searchResults{
margin-top:20px;
display:flex;
flex-direction:column;
gap:10px;
}

/* RESULT CARD */

.search-result{
background:#020d1f;
padding:14px;
border-radius:10px;
cursor:pointer;
transition:0.3s;
}

.search-result:hover{
background:#d4af37;
color:#081428;
}

.search-close{
position:absolute;
top:15px;
right:20px;
font-size:28px;
cursor:pointer;
color:#d4af37;
}
.quick-suggest{
margin-top:15px;
display:flex;
gap:10px;
flex-wrap:wrap;
}

.quick-suggest span{
background:#020d1f;
padding:6px 12px;
border-radius:20px;
cursor:pointer;
font-size:13px;
border:1px solid #d4af37;
}
.back-to-top{
display:none;
}
.search-result{
background:#020d1f;
padding:16px;
border-radius:10px;
cursor:pointer;
transition:0.25s;
border:1px solid rgba(255,255,255,0.05);
font-size:15px;
}

.search-result:hover{
background:#d4af37;
color:#081428;
transform:translateY(-2px);
}
.float-btn.search{
background:#f2c94c;
font-size:22px;
color:#081428;
border:none;
cursor:pointer;
}
.service-card{
transition:0.35s;
}

.service-card:hover{
transform:translateY(-10px) scale(1.04);
box-shadow:0 20px 40px rgba(0,0,0,0.6);
}
body::before{
content:"";
position:fixed;
top:-200px;
left:-200px;
width:600px;
height:600px;

background:radial-gradient(circle,#d4af37 0%, transparent 70%);

opacity:0.06;

animation:floatGlow 20s linear infinite;

z-index:-1;
}

@keyframes floatGlow{
0%{transform:translate(0,0);}
50%{transform:translate(200px,100px);}
100%{transform:translate(0,0);}
}
.gallery-card{
position:relative;
overflow:hidden;
}


.gallery-card:hover::after{
opacity:1;
}
.btn-primary,
.btn-secondary{
position:relative;
overflow:hidden;
}

.btn-primary::after,
.btn-secondary::after{
content:"";
position:absolute;
width:0;
height:0;
background:rgba(255,255,255,0.3);
border-radius:50%;
top:50%;
left:50%;
transform:translate(-50%,-50%);
transition:0.5s;
}

.btn-primary:active::after,
.btn-secondary:active::after{
width:300px;
height:300px;
opacity:0;
}
#searchResults{
margin-top:20px;
display:flex;
flex-direction:column;
gap:10px;

max-height:260px;   /* slightly smaller */
overflow-y:auto;

padding-right:8px;
padding-bottom:10px; /* space so bottom curve stays visible */
}
#searchResults::-webkit-scrollbar{
width:6px;
}

#searchResults::-webkit-scrollbar-thumb{
background:#d4af37;
border-radius:4px;
}
@media(max-width:768px){

#searchResults{
max-height:250px;
}

}
.highlight{
background:#f2c94c;
color:#081428;
padding:2px 4px;
border-radius:4px;
font-weight:600;
}
.search-result{
background:#020d1f;
padding:16px;
border-radius:10px;
cursor:pointer;
transition:0.25s;
border:1px solid rgba(255,255,255,0.05);
font-size:15px;
}

.search-result:hover{
background:#d4af37;
color:#081428;
transform:translateY(-2px);
}
.service-card::before{
content:"";
position:absolute;
inset:0;
background:linear-gradient(120deg,transparent,rgba(255,255,255,0.2),transparent);
opacity:0;
transition:0.4s;
}

#progressBar{
position:fixed;
top:0;
left:0;
height:3px;
background:#d4af37;
width:0%;
z-index:9999;
}
.partner-card{
position:relative;
overflow:hidden;
}

.partner-card::before{
content:"";
position:absolute;
width:300px;
height:300px;
background:radial-gradient(circle,#f2c94c33 0%, transparent 70%);
top:var(--y);
left:var(--x);
transform:translate(-50%,-50%);
opacity:0;
transition:0.3s;
pointer-events:none;
}

.partner-card:hover::before{
opacity:1;
}
.partner-card img{
transition:0.4s ease;
}

.partner-card:hover img{
transform:scale(1.08) translateY(-6px);
box-shadow:0 15px 30px rgba(0,0,0,0.5);
}






.success-icon{
width:70px;
height:70px;
margin:auto;
border-radius:50%;
background:linear-gradient(135deg,#d4af37,#f2c94c);
color:#081428;
font-size:32px;
display:flex;
align-items:center;
justify-content:center;
margin-bottom:20px;
}

.contact-success h3{
color:#f2c94c;
margin-bottom:10px;
}

.contact-success p{
color:#cfcfcf;
margin-bottom:25px;
}

.success-actions{
display:flex;
gap:15px;
justify-content:center;
flex-wrap:wrap;
}

.success-actions a{
text-decoration:none;
}

@keyframes fadeIn{
from{
opacity:0;
transform:translateY(20px);
}
to{
opacity:1;
transform:translateY(0);
}
}
.service-whatsapp {
  position: relative;
  z-index: 10;
}

.service-card {
  position: relative;
}
.read-more {
  position: relative;
  z-index: 20;
}
.service-content {
  position: relative;
  z-index: 10;
}
.service-card {
  position: relative;
}
.contact-success{
display:none;
}