:root{
  --black:#000000;
  --black-2:#0a0a0a;
  --black-3:#141414;
  --teal:#0AC6C2;
  --magenta:#E30772;
  --green:#159425;
  --text-muted: rgba(255,255,255,.7);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--black);
  color:#fff;
  font-family:'Inter', system-ui, sans-serif;
  overflow-x:hidden;
}

.text-teal{color:var(--teal)!important;}
.text-magenta{color:var(--magenta)!important;}
.text-green{color:var(--green)!important;}
.bg-black-2{background:var(--black-2);}

h1,h2,h3,.brand-text,.display-3,.display-5,.display-6,.stat-num{
  font-family:'Russo One', 'Inter', sans-serif;
  letter-spacing:.5px;
}

.eyebrow{
  display:inline-block;
  text-transform:uppercase;
  letter-spacing:3px;
  font-size:.8rem;
  font-weight:600;
  margin-bottom:.75rem;
}

.py-section{padding:6rem 0;}
@media(max-width:768px){.py-section{padding:4rem 0;}}

/* NAV */
.navbar{
  background:rgba(0,0,0,.6);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  transition:all .3s ease;
  padding:.6rem 0;
  border-bottom:1px solid rgba(255,255,255,.05);
}
.navbar.scrolled{
  background:rgba(0,0,0,.92);
  padding:.4rem 0;
}
.navbar-brand .brand-text{
  font-family:'Russo One',sans-serif;
  color:#fff;
  font-size:1.1rem;
  letter-spacing:1px;
}
.nav-link{
  color:rgba(255,255,255,.8)!important;
  font-weight:500;
  position:relative;
  padding:.5rem 1rem!important;
  transition:color .25s;
}
.nav-link:hover, .nav-link.active{color:var(--teal)!important;}
.nav-link::after{
  content:'';position:absolute;left:50%;bottom:0;
  width:0;height:2px;background:var(--teal);
  transition:all .3s;
}
.nav-link:hover::after,.nav-link.active::after{width:60%;left:20%;}

/* BUTTONS */
.btn{
  border-radius:50px;
  font-weight:600;
  padding:.65rem 1.5rem;
  letter-spacing:.4px;
  transition:transform .25s, box-shadow .25s, background .25s;
  border:none;
}
.btn:hover{transform:translateY(-2px);}
.btn-magenta{
  background:var(--magenta);color:#fff;
  box-shadow:0 8px 24px -8px rgba(227,7,114,.6);
}
.btn-magenta:hover{background:#ff1f86;color:#fff;box-shadow:0 12px 32px -8px rgba(227,7,114,.8);}
.btn-teal{
  background:var(--teal);color:#000;
  box-shadow:0 8px 24px -8px rgba(10,198,194,.6);
}
.btn-teal:hover{background:#22e0dc;color:#000;}
.btn-outline-light{border:2px solid rgba(255,255,255,.4);}
.btn-outline-light:hover{background:#fff;color:#000;}

/* HERO */
.hero{position:relative;min-height:100vh;overflow:hidden;}
.hero-bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  filter:brightness(.5) saturate(1.1);
  transform:scale(1.05);
  animation:slowZoom 20s ease-in-out infinite alternate;
}
@keyframes slowZoom{from{transform:scale(1.05);}to{transform:scale(1.15);}}
.hero-overlay{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 20% 30%, rgba(227,7,114,.25), transparent 60%),
    radial-gradient(ellipse at 80% 70%, rgba(10,198,194,.25), transparent 60%),
    linear-gradient(180deg, rgba(0,0,0,.4) 0%, rgba(0,0,0,.85) 100%);
}
.hero-content{position:relative;z-index:2;}
.hero-logo{
  filter:drop-shadow(0 20px 40px rgba(10,198,194,.35)) drop-shadow(0 0 60px rgba(227,7,114,.25));
  animation:float 6s ease-in-out infinite;
}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-18px);}}

.badge-pill{
  display:inline-flex;align-items:center;gap:.5rem;
  background:rgba(10,198,194,.15);
  color:var(--teal);
  border:1px solid rgba(10,198,194,.4);
  padding:.4rem 1rem;border-radius:50px;
  font-size:.85rem;font-weight:600;
  text-transform:uppercase;letter-spacing:1.5px;
}

.stats{border-top:1px solid rgba(255,255,255,.1);padding-top:1.5rem;}
.stat-num{font-size:2.2rem;line-height:1;}
.stat-lbl{font-size:.8rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);}

.scroll-down{
  position:absolute;bottom:20px;left:50%;transform:translateX(-50%);
  color:rgba(255,255,255,.6);font-size:2rem;
  animation:bounce 2s infinite;text-decoration:none;z-index:3;
}
.scroll-down:hover{color:var(--teal);}
@keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0);}50%{transform:translateX(-50%) translateY(10px);}}

