/* GLOBAL FIX */

*{

box-sizing:border-box;

}

html,
body{

width:100%;

overflow-x:hidden;

}

:root{

--primary:#6D28D9;

--primary-light:#8B5CF6;

--bg:#FFFFFF;

--section:#F8F8FC;

--text:#161616;

--muted:#6B7280;

}

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Poppins;
}

body{

background:#ffffff;

color:#161616;

overflow-x:hidden;

}

html{
scroll-behavior:smooth;
}

.navbar{

position:fixed;
height:90px;
top:0;

left:0;

width:100%;

padding:0 6%;

display:flex;

justify-content:space-between;

align-items:center;

/* VERY LIGHT PURPLE */

background-color: #f3e8ff;

backdrop-filter:
blur(18px);

border-bottom:

1px solid
rgba(109,40,217,.12);

box-shadow:

0 6px 24px
rgba(109,40,217,.08);

z-index:999;
transition:.3s;

}



.hamburger i {
  font-size: 24px;
  color: #6d28d9;
  transition: 0.3s;
}

.hamburger.active i {
  color: #8b5cf6;
}

.nav-links{

display:flex;

align-items:center;

transition: 0.3s ease;

}

.nav-links a{

color:#222;

margin-left:35px;

position:relative;

transition: 0.3s;

}

.nav-links a:hover{

color:#8b5cf6;

}
  
.hero{

min-height:90vh;

display:flex;

align-items:center;

justify-content:center;

text-align:center;

padding:130px 24px 80px;

background:

linear-gradient(
135deg,
#4C1D95,
#6D28D9,
#8B5CF6
);

color:white;

}

.hero-content{

max-width:760px;

}

.hero-badge{

display:inline-block;

padding:12px 20px;

background:
rgba(255,255,255,.14);

border-radius:999px;

margin-bottom:28px;

}

.hero h1{

font-size:72px;

line-height:1.1;

margin-bottom:22px;

}

.hero p{

font-size:22px;

opacity:.92;

margin-bottom:40px;

}

/* CONTACT BUTTON ROW */

.hero-contact{

display:flex;

justify-content:center;

align-items:center;

gap:16px;

flex-wrap:wrap;

margin-top:40px;

}

/* ALL BUTTONS */

.hero-call,
.hero-wa,
.hero-book{

height:62px;

padding:0 34px;

border-radius:18px;

display:flex;

align-items:center;

justify-content:center;

gap:12px;

font-size:18px;

font-weight:700;

text-decoration:none;

border:none;

cursor:pointer;

transition:.3s;

min-width:220px;

}

/* CALL */

.hero-call{

background:white;

color:#6D28D9;

box-shadow:
0 10px 30px rgba(255,255,255,.18);

}

/* WHATSAPP */

.hero-wa{

background:#25D366;

color:white;

}

/* BOOK */

.hero-book{

background:
linear-gradient(
135deg,
#FF7B00,
#FF9800
);

color:white;

}

/* PREMIUM HOVER */

.hero-call:hover,
.hero-wa:hover,
.hero-book:hover{

transform:
translateY(-5px);

box-shadow:
0 20px 50px rgba(0,0,0,.18);

}

/* INSTAGRAM */

.hero-insta{

display:inline-flex;

align-items:center;

gap:10px;

margin-top:26px;

padding:12px 24px;

background:
rgba(255,255,255,.10);

backdrop-filter:
blur(12px);

border-radius:999px;

font-size:18px;

color:white;

text-decoration:none;

}

/* TRUST LINE */

.hero-tags{

margin-top:24px;

display:flex;

justify-content:center;

gap:12px;

flex-wrap:wrap;

}

.hero-tags span{

padding:10px 18px;

background:
rgba(255,255,255,.08);

border-radius:999px;

}

/* MOBILE */

@media(max-width:768px){

.hero-contact{

flex-direction:column;

}

.hero-call,
.hero-wa,
.hero-book{

width:100%;

max-width:340px;

}

}

.btn{

padding:18px 40px;

border-radius:999px;

font-weight:700;

background:#7c3aed;

color:white;

}

.btn:hover{

transform:
translateY(-6px);

}

.purple{

background:#7b2fff;

color:white;

}

#gallery{

padding:80px 8%;

}

.cards{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(320px,1fr));

gap:35px;

align-items:stretch;

}

.card{

background:#0f1118;

border-radius:32px;

padding:50px;

min-height:420px;

display:flex;

flex-direction:column;

justify-content:flex-start;

}

.card p{

line-height:1.7;

min-height:70px;

}

.gallery{

display:grid;

grid-template-columns:
repeat(3,1fr);

gap:20px;

}

.gallery img{

width:100%;

border-radius:20px;

}

#contact{

padding:120px 8%;

background:#ffffff;

}

.contact-container{

display:grid;

grid-template-columns:

1fr 1fr;

gap:70px;

align-items:start;

}

.contact-form{

display:flex;

flex-direction:column;

gap:18px;


}

.contact-form input,
.contact-form select,
.contact-form textarea{

padding:18px;

border-radius:16px;

border:1px solid #ddd;

font-size:16px;

}

.contact-form button{

padding:18px;

border:none;

border-radius:16px;

background:#6D28D9;

color:white;

font-weight:700;

cursor:pointer;

}

.contact-buttons{

display:flex;

gap:16px;

margin-top:30px;

}

.contact-buttons a{

padding:14px 22px;

background:#6D28D9;

color:white;

border-radius:12px;

text-decoration:none;

}

@media(max-width:768px){

.contact-container{

grid-template-columns:1fr;

}

}


/* FOOTER */

footer{

padding:80px 8%;

background:

linear-gradient(
180deg,
#161225,
#11131a
);

color:white;

border-top:

1px solid

rgba(255,255,255,.08);

}

