/* ==================================================
RESET
================================================== */
*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}


img{
  max-width:100%;
  display:block;
}

a{
  text-decoration:none;
}

button,
a,
input,
textarea,
select{
   outline:none;
}

button:focus,
a:focus,
input:focus,
textarea:focus,
select:focus{
   outline:2px solid #53e0c0;
   outline-offset:3px;
}


/* ==================================================
ROOT
================================================== */
:root{
    --bg:#071f29;
    --bg-light:#0d2b37;

    --primary:#16c47f;
    --primary-dark:#0f9f6e;

    --text:#ffffff;
    --muted:#b7c7ce;

    --border:rgba(255,255,255,0.08);

    --radius:24px;
    --shadow:0 15px 40px rgba(0,0,0,0.25);

    --space-sm:12px;
    --space-md:24px;
    --space-lg:40px;
    --space-xl:80px;

    --monveo-green:#1F9D8B;
    --deep-teal:#0F4C5C;
    --soft-aqua:#6FD3C1;

    --dark-text:#2B2B2B;
    --light-grey:#8A8A8A;

    --background:#F5F7F6;
}

/* ==================================================
LAYOUT
================================================== */
body{
  font-family:'Inter',sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
  overflow-x:hidden;
}

.container{
  width:min(1200px,92%);
  margin:auto;
}

.section-title{
  text-align:center;
  font-size:clamp(2rem,4vw,3rem);
  margin-bottom:18px;
}

.section-sub{
  max-width:760px;
  margin:0 auto 60px;
  text-align:center;
  color:var(--muted);
}

section{
    padding:60px 0;
}


/* ==================================================
TYPOGRAPHY
================================================== */
h1{
    font-size:clamp(2.3rem,8vw,4rem);
    line-height:1.05;
}

/* ==================================================
HEADER
================================================== */
header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(5,18,26,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border);
}

.header-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:18px 0;
  gap:22px;
}

.logo{
  display:flex;
  align-items:center;
  gap:14px;
  color:white;
  font-weight:700;
}

.logo img{
  width:58px;
}

.logo small{
  display:block;
  font-size:.72rem;
  color:#8fb2bf;
  font-weight:400;
}

nav{
  display:flex;
  gap:30px;
}

nav a{
  color:#dce8ed;
  font-size:.95rem;
  transition:.3s;
}

nav a:hover{
  color:#53e0c0;
}

nav a.active{
    color:#53e0c0;
}


/* ==================================================
BUTTONS
================================================== */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:15px 28px;
  border-radius:999px;
  font-weight:700;
  transition:.3s;
}

.btn-primary{
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  color:white;
  box-shadow:var(--shadow);
}

.btn-primary:hover{
  transform:translateY(-2px);
}

.btn-secondary{
  border:1px solid rgba(255,255,255,0.14);
  color:white;
  background:rgba(255,255,255,0.03);
}

.btn-secondary:hover{
  background:rgba(255,255,255,0.06);
}


/* ==================================================
HERO
================================================== */
.hero{
  padding:120px 0 70px;
  background:
  linear-gradient(rgba(5,18,26,.35),rgba(5,18,26,.58)),
  url('hero.jpg') center/cover no-repeat;

}.hero-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:60px;
  align-items:center;
}

.tag{
  display:inline-block;
  margin-bottom:25px;
  padding:10px 18px;
  border-radius:999px;
  border:1px solid rgba(83,224,192,.35);
  background:rgba(83,224,192,.08);
  color:#53e0c0;
  font-size:.88rem;
}

.hero h1{
  font-size:clamp(2.2rem,4.2vw,4.2rem);
  line-height:1.02;
  margin-bottom:25px;
  max-width:780px;
}

.hero p{
  color:#c3d1d7;
  font-size:1.08rem;
  max-width:720px;
}

.hero-list{
  display:grid;
  gap:14px;
  margin:34px 0;
}

.hero-list div{
  color:white;
  font-weight:500;
}

.hero-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  margin-top:35px;
}

.hero-card{
  background:var(--bg-light);
  border-radius:var(--radius);
  padding:28px;
  border:1px solid var(--border);
}

.hero-card img{
  border-radius:18px;
  margin-bottom:22px;
}

.hero-card h3{
  margin-bottom:14px;
  font-size:1.5rem;
}

.hero-card p{
  color:var(--muted);
}

.hero-image img{
    border-radius:24px;
    box-shadow:
    0 30px 80px rgba(0,0,0,.35),
    0 0 40px rgba(83,224,192,.08);
}

.hero-grid{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:60px;
    align-items:center;
}


/* ==================================================
SOCIAL LINKS
================================================== */
.social-links{
    display:flex;
    justify-content:center;
    gap:26px;
    margin:24px 0 12px;
}

