:root{
  --brand-primary:#0b3d91;
  --brand-secondary:#22a06b;
  --brand-accent:#f4801f;
  --brand-dark:#0a1f44;
  --brand-light:#f5f8ff;
}
*{box-sizing:border-box}
body{font-family:'Poppins',sans-serif;color:#333;line-height:1.7}
h1,h2,h3,h4,h5,h6{font-family:'Poppins',sans-serif;font-weight:700;color:var(--brand-dark)}
a{text-decoration:none}

/* Top bar */
.top-bar{background:var(--brand-dark);color:#fff;font-size:.85rem}
.top-bar a{color:#fff}

/* Navbar */
.navbar-brand img{transition:.3s}
.navbar .nav-link{font-weight:500;color:#222;padding:.8rem 1rem !important;position:relative}
.navbar .nav-link.active,.navbar .nav-link:hover{color:var(--brand-primary)}
.navbar .nav-link.active::after{content:"";position:absolute;left:1rem;right:1rem;bottom:.35rem;height:2px;background:var(--brand-accent);border-radius:2px}
.btn-brand{background:var(--brand-accent);color:#fff;font-weight:600;border:none;padding:.55rem 1.2rem;border-radius:30px}
.btn-brand:hover{background:var(--brand-primary);color:#fff}

/* Hero slider */
.hero-carousel .carousel-item{height:78vh;min-height:520px;background-size:cover;background-position:center;position:relative}
.hero-carousel .carousel-item::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,31,68,.75) 0%,rgba(10,31,68,.35) 60%,rgba(10,31,68,.1) 100%)}
.hero-carousel .carousel-caption{top:50%;transform:translateY(-50%);bottom:auto;text-align:left;left:8%;right:8%;max-width:720px}
.hero-carousel .carousel-caption h1{font-size:clamp(2rem,4.5vw,3.8rem);color:#fff;line-height:1.15;margin-bottom:1rem}
.hero-carousel .carousel-caption p{color:#e9eefc;font-size:1.15rem;margin-bottom:1.5rem}
.hero-carousel .carousel-caption .btn{margin-right:.5rem}
.hero-carousel .carousel-indicators [data-bs-target]{width:40px;height:4px;background:#fff;opacity:.5}
.hero-carousel .carousel-indicators .active{opacity:1;background:var(--brand-accent)}

/* Sections */
section{padding:80px 0}
.section-title{position:relative;margin-bottom:.5rem}
.section-kicker{color:var(--brand-accent);font-weight:600;text-transform:uppercase;letter-spacing:.15em;font-size:.85rem;margin-bottom:.5rem}
.section-heading{font-size:2.3rem;margin-bottom:1rem}
.section-lead{color:#666;max-width:720px;margin:0 auto 3rem}

/* Feature pills (like brochure) */
.pill-badge{display:inline-block;background:var(--brand-light);color:var(--brand-primary);padding:.5rem 1.2rem;border-radius:30px;font-weight:500;margin:.25rem;border:1px solid #e0e8ff}

/* Service Cards */
.service-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 6px 24px rgba(10,31,68,.06);transition:.3s;height:100%}
.service-card:hover{transform:translateY(-6px);box-shadow:0 14px 36px rgba(10,31,68,.12)}
.service-card .img-wrap{position:relative;overflow:hidden;height:220px}
.service-card .img-wrap img{width:100%;height:100%;object-fit:cover;transition:.6s}
.service-card:hover .img-wrap img{transform:scale(1.06)}
.service-card .service-num{position:absolute;top:15px;right:15px;background:var(--brand-accent);color:#fff;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700}
.service-card .card-body{padding:1.5rem}
.service-card h4{color:var(--brand-primary);margin-bottom:1rem}
.service-card ul{padding-left:1.1rem;color:#555;font-size:.95rem}
.service-card ul li{margin-bottom:.35rem}

/* About */
.about-img{border-radius:20px;overflow:hidden;box-shadow:0 20px 40px rgba(10,31,68,.15)}
.about-img img{width:100%;display:block}
.about-badge{background:var(--brand-accent);color:#fff;padding:1.2rem 1.5rem;border-radius:14px;display:inline-block;font-weight:600;box-shadow:0 10px 20px rgba(244,128,31,.35)}

/* Why choose */
.why-card{background:#fff;padding:2rem 1.5rem;border-radius:14px;text-align:center;box-shadow:0 6px 20px rgba(10,31,68,.06);height:100%;transition:.3s;border-top:4px solid transparent}
.why-card:hover{border-top-color:var(--brand-accent);transform:translateY(-4px)}
.why-card i{font-size:2.4rem;color:var(--brand-primary);margin-bottom:1rem}
.why-card h5{margin-bottom:.5rem}

/* Solutions */
.solution-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 6px 24px rgba(10,31,68,.06);height:100%;transition:.3s}
.solution-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(10,31,68,.12)}
.solution-card img{width:100%;height:230px;object-fit:cover}
.solution-card .body{padding:1.6rem}
.solution-card h4{color:var(--brand-primary)}
.solution-card ul{padding-left:1.1rem;color:#555;font-size:.93rem;columns:1}
@media(min-width:768px){.solution-card ul{columns:2;column-gap:1.5rem}}

/* Page banner */
.page-banner{background:linear-gradient(135deg,var(--brand-dark) 0%,var(--brand-primary) 100%);color:#fff;padding:100px 0 70px;text-align:center;position:relative;overflow:hidden}
.page-banner::before{content:"";position:absolute;inset:0;background:url('../img/slider/slide1.jpg') center/cover;opacity:.15}
.page-banner h1{color:#fff;font-size:2.8rem;margin-bottom:.5rem;position:relative}
.page-banner .breadcrumb-nav{position:relative;color:#c9d3ee}
.page-banner .breadcrumb-nav a{color:var(--brand-accent)}

/* Gallery */
.gallery-item{position:relative;overflow:hidden;border-radius:14px;cursor:pointer;box-shadow:0 6px 18px rgba(10,31,68,.08)}
.gallery-item img{width:100%;height:280px;object-fit:cover;transition:.5s}
.gallery-item:hover img{transform:scale(1.08)}
.gallery-item .overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,31,68,.85),transparent 60%);opacity:0;transition:.3s;display:flex;align-items:flex-end;padding:1.2rem;color:#fff;font-weight:600}
.gallery-item:hover .overlay{opacity:1}

/* CTA */
.cta-banner{background:linear-gradient(135deg,var(--brand-primary),var(--brand-dark));color:#fff;padding:60px 0;border-radius:20px}
.cta-banner h3{color:#fff}

/* Contact */
.contact-info-card{background:#fff;padding:2rem;border-radius:14px;box-shadow:0 6px 20px rgba(10,31,68,.07);height:100%;text-align:center}
.contact-info-card i{font-size:2rem;color:var(--brand-accent);margin-bottom:1rem}
.contact-form-wrap{background:#fff;padding:2.5rem;border-radius:18px;box-shadow:0 10px 30px rgba(10,31,68,.1)}
.form-control,.form-select{border:1px solid #e2e8f5;padding:.8rem 1rem;border-radius:10px}
.form-control:focus,.form-select:focus{border-color:var(--brand-primary);box-shadow:0 0 0 .2rem rgba(11,61,145,.12)}
.btn-primary-brand{background:var(--brand-primary);color:#fff;padding:.9rem 2rem;border-radius:30px;font-weight:600;border:none}
.btn-primary-brand:hover{background:var(--brand-accent);color:#fff}
.alert-success{background:#e6f7ee;color:#22a06b;border:1px solid #b8ecd1}
.alert-danger{background:#fdecea;color:#c0392b;border:1px solid #f5c6c0}

/* Partners */
.partner-logo{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 4px 14px rgba(0,0,0,.05);text-align:center;font-weight:700;color:var(--brand-primary);font-size:1.05rem;height:100%;display:flex;align-items:center;justify-content:center}

/* Footer */
.site-footer{background:var(--brand-dark);color:#c9d3ee}
.site-footer h6.footer-title{color:#fff;font-weight:600;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.05em;font-size:.9rem}
.site-footer a{color:#c9d3ee;transition:.2s}
.site-footer a:hover{color:var(--brand-accent);padding-left:4px}
.site-footer ul li{margin-bottom:.4rem}
.footer-bottom{background:#06152e;color:#8ea0c6}

/* Back to top */
.back-to-top{position:fixed;right:20px;bottom:20px;width:44px;height:44px;background:var(--brand-accent);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(10px);transition:.3s;z-index:999}
.back-to-top.show{opacity:1;transform:translateY(0)}
.back-to-top:hover{background:var(--brand-primary);color:#fff}

/* Bg utilities */
.bg-brand-light{background:var(--brand-light)}

@media (max-width:768px){
  section{padding:60px 0}
  .section-heading{font-size:1.7rem}
  .hero-carousel .carousel-item{height:60vh;min-height:400px}
}
