/* =====================================
   ROOT VARIABLES
===================================== */

:root{
  --primary:#98be0d;
  --accent:#38bdf8;
  --dark:#0f172a;
  --muted:#64748b;
  --bg:#f5f7fb;
}

/* =====================================
   GLOBAL RESET (Single Clean Reset)
===================================== */

*,
*::before,
*::after{
  box-sizing:border-box;
  margin:0;
  padding:0;
}

html{scroll-behavior:smooth;}

body{
  font-family:'Inter',sans-serif;
  line-height:1.6;
  color:#0f172a;
  background:#fff;
  overflow-x:hidden;
}

img{
  max-width:100%;
  height:auto;
  display:block;
}

a{
  text-decoration:none;
  color:inherit;
}

.container{
  width:90%;
  max-width:1200px;
  margin:auto;
}

/* =====================================
   TOP BAR
===================================== */

.topbar{
  background:var(--dark);
  color:#fff;
  font-size:13px;
}

.topbar .container{
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px;
  padding:8px 0;
}

/* =====================================
   HEADER / NAVIGATION
===================================== */

.site-header{
  background:var(--dark);
  position:sticky;
  top:0;
  z-index:1000;
}

.nav-container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 0;
  position:relative;
}

/* Logo */

.logo{
  display:flex;
  align-items:center;
  gap:12px;
  color:#fff;
}

.logo img{
  height:90px;
  width:auto;
}

.company-name{
  font-size:16px;
  font-weight:600;
}

.tagline{
  font-size:12px;
  opacity:.7;
}

/* Nav Menu (Mobile First) */

.nav-menu{
  position:absolute;
  top:100%;
  right:0;
  width:100%;
  background:var(--dark);
  display:none;
  flex-direction:column;
  padding:20px;
  gap:16px;
}

.nav-menu a{
  color:#fff;
  font-size:15px;
  transition:color .2s ease;
}

.nav-menu a:hover{
  color:var(--accent);
}

.nav-menu .cta{
  background:var(--accent);
  color:#000;
  padding:8px 14px;
  border-radius:6px;
  text-align:center;
  font-weight:600;
}

.nav-menu.active{
  display:flex;
}

.nav-toggle{
  background:none;
  border:none;
  font-size:22px;
  color:#fff;
  cursor:pointer;
}

/* Desktop */

@media (min-width:768px){

  .nav-toggle{display:none;}

  .nav-menu{
    position:static;
    display:flex !important;
    flex-direction:row;
    width:auto;
    padding:0;
    gap:24px;
    background:none;
  }
}

/* =====================================
   HERO
===================================== */

.hero{
  padding:80px 0;
  background:
    linear-gradient(120deg,rgba(11,74,139,.85),rgba(15,23,42,.85)),
    url('../images/hero/installation.webp') center/cover no-repeat;
  color:#fff;
}

.hero h1,
.hero h2{
  font-size:38px;
  margin-bottom:12px;
}

.hero p{
  margin-bottom:18px;
  font-size:16px;
}

/* =====================================
   TRUST BAR
===================================== */

.trust{
  background:#eef2ff;
  border-top:1px solid #e5e7eb;
  border-bottom:1px solid #e5e7eb;
}

.trust .container{
  display:flex;
  flex-wrap:wrap;
  gap:20px;
  justify-content:space-between;
  padding:14px 0;
  font-weight:600;
}

/* =====================================
   GRID SYSTEM
===================================== */

.grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:25px;
}

/* =====================================
   CARD
===================================== */

.card{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 4px 14px rgba(0,0,0,.08);
}

.card img{
  height:170px;
  object-fit:cover;
}

.card .content{
  padding:16px;
}

/* =====================================
   STATS
===================================== */

.stats{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:20px;
  max-width:1100px;
  margin:40px auto;
}

.stat{
  background:#fff;
  padding:22px;
  text-align:center;
  border-radius:10px;
  box-shadow:0 4px 15px rgba(0,0,0,.08);
}

/* =====================================
   PROCESS / INDUSTRIES
===================================== */

.process,
.industries{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:20px;
}

.step,
.ind{
  background:#f7f7f7;
  padding:20px;
  border-radius:8px;
}

/* =====================================
   CASE STUDY
===================================== */

.case{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:30px;
  align-items:center;
}

.cta-image{
  width:100%;
  height:300px;
  object-fit:cover;
  border-radius:12px;
}

/* =====================================
   FORM
===================================== */