/* GRID */

.footer-grid{

display:grid;

grid-template-columns:
1.2fr
1fr
0.8fr;

gap:80px;

}

/* LOGO */

.footer-logo{

font-size:42px;

color:#8b5cf6;

margin-bottom:24px;

}

footer p{

color:#bdbdbd;

line-height:1.8;
font-size:20px;

opacity:.8;

}

/* TITLES */

footer h4{



font-size:22px;

}

/* LINKS */

footer a{

display:block;

margin-bottom:12px;

color:#bdbdbd;

text-decoration:none;

}

footer a:hover{

color:#8b5cf6;

}

#about{

padding:120px 8%;

background:

linear-gradient(
180deg,
white,
#faf5ff
);

}

.about-wrapper{

display:grid;

grid-template-columns:
1fr 1fr;

gap:80px;

align-items:center;

}

.about-image img{

width:100%;

height:600px;

object-fit:cover;

border-radius:36px;

box-shadow:

0 25px 80px
rgba(109,40,217,.10);

}

.about-tag{

display:inline-block;

padding:12px 20px;

border-radius:999px;

background:#F3E8FF;

color:#6D28D9;

margin-bottom:24px;

}

.about-content h2{

font-size:60px;

margin-bottom:28px;

}

.about-content p{

font-size:22px;

line-height:1.9;

color:#666;

margin-bottom:40px;

}

.about-points{

display:grid;

grid-template-columns:
1fr 1fr;

gap:18px;

margin-bottom:40px;

}

.about-points div{

padding:18px;

background:white;

border-radius:18px;

box-shadow:

0 10px 30px
rgba(109,40,217,.08);

}

.about-btn{

display:inline-block;

padding:18px 34px;

border-radius:999px;

background:

linear-gradient(
135deg,
#6D28D9,
#8B5CF6
);

color:white;

text-decoration:none;

}

/* MOBILE */

@media(max-width:768px){

.about-wrapper{

grid-template-columns:1fr;

}

.about-image img{

height:420px;

}

.about-content h2{

font-size:36px;

}

.about-content p{

font-size:18px;

}

.about-points{

grid-template-columns:1fr;

}

}

#services{

padding:110px 8%;

background:

linear-gradient(
180deg,
#ffffff,
#faf5ff
);

}

#services h2{

text-align:center;

font-size:58px;

margin-bottom:60px;

}

.service-grid{

display:grid;

grid-template-columns:
repeat(3,1fr);

gap:30px;

}

.service-card{

background:white;

padding:42px;

border-radius:28px;

box-shadow:

0 20px 60px
rgba(109,40,217,.08);

transition:.35s;

}

.service-card:hover{

transform:
translateY(-8px);

}

.service-icon{

width:72px;

height:72px;

display:flex;

align-items:center;

justify-content:center;

font-size:34px;

border-radius:50%;

background:

linear-gradient(
135deg,
#6D28D9,
#8B5CF6
);

margin-bottom:24px;

}

.service-card h3{

margin-bottom:24px;

font-size:30px;

}

.service-card ul{

padding-left:20px;

}

.service-card li{

margin-bottom:14px;

line-height:1.7;

color:#555;

}

@media(max-width:768px){

.service-grid{

grid-template-columns:1fr;

}

#services h2{

font-size:38px;

}

}

.stats{

display:grid;

grid-template-columns:
repeat(3,1fr);

justify-content:center;

gap:40px;


padding:110px 8%;

background:

linear-gradient(
135deg,
#6d28d9,
#8b5cf6
);

color:white;

}

.stats div{

background:white;

padding: 70px 40px;

border-radius:32px;

text-align:center;

border:
1px solid
rgba(255,255,255,.06);

box-shadow:

0 25px 60px
rgba(0,0,0,.08);

transition:.3s;

}

.stats div:hover{

transform:
translateY(-8px);

}

.stats h2{

font-size:78px;

color:#6d28d9;
margin-bottom:18px;

}

.stats p{

font-size:28px;

color:#6b7280;

margin-top:10px;

}

.gallery img{

height:420px;

object-fit:cover;

border-radius:30px;

transition:.4s;

}

.gallery img:hover{

transform:scale(1.05);

}

/* FLOATING CONTACT */

.floating-contact{

position:fixed;

right:25px;

bottom:35px;

display:flex;

flex-direction:column;

gap:18px;

z-index:9999;

}


/* BUTTON */

.float-btn{

position:relative;

width:72px;

height:72px;

border-radius:50%;

display:flex;

justify-content:center;

align-items:center;

text-decoration:none;

font-size:30px;

color:white;

transition:.35s;

box-shadow:

0 10px 35px

rgba(0,0,0,.25);

}


/* COLORS */

.whatsapp{

background:

linear-gradient(
135deg,
#22c55e,
#16a34a
);

}

.call{

background:

linear-gradient(
135deg,
#7c3aed,
#6d28d9
);

}

.email{

background:

linear-gradient(
135deg,
#ff5b7d,
#ff3160
);

}


/* STICKY LABEL */

.label{

position:absolute;

right:90px;

padding:14px 20px;

border-radius:14px;

background:

rgba(20,20,20,.92);

color:white;

font-size:16px;

opacity:0;

transform:
translateX(15px);

transition:.3s;

white-space:nowrap;

}


/* SHOW LABEL */

.float-btn:hover{

transform:
translateX(-10px);

}

.float-btn:hover .label{

opacity:1;

transform:
translateX(0);

}

/* WRAPPER */

.floating-menu{

position:fixed;

right:30px;

bottom:30px;

z-index:9999;

}


/* MAIN BUTTON */

