:root {
    --pbmit-global-color: #86bb46;
    --pbmit-blackish-color: #142016;
    --pbmit-light-color: #f4f6f1;
    --pbmit-body-typography-font-family: "Source Sans 3", sans-serif;
    --pbmit-heading-typography-font-family: "Manrope", sans-serif;
    --pbmit-btn-typography-font-family: "Manrope", sans-serif;
    --pbmit-body-typography-font-size: 17px;
    --pbmit-body-typography-line-height: 1.7;
    --pbmit-heading-color: #172117;
    --nj-ink: #172117;
    --nj-muted: #5c6756;
    --nj-line: #e4eadf;
    --nj-green: #86bb46;
    --nj-green-deep: #5f8c2c;
}

body {
    font-family: "Source Sans 3", sans-serif;
    color: #3c4636;
    background: #f7f8f4;
    text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5,
.pbmit-title,
.pbmit-tbar-title,
.widget-title,
.heading-title {
    font-family: "Manrope", sans-serif;
    color: var(--nj-ink);
    letter-spacing: -0.03em;
}

a {
    transition: color 0.18s ease;
}

.header-style-4 .pre-header {
    background: #142016;
}

.header-style-4 ul.top-contact li,
.header-style-4 ul.top-contact li a,
.header-style-4 .pbmit-social-links li a {
    color: rgba(255, 255, 255, 0.82);
    font-size: 14px;
}

.site-header .site-header-menu {
    background: #fff;
    box-shadow: 0 10px 28px rgba(20, 32, 22, 0.06);
}

.header-style-4 .site-navigation ul.navigation > li > a,
.navigation > li > a {
    font-family: "Manrope", sans-serif;
    font-weight: 600;
    letter-spacing: 0.03em;
    font-size: 14px;
}

.navigation > li > a:hover,
.navigation > li.active > a,
.navigation > li.current-menu-item > a {
    color: var(--nj-green-deep);
}

.pbmit-btn,
.pbmit-btn-outline,
a.pbmit-btn,
button.pbmit-btn {
    font-family: "Manrope", sans-serif;
    font-weight: 700;
    letter-spacing: 0.04em;
    border-radius: 8px;
    transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

.pbmit-btn:hover,
a.pbmit-btn:hover,
button.pbmit-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(134, 187, 70, 0.28);
}

.nj-page-banner {
    background-color: #142016;
    background-size: cover;
    background-position: center;
}

.nj-page-banner::before {
    background: linear-gradient(90deg, rgba(12, 20, 10, 0.82), rgba(12, 20, 10, 0.38)) !important;
}

.nj-page-banner .pbmit-tbar-title,
.nj-page-banner .pbmit-title,
.nj-page-banner .pbmit-breadcrumb,
.nj-page-banner .pbmit-breadcrumb a,
.nj-page-banner .pbmit-breadcrumb span {
    color: #fff !important;
}

.nj-page-banner .pbmit-tbar-title,
.nj-page-banner .pbmit-title {
    font-size: 44px;
    font-weight: 700;
    line-height: 1.15;
}

.pbmit-slider-area {
    background: #142016;
    min-height: 420px;
}

.pbmit-bg-color-global,
.pbmit-bg-color-global .pbmit-title,
.pbmit-bg-color-global .heading-title,
.pbmit-bg-color-global h2,
.pbmit-bg-color-global p,
.service-five_bg .pbmit-title,
.service-five_bg .text-white,
.service-five_bg h2 {
    color: #fff;
}

.nj-services-band {
    position: relative;
    background-color: #f4f6f1;
    background-size: cover;
    background-position: center;
}

.nj-services-band::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(247, 248, 244, 0.9);
}

.nj-services-band .container {
    position: relative;
    z-index: 1;
}

.proimg,
.cat-img,
.pbmit-featured-wrapper img {
    background: #e8eee3;
    object-fit: cover;
}

@media (max-width: 767px) {
    .nj-page-banner .pbmit-tbar-title,
    .nj-page-banner .pbmit-title {
        font-size: 30px;
    }
    .pbmit-title-bar-content {
        min-height: 180px;
        padding: 36px 0;
    }
}

.pbmit-service-style-3,
.pbmit-team-style-2,
.pbmit-blogbox-style-1,
.pbmit-blogbox-style-4,
.pbmit-portfolio-style-2,
.pbminfotech-post-item {
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--nj-line);
    box-shadow: 0 12px 30px rgba(20, 32, 22, 0.06);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.pbmit-service-style-3:hover,
.pbmit-team-style-2:hover,
.pbmit-blogbox-style-1:hover,
.pbmit-blogbox-style-4:hover,
.pbmit-portfolio-style-2:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 36px rgba(20, 32, 22, 0.12);
}

.pbminfotech-box-content,
.pbmit-box-content {
    padding-top: 4px;
}

.proimg,
.cat-img,
.pbmit-featured-wrapper img,
.pbmit-blogbox-style-1 img,
.pbmit-blogbox-style-4 .pbmit-featured-wrapper img,
.pbmit-portfolio-style-2 img,
.nj-gallery img,
.pbmit-team-img img {
    border-radius: 12px;
}

.contact-form,
.nj-inquiry {
    border-radius: 16px;
    background: #fff;
    border: 1px solid var(--nj-line);
    box-shadow: 0 14px 34px rgba(20, 32, 22, 0.06);
}

.contact-form .form-control,
#frm_ns .form-control,
.nj-inquiry .form-control,
input.form-control,
textarea.form-control {
    border-radius: 8px;
    min-height: 48px;
    border: 1px solid #d7dfd0;
    background: #fff;
    color: var(--nj-ink);
}

textarea.form-control {
    min-height: 120px;
}

.form-control:focus,
input.form-control:focus,
textarea.form-control:focus {
    border-color: var(--nj-green);
    box-shadow: 0 0 0 3px rgba(134, 187, 70, 0.18);
    outline: none;
}

.footer.site-footer {
    background: #142016;
    letter-spacing: 0.01em;
    color: rgba(255, 255, 255, 0.82);
}

.site-footer .widget-title {
    font-family: "Manrope", sans-serif;
    color: #fff;
    letter-spacing: -0.02em;
}

.site-footer .widget a:hover {
    color: #b7db86;
}

.pbmit-footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.float {
    border-radius: 14px;
    box-shadow: 0 10px 24px rgba(20, 32, 22, 0.18);
}

.pbminfotech-post-item,
.contact-form,
.nj-inquiry,
.nj-page-banner .pbmit-title-bar-content {
    animation: nj-in 0.45s ease both;
}

.nj-equal > [class*="col-"]:nth-child(2) .pbminfotech-post-item { animation-delay: 0.05s; }
.nj-equal > [class*="col-"]:nth-child(3) .pbminfotech-post-item { animation-delay: 0.1s; }
.nj-equal > [class*="col-"]:nth-child(4) .pbminfotech-post-item { animation-delay: 0.15s; }

@keyframes nj-in {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: none; }
}

/* Keep AOS from hiding sections for a second. The short rise above is enough. */
[data-aos] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}
