
.solaroj-logo img { max-width: 235px; height: auto; object-fit: contain; }
.footer-logo img { filter: none; max-width: 240px; }
.solaroj-nav .navbar-anchor { white-space: nowrap; }
.solaroj-mobile-nav .menu-anhor { justify-content: flex-start; }
.solaroj-services2-body .design-data {
    background: #ffffff;
    box-shadow: 0 18px 55px rgba(16, 39, 29, .08);
}
.solaroj-services2-body .navbar-anchor,
.solaroj-services2-body .button-design {
    color: #10271d;
}
.solaroj-services2-body .navbar-anchor:hover,
.solaroj-services2-body .navbar-anchor.active {
    color: #8bc34a;
}
.solaroj-services2-body .ul-nav {
    display: flex;
    gap: 28px;
}
.solaroj-services2-body .menu-design img {
    filter: brightness(0) saturate(100%) invert(11%) sepia(18%) saturate(1116%) hue-rotate(86deg) brightness(91%) contrast(91%);
}
.solaroj-services2-body .js-scroll,
.solaroj-services2-body .solaroj-service-detail {
    padding-top: 165px;
}
.solaroj-services2-body .footer {
    margin-top: 0;
    padding-top: 90px;
}
.solaroj-services2-body .footer-appointment-data,
.footer-appointment-data {
    margin-top: 0 !important;
    position: relative;
    z-index: 1;
}
.solaroj-services2-body .footer-main,
.footer-main {
    padding-top: 70px;
}
.solaroj-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.72), rgba(0,0,0,.34)); pointer-events: none; }
.solaroj-hero .container, .solaroj-hero .text-relable-data { position: relative; z-index: 1; }
.solaroj-hero .home-hero-title span { color: #f6c343; }
.pages-hero { min-height: 360px; display: flex; align-items: center; background: linear-gradient(90deg, rgba(0,0,0,.74), rgba(0,0,0,.36)), url('../images/hero/image-home-1.png') center/cover no-repeat; padding-top: 100px; }
.pages-hero .hero-content p { color: #fff; font-size: clamp(42px, 7vw, 84px); font-weight: 800; line-height: 1; margin-bottom: 18px; }
.pages-hero .hero-content span, .pages-hero .hero-content a { color: #fff; font-weight: 600; }
.solaroj-page-wrap { padding: 110px 0; background: #fff; }
.solaroj-content { color: #243126; }
.solaroj-content h1 { font-size: clamp(38px, 5vw, 64px); font-weight: 800; margin-bottom: 24px; }
.solaroj-content h2 { font-size: clamp(28px, 3vw, 42px); font-weight: 800; margin: 42px 0 16px; }
.solaroj-content h3 { font-size: 24px; font-weight: 800; margin-bottom: 14px; }
.solaroj-content p, .solaroj-content li { font-size: 18px; line-height: 1.78; color: #566258; }
.solaroj-content .lead { font-size: 21px; color: #334338; max-width: 920px; }
.solaroj-feature-img { width: 100%; border-radius: 8px; box-shadow: 0 24px 70px rgba(12, 43, 22, .16); }
.solaroj-card-grid { margin: 34px 0 18px; }
.solaroj-info-card, .solaroj-product-card { height: 100%; border: 1px solid rgba(36,49,38,.12); border-radius: 8px; padding: 28px; background: #fff; box-shadow: 0 18px 45px rgba(25,54,33,.07); }
.solaroj-product-card { padding: 0 0 28px; overflow: hidden; }
.solaroj-product-card img { width: 100%; aspect-ratio: 4/3; object-fit: cover; margin-bottom: 24px; }
.solaroj-product-card h3, .solaroj-product-card p { padding: 0 28px; }
.solaroj-info-card a, .solaroj-contact-page a { color: #1e7b39; font-weight: 700; }
.solaroj-contact-box { margin-top: 42px; padding: 38px; border-radius: 8px; background: #f5f8f2; }
.solaroj-faq { margin-top: 30px; }
@media (max-width: 991px) { .solaroj-logo img { max-width: 185px; } .footer-logo img { max-width: 190px; } .pages-hero { min-height: 300px; } .solaroj-page-wrap { padding: 70px 0; } }

/* Minimal SOLAROJ fixes without changing the theme layout */
.progress-wrap {
    display: none !important;
}

.solaroj-home .work-data.about-data {
    padding-bottom: 45px;
}

.solaroj-home .footer {
    margin-top: 0;
}

.solaroj-home .footer-appointment-data {
    margin-top: 0;
}

.footer-appointment-data h2 {
    color: #ffffff;
    font-size: 48px;
    font-weight: 400;
    line-height: 64px;
    margin: 10px 0 20px;
}

.data-contact-footer-top {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    background-color: #ffffff;
    border-radius: 10px;
    padding: 20px 56px 20px 20px;
}

.data-contact-footer-top img {
    max-width: 60px;
}

.data-contact-footer-top a {
    color: #10271d;
    font-size: 20px;
    font-weight: 700;
}

.copy-right-data {
    padding-top: 60px;
}

@media (max-width: 991px) {
    .footer-appointment-data h2 {
        font-size: 38px;
        line-height: 54px;
    }
}

@media (max-width: 575px) {
    .footer-appointment-data h2 {
        font-size: 25px;
        line-height: 38px;
    }
}

.solaroj-eyebrow {
    color: #8bc34a;
    display: inline-flex;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0;
    margin-bottom: 14px;
    text-transform: uppercase;
}

.solaroj-services2-hero {
    align-items: center;
    background: #10271d;
    display: flex;
    min-height: 720px;
    overflow: hidden;
    padding: 170px 0 110px;
    position: relative;
    scroll-margin-top: 20px;
}

.solaroj-services2-hero video {
    height: 100%;
    inset: 0;
    object-fit: cover;
    opacity: .42;
    position: absolute;
    width: 100%;
}

.solaroj-services2-hero::after {
    background: linear-gradient(90deg, rgba(16, 39, 29, .96) 0%, rgba(16, 39, 29, .72) 48%, rgba(16, 39, 29, .26) 100%);
    content: "";
    inset: 0;
    position: absolute;
}

.solaroj-services2-hero .container {
    position: relative;
    z-index: 1;
}

.solaroj-services2-hero-content {
    max-width: 820px;
}

.solaroj-services2-hero-content > span {
    color: #9fd456;
    display: inline-flex;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0;
    margin-bottom: 20px;
    text-transform: uppercase;
}

.solaroj-services2-hero-content h1 {
    color: #ffffff;
    font-size: clamp(58px, 9vw, 118px);
    font-weight: 900;
    letter-spacing: 0;
    line-height: .98;
    margin-bottom: 28px;
}

.solaroj-services2-hero-content p {
    color: rgba(255, 255, 255, .86);
    font-size: 21px;
    line-height: 1.7;
    max-width: 720px;
}

.solaroj-services2-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 22px;
    margin-top: 36px;
}

.solaroj-services2-link {
    color: #ffffff;
    font-size: 17px;
    font-weight: 800;
}

.solaroj-services2-link:hover {
    color: #9fd456;
}

.solaroj-services2-page {
    background: #f4f7f1;
    color: #10271d;
    padding: 110px 0;
}

.solaroj-services2-intro {
    align-items: end;
    display: grid;
    gap: 42px;
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
    margin-bottom: 56px;
}

.solaroj-services2-intro h2,
.solaroj-services2-feature-copy h2,
.solaroj-services2-process-head h2,
.solaroj-services2-cta h2 {
    color: #10271d;
    font-size: clamp(34px, 5vw, 62px);
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.08;
}

.solaroj-services2-intro p,
.solaroj-services2-feature-copy p,
.solaroj-services2-cta p {
    color: #4f5c52;
    font-size: 18px;
    line-height: 1.85;
}

.solaroj-services2-feature {
    background: #ffffff;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(380px, .78fr);
    margin-bottom: 38px;
    overflow: hidden;
}

.solaroj-services2-feature-media {
    min-height: 520px;
}

.solaroj-services2-feature-media img,
.solaroj-services2-card-media img,
.solaroj-services2-card-media video {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.solaroj-services2-feature-copy {
    align-self: center;
    padding: 56px;
}

.solaroj-services2-feature-copy > span {
    color: #6aa436;
    display: inline-block;
    font-size: 14px;
    font-weight: 900;
    margin-bottom: 18px;
    text-transform: uppercase;
}

.solaroj-services2-feature-copy ul {
    display: grid;
    gap: 12px;
    margin-top: 26px;
}

.solaroj-services2-feature-copy li {
    color: #26372b;
    font-size: 17px;
    font-weight: 800;
    padding-left: 28px;
    position: relative;
}

.solaroj-services2-feature-copy li::before {
    background: #9fd456;
    content: "";
    height: 10px;
    left: 0;
    position: absolute;
    top: 9px;
    width: 10px;
}

.solaroj-services2-grid {
    display: grid;
    gap: 22px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.solaroj-services2-card {
    background: #ffffff;
    border: 1px solid rgba(16, 39, 29, .08);
    display: flex;
    flex-direction: column;
    min-height: 100%;
    overflow: hidden;
    transition: transform .25s ease, box-shadow .25s ease;
}

.solaroj-services2-card:hover {
    box-shadow: 0 26px 70px rgba(16, 39, 29, .14);
    transform: translateY(-6px);
}

.solaroj-services2-card.is-dark {
    background: #10271d;
}

.solaroj-services2-card-media {
    aspect-ratio: 1.28 / 1;
    background: #dce7d5;
    overflow: hidden;
}

.solaroj-services2-card video {
    display: block;
}

.solaroj-services2-card-body {
    padding: 28px;
}

.solaroj-services2-card-body span {
    color: #8bc34a;
    display: block;
    font-size: 14px;
    font-weight: 900;
    margin-bottom: 14px;
}

.solaroj-services2-card-body h3 {
    color: #10271d;
    font-size: 24px;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.22;
    margin-bottom: 14px;
}

.solaroj-services2-card-body p {
    color: #566258;
    font-size: 16px;
    line-height: 1.72;
}

.solaroj-services2-card.is-dark h3,
.solaroj-services2-card.is-dark p {
    color: #ffffff;
}

.solaroj-services2-card.is-dark p {
    color: rgba(255, 255, 255, .76);
}

.solaroj-services2-process {
    background: #10271d;
    margin: 110px 0;
    padding: 96px 0;
}

.solaroj-services2-process-head {
    margin-bottom: 38px;
    max-width: 840px;
}

.solaroj-services2-process-head h2 {
    color: #ffffff;
}

.solaroj-services2-step {
    background: rgba(255, 255, 255, .07);
    border: 1px solid rgba(255, 255, 255, .12);
    height: 100%;
    padding: 30px;
}

.solaroj-services2-step span {
    color: #9fd456;
    display: block;
    font-size: 15px;
    font-weight: 900;
    margin-bottom: 28px;
}

.solaroj-services2-step h3 {
    color: #ffffff;
    font-size: 24px;
    font-weight: 900;
    margin-bottom: 12px;
}

.solaroj-services2-step p {
    color: rgba(255, 255, 255, .72);
    font-size: 16px;
    line-height: 1.75;
}

.solaroj-services2-cta {
    align-items: center;
    background: #ffffff;
    display: grid;
    gap: 32px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 54px;
}

.solaroj-services2-cta h2 {
    font-size: clamp(32px, 4vw, 52px);
    margin-bottom: 16px;
}

.solaroj-services2-mosaic-page {
    background: #ffffff;
    padding: 0;
}

.solaroj-services2-copy {
    background: #ffffff;
    padding: 92px 0 86px;
}

.solaroj-services2-copy .container {
    max-width: 1320px;
}

.solaroj-services2-label {
    color: #8bc34a;
    font-size: 16px;
    font-weight: 900;
    letter-spacing: 0;
    margin-bottom: 18px;
    text-transform: uppercase;
}

.solaroj-services2-copy h1 {
    color: #202833;
    font-size: clamp(31px, 3vw, 46px);
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.16;
    margin-bottom: 24px;
}

.solaroj-services2-copy p:last-child {
    color: #2d3440;
    font-size: clamp(18px, 1.4vw, 22px);
    line-height: 1.75;
    max-width: 1240px;
}

.solaroj-services2-mosaic {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
}

.solaroj-services2-tile {
    aspect-ratio: 1.42 / 1;
    background: #10271d;
    color: #ffffff;
    display: block;
    min-height: 430px;
    overflow: hidden;
    position: relative;
}

.solaroj-services2-tile img {
    height: 100%;
    object-fit: cover;
    transform: scale(1.01);
    transition: transform .55s ease, filter .55s ease;
    width: 100%;
}

.solaroj-services2-overlay {
    align-items: flex-start;
    background: linear-gradient(180deg, rgba(7, 18, 27, .1) 0%, rgba(7, 18, 27, .92) 100%);
    display: flex;
    flex-direction: column;
    inset: 0;
    justify-content: flex-end;
    opacity: 0;
    padding: 34px;
    position: absolute;
    transform: translateY(18px);
    transition: opacity .35s ease, transform .35s ease;
}

.solaroj-services2-overlay strong {
    color: #ffffff;
    font-size: clamp(23px, 2.1vw, 34px);
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.12;
    margin-bottom: 12px;
}

.solaroj-services2-overlay small {
    color: rgba(255, 255, 255, .84);
    display: block;
    font-size: 16px;
    line-height: 1.58;
    max-width: 520px;
}

.solaroj-services2-overlay em {
    border-bottom: 2px solid #9fd456;
    color: #9fd456;
    font-size: 15px;
    font-style: normal;
    font-weight: 900;
    margin-top: 22px;
    padding-bottom: 4px;
    text-transform: uppercase;
}

.solaroj-services2-tile::after {
    background: rgba(0, 0, 0, .12);
    content: "";
    inset: 0;
    position: absolute;
    transition: background .35s ease;
}

.solaroj-services2-tile:hover img,
.solaroj-services2-tile:focus-visible img {
    filter: saturate(1.08) contrast(1.04);
    transform: scale(1.08);
}

.solaroj-services2-tile:hover::after,
.solaroj-services2-tile:focus-visible::after {
    background: rgba(0, 0, 0, .34);
}

.solaroj-services2-tile:hover .solaroj-services2-overlay,
.solaroj-services2-tile:focus-visible .solaroj-services2-overlay {
    opacity: 1;
    transform: translateY(0);
}

.solaroj-service-detail {
    background: #ffffff;
    padding: 92px 0 110px;
}

.solaroj-service-detail-head {
    align-items: end;
    display: grid;
    gap: 42px;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    margin-bottom: 58px;
}

.solaroj-service-detail-head h1 {
    color: #202833;
    font-size: clamp(44px, 6vw, 84px);
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1;
    margin-bottom: 0;
}

.solaroj-service-detail-head p {
    color: #3d4550;
    font-size: 21px;
    line-height: 1.75;
}

.solaroj-service-detail-media {
    height: min(62vh, 620px);
    min-height: 430px;
    overflow: hidden;
}

.solaroj-service-detail-media img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.solaroj-service-detail-grid {
    display: grid;
    gap: 40px;
    grid-template-columns: minmax(0, 1fr) minmax(320px, .45fr);
    margin-top: 58px;
}

.solaroj-service-detail-copy h2,
.solaroj-service-detail-aside h2 {
    color: #202833;
    font-size: clamp(28px, 3vw, 44px);
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.15;
    margin-bottom: 20px;
}

.solaroj-service-detail-copy p,
.solaroj-service-detail-copy li,
.solaroj-service-detail-aside li {
    color: #4b5562;
    font-size: 18px;
    line-height: 1.78;
}

.solaroj-service-detail-copy ul,
.solaroj-service-detail-aside ul {
    display: grid;
    gap: 12px;
    margin-top: 22px;
}

.solaroj-service-detail-aside {
    background: #f3f8ee;
    padding: 34px;
}

.solaroj-service-detail-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 34px;
}

@media (max-width: 1199px) {
    .solaroj-services2-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .solaroj-services2-mosaic {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .solaroj-services2-tile {
        min-height: 390px;
    }

    .solaroj-service-detail-head,
    .solaroj-service-detail-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 991px) {
    .solaroj-services2-hero {
        min-height: 650px;
        padding: 150px 0 90px;
    }

    .solaroj-services2-intro,
    .solaroj-services2-feature,
    .solaroj-services2-cta {
        grid-template-columns: 1fr;
    }

    .solaroj-services2-feature-media {
        min-height: 360px;
    }

    .solaroj-services2-feature-copy,
    .solaroj-services2-cta {
        padding: 34px;
    }
}

@media (max-width: 575px) {
    .solaroj-services2-hero {
        min-height: 600px;
        padding: 132px 0 70px;
    }

    .solaroj-services2-hero-content h1 {
        font-size: clamp(44px, 17vw, 70px);
    }

    .solaroj-services2-hero-content p,
    .solaroj-services2-intro p,
    .solaroj-services2-feature-copy p,
    .solaroj-services2-cta p {
        font-size: 16px;
        line-height: 1.7;
    }

    .solaroj-services2-page {
        padding: 72px 0;
    }

    .solaroj-services2-grid {
        grid-template-columns: 1fr;
    }

    .solaroj-services2-card-body {
        padding: 24px;
    }

    .solaroj-services2-process {
        margin: 72px 0;
        padding: 72px 0;
    }

    .solaroj-services2-actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .solaroj-services2-copy {
        padding: 62px 0 54px;
    }

    .solaroj-services2-mosaic {
        grid-template-columns: 1fr;
    }

    .solaroj-services2-tile {
        aspect-ratio: 1 / .86;
        min-height: 340px;
    }

    .solaroj-services2-overlay {
        opacity: 1;
        padding: 26px;
        transform: none;
    }

    .solaroj-services2-overlay small {
        font-size: 15px;
    }

    .solaroj-service-detail {
        padding: 62px 0 76px;
    }

    .solaroj-service-detail-media {
        min-height: 320px;
    }

    .solaroj-service-detail-head p,
    .solaroj-service-detail-copy p,
    .solaroj-service-detail-copy li,
    .solaroj-service-detail-aside li {
        font-size: 16px;
    }
}

/* Footer CTA must stay in the document flow on every static page. */
body .footer {
    clear: both !important;
    margin-top: 0 !important;
    padding-top: 90px !important;
    position: relative !important;
    z-index: 2 !important;
}

body .footer .footer-appointment-data {
    margin-top: 0 !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    z-index: 1 !important;
}

body .footer .footer-main {
    padding-top: 70px !important;
}

body .js-scroll {
    position: relative;
    z-index: 1;
}

@media (max-width: 575px) {
    body .footer {
        padding-top: 54px !important;
    }

    body .footer .footer-main {
        padding-top: 44px !important;
    }
}