.main-float{

width:72px;

height:72px;

border:none;

border-radius:50%;

cursor:pointer;

font-size:40px;

color:white;

background:

linear-gradient(
135deg,
#6d28d9,
#8b5cf6
);

box-shadow:

0 15px 40px

rgba(124,58,237,.35);

transition:.4s;

}


/* ROTATE */

.floating-menu.active .main-float{

transform:
rotate(225deg);

}


/* CHILD */

.float-items{

position:absolute;

bottom:90px;

right:0;

display:flex;

flex-direction:column;

gap:16px;

opacity:0;

pointer-events:none;

transform:
translateY(30px);

transition:.4s;

}


/* EXPAND */

.floating-menu.active .float-items{

opacity:1;

pointer-events:auto;

transform:
translateY(0);

}


/* CHILD BUTTON */

.float-item{

display:flex;

align-items:center;

gap:14px;

padding:15px 20px;

border-radius:50px;

text-decoration:none;

color:white;

font-weight:600;

min-width:200px;

transition:.3s;

}


.float-item:hover{

transform:
translateX(-8px);

}


.whatsapp{

background:#25D366;

}

.call{

background:#6d28d9;

}

.email{

background:#ff4d7a;

}


.float-item span{

font-size:16px;

}


.card{

position:relative;

overflow:hidden;

}

.card::after{

content:"";

position:absolute;

top:-100%;

left:-100%;

width:300px;

height:300px;

background:

radial-gradient(
circle,
rgba(124,58,237,.22),
transparent
);

transition:.5s;

}

.card:hover::after{

top:-20%;

left:40%;

}

.steps{

display:grid;

grid-template-columns:
repeat(4,1fr);

gap:30px;

}

.steps div{

padding:50px;

text-align:center;

border-radius:30px;

background:

rgba(255,255,255,.04);

}

.nav-links a::after{

content:"";

position:absolute;

bottom:-8px;

left:0;

width:0;

height:2px;

background:#8b5cf6;

transition:.3s;

}

.nav-links a:hover::after{

width:100%;

}

.card,
.about-container,
.gallery img{

animation:
fade .8s ease;

}

@keyframes fade{

from{

opacity:0;

transform:
translateY(40px);

}

to{

opacity:1;

transform:
translateY(0);

}

}







/* LOGO */

.logo{

display:flex;
height: 100%;
align-items:center;


}

.logo img{

width:auto;

height:170px;
display:block;

object-fit:contain;

border-radius:12px;
  /* pulls text closer */

}


.gallery{

display:grid;

grid-template-columns:
repeat(3,1fr);

gap:24px;

}


.gallery video{

width:100%;

height:395px;

object-fit:cover;

border-radius:24px;

box-shadow:
0 12px 30px
rgba(0,0,0,.08);

transition:.3s;

}

.gallery img:hover,
.gallery video:hover{

transform:
translateY(-6px);

}



/* SECTION ANIMATION */

section{

opacity:0;

transform:
translateY(40px);

animation:
sectionFade .9s ease forwards;

}

@keyframes sectionFade{

from{

opacity:0;

transform:
translateY(40px);

}

to{

opacity:1;

transform:
translateY(0);

}

}

.card,
.gallery img{

transition:
all .35s ease;

}

.card:hover,
.gallery img:hover{

transform:
translateY(-10px);

box-shadow:

0 20px 60px
rgba(109,40,217,.12);

}

.btn,
.contact-buttons a,
.about-btn{

position:relative;

overflow:hidden;

}

/* LIGHT SWEEP */

.btn::before,
.contact-buttons a::before,
.about-btn::before{

content:"";

position:absolute;

top:0;

left:-150%;

width:60%;

height:100%;

background:

linear-gradient(
90deg,
transparent,
rgba(255,255,255,.35),
transparent
);

transition:.8s;

}

.btn:hover::before,
.contact-buttons a:hover::before,
.about-btn:hover::before{

left:170%;

}

.btn:hover{

transform:
translateY(-4px);

}

.main-float{

animation:
floatPulse 3s infinite;

}

/* BOTTOM */

.footer-bottom {
  border-top: 1px solid #1f2937;

  margin-top: 50px;
  padding: 
  2px;

  text-align: center;

  font-size: 12px;
  color: #6b7280;
}

.footer-copy {
  color: #9ca3af;

  font-size: 12px;

  margin-bottom: 8px;
}

.footer-credit {
  color: #6b7280;

  font-size: 12px;
}

.footer-link {
  color: #22c55e;

  text-decoration: none;

  font-weight: 600;

  transition: 0.3s ease;
}

.footer-link:hover {
  color: #4ade80;
}

.contact-item{

display:flex;

align-items:flex-start;

gap:16px;

}

.contact-item i{

color:#7c3aed;

font-size:20px;

flex-shrink:0;

margin-top:6px;

}

.contact-item a{

color:#c8c8d0;

font-size:16px;

text-decoration:none;

line-height:1.5;

word-break:break-word;

flex:1;

}

.contact-list{

display:flex;

flex-direction:column;

gap:32px;

}

/* Main Button */

.main-button {

  width: 68px;
  height: 68px;

  border-radius: 50%;

  background:
  linear-gradient(
    135deg,
    var(--sky-blue),
    var(--light-blue)
  );

  display: flex;
  align-items: center;
  justify-content: center;

  color: white;

  font-size: 28px;

  cursor: pointer;

  box-shadow:
    0 10px 30px rgba(37,99,235,0.4);

  transition: 0.4s ease;

  animation: pulse 2s infinite;
}


/* Hover */

.main-button:hover {

  transform: scale(1.1);
}

/* Main Icon */

.main-icon {

  transition: 0.4s ease;
}