.form{
  background:#f8fafc;
  padding:20px;
  border-radius:12px;
  border:1px solid #e5e7eb;
}

.form .row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.form input,
.form textarea,
.form select{
  width:100%;
  padding:11px;
  border-radius:8px;
  border:1px solid #cbd5e1;
}

.form button{
  background:var(--primary);
  color:#fff;
  border:0;
  padding:12px 16px;
  border-radius:8px;
  font-weight:600;
}

/* =====================================
   FOOTER
===================================== */

.site-footer{
  background:#06142b;
  color:#fff;
  padding:50px 20px 20px;
  margin-top:60px;
}

.footer-container{
  max-width:1200px;
  width:100%;
  margin:auto;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:30px;
}

.copyright{
  text-align:center;
  margin-top:25px;
  border-top:1px solid rgba(255,255,255,.15);
  padding-top:15px;
  font-size:14px;
}

/* =====================================
   WHATSAPP FLOAT
===================================== */

.whatsapp{
  position:fixed;
  right:18px;
  bottom:18px;
  width:58px;
  height:58px;
  z-index:100;
}

/* =====================================
   PERFORMANCE BOOST
===================================== */

.section{
  content-visibility:auto;
  contain-intrinsic-size:1px 500px;
}

/* =====================================
   RESPONSIVE ADJUSTMENTS
===================================== */

@media(max-width:768px){

  .logo img{height:70px;}

  .hero{
    padding:50px 0;
    text-align:center;
  }

  .hero h1,
  .hero h2{
    font-size:26px;
  }

  .form .row{
    grid-template-columns:1fr;
  }

  .case{
    grid-template-columns:1fr;
    text-align:center;
  }
}

@media(max-width:480px){
  .logo img{height:60px;}
}
/* ===== TOPBAR ===== */
.topbar{
  background:#0f172a;
  color:#fff;
  font-size:13px;
  padding:8px 0;
}

.topbar-flex{
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px;
}

.topbar span{
  margin-right:15px;
}

/* ===== HEADER ===== */
.site-header{
  background:#fff;
  box-shadow:0 2px 10px rgba(0,0,0,.05);
  position:sticky;
  top:0;
  z-index:1000;
}

.nav-container{
  display:flex;
  justify-content:space-between;
  align-items:center;
  max-width:1200px;
  margin:auto;
  padding:15px;
  flex-wrap:wrap;
}

.logo{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
}

.logo img{
  width:55px;
}

.company-name{
  font-weight:700;
  display:block;
  color:#111;
}

.tagline{
  font-size:12px;
  color:#666;
}

/* ===== NAVIGATION ===== */
.nav-menu{
  display:flex;
  gap:25px;
  align-items:center;
}

.nav-menu a{
  text-decoration:none;
  color:#111;
  font-weight:500;
}

.nav-menu a.cta{
  background:#2563eb;
  color:#fff;
  padding:8px 16px;
  border-radius:5px;
}

.nav-toggle{
  display:none;
  font-size:24px;
  background:none;
  border:none;
  cursor:pointer;
}

/* ===== HERO ===== */
.hero{
  padding:80px 0;
  background:#f8fafc;
}

.hero-content h1{
  font-size:32px;
  margin:15px 0;
}

.hero-card{
  background:#fff;
  padding:25px;
  border-radius:8px;
  box-shadow:0 6px 20px rgba(0,0,0,.08);
}

.hero-card ul{
  padding-left:0;
  list-style:none;
}

.hero-card li{
  margin-bottom:8px;
}

/* ===== TRUST BAR ===== */
.trust{
  background:#111827;
  color:#fff;
  padding:20px 0;
}

.trust-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:15px;
  font-size:14px;
}

/* ===== MOBILE ===== */
@media(max-width:768px){

  .nav-menu{
    display:none;
    flex-direction:column;
    width:100%;
    margin-top:15px;
  }

  .nav-menu.active{
    display:flex;
  }

  .nav-toggle{
    display:block;
  }

}
/* ===== TRUST BAR CLEAN LAYOUT ===== */
.trust{
  background:#0f172a;
  color:#fff;
  padding:40px 0;
}

.trust .container{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:30px;
}

.trust-category h4{
  font-size:15px;
  margin-bottom:15px;
  color:#38bdf8;
  text-transform:uppercase;
  letter-spacing:1px;
}

.trust-items{
  display:flex;
  flex-direction:column;
  gap:8px;
  font-size:14px;
}