.social-links a{
    display:flex;
    align-items:center;
    gap:8px;
    color:#9fb3bf;
    text-decoration:none;
    font-size:.95rem;
    font-weight:500;
    transition:all .25s ease;
    opacity:.9;
}

.social-links a i{
    font-size:1rem;
}

.social-links a:hover{
    color:#53e0c0;
    opacity:1;
    transform:translateY(-2px);
}

.social-links a:hover{
    color:#ffffff;
}


/* ==================================================
CARDS
================================================== */
.split-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:28px;
}

.split-card{
  background:var(--bg-light);
  border-radius:32px;
  padding:42px;
  border:1px solid var(--border);
  transition:.3s;
}

.split-card:hover{
  transform:translateY(-5px);
}

.split-card h3{
  font-size:2rem;
  margin-bottom:10px;
}

.split-card p{
  color:var(--muted);
  margin-bottom:28px;
}

.split-card ul{
  list-style:none;
  display:grid;
  gap:14px;
  margin-bottom:32px;
}

.split-card li{
  color:#eef7fa;
}

.cases-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}

.case-card{
  background:var(--bg-light);
  border-radius:24px;
  overflow:hidden;
  border:1px solid var(--border);
  transition:.3s;
}

.inspection-meta{
    margin-top:14px;
    color:#53e0c0;
    font-size:.88rem;
    font-weight:600;
    letter-spacing:.3px;
}

.case-card:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 40px rgba(0,0,0,.25);
}

.case-content{
  padding:26px;
}

.case-content h4{
  font-size:1.3rem;
  margin-bottom:12px;
}

.case-content p{
  color:var(--muted);
}

.trust-grid{
    display:grid;
    grid-template-columns:repeat(3,320px);
    justify-content:center;
    gap:28px;
    margin-top:40px;
}

.trust-box{
  background:var(--bg-light);
  border-radius:24px;
  padding:32px;
  border:1px solid var(--border);
  text-align:center;
}

.trust-box h4{
  margin-bottom:12px;
  font-size:1.2rem;
  hyphens:auto;
  overflow-wrap:break-word;
  word-break:break-word;
}

.trust-box p{
  color:var(--muted);
  font-size:.95rem;
}

.inspection-card{
    max-width:1100px;
    margin:80px auto;
    padding:60px;
    border-radius:36px;
    background:linear-gradient(
        180deg,
        rgba(14,55,66,.92),
        rgba(4,28,38,.96)
    );
    border:1px solid rgba(80,220,220,.10);
    box-shadow:0 25px 70px rgba(0,0,0,.35);
}

.inspection-card h1{
    margin-bottom:18px;
    text-align:center;
}

.inspection-card p{
    text-align:center;
    margin-bottom:40px;
    color:var(--muted);
}

.inspection-card:hover{
    transform:translateY(-6px);
}


/* ==================================================
INSPECTION FORM
================================================== */
.inspection-form{
    display:flex;
    flex-direction:column;
    gap:20px;
    margin-top:35px;
}

.form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
    align-items:start;
}

.inspection-form input,
.inspection-form select{
    width:100%;
    height:60px;
    padding:0 18px;
    border-radius:16px;
    border:1px solid rgba(255,255,255,0.08);
    background:rgba(255,255,255,0.04);
    color:#fff;
    font-family:'Inter',sans-serif;
    font-size:1rem;
}

.inspection-form input:focus,
.inspection-form textarea:focus,
.inspection-form select:focus{
    border-color:rgba(45,211,166,.45);
    box-shadow:0 0 0 3px rgba(45,211,166,.10);
    outline:none;
}

.inspection-form textarea{
    width:100%;
    min-height:140px;
    padding:22px;
    line-height:1.6;
    border-radius:16px;
    border:1px solid rgba(255,255,255,0.08);
    background:rgba(255,255,255,0.04);
    color:#fff;
    font-family:'Inter',sans-serif;
    font-size:1rem;
    resize:vertical;
}
.inspection-form input::placeholder,
.inspection-form textarea::placeholder{
    color:#b7c7ce;
}

.inspection-form select{
    color:#fff;
}

.inspection-form button{
    width:260px;
    margin:20px auto 0;
    display:block;
}
/* ==================================================
ABOUT
================================================== */
.about-expertise{
    padding:80px 0;
}

.about-image{
    width:100%;
    display:flex;
    justify-content:center;
    margin-top:40px;
}

.about-image img{
    width:82% !important;
    max-width:900px;
    border-radius:28px;
    box-shadow:0 30px 70px rgba(0,0,0,.35);
}

.expertise-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
}

.expertise-card{
    background:rgba(10,15,20,.72);
    border:1px solid rgba(255,255,255,.06);
    border-radius:28px;
    padding:38px;
    backdrop-filter:blur(10px);
    transition:.3s ease;
}