/* Rotate Icon */

.main-button.active .main-icon {

  transform: rotate(45deg);
}

/* Contact Options */

.contact-options {

  position: absolute;

  bottom: 85px;
  right: 0;

  display: flex;

  flex-direction: column;

  gap: 15px;

  opacity: 0;

  visibility: hidden;

  transform: translateY(20px);

  transition: 0.4s ease;
}

/* Active Menu */

.contact-options.active {

  opacity: 1;

  visibility: visible;

  transform: translateY(0);
}

/* Contact Button */

.contact-btn {

  position: relative;

  width: 58px;
  height: 58px;

  border-radius: 50%;

  display: flex;
  align-items: center;
  justify-content: center;

  color: white;

  font-size: 24px;

  text-decoration: none;

  transition: 0.3s ease;

  box-shadow:
    0 8px 20px rgba(0,0,0,0.15);
}

/* Hover Animation */

.contact-btn:hover {

  transform: scale(1.12);
}

/* Colors */

.whatsapp {

  background: #22c55e;
}

.call {

  background: #2563eb;
}

.email {

  background: #f97316;
}

/* Tooltips */

.tooltip {

  position: absolute;

  right: 75px;
  top: 50%;

  transform: translateY(-50%);

  background: #0f172a;

  color: white;

  padding: 10px 16px;

  border-radius: 10px;

  font-size: 14px;

  white-space: nowrap;

  opacity: 0;

  visibility: hidden;

  transition: 0.3s ease;
}

/* Show Tooltip */

.contact-btn:hover .tooltip {

  opacity: 1;

  visibility: visible;
}

/* Pulse Animation */

@keyframes pulse {

  0% {

    transform: scale(1);

    box-shadow:
      0 0 0 0 rgba(37,99,235,0.5);
  }

  70% {

    transform: scale(1.05);

    box-shadow:
      0 0 0 18px rgba(37,99,235,0);
  }

  100% {

    transform: scale(1);

    box-shadow:
      0 0 0 0 rgba(37,99,235,0);
  }
}

.insta{

background:#E1306C;

}

@media (max-width:768px){

.floating-menu{

right:18px;

bottom:18px;

}

.main-button{

width:60px;

height:60px;

font-size:24px;

}

.contact-btn{

width:52px;

height:52px;

font-size:20px;

}

.tooltip{

display:none;

}

}

:root{

--sky-blue:#6D28D9;

--light-blue:#8B5CF6;

}

.floating-menu{

position:fixed;

right:30px;

bottom:30px;

z-index:9999;

}

.footer-logo{

width:50px;

height:auto;

object-fit:contain;

display:block;

margin-bottom:20px;

}

/* ==========================
MOBILE RESPONSIVE
========================== */

@media (max-width:768px){

html,
body{
overflow-x:hidden;
}

/* HERO */

.hero{

padding:130px 24px 70px;

min-height:auto;

}

.hero h1{

font-size:42px;

line-height:1.2;

}

.hero p{

font-size:18px;

}

.hero-buttons{

flex-direction:column;

width:100%;

}

.btn{

width:100%;

text-align:center;

}

/* STATS */

.stats{

display:grid;

grid-template-columns:1fr;

gap:20px;

padding:60px 24px;

}

.stats div{

padding:32px;

}

/* SERVICES */

#services{

padding:80px 24px;

}

.cards{

grid-template-columns:1fr;

gap:24px;

}

.card{

padding:30px;

min-height:auto;

}

.card h3{

font-size:30px;

}

/* ABOUT */

#about{

padding:80px 24px;

}

.about-container{

padding:30px;

}

.about-text h2{

font-size:36px;

}

.about-text p{

font-size:18px;

}

/* GALLERY */

.gallery{

grid-template-columns:1fr;

}

.gallery img,
.gallery video{

height:auto;

}



/* FLOAT BUTTON */

.floating-menu{

right:18px;

bottom:18px;

}

.main-button{

width:58px;

height:58px;

}

.contact-btn{

width:52px;

height:52px;

}

.tooltip{

display:none;

}

}

@media (max-width:768px){

.contact-section{

padding:60px 20px;

}

.contact-container{

width:100%;

max-width:100%;

margin:0 auto;

display:flex;

flex-direction:column;

align-items:center;

}

/* BOTH SIDES */

.contact-left,
.contact-right{

width:100%;

max-width:100%;

margin:0;

padding:0;

}

/* CONTACT INFO */

.contact-left{

text-align:left;

}

/* FORM */

.contact-form{

width:100%;

display:flex;

flex-direction:column;

align-items:center;

gap:18px;



}

.contact-form input,
.contact-form select,
.contact-form textarea,
.contact-form button{

width:100%;

max-width:100%;

box-sizing:border-box;

}

/* BUTTONS */

.contact-buttons{

width:100%;

display:flex;

flex-direction:column;

gap:14px;

}

.contact-buttons a{

width:100%;

box-sizing:border-box;

}

/* FIX FLOAT BUTTON */

.floating-menu{

right:16px;

bottom:16px;

}

}



.hamburger{

display:none;

font-size:28px;

cursor:pointer;

z-index:1001;

color:#6D28D9;

}

/* MOBILE MENU FIX */