.trust-items span{
  opacity:0.9;
}
.contact-hero{
  background:
    linear-gradient(rgba(0,60,40,0.75), rgba(0,60,40,0.75)),
    url("../images/green-leafs.webp");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  color:#fff;
  padding:90px 0;
}
body{
  font-family:'Inter',sans-serif;
  background:linear-gradient(180deg,#eaf6ff 0%, #f4fbff 100%);
  color:#1e293b;
  line-height:1.7;
}

/* Sections */
.section{
  padding:100px 0;
}

/* Section Header */
.section-header{
  text-align:center;
  max-width:800px;
  margin:0 auto 70px auto;
}

.section-header h2{
  font-size:34px;
  font-weight:800;
  margin-bottom:20px;
  background:linear-gradient(90deg,#0ea5e9,#2563eb);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}

.section-header p{
  color:#475569;
  font-size:16px;
}

/* SERVICES GRID */
.services-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:40px;
}

.service-card{
  background:#ffffff;
  border-radius:16px;
  overflow:hidden;
  border:1px solid #e2e8f0;
  transition:0.35s ease;
  box-shadow:0 10px 30px rgba(0,0,0,0.05);
}

.service-card:hover{
  transform:translateY(-8px);
  border:1px solid #0ea5e9;
  box-shadow:0 20px 40px rgba(14,165,233,0.15);
}

.service-image{
  height:220px;
}

.service-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.service-content{
  padding:30px;
}

.service-content h3{
  font-size:19px;
  margin-bottom:12px;
  color:#0f172a;
}

.service-content p{
  font-size:14px;
  color:#475569;
}

/* PROCESS */
.process-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:35px;
}

.process-step{
  background:#ffffff;
  padding:40px;
  border-radius:14px;
  text-align:center;
  border:1px solid #e2e8f0;
  box-shadow:0 8px 25px rgba(0,0,0,0.04);
}

.process-step span{
  font-size:32px;
  font-weight:800;
  color:#2563eb;
}

/* INDUSTRIES */
.industries-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:35px;
}

.industry-card{
  background:#ffffff;
  padding:35px;
  border-radius:14px;
  text-align:center;
  border:1px solid #e2e8f0;
  transition:0.3s;
  box-shadow:0 8px 25px rgba(0,0,0,0.04);
}

.industry-card:hover{
  border:1px solid #2563eb;
  transform:translateY(-5px);
}

/* CTA BUTTON */
.cta{
  display:inline-block;
  padding:14px 28px;
  border-radius:50px;
  font-weight:600;
  background:linear-gradient(90deg,#0ea5e9,#2563eb);
  color:#fff;
  text-decoration:none;
  transition:0.3s;
}

.cta:hover{
  transform:scale(1.05);
  box-shadow:0 10px 25px rgba(37,99,235,0.4);
}

/* MOBILE */
@media(max-width:768px){
  .section{
    padding:70px 0;
  }

  .section-header h2{
    font-size:26px;
  }
}
.section{
  padding:90px 0;
}

.section-header{
  text-align:center;
  max-width:750px;
  margin:0 auto 60px auto;
}

.section-header h2{
  font-size:32px;
  margin-bottom:15px;
  font-weight:700;
}

.section-header p{
  font-size:16px;
  color:#555;
  line-height:1.6;
}

/* ===== SERVICES GRID ===== */
.services-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:35px;
}

.service-card{
  background:#fff;
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 8px 25px rgba(0,0,0,0.07);
  transition:0.3s ease;
}

.service-card:hover{
  transform:translateY(-6px);
  box-shadow:0 15px 35px rgba(0,0,0,0.1);
}

.service-image{
  height:190px;
  overflow:hidden;
}

.service-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.service-content{
  padding:25px;
}

.service-content h3{
  font-size:18px;
  margin-bottom:10px;
}

.service-content p{
  font-size:14px;
  color:#555;
  line-height:1.6;
}

/* ===== PROCESS ===== */
.process-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:30px;
}

.process-step{
  background:#f9fafb;
  padding:30px;
  border-radius:10px;
  text-align:center;
}

.process-step span{
  display:inline-block;
  font-size:28px;
  font-weight:700;
  color:#2563eb;
  margin-bottom:10px;
}

/* ===== INDUSTRIES ===== */
.industries-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:30px;
}

.industry-card{
  background:#fff;
  padding:30px;
  border-radius:10px;
  box-shadow:0 8px 25px rgba(0,0,0,0.05);
  text-align:center;
}

.industry-card h4{
  margin-bottom:10px;
}

