:root{
--primary:#2b0a3d;       /* deep purple (main brand) */
--secondary:#4c1d95;     /* lighter purple */
--accent:#22c55e;        /* green */
--accent-soft:#4ade80;
--highlight:#a855f7; 
--soft:#f8fafc;
--text:#0f172a;
--muted:#6b7280;
--card:#ffffff;
--border:#e5e7eb;
--background:#f8fafc;

--space-xs:10px;
--space-sm:15px;
--space-md:25px;
--space-lg:40px;
--space-xl:60px;

--shadow-sm:0 5px 15px rgba(0,0,0,0.08);
--shadow-md:0 15px 35px rgba(0,0,0,0.12);
--shadow-lg:0 25px 60px rgba(0,0,0,0.2);

--radius-sm:8px;
--radius-md:12px;
--radius-lg:16px;


}

*{
scroll-behavior:smooth;
}


/* ===== NAVBAR ===== */
header{
display:flex;
justify-content:space-between;
align-items:center;
padding:15px 5%;
background:#ffffff;
box-shadow:var(--shadow-sm);
position:sticky;
top:0;
z-index:1000;
}

/* LOGO */
.logo{
display:flex;
align-items:center;
gap:10px;
text-decoration:none;
}

.logo-text{
font-weight:900;
font-size:24px;
letter-spacing:2px;
color:#0f172a;
transition:all 0.35s ease;
position:relative;
}

/* Premium glow + lift */
.logo-text:hover{
transform:translateY(-2px) scale(1.05);
color:#111827;
text-shadow:var(--shadow-md);
}

/* subtle underline animation */
.logo-text::after{
content:"";
position:absolute;
left:0;
bottom:-5px;
width:0%;
height:3px;
background:#0f172a;
transition:0.35s;
}

.logo-text:hover::after{
width:100%;
}


.logo img{
height:40px;
}


/* NAV LINKS */
nav{
display:flex;
gap:20px;
}

nav a{
text-decoration:none;
color:var(--muted);
font-weight:600;
transition:0.3s;
position:relative;
}

nav a::after{
content:"";
position:absolute;
left:0;
bottom:-5px;
width:0%;
height:2px;
background:var(--accent);
transition:0.3s;
}

nav a:hover{
color:var(--primary);
}

nav a:hover::after{
width:100%;
}

/* ACTIVE LINK */
nav a.active{
color:var(--primary);
}

nav a.active::after{
width:100%;
}

/* MOBILE MENU */
.menu-toggle{
display:none;
font-size:24px;
cursor:pointer;
}

.hero{
min-height:70vh;
height:auto;
background:url("images/hero_edit.png") center/cover no-repeat;
display:flex;
justify-content:center;
align-items:center;
text-align:center;
padding:80px 20px;
}

.hero-overlay{
background:rgba(43,10,61,0.05); /* lighter glass */
color:#fff;
border:1px solid rgba(255,255,255,0.15);
box-shadow:var(--shadow-lg);
padding:40px;
border-radius:14px;
max-width:700px;
backdrop-filter:blur(10px);
-webkit-backdrop-filter:blur(10px);
transition:all 0.4s ease;
}


/* entire block reacts */
.hero-overlay:hover{
transform:scale(1.04);
box-shadow:var(--shadow-lg);
}

/* text reacts */
.hero-overlay h2{
font-size:36px;
font-weight:900;
transition:0.3s;
text-shadow:0 6px 20px rgba(0,0,0,0.6);
}

.hero-overlay:hover h2{
transform:translateY(-3px);
letter-spacing:1px;
}

/* paragraph lift */
.hero-overlay:hover p{
transform:translateY(-2px);
opacity:0.9;
text-shadow:0 4px 15px rgba(0,0,0,0.5);
}

/* buttons come alive */
.hero-actions a{
transition:0.3s;
color: #fff;
}

.hero-overlay:hover .btn-primary{
transform:scale(1.1);
box-shadow:var(--shadow-md);
}

.hero-overlay:hover .btn-outline{
transform:scale(1.08);
}


.hero h2{
font-size:36px;
color:#fff;
margin-bottom:var(--space-md);
}

.hero p{
color:#e5e7eb;
margin-bottom:var(--space-md);
}

.hero-actions{
display:flex;
justify-content:center;
gap:15px;
flex-wrap:wrap;
}