@media (max-width:768px){

.navbar{

position:fixed;

top:0;

left:0;

width:100%;

z-index:999999;

}

/* hamburger */

.hamburger{

display:flex !important;

position:relative;

z-index:999999;

}

/* menu */

.nav-links{

position:fixed;

top:72px;

left:0;

width:100%;

height:calc(100vh - 72px);

background:#f3e8ff;

display:flex;

flex-direction:column;

align-items:center;

justify-content:flex-start;

gap:30px;

padding-top:40px;

/* IMPORTANT */

transform:translateX(-100%);

transition:.35s ease;

z-index:999998;

overflow-y:auto;

}

/* open */

.nav-links.active{

transform:translateX(0);

}

/* links */

.nav-links a{

display:block;

width:100%;

padding:18px;

font-size:20px;

text-align:center;

cursor:pointer;

}

/* disable page scroll */

body.menu-open{

overflow:hidden;

}

/* hide floating buttons */

.floating-menu,
.insta-toggle{

z-index:1;

}

}
/* disable floating buttons while menu open */

.floating-menu,
.insta-toggle{

z-index:10;

}



/* ======================
FOOTER MOBILE FIX
====================== */

@media (max-width:768px){

footer{

padding:50px 24px;

overflow:hidden;

}

.footer-grid{

display:flex;

flex-direction:column;

align-items:center;

gap:40px;

text-align:center;

}

/* all 3 columns */

.footer-grid > div{

width:100%;

max-width:320px;

}

/* logo */

.footer-logo{

width:110px;

margin:0 auto 18px;

display:block;

}

/* description */

footer p{

font-size:18px;

line-height:1.8;

}

/* CONTACT */

.contact-list{

display:flex;

flex-direction:column;

align-items:center;

gap:20px;

}

/* icon + text */

.contact-item{

display:flex;

align-items:center;

justify-content:center;

gap:14px;

width:100%;

flex-wrap:nowrap;

}

.contact-item i{

margin:0;

font-size:18px;

min-width:22px;

}

.contact-item a{

font-size:18px;

word-break:break-word;

text-align:left;

}

/* QUICK LINKS */

.footer-grid a{

margin-bottom:10px;

}

/* bottom */

.footer-bottom{

margin-top:30px;

padding-top:20px;

}

.footer-copy,
.footer-credit{

font-size:13px;

}

}

@media (max-width:1024px){

.navbar{

width:100%;

max-width:100vw;

padding:0 24px;

height:80px;



}

/* logo */

.logo{

margin-left:0;

flex:0 0 auto;

}

.logo img{

height:120px !important;

width:auto;

}

/* links */

.nav-links{

display:flex;

justify-content:flex-end;

align-items:center;

gap:20px;

flex:1;



}

.nav-links a{

margin:0;

font-size:15px;

white-space:nowrap;

}

}

/* prevent sections causing overflow */

section,
footer,
.hero,
.stats,
.gallery,
.contact-container,
.about-container{

max-width:100%;

overflow-x:hidden;

}

#accessories{

padding:120px 8%;

background:

linear-gradient(
180deg,
#faf5ff,
white
);

}

.section-head{

text-align:center;

margin-bottom:60px;

}

.section-head h2{

font-size:56px;

color:#111;

margin-bottom:14px;

}

.section-head p{

color:#777;

font-size:20px;

}

.accessory-grid{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(260px,1fr));

gap:28px;

}

.accessory-card{

padding:30px;

border-radius:26px;

background:white;

box-shadow:
0 20px 60px rgba(109,40,217,.08);

transition:.35s;

}

.accessory-card img{

width:100%;

height:230px;

object-fit:contain;

margin-bottom:18px;

}

.accessory-card h3{

font-size:22px;

font-weight:700;

margin-bottom:10px;

line-height:1.4;

}

.accessory-card p{

font-size:15px;

color:#777;

line-height:1.6;

}

.accessory-card:hover{

transform:
translateY(-8px);

box-shadow:
0 30px 70px rgba(109,40,217,.14);

}

/* MOBILE */

@media(max-width:768px){

.accessory-grid{

grid-template-columns:1fr;

}

.section-head h2{

font-size:36px;

}

}

/* TABLET */

@media(
min-width:769px
)
and
(max-width:1024px){

.accessory-grid{

grid-template-columns:
repeat(2,1fr);

}

}

/* BOOK BUTTON */

.hero-book{

padding:18px 34px;

border:none;

border-radius:999px;

cursor:pointer;

background:

linear-gradient(
135deg,
#ff7b00,
#ff9800
);

color:white;

font-weight:700;

}


/* POPUP */

.popup-form{

position:fixed;

inset:0;

background:
rgba(0,0,0,.5);

display:none;

justify-content:center;

align-items:center;

z-index:99999;

}

.popup-form.active{

display:flex;

}

.popup-box{

width:92%;

max-width:560px;

padding:40px;

background:white;

border-radius:28px;

position:relative;

}

.popup-box form{

display:flex;

flex-direction:column;

gap:16px;

}

.popup-box input,
.popup-box select,
.popup-box textarea{

padding:18px;

border-radius:14px;

border:1px solid #ddd;

}

.popup-box button[type="submit"]{

padding:18px;

border:none;

background:#6D28D9;

color:white;

border-radius:14px;

}

.close-popup{

position:absolute;

top:20px;

right:20px;

background:none;

border:none;

font-size:28px;

cursor:pointer;

}

/* =========================
PORTAB REVIEWS — PREMIUM
========================= */

#reviews{

padding:120px 8%;

background:
linear-gradient(
180deg,
#ffffff,
#faf5ff
);

}

/* HEADER */

.review-head{

text-align:center;

max-width:900px;

margin:0 auto 70px;

}

.review-head span{

display:inline-block;

padding:10px 22px;

background:#efe4ff;

color:#6D28D9;

border-radius:999px;

font-weight:600;

margin-bottom:22px;

}

.review-head h2{

font-size:64px;

line-height:1.08;

margin-bottom:18px;

color:#161616;

}

.review-head p{

font-size:22px;

color:#6b7280;

}

/* GRID */

