/* ===== VARIABLES ===== */
:root{
  --primary:#27A9E1;
  --accent:#0B5FA5;
  --dark:#222222;
  --light-bg:#F7FAFC;
  --white:#FFFFFF;
  --gray:#6b7280;
  --radius:14px;
  --shadow:0 10px 30px rgba(0,0,0,.08);
  --trans:.4s ease;
}

/* ===== RESET ===== */
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Poppins',sans-serif;color:var(--dark);line-height:1.6;background:var(--white);overflow-x:hidden;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
img{max-width:100%;display:block;}
h1,h2,h3,h4{font-family:'Montserrat',sans-serif;line-height:1.2;}

/* ===== CONTAINER ===== */
.container{width:90%;max-width:1200px;margin:0 auto;}

/* ===== PRELOADER ===== */
#preloader{position:fixed;inset:0;background:var(--white);display:flex;align-items:center;justify-content:center;z-index:9999;transition:opacity .5s;}
#preloader.hide{opacity:0;visibility:hidden;}
.loader{width:55px;height:55px;border:5px solid #d8eefc;border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}

/* ===== BUTTONS ===== */
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 28px;border-radius:50px;font-weight:600;font-family:'Montserrat';cursor:pointer;border:none;transition:var(--trans);font-size:15px;}
.btn-primary{background:var(--primary);color:#fff;}
.btn-primary:hover{background:var(--accent);transform:translateY(-3px);box-shadow:0 10px 20px rgba(39,169,225,.4);}
.btn-outline{background:transparent;color:#fff;border:2px solid #fff;}
.btn-outline:hover{background:#fff;color:var(--primary);}
.btn-light{background:#fff;color:var(--accent);}
.btn-light:hover{background:var(--accent);color:#fff;}

/* ===== HEADER ===== */
#header{position:fixed;top:0;left:0;width:100%;z-index:1000;padding:18px 0;transition:var(--trans);background:transparent;}
#header.scrolled{background:var(--primary);padding:12px 0;box-shadow:0 5px 20px rgba(0,0,0,.1);}
.navbar{display:flex;align-items:center;justify-content:space-between;}
.logo{display:flex;align-items:center;gap:10px;color:#fff;font-family:'Montserrat';font-size:20px;font-weight:600;}
.logo strong{font-weight:800;}
.nav-menu{display:flex;align-items:center;gap:32px;}
.nav-menu a{color:#fff;font-weight:500;position:relative;transition:var(--trans);}
.nav-menu a::after{content:'';position:absolute;left:0;bottom:-6px;width:0;height:2px;background:#fff;transition:var(--trans);}
.nav-menu a:hover::after,.nav-menu a.active::after{width:100%;}
.nav-cta{background:#fff;color:var(--accent)!important;padding:9px 22px;border-radius:50px;}
.nav-cta:hover{background:var(--accent);color:#fff!important;}
.nav-cta::after{display:none;}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;}
.hamburger span{width:26px;height:3px;background:#fff;border-radius:3px;transition:var(--trans);}

/* ===== HERO (real <img> background, NO background-image) ===== */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;text-align:center;color:#fff;overflow:hidden;}
.hero-bg-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,rgba(11,95,165,.6),rgba(39,169,225,.5));}
.hero-content{position:relative;z-index:2;}
.hero-logo{margin-bottom:18px;}
.hero-logo-img{height:80px;width:auto;margin:0 auto 10px;display:block;}
.hero h1{font-size:54px;font-weight:800;letter-spacing:1px;margin-bottom:14px;text-shadow:0 4px 20px rgba(0,0,0,.3);}
.hero p{font-size:20px;max-width:650px;margin:0 auto 30px;}
.hero-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}

/* ===== PAGE BANNER (real <img> background) ===== */
.page-banner{position:relative;padding:160px 0 80px;text-align:center;color:#fff;overflow:hidden;}
.banner-bg-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.page-banner .hero-overlay{background:linear-gradient(rgba(11,95,165,.7),rgba(39,169,225,.6));}
.page-banner .container{position:relative;z-index:2;}
.page-banner h1{font-size:46px;}
.page-banner p{font-size:16px;opacity:.9;margin-top:8px;}

/* ===== SECTIONS ===== */
.section{padding:90px 0;}
.bg-light{background:var(--light-bg);}
.section-head{text-align:center;max-width:600px;margin:0 auto 55px;}
.subtitle{color:var(--primary);font-weight:600;text-transform:uppercase;letter-spacing:2px;font-size:14px;font-family:'Montserrat';}
.section-head h2{font-size:38px;margin-top:8px;color:var(--dark);}
.center-btn{text-align:center;margin-top:45px;}

/* ===== ABOUT ===== */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center;}
.about-grid.reverse .about-img{order:2;}
.about-text .subtitle{display:block;margin-bottom:6px;}
.about-text h2{font-size:34px;margin-bottom:18px;}
.about-text p{color:var(--gray);margin-bottom:16px;}
.about-img{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}
.box-img{width:100%;height:100%;min-height:340px;object-fit:cover;display:block;border-radius:var(--radius);}
.check-list{margin-top:20px;}
.check-list li{margin-bottom:12px;color:var(--gray);}
.check-list i{color:var(--primary);margin-right:10px;}

/* ===== FEATURES ===== */
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.feature-box{background:#fff;padding:38px 26px;border-radius:var(--radius);text-align:center;box-shadow:var(--shadow);transition:var(--trans);border-bottom:4px solid transparent;}
.feature-box:hover{transform:translateY(-10px);border-bottom-color:var(--primary);}
.feature-box i{font-size:42px;color:var(--primary);margin-bottom:16px;transition:var(--trans);}
.feature-box:hover i{transform:scale(1.15);}
.feature-box h3{font-size:20px;margin-bottom:10px;}
.feature-box p{color:var(--gray);font-size:15px;}

/* ===== PRODUCTS ===== */
.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:28px;}
.product-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:var(--trans);}
.product-card:hover{transform:translateY(-10px);}
.product-img{height:200px;overflow:hidden;background:var(--light-bg);}
.product-img img{width:100%;height:100%;object-fit:cover;transition:var(--trans);}
.product-card:hover .product-img img{transform:scale(1.08);}
.product-info{padding:24px;}
.product-info h3{font-size:20px;margin-bottom:8px;}
.product-info p{color:var(--gray);font-size:14px;margin-bottom:16px;}
.product-info .btn{padding:10px 22px;font-size:14px;}

/* ===== FILTERS ===== */
.filter-btns{display:flex;gap:14px;justify-content:center;margin-bottom:45px;flex-wrap:wrap;}
.filter-btn{padding:10px 26px;border:2px solid var(--primary);background:transparent;color:var(--primary);border-radius:50px;font-weight:600;cursor:pointer;font-family:'Montserrat';transition:var(--trans);}
.filter-btn.active,.filter-btn:hover{background:var(--primary);color:#fff;}

/* ===== STATS ===== */
.stats{background:linear-gradient(135deg,var(--accent),var(--primary));color:#fff;}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;text-align:center;}
.stat-box h2{font-size:48px;font-weight:800;}
.stat-box span{font-size:17px;font-weight:500;}

/* ===== TESTIMONIALS ===== */
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.testimonial-card{background:#fff;padding:34px;border-radius:var(--radius);box-shadow:var(--shadow);transition:var(--trans);}
.testimonial-card:hover{transform:translateY(-8px);}
.testimonial-card>i{font-size:30px;color:var(--primary);opacity:.4;margin-bottom:14px;}
.testimonial-card p{color:var(--gray);font-style:italic;margin-bottom:18px;}
.t-author strong{display:block;color:var(--accent);}
.t-author span{font-size:13px;color:var(--gray);}

/* ===== CONTACT ===== */
.contact-flex{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center;}
.contact-info-side h2{font-size:34px;margin:6px 0 16px;}
.contact-info-side p{color:var(--gray);margin-bottom:22px;}
.contact-list li{margin-bottom:16px;color:var(--gray);}
.contact-list i{color:var(--primary);width:26px;}
.contact-form{background:#fff;padding:38px;border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:16px;}
.contact-form.full{width:100%;}
.contact-form h2{font-size:28px;margin-bottom:6px;}
.contact-form input,.contact-form textarea,.contact-form select{padding:14px 16px;border:1px solid #dde6ec;border-radius:10px;font-family:'Poppins';font-size:15px;transition:var(--trans);width:100%;}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(39,169,225,.15);}
.form-row{display:flex;gap:16px;}
.contact-map iframe,.footer-map iframe{width:100%;border:0;border-radius:var(--radius);}
.contact-map iframe{height:480px;}

/* ===== CONTACT CARDS ===== */
.contact-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
.contact-card{background:#fff;padding:34px 22px;border-radius:var(--radius);text-align:center;box-shadow:var(--shadow);transition:var(--trans);}
.contact-card:hover{transform:translateY(-8px);}
.contact-card i{font-size:34px;color:var(--primary);margin-bottom:14px;}
.contact-card h4{margin-bottom:8px;}
.contact-card a,.contact-card p{color:var(--gray);font-size:14px;word-break:break-word;}

/* ===== MISSION/VISION ===== */
.mv-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;}
.mv-box{background:#fff;padding:42px;border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;}
.mv-box i{font-size:46px;color:var(--primary);margin-bottom:16px;}
.mv-box h3{font-size:24px;margin-bottom:12px;}
.mv-box p{color:var(--gray);}

/* ===== TIMELINE ===== */
.timeline{position:relative;max-width:800px;margin:0 auto;}
.timeline::before{content:'';position:absolute;left:50%;top:0;bottom:0;width:3px;background:var(--primary);transform:translateX(-50%);}
.timeline-item{display:flex;justify-content:flex-end;padding-right:50%;position:relative;margin-bottom:40px;}
.timeline-item:nth-child(even){justify-content:flex-start;padding-right:0;padding-left:50%;}
.t-year{position:absolute;left:50%;transform:translateX(-50%);background:var(--primary);color:#fff;padding:6px 16px;border-radius:50px;font-weight:700;font-family:'Montserrat';z-index:2;}
.t-content{background:#fff;padding:22px;border-radius:var(--radius);box-shadow:var(--shadow);margin:0 30px;}
.t-content h4{color:var(--accent);margin-bottom:6px;}
.t-content p{color:var(--gray);font-size:14px;}

/* ===== GALLERY ===== */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.gallery-item{border-radius:var(--radius);overflow:hidden;cursor:pointer;}
.gallery-item img{width:100%;height:100%;min-height:220px;object-fit:cover;display:block;transition:var(--trans);}
.gallery-item:hover img{transform:scale(1.08);}
.lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:9998;align-items:center;justify-content:center;}
.lightbox.show{display:flex;}
.lightbox img{max-width:85%;max-height:85%;border-radius:10px;}
.lb-close{position:absolute;top:25px;right:35px;color:#fff;font-size:42px;cursor:pointer;}

/* ===== QUOTE ===== */
.quote-flex{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:start;}
.quote-side{background:linear-gradient(135deg,var(--accent),var(--primary));color:#fff;padding:40px;border-radius:var(--radius);box-shadow:var(--shadow);}
.quote-side h3{font-size:24px;margin-bottom:24px;}
.side-list li{display:flex;gap:16px;margin-bottom:22px;}
.side-list i{font-size:24px;}
.side-list strong{display:block;}
.side-list span{font-size:13px;opacity:.85;}
.side-contact{border-top:1px solid rgba(255,255,255,.3);padding-top:20px;}
.side-contact p{margin-bottom:8px;font-size:14px;}
.side-contact i{margin-right:8px;}

/* ===== FOOTER ===== */
.footer{background:#0d1b2a;color:#cbd5e0;padding:70px 0 0;}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.4fr;gap:36px;}
.footer-logo{display:flex;align-items:center;font-family:'Montserrat';font-weight:800;font-size:20px;color:#fff;margin-bottom:16px;}
.footer-logo-img{height:34px;width:auto;margin-right:8px;}
.footer-logo i{color:var(--primary);margin-right:8px;}
.footer-col p{font-size:14px;margin-bottom:10px;}
.footer-col h4{color:#fff;margin-bottom:18px;font-size:18px;}
.footer-col ul li{margin-bottom:10px;}
.footer-col ul li a{font-size:14px;transition:var(--trans);}
.footer-col ul li a:hover{color:var(--primary);padding-left:5px;}
.footer-col i{color:var(--primary);margin-right:8px;}
.social-icons{display:flex;gap:12px;margin-top:16px;}
.social-icons a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;transition:var(--trans);}
.social-icons a:hover{background:var(--primary);transform:translateY(-4px);}
.social-icons a i{margin:0;color:#fff;}
.footer-map iframe{height:150px;margin-top:10px;}
.footer-bottom{text-align:center;padding:22px 0;margin-top:50px;border-top:1px solid rgba(255,255,255,.1);font-size:14px;}

/* ===== FLOATING BUTTONS ===== */
.whatsapp-float,.call-float{position:fixed;width:55px;height:55px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px;z-index:999;box-shadow:0 6px 18px rgba(0,0,0,.25);transition:var(--trans);}
.whatsapp-float{bottom:25px;right:25px;background:#25d366;animation:pulse 2s infinite;}
.call-float{bottom:25px;left:25px;background:var(--accent);display:none;}
.whatsapp-float:hover{transform:scale(1.1);}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.5);}70%{box-shadow:0 0 0 15px rgba(37,211,102,0);}100%{box-shadow:0 0 0 0 rgba(37,211,102,0);}}
#backToTop{position:fixed;bottom:90px;right:25px;width:46px;height:46px;border:none;border-radius:50%;background:var(--primary);color:#fff;font-size:18px;cursor:pointer;opacity:0;visibility:hidden;transition:var(--trans);z-index:999;}
#backToTop.show{opacity:1;visibility:visible;}
#backToTop:hover{background:var(--accent);transform:translateY(-4px);}

/* ===== LOGO IMAGE (header) ===== */
.logo-img{height:42px;width:auto;}

/* ===== SCROLL ANIMATIONS ===== */
[data-animate]{opacity:0;transition:all .8s ease;}
[data-animate="fade-up"]{transform:translateY(40px);}
[data-animate="slide-left"]{transform:translateX(50px);}
[data-animate="slide-right"]{transform:translateX(-50px);}
[data-animate="zoom"]{transform:scale(.85);}
[data-animate].in-view{opacity:1;transform:translate(0)scale(1);}