.expertise-card:hover{
    transform:translateY(-6px);
}

.expertise-card h3{
    font-size:1.35rem;
    margin-bottom:14px;
    color:white;
}

.expertise-card p{
    color:rgba(255,255,255,.72);
    line-height:1.7;
}


/* ==================================================
SLIDER
================================================== */
.hero-image {
    width: 100%;
    max-width: 520px;
    margin-top: 10px;
}

.hero-case-slider {
    border-radius: 28px;
    overflow: hidden;
    background: rgba(10,15,20,0.9);
    box-shadow: 0 20px 50px rgba(0,0,0,0.35);
}

.swiper {
    width: 100%;
    overflow: hidden;
}

.swiper-wrapper {
    align-items: stretch;
}

.swiper-slide {
    width: 100% !important;
    flex-shrink: 0;

    display: flex;
    flex-direction: column;
}

.swiper-slide img {
    width: 100%;
    height: auto;
    display: block;
}

.case-content {
    padding: 22px 24px 28px;
    background: rgba(8,12,18,0.82);
}

.hero-case-slider{
    max-width:100%;
}


/* ==================================================
CTA
================================================== */
.cta-box{
    margin-top:0;
    padding:60px 0;
}


/* ================= WHATSAPP CTA ================= */

.whatsapp-section{
  background:linear-gradient(135deg,#0f3d48,#0c2730);
  border-radius:36px;
  padding:55px 40px;
  text-align:center;
  border:1px solid rgba(255,255,255,.08);
}

.whatsapp-section h2{
  font-size:clamp(2rem,4vw,3.2rem);
  margin-bottom:20px;
}

.whatsapp-section p{
  max-width:700px;
  margin:0 auto 35px;
  color:#d3dfe5;
}

.cta-box .btn{
    margin-top:28px;
}

/* ==================================================
PARTNER FORM
================================================== */
.partner-form {
    max-width: 900px;
    margin: 60px auto 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.partner-form input,
.partner-form textarea {
    width: 100%;
    padding: 16px 18px;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,0.08);
    background: rgba(255,255,255,0.04);
    color: white;
    font-size: 1rem;
    font-family: 'Inter', sans-serif;
    outline: none;
    transition: 0.3s;
}

.partner-form input::placeholder,
.partner-form textarea::placeholder {
    color: #9eb1bc;
}

.partner-form input:focus,
.partner-form textarea:focus {
    border-color: #22c55e;
    background: rgba(255,255,255,0.06);
}

.partner-form textarea {
    grid-column: span 2;
    min-height: 140px;
    resize: vertical;
}

.partner-form button {
    width: fit-content;
    padding: 16px 34px;
    border: none;
    cursor: pointer;
}

.partner-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:28px;
    margin-top:50px;
}

.partner-card{
    background:var(--bg-light);
    border:1px solid var(--border);
    border-radius:28px;
    padding:36px;
    text-align:center;
    transition:.3s; 
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}

.partner-card:hover{
    transform:translateY(-6px);
    box-shadow:0 20px 50px rgba(0,0,0,.35);
}

.partner-card img{
    width:100%;
    max-width:220px;
    height:90px;
    object-fit:contain;
    margin:0 auto 24px;
    display:block;
    filter:brightness(1.05);
}

.partner-card h3{
    margin-bottom:14px;
    color:white;
    hyphens:auto;
    word-break:break-word;
}

.partner-card p{
    color:var(--muted);
    margin-bottom:24px;
    line-height:1.7;
}

/* ==================================================
FORMS
================================================== */

/* ==================================================
FOOTER
================================================== */
footer{
  background:#061820;
  border-top:1px solid var(--border);
  padding:60px 0;
  text-align:center;
  color:#97aab3;
}

footer img{
  width:90px;
  margin:0 auto 20px;
}

footer p{
  margin-bottom:8px;
}

.footer-whatsapp{
display:inline-block;
margin-top:20px;
padding:12px 24px;
background:#25D366;
color:white;
border-radius:40px;
font-weight:600;
text-decoration:none;
}

footer{
    border-radius:0 !important;
    margin-bottom:0 !important;
}


.footer-content{
    text-align:center;
}

.section-dark:last-of-type{
    border-radius:0 !important;
    margin-bottom:0 !important;
}


.menu-toggle{
   display:none;
   background:none;
   border:none;
   color:white;
   font-size:1.8rem;
   cursor:pointer;
}

/* ===== REVIEWS SECTION ===== */

