html,
body {
  overflow-x: hidden;
}


.navbar-nav {
  flex-wrap: wrap;
}

.row {
  margin-right: 0 !important;
  margin-left: 0 !important;
}

/* Google Fonts — Inter */
body {
  font-family: Times, "Times New Roman", "serif";
  background: #fff;
  color: #222;
  font-size: 1rem;
  line-height: 1.6;
  transition: background 0.3s, color 0.3s;
}

/* Dark theme */
body.dark-mode {
  background: #181b20;
  color: #f5f5f5;
}

body.dark-mode .bg-light,
body.dark-mode .bg-white {
  background: #23272f !important;
  color: #f5f5f5 !important;
}

body.dark-mode .navbar,
body.dark-mode .footer {
  background: #111317 !important;
}

body.dark-mode .text-dark,
body.dark-mode .navbar-brand,
body.dark-mode .nav-link {
  color: #fff !important;
}

body.dark-mode .btn-outline-dark {
  border-color: #fff;
  color: #fff;
}

body.dark-mode .btn-outline-dark:hover {
  background: #fff;
  color: #222;
}

body.dark-mode .btn-primary {
  background: #c39736;
  border-color: #c39736;
}

body.dark-mode .text-muted {
  color: #e0e0e0 !important;
  transition: color 0, 5s;
}


/* Preloader */
#preloader {
  position: fixed;
  z-index: 9999;
  background: #fff;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.4s;
}

#preloader .loader {
  width: 48px;
  height: 48px;
  border: 5px solid #c39736;
  border-bottom-color: transparent;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0);
  }

  100% {
    transform: rotate(360deg);
  }
}