.review-gallery{

max-width:1500px;

margin:auto;

display:grid;

grid-template-columns:
repeat(3,1fr);

gap:34px;

align-items:stretch;

}

/* CARD */

.review-card{

background:#ffffff;
width: 100%;
padding:18px;

border-radius:34px;

box-shadow:
0 18px 60px rgba(109,40,217,.08);

overflow:hidden;

transition:.35s;
height:100%;

}

/* IMAGE */

.review-card img{

width:100%;

display:block;

border-radius:24px;

transform:scale(1.05);

transform-origin:center;
height:200px;
}

/* HOVER */

.review-card:hover{

transform:
translateY(-10px);

box-shadow:
0 30px 80px rgba(109,40,217,.16);

}

/* BUTTON */

.review-btn{

display:flex;

justify-content:center;

align-items:center;

margin:60px auto 0;

width: 420px;



height:50px;

padding:0 42px;

background:
linear-gradient(
135deg,
#16a34a,
#15803d
);

color:white;

text-decoration:none;

font-size:22px;

font-weight:700;

border-radius:22px;

box-shadow:
0 16px 40px rgba(22,163,74,.20);

transition:.35s;

}

.review-btn:hover{

transform:
translateY(-5px);

}

/* TABLET */

@media(max-width:1024px){

.review-gallery{

grid-template-columns:
1fr 1fr;

}

.review-head h2{

font-size:48px;

}

}


/* =====================
CONTACT PREMIUM
===================== */

#contact{

padding:120px 8%;

background:#f8f8fc;

}

/* CENTER HEADING */

.contact-title{

text-align:center;

margin-bottom:70px;

}

.contact-title h2{

font-size:72px;

font-weight:800;

color:#081126;

margin-bottom:18px;

}

.contact-title .line{

width:120px;

height:6px;

margin:auto;

border-radius:999px;

background:

linear-gradient(
90deg,
#6D28D9,
#47b5ff
);

}

/* LAYOUT */

.contact-container{

display:grid;

grid-template-columns:
0.9fr 1.1fr;

gap:80px;

align-items:start;

}

/* LEFT */

.contact-info h3{

font-size:48px;

margin-bottom:30px;

color:#081126;

}

.contact-list{

display:flex;

flex-direction:column;

gap:24px;

font-size:24px;

}

.contact-item{

color:#111827;

line-height:1.7;

}

/* FORM */

.contact-form{

background:white;

padding:44px;

border-radius:36px;

box-shadow:
0 20px 60px rgba(0,0,0,.06);

display:flex;

flex-direction:column;

gap:22px;

}

.contact-form input,
.contact-form select,
.contact-form textarea{

padding:22px;

border-radius:20px;

border:1px solid #ddd;

font-size:20px;

}

.contact-form button{

padding:22px;

border:none;

border-radius:18px;

background:

linear-gradient(
135deg,
#6D28D9,
#8B5CF6
);

color:white;

font-size:20px;

font-weight:700;

cursor:pointer;

transition:.3s;

}

.contact-form button:hover{

transform:
translateY(-4px);

}

/* MOBILE */

@media(max-width:768px){

.contact-title h2{

font-size:46px;

}

.contact-container{

grid-template-columns:1fr;

gap:40px;

}

.contact-info h3{

font-size:34px;

}

.contact-form{

padding:28px;

}

}

.form-title{

font-size:36px;

font-weight:800;

color:#081126;

margin-bottom:8px;

}

.form-sub{

color:#6b7280;

margin-bottom:20px;

font-size:17px;

}

/* ===================
VIDEO HERO
=================== */

.hero{

position:relative;

overflow:hidden;

min-height:100vh;

display:flex;

justify-content:center;

align-items:center;

}

/* VIDEO */

.hero-video{

position:absolute;

top:0;

left:0;

width:100%;

height:100%;

object-fit:cover;

z-index:-2;

}

/* DARK OVERLAY */

.hero-overlay{

position:absolute;

inset:0;

background:

rgba(0,0,0,.45);

z-index:-1;

}

/* TEXT */

.hero-content{

position:relative;

z-index:5;

text-align:center;

color:white;

}

.hero h1{

font-size:78px;

font-weight:900;

}

.hero p{

font-size:22px;

}

/* MOBILE */

@media(max-width:768px){

.hero h1{

font-size:44px;

}

}

/* INSTAGRAM */

.insta-toggle{

position:fixed;

left:25px;

bottom:30px;

z-index:9999;

}

.insta-toggle a{

width:64px;

height:64px;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

text-decoration:none;

font-size:30px;

color:white;

background:

linear-gradient(
135deg,
#833ab4,
#fd1d1d,
#fcb045
);

box-shadow:

0 15px 40px
rgba(225,48,108,.35);

transition:.3s;

}

.insta-toggle a:hover{

transform:
translateY(-8px)
scale(1.08);

}

/* ==========================
ABOUT VIDEO
========================== */

.about-video{

position:relative;

overflow:hidden;

border-radius:36px;

animation:
slideLeft 1s ease;

box-shadow:
0 30px 80px rgba(109,40,217,.12);

}

/* VIDEO */

.about-video video{

width:100%;

height:620px;

object-fit:cover;

display:block;

border-radius:36px;

transition:.7s;

}

/* PREMIUM ZOOM */

.about-video:hover video{

transform:
scale(1.05);

}

/* SHINE EFFECT */

.about-video::before{

content:"";

position:absolute;

top:0;

left:-120%;

width:40%;

height:100%;

background:

linear-gradient(
90deg,
transparent,
rgba(255,255,255,.25),
transparent
);

transform:
skewX(-20deg);

transition:1s;

z-index:3;

}

.about-video:hover::before{

left:140%;

}

/* DARK OVERLAY */