.reviews-section{
    padding:80px 20px;
    background:linear-gradient(180deg,#062532 0%,#041b24 100%);
    text-align:center;
}

.reviews-section h2{
    color:#fff;
    font-size:2rem;
    margin-bottom:10px;
}

.reviews-subtitle{
    color:#b7c7ce;
    margin-bottom:40px;
}

.reviews-grid{
    display:flex;
    justify-content:center;
    gap:30px;
    flex-wrap:wrap;
}

.review-card{
    background:rgba(255,255,255,0.04);
    border:1px solid rgba(255,255,255,0.08);
    border-radius:20px;
    padding:30px;
    max-width:650px;
    text-align:left;
    backdrop-filter:blur(8px);
}

.review-card .stars{
    color:#1fd39a;
    font-size:1.2rem;
    margin-bottom:15px;
}

.review-card h4{
    color:#fff;
    margin-bottom:15px;
}

.review-card p{
    color:#d9e4e8;
    line-height:1.7;
    margin-bottom:20px;
}

.review-card span{
    color:#1fd39a;
    font-size:.9rem;
    font-weight:600;
}


/* ==================================================
MOBILE
================================================== */

@media(max-width:768px){

    .menu-toggle{
       display:block;
    }

nav{
   display:none;
   position:absolute;
   top:82px;
   left:0;
   width:100%;
   background:rgba(5,18,26,.98);
   padding:22px 0;
   flex-direction:column;
   align-items:center;
   gap:14px;
   border-top:1px solid var(--border);
}

nav.active{
   display:flex;
}

.menu-toggle{
   display:block;
}

  /* LAYOUT */
  .container{
    width:92%;
  }

  section{
    padding:60px 0;
  }

  .hero{
   padding:90px 0 50px;
  }

  .hero-grid,
  .split-grid,
  .cases-grid,
  .trust-grid,
  .about-grid,
  .expertise-grid,
  .form-grid,
  .partner-form{
    grid-template-columns:1fr;
  }

  /* HEADER */

  .header-inner{
    flex-direction:row;
    justify-content:space-between;
    align-items:center;
    padding:16px 0;
}

   .header-inner .btn{
   display:none;
}

  nav a{
   font-size:1rem;
  }

   .trust-grid{
        grid-template-columns:1fr;
        max-width:420px;
        margin:40px auto 0;
    }

 
  /* TYPOGRAPHY */
  h1{
    font-size:clamp(2.3rem,8vw,4rem);
    line-height:1.05;
  }

  .hero h1{
    font-size:2.2rem;
    line-height:1.15;
  }

  .hero p,
  .about-content p{
    font-size:1rem;
    line-height:1.7;
  }

.logo img{
   width:46px;
}

.logo{
   gap:10px;
}

.logo small{
   font-size:.65rem;
}

  /* BUTTONS */
  .hero-buttons .btn{
   width:100%;
   justify-content:center;
}

  .hero-buttons{
    flex-direction:column;
    align-items:flex-start;
    gap:16px;
  }

  /* CARDS */
  .split-card,
  .trust-box,
  .hero-card,
  .case-card,
  .expertise-card{
    padding:28px;
  }

  /* HERO */
  .hero{
    padding-top:90px;
  }

  .hero-image,
  .about-image{
    margin-top:0;
  }

  .hero-image img,
  .about-image img{
    width:100% !important;
  }

  .hero-image img{
    transform:none;
    margin-top:30px;
  }

  /* SOCIAL LINKS */
  .social-links{
    justify-content:center;
    flex-wrap:wrap;
  }

  /* CTA */
  .cta-box{
    padding:40px 20px;
  }

  .whatsapp-section{
    padding:60px 24px;
  }

  /* PARTNER FORM */
  .partner-form textarea{
    grid-column:span 1;
  }

  /* FOOTER */
  .footer-content{
    text-align:center;
  }

}

@media(max-width:640px){

  .form-grid{
    grid-template-columns:1fr;
  }

}

/* ===== LANGUAGE DROPDOWN ===== */

.language-dropdown{
    position:relative;
    margin-left:28px;
    margin-right:18px;
}

.lang-btn{
    background:none;
    border:none;
    color:#d7e3e8;
    font-size:.95rem;
    font-weight:600;
    cursor:pointer;
    transition:.3s;
}

.lang-btn:hover{
    color:#1fd39a;
}

.lang-menu{
    position:absolute;
    top:100%;
    right:0;
    margin-top:6px;
    background:#071923;
    border:1px solid rgba(255,255,255,.08);
    border-radius:12px;
    min-width:170px;
    padding:10px 0;
    display:none;
    box-shadow:0 10px 30px rgba(0,0,0,.35);
    z-index:1000;
}

.lang-menu a{
    display:block;
    padding:10px 18px;
    color:#d7e3e8;
    text-decoration:none;
    transition:.25s;
}

.lang-menu a:hover{
    background:rgba(31,211,154,.12);
    color:#1fd39a;
}

.language-dropdown:hover .lang-menu{
    display:block;
}

.language-dropdown{
    padding-bottom:10px;
}