/* SERVICE CARDS */
.service-card{
  background:linear-gradient(160deg, rgba(255,255,255,.04), rgba(255,255,255,.01));
  border:1px solid rgba(255,255,255,.08);
  border-radius:20px;
  padding:2rem;
  transition:all .4s ease;
  position:relative;overflow:hidden;
}
.service-card::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,var(--magenta),var(--teal));
  opacity:0;transition:opacity .4s;z-index:-1;
  border-radius:20px;
}
.service-card:hover{
  transform:translateY(-8px);
  border-color:rgba(10,198,194,.4);
  box-shadow:0 20px 50px -20px rgba(10,198,194,.4);
}
.service-icon{
  width:64px;height:64px;border-radius:16px;
  display:flex;align-items:center;justify-content:center;
  font-size:1.8rem;margin-bottom:1.25rem;
}
.icon-magenta{background:rgba(227,7,114,.15);color:var(--magenta);}
.icon-teal{background:rgba(10,198,194,.15);color:var(--teal);}
.icon-green{background:rgba(21,148,37,.18);color:#2bd342;}

/* IMG FRAME */
.img-frame{position:relative;}
.img-frame img{position:relative;z-index:2;width:100%;}
.img-frame-deco{
  position:absolute;width:140px;height:140px;border-radius:24px;
  z-index:1;
}
.deco-teal{top:-20px;left:-20px;background:var(--teal);opacity:.5;filter:blur(2px);}
.deco-magenta{bottom:-20px;right:-20px;background:var(--magenta);opacity:.5;filter:blur(2px);}

.features-list li{
  padding:.5rem 0;color:var(--text-muted);font-weight:500;
}
.features-list i{margin-right:.65rem;font-size:1.15rem;}

/* GALLERY */
.gallery-card{
  position:relative;border-radius:18px;overflow:hidden;
  aspect-ratio:1/1;cursor:pointer;
}
.gallery-card img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .6s ease;
}
.gallery-card:hover img{transform:scale(1.1);}
.gallery-cap{
  position:absolute;inset:auto 0 0 0;
  padding:1rem;
  background:linear-gradient(0deg, rgba(0,0,0,.9), transparent);
  color:#fff;font-weight:600;
}
.gallery-cap i{color:var(--teal);margin-right:.4rem;}

/* CTA BAND */
.cta-band{
  background:
    linear-gradient(135deg, rgba(227,7,114,.85), rgba(10,198,194,.85)),
    url('../img/grua.jpg') center/cover;
  position:relative;
}

/* CONTACT */
.contact-list{display:flex;flex-direction:column;gap:1rem;}
.contact-item{
  display:flex;align-items:center;gap:1rem;
  padding:1rem 1.25rem;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  text-decoration:none;color:#fff;
  transition:all .3s;
}
.contact-item:hover{
  background:rgba(255,255,255,.06);
  border-color:rgba(10,198,194,.4);
  transform:translateX(4px);
  color:#fff;
}
.contact-ic{
  width:50px;height:50px;border-radius:12px;flex:none;
  display:flex;align-items:center;justify-content:center;font-size:1.4rem;
}
.ic-green{background:rgba(21,148,37,.2);color:#2bd342;}
.ic-magenta{background:rgba(227,7,114,.2);color:var(--magenta);}
.ic-teal{background:rgba(10,198,194,.2);color:var(--teal);}
.contact-lbl{font-size:.8rem;text-transform:uppercase;color:var(--text-muted);letter-spacing:1px;}
.contact-val{font-weight:600;}

.map-wrap iframe{display:block;filter:grayscale(.4) invert(.92) hue-rotate(180deg);}

/* FOOTER */
.footer{background:#050505;border-top:1px solid rgba(255,255,255,.05);}

/* WHATSAPP FLOAT */
.wa-float{
  position:fixed;bottom:25px;right:25px;
  width:60px;height:60px;border-radius:50%;
  background:#25D366;color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:1.8rem;text-decoration:none;
  box-shadow:0 10px 30px rgba(37,211,102,.5);
  z-index:1000;
  animation:pulse 2.5s infinite;
}
.wa-float:hover{color:#fff;transform:scale(1.1);}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(37,211,102,.7);}
  70%{box-shadow:0 0 0 18px rgba(37,211,102,0);}
  100%{box-shadow:0 0 0 0 rgba(37,211,102,0);}
}

@media(max-width:576px){
  .display-3{font-size:2.5rem;}
  .hero-logo{max-width:60%;margin:2rem auto 0;display:block;}
  .contact-val{font-size: 13px;}
}
section{overflow: hidden;}