/* ===== MOBILE ===== */
@media(max-width:768px){
  .section{
    padding:60px 0;
  }

  .section-header h2{
    font-size:26px;
  }
}
/* ================= VIBRANT HERO ================= */
.vibrant-hero{
  background: linear-gradient(135deg, #065f46 0%, #047857 40%, #0ea5e9 100%);
  color:#fff;
  padding:90px 0;
  position:relative;
  overflow:hidden;
}

/* subtle overlay glow */
.vibrant-hero::after{
  content:"";
  position:absolute;
  width:500px;
  height:500px;
  background:rgba(255,255,255,0.08);
  border-radius:50%;
  top:-150px;
  right:-150px;
  filter:blur(80px);
}


.hero-content h1{
  font-size:34px;
  margin:15px 0;
  line-height:1.3;
}

.hero-content p{
  margin-bottom:25px;
  font-size:16px;
  opacity:0.95;
  max-width:600px;
}

.badge{
  display:inline-block;
  background:rgba(255,255,255,0.15);
  padding:6px 14px;
  border-radius:20px;
  font-size:13px;
  letter-spacing:1px;
}

/* WhatsApp CTA */
.whatsapp-cta{
  display:inline-block;
  background:#25D366;
  color:#fff;
  padding:14px 22px;
  border-radius:40px;
  font-weight:600;
  text-decoration:none;
  box-shadow:0 8px 20px rgba(0,0,0,0.25);
  transition:all 0.3s ease;
}

.whatsapp-cta:hover{
  background:#1ebe5d;
  transform:translateY(-3px);
}

/* Hero Card */
.hero-card{
  background:#ffffff;
  color:#111;
  padding:30px;
  border-radius:12px;
  box-shadow:0 12px 30px rgba(0,0,0,.15);
}

.hero-card h3{
  margin-bottom:15px;
  color:#047857;
}

.hero-card ul{
  list-style:none;
  padding-left:0;
}

.hero-card li{
  margin-bottom:10px;
  font-size:14px;
}

/* ================= MOBILE ================= */
@media(max-width:768px){
 

  .hero-card{
    margin-top:30px;
  }
}
/* CTA Layout */
.case{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
  align-items:center;
}

/* CTA Image */
.cta-image{
  width:100%;
  max-width:480px;
  border-radius:12px;
}

/* WhatsApp Button */
.whatsapp-btn{
  display:inline-block;
  margin-top:20px;
  background:#25D366;
  color:#fff;
  padding:14px 26px;
  border-radius:40px;
  font-weight:600;
  text-decoration:none;
  transition:0.3s;
  box-shadow:0 8px 20px rgba(0,0,0,0.15);
}

.whatsapp-btn:hover{
  background:#20bd5a;
  transform:translateY(-3px);
}

/* Mobile */
@media(max-width:768px){
  .case{
    grid-template-columns:1fr;
    text-align:center;
  }

  .cta-image{
    margin-top:30px;
  }
}
.hero{
  position:relative;
  padding:80px 0;
  background:#87CEEB; /* Sky Blue */
  overflow:hidden;
}

/* Decorative roses pattern */
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:url("https://www.transparenttextures.com/patterns/flowers.png");
  opacity:0.2;
  z-index:0;
}

/* Ensure content stays above pattern */
.hero .container{
  position:relative;
  z-index:2;
}

.hero-content h1{
  font-size:2.3rem;
  margin:15px 0;
}

.hero-content p{
  font-size:1.05rem;
  line-height:1.7;
}

.badge{
  display:inline-block;
  background:#fff;
  color:#d00000;
  padding:6px 14px;
  border-radius:20px;
  font-size:0.85rem;
  font-weight:600;
}

.cta{
  display:inline-block;
  margin-top:20px;
  background:#d00000;
  color:#fff;
  padding:12px 24px;
  border-radius:30px;
  text-decoration:none;
  font-weight:600;
}

.hero-card{
  background:#fff;
  padding:25px;
  border-radius:10px;
  box-shadow:0 10px 30px rgba(0,0,0,0.1);
}

.hero-card ul{
  list-style:none;
  margin-top:10px;
}

.hero-card li{
  padding:6px 0;
}
/* ================= HERO SECTION ================= */

.hero {
  padding: 120px 0 80px;
  min-height: 70vh; /* prevents content cut */
  display: flex;
  align-items: center;
}


/* HERO TEXT */

.hero-content h1 {
  font-size: 44px;
  line-height: 1.2;
  margin: 20px 0;
}