/* About section  */
.about-hero {
  background: linear-gradient(120deg, #c39736 60%, #f0f4ff 100%);
  color: #fff;
  padding: 70px 0 40px 0;
  margin-bottom: 2.5rem;
}

.about-values-icon {
  font-size: 2rem;
  color: #c39736;
  background: #eaf4ff;
  width: 70px;
  height: 70px;
  border-radius: 1rem;
  padding: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  transition: background 0.2s, color 0.2s;
}

.about-values-icon:hover {
  background: #c39736;
  color: #fff;
}

.about-numbers .display-5 {
  color: #c39736;
}

.about-team-img {
  width: 150px;
  height: 150px;
  border-radius: 1rem;
  box-shadow: 0 8px 32px rgba(192, 150, 62, 0.07);
  object-fit: cover;
  margin-bottom: 1rem;
}

.about-history {
  background: #f6f9fb;
  border-radius: 1rem;
  padding: 2rem 1.5rem;
}

@media (max-width: 767px) {
  .about-hero {
    padding: 30px 0 16px 0;
  }

  .about-history {
    padding: 1rem;
  }
}

body.dark-mode .about-hero {
  background: linear-gradient(120deg, #232a36 60%, #23395d 100%);
  color: #fff;
}

body.dark-mode .about-history {
  background: #232a36;
}

/* Service section  */
.services-hero {
  background: linear-gradient(120deg, #c39736 60%, #f0f4ff 100%);
  color: #fff;
  padding: 64px 0 36px 0;
  margin-bottom: 2.5rem;
}

.service-icon {
  font-size: 2rem;
  color: #c39736;
  background: #eaf4ff;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  padding: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  transition: background 0.2s, color 0.2s;
}

.service-icon:hover {
  background: #c39736;
  color: #fff;
}

.why-icon {
  font-size: 1.5rem;
  color: #c39736;
  background: #eaf4ff;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  padding: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
  transition: background 0.2s, color 0.2s;
}

.service-step {
  background: #f6f9fb;
  border: 2px solid #c39736;
  border-radius: 1rem;
  padding: 2rem 1.5rem;
  text-align: center;
  min-height: 200px;
}

.service-package {
  border-radius: 1.25rem;
  border: 2px solid #eaf4ff;
  background: #fff;
  box-shadow: 0 6px 24px rgba(192, 150, 62, 0.07);
  transition: border 0.2s, box-shadow 0.2s, transform 0.15s;
  padding: 2rem 1.5rem 1.5rem 1.5rem;
  text-align: center;
  height: 100%;
  position: relative;
}

.service-package.featured {
  border-color: #c39736;
  box-shadow: 0 8px 32px rgba(192, 150, 62, 0.12);
  transform: scale(1.04);
  z-index: 2;
}

.service-package .btn {
  margin-top: 1.3rem;
}

.faq-question .accordion-button {
  font-weight: 600;
}

@media (max-width: 767px) {
  .services-hero {
    padding: 30px 0 16px 0;
  }

  .service-step {
    padding: 1.3rem 0.7rem;
  }

  .service-package {
    padding: 1.2rem 0.6rem 1rem 0.6rem;
  }
}

body.dark-mode .services-hero {
  background: linear-gradient(120deg, #232a36 60%, #23395d 100%);
  color: #fff;
}

body.dark-mode .service-step {
  background: #232a36;
}

body.dark-mode .service-package {
  background: #232a36;
  border-color: #2c3b52;
}


/* Parallax hero section  */
.hero-section {
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.hero-section .container {
  z-index: 2;
  position: relative;
}

.hero-section .hero-overlay {
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
}



/* Navbar */
.navbar {
  padding: 1rem 0;
  background: #fff;
  transition: background 0.3s, box-shadow 0.3s;
}

.navbar .navbar-brand {
  font-weight: bold;
  font-size: 1.35rem;
  color: #c39736 !important;
}

.navbar .nav-link {
  font-weight: 500;
  color: #333;
  margin-right: 1rem;
  transition: color 0.2s;
}

.navbar .nav-link.active,
.navbar .nav-link:hover {
  color: #c39736;
}

.navbar .btn-outline-dark {
  border-radius: 50px;
  padding: 6px 12px;
  font-size: 1.1rem;
}

.navbar.fixed-top {
  box-shadow: 0 4px 14px rgba(30, 30, 30, 0.06);
}

/* Submenu customization */
.dropdown-menu {
  border-radius: 12px;
  box-shadow: 0 6px 24px rgba(192, 150, 62, 0.09);
  padding: 0.7rem 0;
}

.dropdown-item {
  padding: 0.7rem 2rem 0.7rem 1.25rem;
  font-weight: 500;
  transition: background 0.2s;
}

.dropdown-item:hover {
  background: #f0f4ff;
  color: #c39736;
}

body.dark-mode .dropdown-menu {
  background: #23272f;
}

body.dark-mode .dropdown-item {
  color: #fff;
}

body.dark-mode .dropdown-item:hover {
  background: #c39736;
  color: #fff;
}


/* Burger Menu (Bootstrap by default, can be customized) */
.navbar-toggler {
  border: none;
  background: transparent !important;
}

.navbar-toggler-icon {
  background-image: url("data:image/svg+xml;utf8,<svg fill='none' viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'><rect y='7' width='30' height='2' rx='1' fill='black'/><rect y='14' width='30' height='2' rx='1' fill='black'/><rect y='21' width='30' height='2' rx='1' fill='black'/></svg>");
  width: 2em;
  height: 2em;
}

body.dark-mode .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;utf8,<svg fill='none' viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'><rect y='7' width='30' height='2' rx='1' fill='white'/><rect y='14' width='30' height='2' rx='1' fill='white'/><rect y='21' width='30' height='2' rx='1' fill='white'/></svg>");
}

@media (min-width: 992px) {

  /* Bootstrap 'lg' breakpoint */
  .navbar-collapse {
    max-height: none !important;
    overflow: visible !important;
  }
}

/* Buttons */
.btn-primary {
  background: #c39736;
  border-color: #c39736;
  font-weight: 600;
  border-radius: 50px;
  transition: background 0.2s, border 0.2s;
}

.btn-primary:hover,
.btn-primary:focus {
  background: #c39736;
  border-color: #c39736;
}

/* Sections */
section {
  padding: 70px 0;
}

section.bg-light {
  background: #f6f7fa !important;
}

/* Service Box */
.service-box {
  border-radius: 1rem;
  box-shadow: 0 4px 18px rgba(30, 30, 30, 0.08);
  text-align: center;
  transition: box-shadow 0.2s, transform 0.2s;
}

.service-box:hover {
  box-shadow: 0 6px 24px rgba(192, 150, 62, 0.11);
  transform: translateY(-8px) scale(1.03);
}

/* Testimonial */
.testimonial-box {
  border-radius: 1rem;
  border: 1px solid #eaeaea;
  background: #fff;
}

body.dark-mode .testimonial-box {
  background: #181b20;
  border-color: #242a34;
}

.testimonial-icon img {
  width: 80px;
  height: 80px;
  border: none;
  border-radius: 50%;
}

/* Footer */
.footer {
  background: #101112;
  color: #eee;
  font-size: 1rem;
}

.footer a {
  color: #bbb;
  text-decoration: none;
  margin: 0 8px;
  transition: color 0.2s;
}

.footer a:hover {
  color: #c39736;
}

.footer .small {
  font-size: 0.95em;
  color: #999;
}

/* FAQ, 404, Pricing, etc. — blocks can be completed as needed */

/* Responsive */
@media (max-width: 991.98px) {
  .navbar .navbar-collapse {
    background: #fff;
    border-radius: 1.1rem;
    margin-top: 0.7rem;
    box-shadow: 0 4px 20px rgba(192, 150, 62, 0.09);
  }

  body.dark-mode .navbar .navbar-collapse {
    background: #181b20;
  }

  .hero-section .container {
    text-align: center !important;
    align-items: center !important;
  }
}

@media (max-width: 575.98px) {
  .hero-section h1 {
    font-size: 2.1rem !important;
  }

  .hero-section {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}


.hero-section {
  position: relative;
  overflow: hidden;
}

.hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgb(255, 255, 255);
  z-index: 1;
  pointer-events: none;
  transition: background 0.3s;
}

body.dark-mode .hero-overlay {
  background: rgba(0, 0, 0, 0.7);
}

.hero-section .container {
  position: relative;
  z-index: 2;
}

/* Partners Section */
.partners-section {
  background: #ffffff;
}

.partner-logo {
  height: 64px;
  width: auto;
  opacity: 0.8;
  filter: grayscale(1);
  transition: filter 0.3s, opacity 0.3s;
}

.partner-logo:hover {
  opacity: 1;
  filter: grayscale(0);
}

.carousel-control-prev,
.carousel-control-next {
  filter: invert(0.7) grayscale(1);
  transition: filter 0.2s;
}

@media (max-width: 767px) {
  .partner-logo {
    height: 40px;
    margin: 0 10px;
  }

  .partners-section .gap-5 {
    gap: 1rem !important;
  }
}

body.dark-mode .partners-section {
  background: #898b91;
}


/* Latest Blog Home Section */
.blog-section {
  background: #fff;
}

.blog-card {
  border: none;
  border-radius: 1.25rem;
  overflow: hidden;
  transition: transform 0.2s, box-shadow 0.2s;
}

.blog-card:hover {
  transform: translateY(-6px) scale(1.025);
  box-shadow: 0 10px 32px rgba(192, 150, 62, 0.09);
}

.blog-card .card-img-top {
  height: 220px;
  object-fit: cover;
  border-bottom: 2px solid #f0f4ff;
}

.blog-card .btn-link {
  color: #c39736;
  text-decoration: none;
  font-weight: 600;
  transition: color 0.2s;
}

.blog-card .btn-link:hover {
  color: #9e7315;
  text-decoration: underline;
}

body.dark-mode .blog-section {
  background: #181d27;
}

body.dark-mode .blog-card {
  background: #232836;
}

body.dark-mode .blog-card .card-title,
body.dark-mode .blog-card .btn-link {
  color: #fff;
}

body.dark-mode .blog-card .card-text {
  color: #e0e0e0;
}

/* Blog details Section */
.blog-hero {
  background: linear-gradient(120deg, #c39736 60%, #f0f4ff 100%);
  color: #fff;
  padding: 64px 0 40px 0;
  margin-bottom: 2.5rem;
}

.blog-hero .badge {
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
  font-weight: 500;
  margin-right: 8px;
}

.blog-details-img {
  border-radius: 1rem;
  box-shadow: 0 8px 32px rgba(192, 150, 62, 0.07);
  width: 100%;
  max-height: 420px;
  object-fit: cover;
  margin-bottom: 2rem;
}

.blockquote {
  background: #f6f9fb;
  border-left: 4px solid #c39736;
  padding: 1rem 1.5rem;
  font-style: italic;
  border-radius: 0.75rem;
  margin: 2rem 0;
  color: #9e7315;
}

.share-icons a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 12px;
  font-size: 1.35rem;
  color: #c39736;
  background: #eaf4ff;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  transition: background 0.2s, color 0.2s;
}

.share-icons a:hover {
  color: #fff;
  background: #c39736;
}

.post-tags .badge {
  background: #eaf4ff;
  color: #c39736;
  font-size: 0.97rem;
  margin: 0 5px 5px 0;
}


/* Blog2 */
.blog-main-hero {
  background: linear-gradient(120deg, #c39736 60%, #f0f4ff 100%);
  color: #fff;
  padding: 64px 0 32px 0;
  margin-bottom: 2.5rem;
}

.blog-main-card {
  border: none;
  border-radius: 1.25rem;
  overflow: hidden;
  transition: transform 0.2s, box-shadow 0.2s;
  background: #fff;
  position: relative;
}

.blog-main-card:hover {
  transform: translateY(-6px) scale(1.025);
  box-shadow: 0 10px 32px rgba(192, 150, 62, 0.09);
}

.blog-main-card .blog-main-img {
  height: 220px;
  object-fit: cover;
  border-bottom: 2px solid #f0f4ff;
}

.blog-main-meta {
  font-size: 0.97rem;
  color: #c39736;
  margin-bottom: 6px;
}

.blog-main-meta .fa {
  margin-right: 3px;
  opacity: 0.7;
}

.blog-main-tags .badge {
  background: #eaf4ff;
  color: #c39736;
  font-size: 0.96rem;
  margin: 0 5px 5px 0;
}

.blog-main-sidebar .card {
  margin-bottom: 1.5rem;
  border-radius: 1rem;
}

.blog-main-category-list .list-group-item {
  border: none;
  background: transparent;
  padding-left: 0;
  color: #c39736;
  cursor: pointer;
}

.blog-main-category-list .list-group-item:hover {
  text-decoration: underline;
  color: #9e7315;
}

@media (max-width: 991px) {
  .blog-main-hero {
    padding: 40px 0 18px 0;
  }
}

@media (max-width: 767px) {
  .blog-main-hero {
    padding: 30px 0 10px 0;
  }

  .blog-main-card .blog-main-img {
    height: 150px;
  }
}

body.dark-mode .blog-main-hero {
  background: linear-gradient(120deg, #232a36 60%, #23395d 100%);
  color: #fff;
}

body.dark-mode .blog-main-card {
  background: #232a36;
}

body.dark-mode .blog-main-card .card-title,
body.dark-mode .blog-main-card .btn-link,
body.dark-mode .blog-main-meta {
  color: #fff;
}

body.dark-mode .blog-main-card .card-text {
  color: #e0e0e0;
}

body.dark-mode .blog-main-tags .badge {
  background: #2c3b52;
  color: #5cc1ff;
}

body.dark-mode .blog-main-category-list .list-group-item {
  color: #5cc1ff;
}



/* Sidebar */
.blog-sidebar .card {
  margin-bottom: 1.5rem;
  border-radius: 1rem;
}

.sidebar-categories .list-group-item {
  border: none;
  background: transparent;
  padding-left: 0;
  color: #c39736;
}

.sidebar-categories .list-group-item:hover {
  text-decoration: underline;
  color: #9e7315;
  cursor: pointer;
}

.rounded-circle {
  margin: 0 auto;
}


@media (max-width: 991px) {
  .blog-hero {
    padding: 40px 0 24px 0;
  }
}

@media (max-width: 767px) {
  .blog-hero {
    padding: 30px 0 16px 0;
  }

  .blog-details-img {
    margin-bottom: 1rem;
  }
}

body.dark-mode .blog-hero {
  background: linear-gradient(120deg, #232a36 60%, #23395d 100%);
  color: #fff;
}

body.dark-mode .blockquote {
  background: #232a36;
  color: #8bc1ff;
  border-left-color: #5cc1ff;
}

body.dark-mode .share-icons a {
  background: #232a36;
  color: #5cc1ff;
}

body.dark-mode .share-icons a:hover {
  background: #5cc1ff;
  color: #232a36;
}

body.dark-mode .post-tags .badge {
  background: #2c3b52;
  color: #5cc1ff;
}

body.dark-mode .sidebar-categories .list-group-item {
  color: #5cc1ff;
}

/* Scroll Section */
.scroll-top-btn {
  position: fixed;
  right: 26px;
  bottom: 32px;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: #c39736;
  color: #fff;
  border: none;
  box-shadow: 0 6px 24px rgba(192, 150, 62, 0.13);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.7rem;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  z-index: 1000;
  transition: background 0.2s, color 0.2s, opacity 0.3s, transform 0.2s;
}

.scroll-top-btn.show {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.scroll-top-btn:hover {
  background: #9e7315;
}

body.dark-mode .scroll-top-btn {
  background: #181d27;
  color: #5cc1ff;
  box-shadow: 0 6px 24px rgba(192, 150, 62, 0.21);
}

body.dark-mode .scroll-top-btn:hover {
  background: #c39736;
  color: #fff;
}


/* Portfolio Section */
.portfolio-hero {
  background: linear-gradient(120deg, #c39736 60%, #f0f4ff 100%);
  color: #fff;
  padding: 64px 0 36px 0;
  margin-bottom: 2.5rem;
}

.portfolio-gallery .portfolio-card {
  border: none;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 6px 24px rgba(192, 150, 62, 0.06);
  background: #fff;
  transition: box-shadow 0.2s, transform 0.2s;
  position: relative;
}

.portfolio-gallery .portfolio-card:hover {
  transform: translateY(-6px) scale(1.025);
  box-shadow: 0 10px 32px rgba(192, 150, 62, 0.13);
}

.portfolio-gallery .portfolio-img {
  height: 200px;
  object-fit: cover;
  width: 100%;
}

.portfolio-filters .btn {
  margin: 0 4px 12px 0;
}

.portfolio-gallery .badge {
  position: absolute;
  left: 1rem;
  top: 1rem;
  background: #c39736;
  color: #fff;
  font-size: 0.88rem;
  padding: 4px 12px;
  border-radius: 1rem;
  z-index: 3;
}

.portfolio-stats .display-6 {
  color: #c39736;
}

.portfolio-partners img {
  filter: grayscale(1) brightness(0.95);
  max-height: 44px;
  margin: 18px;
  opacity: 0.85;
  transition: opacity 0.2s;
}

.portfolio-partners img:hover {
  opacity: 1;
  filter: none;
}

body.dark-mode .portfolio-hero {
  background: linear-gradient(120deg, #232a36 60%, #23395d 100%);
  color: #fff;
}

body.dark-mode .portfolio-gallery .portfolio-card,
body.dark-mode .portfolio-stats {
  background: #232a36;
}

body.dark-mode .portfolio-gallery .badge {
  background: #5cc1ff;
  color: #1a263d;
}


/* Portfolio Details Section */
.img-fluid {
  max-width: 80%;
  height: auto;
}


.display-5 {
  font-size: calc(1rem + 2.1vw);
}

.lead {
  font-size: 1rem;
}

/* Footer Section */
.footer {
  background: #0a174e;
  color: #fff;
  font-size: 1rem;
  letter-spacing: 0.01em;
}

.footer-brand img {
  filter: brightness(0) invert(1);
}

.footer-link {
  color: #e0e0e0;
  text-decoration: none;
  transition: color 0.2s;
}

.footer-link:hover,
.footer-social a:hover {
  color: #c39736;
  text-decoration: underline;
}

.footer-social .footer-icon {
  color: #e0e0e0;
  font-size: 1.25rem;
  transition: color 0.2s, transform 0.2s;
}

.footer-social .footer-icon:hover {
  color: #c39736;
  transform: translateY(-2px) scale(1.12);
}

.footer-icon-sm {
  font-size: 1.05rem;
  color: #c39736;
  opacity: 0.9;
}


@media (max-width: 991px) {
  .fs-4 {
    font-size: 16px !important;
  }
}


@media (max-width: 767px) {
  .footer .row>div {
    margin-bottom: 1.5rem;
  }
}

body.dark-mode .footer {
  background: #181d27;
  color: #e0e0e0;
}

body.dark-mode .footer-link,
body.dark-mode .footer-social .footer-icon {
  color: #b3c6e0;
}

body.dark-mode .footer-link:hover,
body.dark-mode .footer-social .footer-icon:hover {
  color: #5cc1ff;
}