.about-video::after{

content:"";

position:absolute;

inset:0;

background:

linear-gradient(
180deg,
transparent,
rgba(0,0,0,.08)
);

}

/* MOBILE */

@media(max-width:768px){

.about-video video{

height:420px;

}

}

/* ==========================
ACTIVE NAV LINK
========================== */

.nav-links a{

position:relative;

color:#222;

transition:.3s;

}

/* ACTIVE */

.nav-links a.active{

color:#6D28D9;

font-weight:700;

}

/* UNDERLINE */

.nav-links a.active::after{

content:"";

position:absolute;

left:0;

bottom:-8px;

width:100%;

height:3px;

border-radius:999px;

background:

linear-gradient(
90deg,
#6D28D9,
#8B5CF6
);

}

/* HOVER */

.nav-links a:hover{

color:#8B5CF6;

}

/* =====================
NAV ACTIVE ONLY
===================== */

/* NORMAL LINKS */

.nav-links a{

position:relative;

text-decoration:none; /* removes default underline */

color:#222;

}

/* HIDE UNDERLINE */

.nav-links a::after{

content:"";

position:absolute;

left:0;

bottom:-8px;

width:0;

height:3px;

border-radius:999px;

background:#8B5CF6;

transition:.3s;

}

/* HOVER */

.nav-links a:hover{

color:#8B5CF6;

}

.nav-links a:hover::after{

width:100%;

}

/* ACTIVE SECTION */

.nav-links a.active{

color:#6D28D9;

font-weight:700;

}

.nav-links a.active::after{

width:100%;

}

/* ======================
REVIEW BUTTON RESPONSIVE
====================== */

.review-btn{

display:inline-flex;

align-items:center;

justify-content:center;

text-align:center;

margin-top:50px;

padding:18px 34px;

max-width:420px;

width:100%;

min-height:64px;

background:#14893d;

color:white;

font-size:18px;

font-weight:700;

line-height:1.3;

border-radius:999px;

text-decoration:none;

transition:.3s;

}

/* HOVER */

.review-btn:hover{

transform:
translateY(-4px);

box-shadow:
0 18px 40px
rgba(20,137,61,.22);

}

/* MOBILE */

@media(max-width:768px){

.review-btn{

width:90%;

max-width:320px;

padding:16px 24px;

font-size:16px;

margin-top:40px;

}

}

/* =========================
CONTACT MOBILE FINAL FIX
========================= */

@media (max-width:768px){

#contact{

padding:70px 20px;

}

/* STACK */

.contact-container{

display:flex !important;

flex-direction:column;

gap:40px;

}

/* LEFT SIDE */

.contact-info{

width:100%;

text-align:left;

}

.contact-info h3{

font-size:32px;

margin-bottom:24px;

}

/* CONTACT ITEMS */

.contact-list{

gap:18px;

}

.contact-item{

display:flex;

align-items:center;

gap:12px;

font-size:16px;

flex-wrap:wrap;

word-break:break-word;

}

/* EMAIL FIX */

.contact-item a{

font-size:15px;

word-break:break-word;

}

/* BUTTONS */

.contact-buttons{

display:flex;

flex-direction:column;

gap:14px;

width:100%;

}

.contact-buttons a{

width:100%;

height:56px;

padding:0 18px;

display:flex;

align-items:center;

justify-content:center;

font-size:18px;

border-radius:16px;

}

/* FORM */

.contact-form{

width:100%;

padding:24px;

border-radius:24px;

}

.contact-form input,
.contact-form select,
.contact-form textarea{

width:100%;

font-size:16px;

padding:16px;

}

/* SEND BUTTON */

.contact-form button{

width:100%;

height:58px;

}

/* PREVENT FLOAT OVERLAP */

.floating-menu{

bottom:16px;

right:16px;

transform:scale(.85);

}

.insta-toggle{

left:16px;

bottom:16px;

transform:scale(.85);

}

}

/* =========================
REVIEW BUTTON TABLET FIX
========================= */

@media (min-width:769px) and (max-width:1024px){

.review-btn{

display:flex;

align-items:center;

justify-content:center;

margin:50px auto 0;

width:fit-content;

min-width:340px;

max-width:500px;

padding:18px 40px;

font-size:22px;

text-align:center;

border-radius:999px;

}

}

/* ======================
DESKTOP CENTER FIX
====================== */

@media (min-width:1025px){

.review-btn{

display:flex;

margin-left:auto !important;

margin-right:auto !important;

margin-top:60px;

width:fit-content;

min-width:420px;

justify-content:center;

}

}

/* =========================
REPAIR GALLERY PREMIUM
========================= */

/* TITLE */

.gallery-head{

text-align:center;

margin-bottom:60px;

}

.gallery-head h2{

font-size:72px;

font-weight:800;

color:#111827;

margin-bottom:14px;

}

.gallery-head p{

font-size:22px;

color:#6b7280;

}

/* GALLERY */

.gallery{

margin-bottom:60px;

}

/* BUTTON */

.gallery-btn{

display:flex;

align-items:center;

justify-content:center;

gap:14px;

width:fit-content;

margin:0 auto;

padding:22px 44px;

border-radius:999px;

text-decoration:none;

color:white;

font-size:22px;

font-weight:700;

background:

linear-gradient(
135deg,
#833AB4,
#E1306C,
#FCAF45
);

transition:.35s;

box-shadow:
0 18px 50px rgba(225,48,108,.22);

}

.gallery-btn:hover{

transform:
translateY(-6px);

box-shadow:
0 26px 60px rgba(225,48,108,.35);

}

.gallery-btn i{

font-size:28px;

}

/* TABLET */

@media(max-width:1024px){

.gallery-head h2{

font-size:56px;

}

.gallery-btn{

font-size:18px;

padding:18px 34px;

}

}

