*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Arial, sans-serif;
}

body{
background:#020617;
color:#ffffff;
}

/* PRELOADER */
#preloader{
position:fixed;
inset:0;
background:#020617;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
z-index:9999;
}

#preloader img{
width:120px;
animation:pulse 1.5s infinite;
}

#preloader span{
width:50px;
height:50px;
border:4px solid #ffffff;
border-top:4px solid transparent;
border-radius:50%;
margin-top:20px;
animation:spin 1s linear infinite;
}

@keyframes spin{to{transform:rotate(360deg)}}
@keyframes pulse{50%{transform:scale(1.08)}}

/* WHATSAPP */
.whatsapp{
position:fixed;
right:20px;
bottom:20px;
background:#25d366;
width:55px;
height:55px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-size:28px;
color:#ffffff;
z-index:1000;
}

/* HERO */
.hero{
height:100vh;
position:relative;
overflow:hidden;
}

.slider{
  position:absolute;
  inset:0;
  z-index:1;
}

.slider img{
  position:absolute;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  transition:opacity 1s ease-in-out;
}

.slider img.active{
  opacity:1;
}

.hero-content{
position:relative;
z-index:2;
background:rgba(0,0,0,0.65);
height:100%;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
text-align:center;
padding:20px;
}

.logo{
width:160px;
margin-bottom:20px;
}

.btn{
background:#f97316;
color:#ffffff;
padding:14px 30px;
border-radius:30px;
text-decoration:none;
margin-top:20px;
}

/* SECTIONS */
.section{
padding:80px 10%;
background:#ffffff;
color:#020617;
}

.about-clean{
  padding:90px 8%;
  background:#ffffff;
  color:#111;
}

.about-clean h2{
  text-align:center;
  font-size:2.4rem;
  margin-bottom:25px;
}

.about-clean h2::after{
  content:"";
  width:70px;
  height:3px;
  background:#ff9f1a;
  display:block;
  margin:16px auto 0;
  border-radius:10px;
}

.about-intro{
  max-width:850px;
  margin:0 auto 60px;
  text-align:center;
  font-size:1.1rem;
  line-height:1.8;
  color:#444;
}

.about-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:50px;
  max-width:1100px;
  margin:0 auto;
}

.about-box{
  background:#f9f9f9;
  border-radius:16px;
  padding:45px 40px;
  text-align:left;
  border:1px solid #e5e5e5;
  transition:transform .3s ease, box-shadow .3s ease;
}

.about-box:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 40px rgba(0,0,0,0.08);
}

.about-box i{
  font-size:2.4rem;
  color:#ff9f1a;
  margin-bottom:20px;
}

.about-box h3{
  font-size:1.5rem;
  margin-bottom:12px;
  color:#0c1633;
}

.about-box p{
  font-size:1.05rem;
  line-height:1.7;
  color:#555;
}


.reveal{
  opacity:0;
  transform:translateY(20px);
  transition:all .6s ease;
}

.reveal.active{
  opacity:1;
  transform:translateY(0);
}

.section.dark{
  padding:80px 6%;
  background:linear-gradient(135deg,#060b1a,#0c1633);
  color:#fff;
}

.section.dark h2{
  text-align:center;
  font-size:2.5rem;
  margin-bottom:60px;
  position:relative;
}

.section.dark h2::after{
  content:"";
  width:80px;
  height:4px;
  background:#ff9f1a;
  display:block;
  margin:20px auto 0;
  border-radius:10px;
}

.cards{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:40px;
}

.card{
  background:rgba(255,255,255,0.08);
  backdrop-filter:blur(14px);
  border-radius:20px;
  padding:40px 30px;
  text-align:center;
  border:1px solid rgba(255,255,255,0.15);
  transition:transform .4s ease, box-shadow .4s ease, background .4s ease;
  position:relative;
  overflow:hidden;
}

.card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg,transparent,#ff9f1a33,transparent);
  opacity:0;
  transition:opacity .4s;
}

.card:hover::before{
  opacity:1;
}

.card:hover{
  transform:translateY(-12px) scale(1.02);
  box-shadow:0 25px 60px rgba(0,0,0,0.5);
  background:rgba(255,255,255,0.12);
}

.card i{
  font-size:3rem;
  margin-bottom:20px;
  color:#ff9f1a;
  background:rgba(255,159,26,0.15);
  padding:22px;
  border-radius:50%;
  box-shadow:0 0 0 6px rgba(255,159,26,0.08);
}

.card h3{
  font-size:1.4rem;
  margin-bottom:15px;
}

.card p{
  font-size:1rem;
  line-height:1.6;
  color:#d7d7d7;
}

/* CONTACT */
.contact-form{
max-width:500px;
margin:auto;
}

.contact-form input,
.contact-form textarea{
width:100%;
padding:12px;
margin-bottom:10px;
border-radius:8px;
border:none;
}

.contact-form button{
width:100%;
padding:12px;
background:#f97316;
color:#ffffff;
border:none;
border-radius:8px;
cursor:pointer;
}

footer{
text-align:center;
padding:20px;
background:#020617;
}