.mini-hero{
text-align:center;
padding:18px;
font-size:28px;
font-weight:900;
letter-spacing:3px;
color:#fff;
background:linear-gradient(90deg,#4c1d95,#22c55e);
position:relative;
overflow:hidden;
}

/* DARK OVERLAY FOR READABILITY */
.mini-hero::before{
content:"";
position:absolute;
inset:0;
background:rgba(0,0,0,0.35);
}

/* KEEP TEXT ABOVE OVERLAY */
.mini-hero p{
position:relative;
z-index:1;
color: #ededed;
text-shadow:0 4px 15px rgba(0,0,0,0.6);
}

/* explosive hover */
.mini-hero p:hover{
transform:scale(1.08);
letter-spacing:5px;
text-shadow:var(--shadow-md);
transition:0.35s;
}

@keyframes fadeSlide{
from{opacity:0; transform:translateY(-10px);}
to{opacity:1; transform:translateY(0);}
}


.btn-primary{
background:linear-gradient(135deg,#4c1d95,#22c55e);
color:#fff;
padding:12px 22px;
border-radius:8px;
font-weight:700;
text-decoration:none;
display:inline-block;
}

.btn-primary:hover{
background:linear-gradient(135deg,#22c55e,#4ade80);
color:#022c22;
transform:translateY(-3px) scale(1.05);
box-shadow:var(--shadow-md);
}

.btn-outline{
border:2px solid #0f172a;
color:#0f172a;
padding:12px 22px;
border-radius:8px;
text-decoration:none;
}

.btn-outline:hover{
background:#0f172a;
color:#fff;
transform:translateY(-3px);
}



/* MOBILE RESPONSIVE */
@media(max-width:768px){
nav{
position:absolute;
top:70px;
right:0;
background:#ffffff;
flex-direction:column;
width:200px;
padding:20px;
box-shadow:var(--shadow-md);
display:none;
}

nav.show{
display:flex;
}

.menu-toggle{
display:block;
}
}

/* RESET */
*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Inter',sans-serif;
}

body{
background:linear-gradient(180deg,#ffffff,#eef2f7);
color:var(--text);
line-height:1.6;
letter-spacing:0.2px;
}


/* CONTAINER */
.container{
max-width:1100px;
margin:auto;
padding:20px 18px;
}

/* HEADINGS */
h1,h2{
text-align:center;
color:var(--primary);
transition:0.3s;
letter-spacing:1px;
}

h1{
font-size:32px;
font-weight:800;
letter-spacing:1px;
margin-bottom:var(--space-md);
}

h1:hover{
transform:scale(1.04);
color:var(--accent);
}

h2{
margin-top:var(--space-lg);
margin-bottom:var(--space-md);
cursor:pointer;
transition:all 0.3s ease;
}

h2::after{
content:"";
display:block;
width:60px;
height:3px;
background:linear-gradient(90deg,#22c55e,#a855f7);
margin:8px auto 0;
border-radius:2px;
transform:scale(1.05);
color:var(--accent);
}

/* TEXT */
p{
color:var(--muted);
text-align:center;
max-width:750px;
margin:0 auto 15px;
}

/* GALLERY */
.gallery{
display:grid;
grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
gap:15px;
margin:var(--space-md) auto;
max-width:1000px;          /* same visual width as content */
justify-items:center;
justify-content:center;
}

.gallery img{
width:100%;
height:200px;
object-fit:cover;
border-radius:12px;
transition:0.4s;
display:block;
margin:auto;
}

.gallery img:hover{
transform:scale(1.06);
box-shadow:var(--shadow-md);
}

/* CARDS / LIST */
.card,
.equipment-list li{
background:rgba(255,255,255,0.9);
backdrop-filter:blur(6px);
border:1px solid rgba(0,0,0,0.05);
box-shadow:var(--shadow-md);
border-radius:14px;
padding:18px;
text-align:center;
cursor:pointer;
transition:0.35s;
position:relative;
overflow:hidden;
}

.card:hover,
.equipment-list li:hover{
transform:translateY(-10px) scale(1.04);
box-shadow:var(--shadow-lg);
border-color:#22c55e;
}

/* SHINE EFFECT */
.card::before,
.equipment-list li::before{
content:"";
position:absolute;
top:0;
left:-100%;
width:100%;
height:100%;
background:linear-gradient(120deg,transparent,rgba(255,255,255,0.6),transparent);
transition:0.6s;
}

.card:hover::before,
.equipment-list li:hover::before{
left:100%;
}

/* GRID */
.equipment-list ul,
.equipment-grid{
display:grid;
grid-template-columns:repeat(auto-fit, minmax(220px,1fr));
gap:15px;
list-style:none;
}

/* BUTTON */
.back,.btn{
display:inline-block;
margin-top:var(--space-md);
padding:12px 20px;
background:var(--primary);
color:#fff;
text-decoration:none;
border-radius:8px;
font-weight:600;
transition:0.3s;
}

.back:hover,.btn:hover{
background:var(--accent);
transform:translateY(-3px);
box-shadow:var(--shadow-md);
}

/* MODAL */
.modal{
display:none;
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.4);
backdrop-filter:blur(6px);
justify-content:center;
align-items:center;
z-index:2000;   
}

.modal-content{
background:#ffffff;
padding:var(--space-md);
border-radius:16px;
max-width:500px;
width:90%;
text-align:center;
box-shadow:var(--shadow-lg);
animation:pop 0.25s ease;
}

.modal-content h3{
color:var(--primary);
margin-bottom:var(--space-md);
}

.modal-content p{
color:var(--muted);
}

@keyframes pop{
from{transform:scale(0.85);opacity:0;}
to{transform:scale(1);opacity:1;}
}

/* SOCIAL */
.social-section{
text-align:center;
margin-top:var(--space-lg);
padding:var(--space-md) 10px;
background:#f1f5f9;
}

.socials{
display:flex;
justify-content:center;
flex-wrap:wrap;
gap:15px;
}

.social{
padding:12px 20px;
border-radius:8px;
text-decoration:none;
color:white;
font-weight:600;
transition:0.3s;
}

.call{background:#111;}
.youtube{background:#ff0000;}
.facebook{background:#1877f2;}
.twitter{background:#000;}
.tiktok{background:#111;border:1px solid #25f4ee;}

.social:hover{
transform:translateY(-5px) scale(1.05);
}

.service-card{
border:1px solid rgba(0,0,0,0.05);
background:linear-gradient(145deg,#ffffff,#f9fafb);
padding:25px;
border-radius:14px;
text-decoration:none;
color:#0f172a;
transition:all 0.35s ease;
box-shadow:var(--shadow-sm);
position:relative;
overflow:hidden;
display:flex;
flex-direction:column;
justify-content:center; /* vertical centering */
align-items:center;     /* horizontal centering */
text-align:center;
min-height:180px;
gap:10px; 
}

/* subtle gradient shine */
.service-card::before{
content:"";
position:absolute;
top:0;
left:-100%;
width:100%;
height:100%;
background:linear-gradient(120deg,transparent,rgba(255,255,255,0.5),transparent);
transition:0.5s;
}

.service-card:hover::before{
left:100%;
}

.service-card:hover{
transform:translateY(-10px) scale(1.04);
box-shadow:var(--shadow-md),
0 0 0 1px rgba(212,175,55,0.3);
}

/* text pop */
.service-card:hover h3{
transform:translateY(-3px);
}
.service-card h3{
font-size:22px;
font-weight:800;
}

/* WHATSAPP ONLY GREEN */
.whatsapp-top{
position:fixed;
font-size:14px;
top:15px;
left:50%;
transform:translateX(-50%);
background:#25d366;
color:#fff;
padding:8px 16px;
border-radius:var(--space-md);
font-weight:800;
z-index:2000;
transition:all 0.35s ease;
box-shadow:var(--shadow-sm);
}

/* hover + pulse */
.whatsapp-top:hover{
transform:translateX(-50%) scale(1.1);
box-shadow:0 15px 40px rgba(37,211,102,0.6);
}

/* floating button stronger */
.whatsapp-float:hover{
transform:scale(1.2);
box-shadow:0 15px 40px rgba(37,211,102,0.6);
}



.whatsapp-float{
position:fixed;
bottom:20px;
right:20px;
background:#25d366;
color:#fff;
font-size:22px;
padding:15px;
border-radius:50%;
z-index:1000;
}

.section h2{
text-align:center;
font-size:32px;
font-weight:900;
margin-bottom:var(--space-md);
transition:0.3s;
position:relative;
cursor:pointer;
}

/* underline grow */
.section h2::after{
content:"";
display:block;
width:70px;
height:4px;
background:linear-gradient(90deg,#22c55e,#a855f7);
margin:10px auto 0;
transition:0.3s;
}

.section h2:hover{
transform:translateY(-3px) scale(1.08);
letter-spacing:2px;
text-shadow:var(--shadow-sm);
}

.section h2:hover::after{
width:140px;
}

.section h2:active{
transform:scale(0.97);
}


/* MOBILE */
@media(max-width:600px){
h1{font-size:24px;}
.gallery img{height:160px;}
}

.services{
display:grid;
grid-template-columns:repeat(auto-fit, minmax(260px,1fr));
gap:25px;
margin-top:var(--space-md);
}

/* subtle glow */
.service-card::after{
content:"";
position:absolute;
bottom:0;
left:0;
width:100%;
height:4px;
background:#af0bf5;
transform:scaleX(0);
transition:0.3s;
}

.service-card:hover::after{
transform:scaleX(1);
}

.map-container{
max-width:1000px;
margin:var(--space-lg) auto;
border-radius:var(--space-md);
overflow:hidden;
box-shadow:var(--shadow-md);
}


.map-container iframe{
width:100%;
height:400px;
border:0;
}

@media(max-width:1200px){
.gallery{
grid-template-columns:repeat(4,1fr);
}
}

@media(max-width:900px){
.gallery{
grid-template-columns:repeat(3,1fr);
}
}

@media(max-width:600px){
.gallery{
grid-template-columns:repeat(2,1fr);
}
}

.section{
animation:fadeUp 0.6s ease;
}

@keyframes fadeUp{
from{
opacity:0;
transform:translateY(20px);
}
to{
opacity:1;
transform:translateY(0);
}
}

@media (hover: none){
.card:active,
.service-card:active,
.btn-primary:active{
transform:scale(0.97);
}
}

@media (hover: none){
h2:active{
transform:scale(0.97);
}
}
@media(max-width:600px){

.hero{
padding:50px 15px;
}

.container{
padding:20px 15px;
}

.gallery{
grid-template-columns:1fr;
}

.hero-overlay{
padding:25px;
}

h1{
font-size:24px;
}

h2{
font-size:22px;
}

}