/* MOBILE */

@media(max-width:768px){

.gallery-head{

margin-bottom:40px;

}

.gallery-head h2{

font-size:40px;

}

.gallery-head p{

font-size:18px;

}

.gallery-btn{

width:90%;

max-width:340px;

padding:18px;

font-size:16px;

}

}

.hero{
position:relative;
overflow:hidden;
}

.hero::before{
content:"";

position:absolute;

inset:0;

background:
linear-gradient(
rgba(0,0,0,.45),
rgba(0,0,0,.45)
);

z-index:1;
}

.hero-content{
position:relative;
z-index:2;
}



.hero p{

color:
rgba(255,255,255,.92);

font-size:24px;

font-weight:500;

}

.hero-call{

background:#ffffff;

color:#6D28D9;

}

.hero-wa{

background:#22c55e;

color:white;

}

.hero-insta{

background:
rgba(255,255,255,.18);

backdrop-filter:
blur(18px);

border:

1px solid
rgba(255,255,255,.18);

}

.hero-tags span{

background:
rgba(255,255,255,.14);

color:white;

font-weight:600;

}

/* ===================
REVIEWS MOBILE FIX
=================== */

.review-gallery{

display:grid;

grid-template-columns:
repeat(3,1fr);

gap:30px;

}

/* CARD */

.review-card{

background:#fff;

padding:18px;

border-radius:28px;

width:100%;

}

/* REVIEW IMAGE */

.review-card img{

width:100%;

height:auto;

display:block;

border-radius:22px;

object-fit:contain;

}


/* MOBILE */

@media (max-width:768px){

#reviews{

padding:80px 20px;

}

.review-gallery{

grid-template-columns:1fr;

gap:26px;

justify-items:center;

}

.review-card{

width:100%;

max-width:360px;

padding:14px;

border-radius:26px;

}

.review-card img{

width:100%;

height:auto;

border-radius:22px;

object-fit:contain;

}

.review-btn{

width:100%;

max-width:320px;

margin:40px auto 0;

display:flex;

justify-content:center;

}

}


/* TABLET */

@media (min-width:769px) and (max-width:1024px){

.review-gallery{

grid-template-columns:1fr 1fr;

gap:28px;

}

.review-card{

max-width:520px;

margin:auto;

}

}

/* INSTAGRAM HERO BUTTON */

.home-insta-toggle{

display:flex;

justify-content:center;

margin-top:22px;

}

/* BUTTON */

.home-insta-toggle a{

width:150px;      /* same style as top buttons */
height:60px;

border-radius:22px;

display:flex;

align-items:center;

justify-content:center;

text-decoration:none;

/* Instagram gradient */

background:
linear-gradient(
135deg,
#833AB4,
#E1306C,
#F77737
);

box-shadow:
0 14px 40px
rgba(225,48,108,.28);

transition:.35s;

}

/* ICON */

.home-insta-toggle i{

font-size:42px;

color:white;

}

/* HOVER */

.home-insta-toggle a:hover{

transform:
translateY(-6px);

box-shadow:
0 20px 50px
rgba(225,48,108,.35);

}

/* MOBILE */

@media(max-width:768px){

.home-insta-toggle a{

width:180px;

height:64px;

}

.home-insta-toggle i{

font-size:34px;

}

}

/* =========================
PREMIUM CONTACT FORM
========================= */

.contact-form{

background:
linear-gradient(
180deg,
#ffffff,
#faf7ff
);

padding:48px;

border-radius:34px;

box-shadow:
0 30px 80px
rgba(109,40,217,.10);

border:
1px solid rgba(109,40,217,.08);

position:relative;

overflow:hidden;

}

/* TOP GLOW */

.contact-form::before{

content:"";

position:absolute;

top:-120px;
right:-120px;

width:240px;
height:240px;

border-radius:50%;

background:
radial-gradient(
circle,
rgba(139,92,246,.12),
transparent
);

}

/* TITLE */

.form-title{

font-size:42px;

font-weight:800;

color:#161616;

margin-bottom:10px;

}

.form-sub{

color:#6b7280;

font-size:18px;

margin-bottom:30px;

}

/* INPUTS */

.contact-form input,
.contact-form select,
.contact-form textarea{

width:100%;

padding:20px 24px;

font-size:17px;

border-radius:18px;

border:1px solid #e8e8ee;

background:#fff;

transition:.3s;

}

/* FOCUS */

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{

outline:none;

border-color:#8B5CF6;

box-shadow:
0 0 0 6px
rgba(139,92,246,.10);

transform:
translateY(-2px);

}

/* PLACEHOLDER */

.contact-form input::placeholder,
.contact-form textarea::placeholder{

color:#a1a1aa;

}

/* BUTTON */

.contact-form button{

height:64px;

border:none;

border-radius:18px;

font-size:18px;

font-weight:700;

color:white;

cursor:pointer;

background:

linear-gradient(
135deg,
#6D28D9,
#8B5CF6
);

box-shadow:
0 16px 40px
rgba(109,40,217,.22);

transition:.35s;

}

/* BUTTON HOVER */

.contact-form button:hover{

transform:
translateY(-4px);

box-shadow:
0 22px 55px
rgba(109,40,217,.28);

}

/* MOBILE */

@media(max-width:768px){

.contact-form{

padding:28px;

border-radius:26px;

}

.form-title{

font-size:30px;

}

.form-sub{

font-size:16px;

}

}

.gallery video{

filter:
brightness(.95)
contrast(1.05);

}

.reveal{

opacity:0;

transform:
translateY(50px);

transition:.8s;

}

.reveal.show{

opacity:1;

transform:
translateY(0);

}