.hero-content p {
  font-size: 18px;
  margin-bottom: 30px;
  max-width: 620px;
}

/* HERO CARD */

.hero-card {
  background: rgba(255,255,255,0.08);
  backdrop-filter: blur(10px);
  padding: 35px;
  border-radius: 14px;
  box-shadow: 0 10px 40px rgba(0,0,0,0.2);
}

.hero-card ul {
  list-style: none;
  margin-top: 15px;
}

.hero-card li {
  margin-bottom: 12px;
}

/* CTA BUTTON */

.whatsapp-cta {
  display: inline-block;
  background: #25D366;
  color: white;
  padding: 14px 28px;
  border-radius: 8px;
  font-weight: 600;
  text-decoration: none;
  transition: 0.3s;
}

.whatsapp-cta:hover {
  background: #1ebe5d;
}

/* ================= MOBILE ================= */

@media (max-width: 992px) {

  .hero-content h1 {
    font-size: 34px;
  }

  .hero {
    padding: 110px 0 60px;
  }

}

@media (max-width:768px){
.hero-grid{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:40px;
  align-items:center;
}

@media(max-width:992px){
  .hero-grid{
    grid-template-columns:1fr;
  }
}
}
img{
  max-width:100%;
  height:auto;
}
.hero img,
.service-image img{
  width:100%;
  object-fit:cover;
}
.hero h1{
  font-size:44px;
}

@media (max-width:768px){
.hero h1{
  font-size:28px;
}

.hero p{
  font-size:16px;
}
}
.nav-menu{
  display:flex;
  gap:25px;
}

@media(max-width:768px){

.nav-menu{
  display:none;
  flex-direction:column;
  width:100%;
}

.nav-menu.active{
  display:flex;
}

.nav-toggle{
  display:block;
}

}
/* phones */
@media (max-width:480px){}

/* tablets */
@media (max-width:768px){}

/* small laptops */
@media (max-width:1024px){}

/* large screens */
@media (min-width:1200px){}
.section{
  padding:100px 0;
}

@media(max-width:768px){
.section{
  padding:60px 0;
}
}
html, body{
  width:100%;
  overflow-x:hidden;
}
/* ================= TECHNOLOGY LOGOS ================= */

.tech-section{
text-align:center;
}

.tech-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(120px,1fr));
gap:30px;
align-items:center;
margin-top:30px;
}

.tech-grid img{
max-width:120px;
height:auto;
filter:grayscale(100%);
opacity:0.8;
transition:all 0.3s ease;
}

.tech-grid img:hover{
filter:none;
opacity:1;
transform:scale(1.05);
}
/* ================= NAVIGATION ================= */

.site-header{
  background:#0f172a;
  position:sticky;
  top:0;
  z-index:999;
}

.nav-container{
  max-width:1200px;
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 20px;
}

/* LOGO */

.logo{
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  color:white;
}

.logo img{
  height:60px;
}

.company-name{
  font-weight:700;
  font-size:16px;
}

.tagline{
  font-size:12px;
  color:#9ca3af;
  display:block;
}

/* NAV MENU */

.nav-menu{
  display:flex;
  gap:25px;
}

.nav-menu a{
  color:white;
  text-decoration:none;
  font-weight:500;
}

.nav-menu a:hover{
  color:#38bdf8;
}

/* CTA BUTTON */

.nav-menu .cta{
  background:#98be0d;
  padding:8px 14px;
  border-radius:6px;
  color:black;
  font-weight:600;
}

/* MOBILE BUTTON */

.nav-toggle{
  display:none;
  font-size:28px;
  background:none;
  border:none;
  color:white;
  cursor:pointer;
}

/* ================= MOBILE NAVIGATION ================= */

@media (max-width:768px){

  .nav-toggle{
    display:block;
  }

  .nav-menu{
    position:absolute;
    top:100%;
    left:0;
    width:100%;
    background:hsl(177, 91%, 46%);
    flex-direction:column;
    text-align:center;
    padding:20px 0;
    display:none;
  }

  .nav-menu a{
    padding:12px 0;
    display:block;
  }

  .nav-menu.active{
    display:flex;
  }

}
.nav-menu a.active{
  color:#98be0d;
  font-weight:600;
}
.logo-text{
  display:flex;
  flex-direction:column;
}

.company-name{
  color:#ffffff;
  font-weight:700;
  font-size:17px;
}

.tagline{
  color:#d1d5db;
  font-size:12px;
}