
/* ==========================================
   CABEÇALHO - GRAMEIRA ROCHA
========================================== */

.site-header {
    position: relative;
    width: 100%;
    z-index: 1000;
    background: #ffffff;
}

.header-main {
    padding: 18px 0;
    background: #ffffff;
}

.header-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.site-logo {
    display: inline-flex;
    align-items: center;
    max-width: 280px;
}

.site-logo img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 95px;
    object-fit: contain;
}

/* CONTATO WHATSAPP */

.header-right {
    display: flex;
    align-items: center;
    gap: 30px;
}

.header-whatsapp {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #245c36;
    text-decoration: none;
    transition: .3s ease;
}

.header-whatsapp > i {
    color: #319b52;
    font-size: 32px;
}

.header-whatsapp span {
    display: flex;
    flex-direction: column;
    line-height: 1.5;
}

.header-whatsapp small {
    color: #858585;
    font-size: 11px;
}

.header-whatsapp strong {
    color: #245c36;
    font-size: 14px;
    font-weight: 700;
}

.header-whatsapp:hover,
.header-whatsapp:hover strong {
    color: #80a83b;
}

/* REDES SOCIAIS */

.header-social {
    display: flex;
    align-items: center;
    gap: 9px;
}

.header-social a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 1px solid #e5eae3;
    border-radius: 50%;
    color: #245c36;
    font-size: 14px;
    text-decoration: none;
    transition: all .3s ease;
}

.header-social a:hover {
    background: #245c36;
    border-color: #245c36;
    color: #ffffff;
}

/* ==========================================
   MENU PRINCIPAL
========================================== */

.main-navigation {
    background: #194d30;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .08);
}

.navigation-content {
    display: flex;
    justify-content: center;
}

.navigation-list {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.navigation-list > li {
    position: relative;
}

.navigation-list > li > a {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 19px 22px;
    color: #ffffff;
    font-family: 'DM Sans', sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .3px;
    text-decoration: none;
    transition: all .3s ease;
}

.navigation-list > li > a:hover,
.navigation-list > li.active > a {
    color: #d2e6a7;
    background: rgba(255, 255, 255, .09);
}

.submenu-trigger > i {
    font-size: 9px;
    transition: transform .3s ease;
}

/* SUBMENU DESKTOP */

.submenu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1100;
    display: block;
    min-width: 275px;
    padding: 9px 0;
    margin: 0;
    list-style: none;
    background: #ffffff;
    border-top: 3px solid #85a94c;
    box-shadow: 0 10px 25px rgba(0, 0, 0, .14);
    border-radius: 0 0 5px 5px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: all .25s ease;
}

.submenu li a {
    display: block;
    padding: 12px 18px;
    color: #385640;
    font-family: 'DM Sans', sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.5;
    text-decoration: none;
    transition: all .2s ease;
}

.submenu li a:hover {
    color: #397447;
    background: #f0f5eb;
    padding-left: 23px;
}

/* ABERTURA AO PASSAR O MOUSE */

@media (min-width: 992px) {

    .has-submenu:hover > .submenu,
    .has-submenu:focus-within > .submenu {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    .has-submenu:hover > .submenu-trigger > i {
        transform: rotate(180deg);
    }

}

/* BOTÃO MOBILE */

.menu-toggle {
    display: none;
    align-items: center;
    gap: 10px;
    padding: 15px 0;
    border: none;
    background: transparent;
    color: #ffffff;
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
}

/* ==========================================
   RESPONSIVIDADE
========================================== */

@media (max-width: 991px) {

    .header-main {
        padding: 15px 0;
    }

    .site-logo img {
        max-height: 75px;
    }

    .main-navigation .container {
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }

    .menu-toggle {
        display: flex;
    }

    .navigation-content {
        display: none;
        width: 100%;
    }

    .navigation-content.menu-open {
        display: block;
    }

    .navigation-list {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding-bottom: 12px;
    }

    .navigation-list > li > a {
        justify-content: space-between;
        padding: 14px 10px;
        border-top: 1px solid rgba(255, 255, 255, .10);
    }

    /* SUBMENUS MOBILE */

    .submenu {
        position: static;
        display: none;
        min-width: 100%;
        padding: 5px 0 8px;
        background: rgba(0, 0, 0, .12);
        border: none;
        border-radius: 0;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        transform: none;
        transition: none;
    }

    .submenu li a {
        padding: 11px 25px;
        color: #ffffff;
        font-size: 12px;
    }

    .submenu li a:hover {
        padding-left: 30px;
        color: #d2e6a7;
        background: rgba(255, 255, 255, .08);
    }

    .has-submenu.submenu-open > .submenu {
        display: block;
    }

    .has-submenu.submenu-open > .submenu-trigger > i {
        transform: rotate(180deg);
    }
}

@media (max-width: 576px) {

    .header-content {
        gap: 12px;
    }

    .site-logo {
        max-width: 165px;
    }

    .site-logo img {
        max-height: 65px;
    }

    .header-right {
        gap: 10px;
    }

    .header-whatsapp {
        gap: 6px;
    }

    .header-whatsapp > i {
        font-size: 25px;
    }

    .header-whatsapp small {
        font-size: 9px;
    }

    .header-whatsapp strong {
        font-size: 11px;
    }

    .header-social {
        display: none;
    }
}


/* ==========================================
   SEÇÃO DE CONTATO
========================================== */

.contact-section {
    padding: 85px 0;
    background: #f7f9f5;
}

.section-heading {
    max-width: 720px;
    margin: 0 auto 48px;
    text-align: center;
}

.section-eyebrow {
    display: inline-block;
    margin-bottom: 13px;
    color: #739943;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2.5px;
}

.section-heading h2 {
    color: #214c32;
    font-family: 'Manrope', sans-serif;
    font-size: clamp(27px, 4vw, 38px);
    font-weight: 800;
    line-height: 1.25;
    margin-bottom: 16px;
}

.section-heading p {
    color: #707970;
    font-size: 15px;
    line-height: 1.8;
    margin: 0;
}

/* CARDS DE CONTATO */

.contact-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.contact-card {
    min-width: 0;
    padding: 35px 25px;
    background: #ffffff;
    border: 1px solid #e9eee7;
    border-radius: 10px;
    text-align: center;
    box-shadow: 0 8px 25px rgba(30, 65, 40, .04);
    transition: transform .3s ease, box-shadow .3s ease;
}

.contact-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 32px rgba(30, 65, 40, .09);
}

.contact-icon {
    width: 62px;
    height: 62px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    background: #edf4e7;
    border-radius: 50%;
    color: #397447;
    font-size: 25px;
}

.contact-card h3 {
    color: #244b32;
    font-family: 'Manrope', sans-serif;
    font-size: 17px;
    font-weight: 800;
    margin-bottom: 13px;
}

.contact-card p {
    min-height: 82px;
    color: #727a72;
    font-size: 13px;
    line-height: 1.8;
    margin-bottom: 15px;
}

.contact-card a {
    display: inline-block;
    margin-top: 5px;
    color: #4d803d;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    overflow-wrap: anywhere;
    transition: color .3s ease;
}

.contact-card a:hover {
    color: #9aaf45;
}

.contact-card a i {
    font-size: 10px;
    margin-left: 4px;
}

/* CHAMADA FINAL */

.contact-cta {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    min-height: 350px;
    margin-top: 65px;
    overflow: hidden;
    background: #194b30;
    border-radius: 12px;
}

.contact-cta-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 48px 55px;
}

.contact-cta-content > span {
    margin-bottom: 13px;
    color: #c5df91;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
}

.contact-cta-content h2 {
    color: #ffffff;
    font-family: 'Manrope', sans-serif;
    font-size: clamp(25px, 3vw, 34px);
    font-weight: 800;
    line-height: 1.25;
    margin-bottom: 15px;
}

.contact-cta-content p {
    max-width: 480px;
    color: rgba(255,255,255,.82);
    font-size: 14px;
    line-height: 1.8;
    margin-bottom: 24px;
}

.contact-cta-button {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 23px;
    background: #83a84a;
    border-radius: 5px;
    color: #ffffff;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition: background .3s ease;
}

.contact-cta-button:hover {
    background: #6c9138;
    color: #ffffff;
}

.contact-cta-button i {
    font-size: 18px;
}

/* IMAGEM */

.contact-cta-image {
    min-height: 350px;
    background-image: url('../images/gallery-53.jpg');
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

/* RESPONSIVIDADE */

@media (max-width: 991px) {

    .contact-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .contact-cta-content {
        padding: 35px;
    }
}

@media (max-width: 767px) {

    .contact-section {
        padding: 60px 0;
    }

    .section-heading {
        margin-bottom: 32px;
    }

    .contact-grid {
        gap: 15px;
    }

    .contact-card {
        padding: 27px 17px;
    }

    .contact-card p {
        min-height: 95px;
        font-size: 12px;
    }

    .contact-cta {
        grid-template-columns: 1fr;
        margin-top: 40px;
    }

    .contact-cta-content {
        padding: 35px 25px;
    }

    .contact-cta-image {
        min-height: 230px;
    }
}

@media (max-width: 480px) {

    .contact-grid {
        grid-template-columns: 1fr;
    }

    .contact-card p {
        min-height: auto;
    }
}


/* ==========================================
   FOOTER - GRAMEIRA ROCHA
========================================== */

.site-footer {
    background: #153d29;
    color: rgba(255, 255, 255, .78);
    padding: 70px 0 0;
    font-family: 'DM Sans', sans-serif;
}

.footer-main {
    display: grid;
    grid-template-columns: 1.35fr 1fr 1fr 1.15fr;
    gap: 42px;
    padding-bottom: 55px;
}

.footer-column {
    min-width: 0;
}

.footer-logo {
    display: inline-block;
    margin-bottom: 22px;
}

.footer-logo img {
    display: block;
    max-width: 190px;
    max-height: 85px;
    width: auto;
    object-fit: contain;
}

.footer-about p {
    color: rgba(255, 255, 255, .72);
    font-size: 13px;
    line-height: 1.9;
    margin: 0;
}

.footer-column h3 {
    position: relative;
    color: #ffffff;
    font-family: 'Manrope', sans-serif;
    font-size: 16px;
    font-weight: 800;
    margin: 8px 0 27px;
    padding-bottom: 13px;
}

.footer-column h3::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 35px;
    height: 2px;
    background: #a5c66b;
}

.footer-social {
    display: flex;
    gap: 10px;
    margin-top: 25px;
}

.footer-social a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 50%;
    color: #ffffff;
    font-size: 15px;
    text-decoration: none;
    transition: all .3s ease;
}

.footer-social a:hover {
    background: #86a94d;
    border-color: #86a94d;
    color: #ffffff;
    transform: translateY(-3px);
}

/* LINKS */

.footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links li {
    margin-bottom: 13px;
}

.footer-links a {
    color: rgba(255, 255, 255, .72);
    font-size: 12px;
    line-height: 1.7;
    text-decoration: none;
    transition: all .25s ease;
}

.footer-links a:hover {
    color: #c5df91;
    padding-left: 5px;
}

/* CONTATO */

.footer-location,
.footer-contact-link {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 17px;
    color: rgba(255, 255, 255, .75);
    font-size: 12px;
    line-height: 1.7;
    text-decoration: none;
}

.footer-location i,
.footer-contact-link i {
    width: 16px;
    margin-top: 3px;
    color: #a5c66b;
    font-size: 15px;
    text-align: center;
}

.footer-contact-link:hover {
    color: #c5df91;
}

.footer-contact-more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
    color: #c5df91;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

.footer-contact-more:hover {
    color: #ffffff;
}

/* RODAPÉ INFERIOR */

.footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    padding: 22px 0;
    border-top: 1px solid rgba(255, 255, 255, .13);
}

.footer-bottom p {
    margin: 0;
    color: rgba(255, 255, 255, .62);
    font-size: 11px;
    line-height: 1.7;
}

.footer-credit a {
    color: #c5df91;
    font-weight: 700;
    text-decoration: none;
}

.footer-credit a:hover {
    color: #ffffff;
}

/* RESPONSIVIDADE */

@media (max-width: 991px) {

    .footer-main {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 38px 30px;
    }

}

@media (max-width: 576px) {

    .site-footer {
        padding-top: 50px;
    }

    .footer-main {
        grid-template-columns: 1fr;
        gap: 32px;
        padding-bottom: 35px;
    }

    .footer-column h3 {
        margin-bottom: 20px;
    }

    .footer-logo img {
        max-width: 170px;
    }

    .footer-bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        padding: 20px 0;
    }

}



/* ==========================================
   HERO CARROSSEL - GRAMEIRA ROCHA
========================================== */

.home-hero {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #183e2b;
}

.hero-carousel {
    position: relative;
    width: 100%;
    min-height: 680px;
    height: min(760px, 85vh);
    overflow: hidden;
}

.hero-slide {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    visibility: hidden;
    opacity: 0;
    transition: opacity .9s ease, visibility .9s ease;
    z-index: 1;
}

.hero-slide.active {
    visibility: visible;
    opacity: 1;
    z-index: 2;
}

.hero-slide-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: scale(1);
    transition: transform 7s ease;
}

.hero-slide.active .hero-slide-image {
    transform: scale(1.06);
}

/* SOBREPOSIÇÃO */

.hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(
        90deg,
        rgba(12, 38, 24, .88) 0%,
        rgba(12, 38, 24, .72) 42%,
        rgba(12, 38, 24, .22) 100%
    );
}

/* CONTEÚDO */

.hero-container {
    position: relative;
    z-index: 3;
    width: 100%;
}

.hero-content {
    max-width: 650px;
    padding: 70px 0 100px;
    color: #ffffff;
}

.hero-eyebrow {
    display: inline-block;
    margin-bottom: 22px;
    color: #c7e29a;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 3px;
}

.hero-content h1,
.hero-content h2 {
    color: #ffffff;
    font-family: 'Manrope', sans-serif;
    font-size: clamp(38px, 5.2vw, 65px);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -1.5px;
    margin: 0 0 22px;
}

.hero-content h1 span,
.hero-content h2 span {
    display: block;
    color: #c5df91;
}

.hero-content p {
    max-width: 550px;
    margin-bottom: 30px;
    color: rgba(255, 255, 255, .88);
    font-size: 16px;
    line-height: 1.85;
}

/* BOTÕES */

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 13px;
}

.hero-button,
.hero-button-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    min-height: 51px;
    padding: 14px 23px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    transition: all .3s ease;
}

.hero-button {
    background: #86a94d;
    color: #ffffff;
}

.hero-button:hover {
    background: #6e9139;
    color: #ffffff;
    transform: translateY(-3px);
}

.hero-button-outline {
    border: 1px solid rgba(255, 255, 255, .65);
    background: rgba(255, 255, 255, .06);
    color: #ffffff;
}

.hero-button-outline:hover {
    background: #ffffff;
    color: #245c36;
    border-color: #ffffff;
}

.hero-button i,
.hero-button-outline i {
    font-size: 14px;
}

/* CONTROLES */

.hero-controls {
    position: absolute;
    z-index: 5;
    right: max(calc((100% - 1140px) / 2), 30px);
    bottom: 38px;
    display: flex;
    align-items: center;
    gap: 18px;
}

.hero-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 39px;
    height: 39px;
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 50%;
    background: transparent;
    color: #ffffff;
    cursor: pointer;
    transition: all .3s ease;
}

.hero-arrow:hover {
    background: #86a94d;
    border-color: #86a94d;
}

.hero-dots {
    display: flex;
    align-items: center;
    gap: 9px;
}

.hero-dot {
    width: 9px;
    height: 9px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .5);
    cursor: pointer;
    transition: all .3s ease;
}

.hero-dot.active {
    width: 26px;
    border-radius: 10px;
    background: #c5df91;
}

/* RESPONSIVIDADE */

@media (max-width: 991px) {

    .hero-carousel {
        min-height: 620px;
        height: 75vh;
    }

    .hero-content {
        max-width: 600px;
        padding: 60px 0 100px;
    }

    .hero-content h1,
    .hero-content h2 {
        font-size: clamp(38px, 6vw, 55px);
    }

    .hero-controls {
        right: 25px;
        bottom: 28px;
    }

}

@media (max-width: 576px) {

    .hero-carousel {
        min-height: 610px;
        height: 78vh;
    }

    .hero-slide-image {
        object-position: center;
    }

    .hero-overlay {
        background: linear-gradient(
            90deg,
            rgba(12, 38, 24, .84),
            rgba(12, 38, 24, .62)
        );
    }

    .hero-content {
        padding: 45px 0 105px;
    }

    .hero-eyebrow {
        margin-bottom: 17px;
        font-size: 9px;
        letter-spacing: 2px;
    }

    .hero-content h1,
    .hero-content h2 {
        font-size: clamp(34px, 9vw, 43px);
        letter-spacing: -.8px;
        margin-bottom: 18px;
    }

    .hero-content p {
        font-size: 13px;
        line-height: 1.75;
        margin-bottom: 24px;
    }

    .hero-actions {
        align-items: stretch;
        flex-direction: column;
        max-width: 270px;
        gap: 10px;
    }

    .hero-button,
    .hero-button-outline {
        width: 100%;
        min-height: 47px;
        padding: 12px 15px;
        font-size: 11px;
    }

    .hero-controls {
        right: auto;
        left: 50%;
        bottom: 25px;
        transform: translateX(-50%);
        gap: 14px;
    }

    .hero-arrow {
        width: 34px;
        height: 34px;
        font-size: 11px;
    }

}

/* ACESSIBILIDADE: REDUZIR ANIMAÇÕES */

@media (prefers-reduced-motion: reduce) {

    .hero-slide,
    .hero-slide-image,
    .hero-button,
    .hero-button-outline {
        transition: none;
    }

    .hero-slide.active .hero-slide-image {
        transform: none;
    }

}

/* ==========================================
   MISSÃO, VISÃO E VALORES - GRAMEIRA ROCHA
========================================== */

.gr-mvv-section {
    padding: 100px 0;
    background: #f7f9f5;
}

.gr-mvv-intro {
    padding-right: 35px;
}

.gr-section-eyebrow {
    display: inline-block;
    margin-bottom: 16px;
    color: #668b4e;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.gr-mvv-intro h2 {
    margin-bottom: 22px;
    color: #263d2c;
    font-family: 'Manrope', sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.3;
}

.gr-mvv-intro p {
    margin-bottom: 28px;
    color: #68736a;
    font-size: 15px;
    line-height: 1.9;
}

.gr-mvv-button {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 14px 20px;
    border-radius: 4px;
    background: #547d3e;
    color: #fff !important;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none !important;
    transition: all .3s ease;
}

.gr-mvv-button:hover {
    background: #365b2d;
    transform: translateY(-3px);
}

.gr-mvv-cards {
    row-gap: 25px;
}

.gr-mvv-card {
    position: relative;
    height: 100%;
    min-height: 355px;
    padding: 35px 25px;
    overflow: hidden;
    border: 1px solid #e8eee4;
    border-radius: 8px;
    background: #fff;
    transition: all .3s ease;
}

.gr-mvv-card:hover {
    border-color: #cbdcc1;
    box-shadow: 0 15px 35px rgba(40, 70, 35, 0.08);
    transform: translateY(-6px);
}

.gr-mvv-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 76px;
    height: 76px;
    margin-bottom: 24px;
    border-radius: 50%;
    background: #f0f5ec;
}

.gr-mvv-icon img {
    width: 48px;
    height: 48px;
    object-fit: contain;
}

.gr-mvv-number {
    display: block;
    margin-bottom: 7px;
    color: #91aa7f;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
}

.gr-mvv-card h3 {
    margin-bottom: 14px;
    color: #2e4933;
    font-family: 'Manrope', sans-serif;
    font-size: 21px;
    font-weight: 700;
}

.gr-mvv-card p {
    margin: 0;
    color: #6c766d;
    font-size: 13px;
    line-height: 1.85;
}

/* Responsividade */

@media (max-width: 991px) {
    .gr-mvv-section {
        padding: 75px 0;
    }

    .gr-mvv-intro {
        margin-bottom: 40px;
        padding-right: 15px;
    }

    .gr-mvv-intro h2 {
        max-width: 550px;
        font-size: 28px;
    }

    .gr-mvv-card {
        min-height: 340px;
    }
}

@media (max-width: 767px) {
    .gr-mvv-section {
        padding: 60px 0;
    }

    .gr-mvv-intro {
        margin-bottom: 35px;
    }

    .gr-mvv-intro h2 {
        font-size: 25px;
    }

    .gr-mvv-cards {
        row-gap: 18px;
    }

    .gr-mvv-card {
        min-height: auto;
        padding: 30px 25px;
    }

    .gr-mvv-card p {
        font-size: 14px;
    }
}

/* ==========================================
   APRESENTAÇÃO DA EMPRESA - GRAMEIRA ROCHA
========================================== */

.gr-about-section {
    padding: 100px 0;
    background: #f7f9f5;
}

.gr-about-image {
    position: relative;
    min-height: 570px;
    margin-right: 25px;
    border-radius: 8px;
    overflow: hidden;
}

.gr-about-image > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gr-about-image-caption {
    position: absolute;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    gap: 15px;
    max-width: 300px;
    padding: 22px 28px;
    background: #547d3e;
    color: #fff;
    border-radius: 8px 0 0 0;
}

.gr-about-caption-number {
    font-family: 'Manrope', sans-serif;
    font-size: 43px;
    font-weight: 800;
    line-height: 1;
}

.gr-about-image-caption span:last-child {
    font-size: 12px;
    line-height: 1.5;
}

.gr-about-content {
    padding: 20px 0 20px 30px;
}

.gr-about-content h2 {
    margin-bottom: 22px;
    color: #263d2c;
    font-family: 'Manrope', sans-serif;
    font-size: 34px;
    font-weight: 800;
    line-height: 1.3;
}

.gr-about-content h2 span {
    display: block;
    color: #668b4e;
}

.gr-about-content p {
    color: #68736a;
    font-size: 14px;
    line-height: 1.85;
}

.gr-about-content .gr-about-lead {
    color: #405b43;
    font-size: 16px;
    font-weight: 600;
}

.gr-about-links {
    margin-top: 28px;
    border-top: 1px solid #e1e9dc;
}

.gr-about-links-title {
    display: block;
    padding: 18px 0 10px;
    color: #304a34;
    font-size: 13px;
    font-weight: 700;
}

.gr-about-links a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 11px 0;
    border-bottom: 1px solid #e8eee4;
    color: #536456;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    transition: all .3s ease;
}

.gr-about-links a i {
    color: #72945c;
    font-size: 13px;
    transition: transform .3s ease;
}

.gr-about-links a:hover {
    padding-left: 7px;
    color: #547d3e;
}

.gr-about-links a:hover i {
    transform: translateX(5px);
}

.gr-about-button {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: 25px;
    padding: 14px 22px;
    border-radius: 4px;
    background: #547d3e;
    color: #fff !important;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none !important;
    transition: all .3s ease;
}

.gr-about-button:hover {
    background: #365b2d;
    transform: translateY(-3px);
}

/* Responsividade */

@media (max-width: 991px) {
    .gr-about-section {
        padding: 75px 0;
    }

    .gr-about-image {
        min-height: 480px;
        margin-right: 0;
        margin-bottom: 45px;
    }

    .gr-about-content {
        padding: 0;
    }

    .gr-about-content h2 {
        font-size: 30px;
    }
}

@media (max-width: 575px) {
    .gr-about-section {
        padding: 55px 0;
    }

    .gr-about-image {
        min-height: 370px;
        margin-bottom: 35px;
    }

    .gr-about-image-caption {
        padding: 17px 20px;
    }

    .gr-about-caption-number {
        font-size: 35px;
    }

    .gr-about-content h2 {
        font-size: 27px;
    }

    .gr-about-content .gr-about-lead {
        font-size: 15px;
    }
}

/* ==========================================
   APRESENTAÇÃO - GRAMEIRA ROCHA
========================================== */

.gr-about-section {
    position: relative;
    padding: 110px 0;
    background: #fff;
    overflow: hidden;
}

.gr-about-visual {
    position: relative;
    padding: 0 35px 45px 0;
}

.gr-about-photo {
    position: relative;
    height: 570px;
    overflow: hidden;
    border-radius: 5px 100px 5px 5px;
    z-index: 2;
}

.gr-about-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .8s ease;
}

.gr-about-photo:hover img {
    transform: scale(1.04);
}

.gr-about-decoration {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 75%;
    height: 75%;
    border: 2px solid #dce8d4;
    border-radius: 5px;
    z-index: 1;
}

.gr-about-experience {
    position: absolute;
    right: 0;
    bottom: 75px;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 22px 25px;
    background: #547d3e;
    color: #fff;
    box-shadow: 0 12px 35px rgba(34, 65, 31, .18);
}

.gr-experience-number {
    font-family: 'Manrope', sans-serif;
    font-size: 48px;
    font-weight: 800;
    line-height: 1;
}

.gr-experience-number span {
    font-size: 25px;
}

.gr-experience-text {
    font-size: 11px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: .3px;
}

.gr-about-content {
    padding-left: 35px;
}

.gr-about-content .gr-section-eyebrow {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    color: #668b4e;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
}

.gr-eyebrow-line {
    width: 30px;
    height: 2px;
    background: #83a66c;
}

.gr-about-content h2 {
    margin-bottom: 23px;
    color: #263d2c;
    font-family: 'Manrope', sans-serif;
    font-size: 35px;
    font-weight: 800;
    line-height: 1.28;
}

.gr-about-content h2 span {
    display: block;
    color: #668b4e;
}

.gr-about-content p {
    color: #6d786e;
    font-size: 13px;
    line-height: 1.9;
}

.gr-about-content .gr-about-lead {
    margin-bottom: 12px;
    color: #405b43;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.8;
}

.gr-about-description {
    margin-bottom: 25px;
}

/* Serviços */

.gr-about-services {
    margin-top: 25px;
}

.gr-about-services-heading {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 15px;
    color: #405b43;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.8px;
}

.gr-services-line {
    flex: 1;
    height: 1px;
    background: #e5ebe1;
}

.gr-about-services-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
}

.gr-about-service-item {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 62px;
    padding: 10px 12px;
    border: 1px solid #edf1e9;
    border-radius: 4px;
    background: #fafcf9;
    color: #405344;
    text-decoration: none !important;
    transition: all .3s ease;
}

.gr-about-service-item:hover {
    border-color: #cbdcc1;
    background: #f1f6ed;
    color: #547d3e;
    transform: translateY(-2px);
}

.gr-service-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #eaf1e4;
    color: #668b4e;
    font-size: 14px;
}

.gr-service-name {
    flex: 1;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.5;
}

.gr-service-arrow {
    color: #91a487;
    font-size: 11px;
}

.gr-about-service-wide {
    grid-column: 1 / -1;
}

/* Botão */

.gr-about-button {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin-top: 25px;
    padding: 15px 23px;
    background: #547d3e;
    color: #fff !important;
    border-radius: 3px;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none !important;
    transition: all .3s ease;
}

.gr-about-button:hover {
    background: #365b2d;
    color: #fff;
    transform: translateY(-3px);
}

.gr-about-button i {
    transition: transform .3s ease;
}

.gr-about-button:hover i {
    transform: translateX(5px);
}

/* Responsividade */

@media (max-width: 1199px) {
    .gr-about-content {
        padding-left: 15px;
    }

    .gr-about-content h2 {
        font-size: 31px;
    }

    .gr-about-photo {
        height: 530px;
    }
}

@media (max-width: 991px) {
    .gr-about-section {
        padding: 80px 0;
    }

    .gr-about-visual {
        max-width: 650px;
        margin: 0 auto 55px;
    }

    .gr-about-photo {
        height: 500px;
    }

    .gr-about-content {
        padding-left: 0;
    }

    .gr-about-content h2 {
        max-width: 600px;
        font-size: 33px;
    }
}

@media (max-width: 575px) {
    .gr-about-section {
        padding: 60px 0;
    }

    .gr-about-visual {
        padding: 0 20px 30px 0;
        margin-bottom: 40px;
    }

    .gr-about-photo {
        height: 380px;
        border-radius: 5px 65px 5px 5px;
    }

    .gr-about-experience {
        bottom: 50px;
        padding: 15px 18px;
    }

    .gr-experience-number {
        font-size: 38px;
    }

    .gr-about-content h2 {
        font-size: 27px;
    }

    .gr-about-services-grid {
        grid-template-columns: 1fr;
    }

    .gr-about-service-wide {
        grid-column: auto;
    }

    .gr-about-service-item {
        min-height: 58px;
    }
}

/* ==========================================
   VITRINE DE PRODUTOS - GRAMEIRA ROCHA
========================================== */

.gr-products-section {
    padding: 100px 0;
    background: #f7f9f5;
}

.gr-products-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 42px;
}

.gr-products-heading h2 {
    max-width: 650px;
    margin: 12px 0;
    color: #263d2c;
    font-family: 'Manrope', sans-serif;
    font-size: 34px;
    font-weight: 800;
    line-height: 1.3;
}

.gr-products-heading p {
    max-width: 570px;
    margin: 0;
    color: #6d786e;
    font-size: 14px;
    line-height: 1.8;
}

.gr-products-all {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
    padding-bottom: 8px;
    color: #547d3e;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
}

.gr-products-all:hover {
    color: #365b2d;
}

.gr-products-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 22px;
}

.gr-product-card {
    overflow: hidden;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 5px 20px rgba(36, 61, 39, .045);
    transition: transform .3s ease, box-shadow .3s ease;
}

.gr-product-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 14px 30px rgba(36, 61, 39, .10);
}

.gr-product-image {
    position: relative;
    display: block;
    height: 190px;
    overflow: hidden;
    background: #e9eee5;
}

.gr-product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}

.gr-product-card:hover .gr-product-image img {
    transform: scale(1.06);
}

.gr-product-category {
    position: absolute;
    left: 12px;
    bottom: 12px;
    padding: 6px 10px;
    border-radius: 3px;
    background: rgba(38, 61, 44, .88);
    color: #fff;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .7px;
    text-transform: uppercase;
}

.gr-product-info {
    padding: 17px 16px 18px;
}

.gr-product-info h3 {
    min-height: 42px;
    margin-bottom: 13px;
    color: #304634;
    font-family: 'Manrope', sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
}

.gr-product-info a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #668b4e;
    font-size: 10px;
    font-weight: 700;
    text-decoration: none !important;
    text-transform: uppercase;
    letter-spacing: .4px;
}

.gr-product-info a:hover {
    color: #365b2d;
}

.gr-products-bottom {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin-top: 38px;
    padding-top: 28px;
    border-top: 1px solid #e3eade;
}

.gr-products-bottom p {
    margin: 0;
    color: #536456;
    font-size: 14px;
    font-weight: 600;
}

.gr-products-bottom a {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #547d3e;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

.gr-products-bottom a:hover {
    color: #365b2d;
}

/* ==========================================
   ATENDIMENTO REGIONAL
========================================== */

.gr-region-section {
    padding: 65px 0;
    background: #fff;
}

.gr-region-content {
    position: relative;
    display: flex;
    align-items: center;
    gap: 30px;
    padding: 42px 50px;
    overflow: hidden;
    border-radius: 7px;
    background: #edf3e8;
}

.gr-region-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 65px;
    height: 65px;
    border-radius: 50%;
    background: #547d3e;
    color: #fff;
    font-size: 25px;
}

.gr-region-text {
    position: relative;
    z-index: 2;
    max-width: 700px;
}

.gr-region-text > span {
    color: #668b4e;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
}

.gr-region-text h2 {
    margin: 8px 0 10px;
    color: #263d2c;
    font-family: 'Manrope', sans-serif;
    font-size: 25px;
    font-weight: 800;
}

.gr-region-text p {
    margin-bottom: 15px;
    color: #68766a;
    font-size: 13px;
    line-height: 1.8;
}

.gr-region-cities {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
}

.gr-region-cities span {
    color: #405b43;
    font-size: 12px;
    font-weight: 700;
}

.gr-region-cities i {
    margin-right: 5px;
    color: #668b4e;
}

.gr-region-decoration {
    position: absolute;
    right: 35px;
    bottom: -45px;
    color: rgba(84, 125, 62, .09);
    font-size: 190px;
    transform: rotate(-20deg);
}

/* ==========================================
   CHAMADA FINAL - CONTATO
========================================== */

.gr-final-cta {
    position: relative;
    padding: 75px 0;
    overflow: hidden;
    background: #263d2c;
}

.gr-final-cta::before {
    position: absolute;
    top: -140px;
    right: -80px;
    width: 400px;
    height: 400px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 50%;
    content: "";
}

.gr-final-cta::after {
    position: absolute;
    top: -95px;
    right: -35px;
    width: 310px;
    height: 310px;
    border: 1px solid rgba(255, 255, 255, .07);
    border-radius: 50%;
    content: "";
}

.gr-final-cta-content {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 45px;
}

.gr-final-cta-text {
    max-width: 620px;
}

.gr-final-cta-text > span {
    color: #b4d09f;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
}

.gr-final-cta-text h2 {
    margin: 13px 0;
    color: #fff;
    font-family: 'Manrope', sans-serif;
    font-size: 35px;
    font-weight: 800;
    line-height: 1.3;
}

.gr-final-cta-text p {
    max-width: 520px;
    margin: 0;
    color: rgba(255, 255, 255, .72);
    font-size: 14px;
    line-height: 1.8;
}

.gr-final-cta-action {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex-shrink: 0;
}

.gr-final-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    margin-bottom: 17px;
    padding: 16px 23px;
    border-radius: 4px;
    background: #83a96a;
    color: #fff !important;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
    transition: all .3s ease;
}

.gr-final-cta-button:hover {
    background: #6c9254;
    transform: translateY(-3px);
}

.gr-final-cta-button i {
    font-size: 18px;
}

.gr-final-cta-action > span {
    margin-bottom: 4px;
    color: rgba(255, 255, 255, .65);
    font-size: 11px;
}

.gr-final-cta-action strong {
    color: #fff;
    font-size: 19px;
    font-weight: 700;
}

.gr-final-cta-action small {
    margin-top: 5px;
    color: rgba(255, 255, 255, .62);
    font-size: 11px;
}

/* ==========================================
   RESPONSIVIDADE
========================================== */

@media (max-width: 1199px) {
    .gr-products-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 991px) {
    .gr-products-section {
        padding: 75px 0;
    }

    .gr-products-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .gr-region-content {
        padding: 35px;
    }

    .gr-final-cta-content {
        align-items: flex-start;
        flex-direction: column;
        gap: 30px;
    }
}

@media (max-width: 767px) {
    .gr-products-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 20px;
    }

    .gr-products-heading h2 {
        font-size: 28px;
    }

    .gr-products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }

    .gr-product-image {
        height: 165px;
    }

    .gr-product-info {
        padding: 14px 12px;
    }

    .gr-product-info h3 {
        font-size: 12px;
    }

    .gr-products-bottom {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
    }

    .gr-region-content {
        align-items: flex-start;
        flex-direction: column;
        gap: 20px;
        padding: 30px 25px;
    }

    .gr-region-text h2 {
        font-size: 22px;
    }

    .gr-region-cities {
        flex-direction: column;
        gap: 9px;
    }

    .gr-region-decoration {
        right: -15px;
        font-size: 130px;
    }

    .gr-final-cta {
        padding: 60px 0;
    }

    .gr-final-cta-text h2 {
        font-size: 28px;
    }
}

@media (max-width: 380px) {
    .gr-products-grid {
        grid-template-columns: 1fr;
    }

    .gr-product-image {
        height: 210px;
    }
}

/* =========================================
   PÁGINA A EMPRESA - HERO
========================================= */

.gr-inner-hero {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 390px;
    padding: 90px 0;
    background-size: cover;
    background-position: center;
    overflow: hidden;
}

.gr-company-hero {
    background-image: url("../images/bg_2.jpg");
}

.gr-inner-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(13, 39, 25, 0.88) 0%,
        rgba(13, 39, 25, 0.65) 55%,
        rgba(13, 39, 25, 0.35) 100%
    );
}

.gr-inner-hero .container {
    position: relative;
    z-index: 2;
}

.gr-inner-hero-content {
    max-width: 760px;
    color: #fff;
}

.gr-inner-eyebrow,
.gr-section-eyebrow {
    display: inline-block;
    margin-bottom: 16px;
    color: #6ba878;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.gr-inner-eyebrow {
    color: #c4e3c5;
}

.gr-inner-hero-content h1 {
    margin-bottom: 16px;
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(36px, 5vw, 56px);
    font-weight: 700;
    line-height: 1.15;
}

.gr-inner-hero-content > p {
    max-width: 620px;
    margin-bottom: 28px;
    color: rgba(255,255,255,0.88);
    font-size: 17px;
    line-height: 1.7;
}

.gr-breadcrumb {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #fff;
    font-size: 13px;
}

.gr-breadcrumb a {
    color: #d5ead5;
    text-decoration: none;
}

.gr-breadcrumb a:hover {
    color: #fff;
}

.gr-breadcrumb i {
    font-size: 10px;
    color: #a9cda9;
}


/* =========================================
   NOSSA HISTÓRIA
========================================= */

.gr-company-story {
    padding: 105px 0;
    background: #fff;
}

.gr-company-story-grid {
    display: grid;
    grid-template-columns: 0.95fr 1.05fr;
    align-items: center;
    gap: 85px;
}

.gr-company-image {
    position: relative;
    min-height: 520px;
}

.gr-company-image::before {
    content: "";
    position: absolute;
    top: -18px;
    left: -18px;
    width: 45%;
    height: 45%;
    border-top: 3px solid #6ba878;
    border-left: 3px solid #6ba878;
    z-index: 0;
}

.gr-company-image::after {
    content: "";
    position: absolute;
    right: -18px;
    bottom: -18px;
    width: 45%;
    height: 45%;
    border-right: 3px solid #d8e8d7;
    border-bottom: 3px solid #d8e8d7;
    z-index: 0;
}

.gr-company-image > img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 520px;
    object-fit: cover;
    border-radius: 5px;
}

.gr-company-experience {
    position: absolute;
    right: -30px;
    bottom: 35px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 145px;
    height: 145px;
    padding: 15px;
    border-radius: 50%;
    background: #28633b;
    color: #fff;
    text-align: center;
    box-shadow: 0 12px 30px rgba(0,0,0,0.16);
}

.gr-company-experience strong {
    font-family: 'Poppins', sans-serif;
    font-size: 43px;
    line-height: 1;
}

.gr-company-experience span {
    margin-top: 7px;
    font-size: 11px;
    line-height: 1.3;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.gr-company-content h2 {
    margin-bottom: 24px;
    color: #203d2b;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(28px, 3vw, 38px);
    font-weight: 600;
    line-height: 1.3;
}

.gr-company-content p {
    margin-bottom: 17px;
    color: #68736b;
    font-size: 15px;
    line-height: 1.85;
}

.gr-company-content .gr-company-lead {
    color: #344c3a;
    font-size: 17px;
    font-weight: 500;
}

.gr-company-button {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: 15px;
    padding: 15px 24px;
    border-radius: 4px;
    background: #28633b;
    color: #fff !important;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
    transition: all 0.3s ease;
}

.gr-company-button:hover {
    background: #1d4c2c;
    transform: translateY(-3px);
}

.gr-company-button i {
    font-size: 18px;
}


/* =========================================
   MISSÃO, VISÃO E VALORES
========================================= */

.gr-company-values {
    padding: 100px 0;
    background: #f4f7f2;
}

.gr-company-values-heading {
    max-width: 700px;
    margin: 0 auto 55px;
    text-align: center;
}

.gr-company-values-heading h2 {
    margin-bottom: 16px;
    color: #203d2b;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(27px, 3vw, 37px);
    font-weight: 600;
    line-height: 1.3;
}

.gr-company-values-heading p {
    color: #6c786e;
    font-size: 15px;
    line-height: 1.8;
}

.gr-company-values-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.gr-company-value-card {
    position: relative;
    min-height: 340px;
    padding: 38px 30px;
    overflow: hidden;
    border: 1px solid #e6ece3;
    border-radius: 6px;
    background: #fff;
    transition: all 0.3s ease;
}

.gr-company-value-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 15px 35px rgba(31, 69, 42, 0.09);
}

.gr-company-value-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 76px;
    height: 76px;
    margin-bottom: 25px;
    border-radius: 50%;
    background: #edf4e9;
}

.gr-company-value-icon img {
    width: 48px;
    height: 48px;
    object-fit: contain;
}

.gr-company-value-number {
    position: absolute;
    top: 25px;
    right: 25px;
    color: #e9efe6;
    font-family: 'Poppins', sans-serif;
    font-size: 38px;
    font-weight: 700;
}

.gr-company-value-card h3 {
    margin-bottom: 15px;
    color: #28633b;
    font-family: 'Poppins', sans-serif;
    font-size: 22px;
    font-weight: 600;
}

.gr-company-value-card p {
    margin: 0;
    color: #6c786e;
    font-size: 14px;
    line-height: 1.8;
}


/* =========================================
   CTA FINAL
========================================= */

.gr-company-cta {
    position: relative;
    padding: 65px 0;
    overflow: hidden;
    background: #244f32;
}

.gr-company-cta::after {
    content: "";
    position: absolute;
    top: -100px;
    right: -70px;
    width: 350px;
    height: 350px;
    border: 1px solid rgba(255,255,255,0.10);
    border-radius: 50%;
    box-shadow:
        0 0 0 35px rgba(255,255,255,0.025),
        0 0 0 70px rgba(255,255,255,0.025);
}

.gr-company-cta-content {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.gr-company-cta-eyebrow {
    display: block;
    margin-bottom: 12px;
    color: #b9d8b8;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}

.gr-company-cta-content h2 {
    margin-bottom: 12px;
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(26px, 3vw, 36px);
    font-weight: 600;
}

.gr-company-cta-content p {
    max-width: 650px;
    margin: 0;
    color: rgba(255,255,255,0.78);
    font-size: 15px;
    line-height: 1.7;
}

.gr-company-cta-button {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 17px 27px;
    border-radius: 4px;
    background: #fff;
    color: #28633b !important;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none !important;
    transition: all 0.3s ease;
}

.gr-company-cta-button:hover {
    background: #e5f0e2;
    transform: translateY(-3px);
}

.gr-company-cta-button i {
    font-size: 19px;
}


/* =========================================
   RESPONSIVIDADE
========================================= */

@media (max-width: 991px) {

    .gr-company-story-grid {
        grid-template-columns: 1fr 1fr;
        gap: 45px;
    }

    .gr-company-image {
        min-height: 450px;
    }

    .gr-company-image > img {
        height: 450px;
    }

    .gr-company-experience {
        right: -15px;
        width: 120px;
        height: 120px;
    }

    .gr-company-experience strong {
        font-size: 36px;
    }

    .gr-company-value-card {
        padding: 30px 22px;
    }

}

@media (max-width: 767px) {

    .gr-inner-hero {
        min-height: 330px;
        padding: 75px 0;
        background-position: center;
    }

    .gr-inner-hero-content h1 {
        font-size: 35px;
    }

    .gr-inner-hero-content > p {
        font-size: 15px;
    }

    .gr-company-story {
        padding: 75px 0;
    }

    .gr-company-story-grid {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .gr-company-image {
        min-height: 380px;
        margin-right: 12px;
    }

    .gr-company-image > img {
        height: 380px;
    }

    .gr-company-experience {
        right: -12px;
        bottom: 20px;
        width: 110px;
        height: 110px;
    }

    .gr-company-experience strong {
        font-size: 32px;
    }

    .gr-company-content h2 {
        font-size: 29px;
    }

    .gr-company-values {
        padding: 75px 0;
    }

    .gr-company-values-heading {
        margin-bottom: 35px;
    }

    .gr-company-values-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .gr-company-value-card {
        min-height: auto;
        padding: 30px;
    }

    .gr-company-cta {
        padding: 55px 0;
    }

    .gr-company-cta-content {
        flex-direction: column;
        align-items: flex-start;
        gap: 25px;
    }

}

@media (max-width: 480px) {

    .gr-inner-hero-content h1 {
        font-size: 30px;
    }

    .gr-company-image {
        min-height: 310px;
    }

    .gr-company-image > img {
        height: 310px;
    }

    .gr-company-content h2 {
        font-size: 26px;
    }

    .gr-company-cta-button {
        width: 100%;
    }

}

/* =========================================
   CABEÇALHO GLOBAL - GRAMEIRA ROCHA
   UTILIZADO EM TODAS AS PÁGINAS
========================================= */

.gr-header {
    position: relative;
    z-index: 1000;
    width: 100%;
    background: #fff;
}

.gr-header-top {
    width: 100%;
    background: #fff;
}

.gr-header-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 125px;
    gap: 30px;
}

.gr-logo {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
}

.gr-logo img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 110px;
    object-fit: contain;
}

.gr-header-social {
    display: flex;
    align-items: center;
    gap: 12px;
}

.gr-header-social a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #f0f5ef;
    color: #28633b;
    font-size: 16px;
    text-decoration: none;
    transition: all .3s ease;
}

.gr-header-social a:hover {
    background: #28633b;
    color: #fff;
    transform: translateY(-3px);
}


/* MENU PRINCIPAL */

.gr-navbar {
    position: relative;
    width: 100%;
    background: #244f32;
}

.gr-navbar > .container {
    display: flex;
    align-items: center;
    justify-content: center;
}

.gr-menu-content {
    width: 100%;
}

.gr-menu-list {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.gr-menu-list > li {
    position: relative;
    margin: 0;
    padding: 0;
    list-style: none;
}

.gr-menu-list > li > a {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 62px;
    padding: 0 20px;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: all .3s ease;
}

.gr-menu-list > li > a:hover,
.gr-menu-list > li.active > a {
    background: rgba(255,255,255,.12);
    color: #d7edcf;
}

.gr-menu-list > li > a i {
    font-size: 11px;
}


/* SUBMENU */

.gr-submenu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1001;
    display: block;
    min-width: 260px;
    margin: 0;
    padding: 10px 0;
    background: #fff;
    border-top: 3px solid #6ba878;
    box-shadow: 0 10px 25px rgba(0,0,0,.13);
    list-style: none;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all .25s ease;
}

.gr-submenu li {
    display: block;
    margin: 0;
    padding: 0;
    list-style: none;
}

.gr-submenu li a {
    display: block;
    padding: 11px 18px;
    color: #405346;
    font-size: 13px;
    line-height: 1.5;
    text-decoration: none;
    transition: all .2s ease;
}

.gr-submenu li a:hover {
    background: #f0f5ef;
    color: #28633b;
    padding-left: 23px;
}

.gr-menu-dropdown:hover > .gr-submenu,
.gr-menu-dropdown:focus-within > .gr-submenu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}


/* BOTÃO MENU MOBILE */

.gr-menu-toggle {
    display: none;
    align-items: center;
    gap: 9px;
    padding: 12px 16px;
    border: 0;
    background: transparent;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
}


/* RESPONSIVIDADE */

@media (max-width: 991px) {

    .gr-header-content {
        min-height: 100px;
    }

    .gr-logo img {
        max-height: 85px;
    }

    .gr-navbar > .container {
        display: block;
    }

    .gr-menu-toggle {
        display: flex;
        min-height: 55px;
    }

    .gr-menu-content {
        display: none;
        padding: 5px 0 15px;
    }

    .gr-menu-content.active {
        display: block;
    }

    .gr-menu-list {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
    }

    .gr-menu-list > li > a {
        min-height: 45px;
        padding: 10px 15px;
    }

    .gr-submenu {
        position: static;
        display: none;
        min-width: 100%;
        padding: 0;
        border-top: 0;
        background: rgba(0,0,0,.12);
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        transform: none;
    }

    .gr-menu-dropdown:hover > .gr-submenu {
        opacity: 1;
        visibility: visible;
        transform: none;
    }

    .gr-menu-dropdown.open > .gr-submenu {
        display: block;
    }

    .gr-submenu li a {
        padding: 10px 30px;
        color: #fff;
    }

    .gr-submenu li a:hover {
        padding-left: 35px;
        background: rgba(255,255,255,.10);
        color: #fff;
    }

}

@media (max-width: 575px) {

    .gr-header-content {
        min-height: 85px;
        gap: 12px;
    }

    .gr-logo img {
        max-height: 70px;
    }

    .gr-header-social {
        gap: 6px;
    }

    .gr-header-social a {
        width: 32px;
        height: 32px;
        font-size: 14px;
    }

}


/* =========================================
   A EMPRESA - SERVIÇOS
========================================= */

.gr-company-services {
    padding: 95px 0;
    background: #fff;
}

.gr-company-services-heading {
    max-width: 720px;
    margin: 0 auto 45px;
    text-align: center;
}

.gr-company-services-heading h2 {
    margin-bottom: 16px;
    color: #203d2b;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(27px, 3vw, 37px);
    font-weight: 600;
    line-height: 1.3;
}

.gr-company-services-heading p {
    color: #6c786e;
    font-size: 15px;
    line-height: 1.8;
}

.gr-company-services-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.gr-company-service-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-height: 285px;
    padding: 30px 24px;
    border: 1px solid #e8eee6;
    border-radius: 6px;
    background: #fff;
    text-decoration: none !important;
    transition: all .3s ease;
}

.gr-company-service-item:hover {
    transform: translateY(-6px);
    border-color: #c7dbc5;
    box-shadow: 0 14px 35px rgba(31, 69, 42, .08);
}

.gr-company-service-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    margin-bottom: 22px;
    border-radius: 50%;
    background: #edf4e9;
    color: #28633b;
    font-size: 23px;
}

.gr-company-service-item h3 {
    margin-bottom: 12px;
    color: #203d2b;
    font-family: 'Poppins', sans-serif;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.45;
}

.gr-company-service-item p {
    margin-bottom: 20px;
    color: #6c786e;
    font-size: 13px;
    line-height: 1.7;
}

.gr-company-service-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-top: auto;
    color: #28633b;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
}

.gr-company-service-link i {
    transition: transform .3s ease;
}

.gr-company-service-item:hover .gr-company-service-link i {
    transform: translateX(5px);
}


/* RESPONSIVIDADE */

@media (max-width: 991px) {
    .gr-company-services-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575px) {
    .gr-company-services {
        padding: 70px 0;
    }

    .gr-company-services-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .gr-company-service-item {
        min-height: 240px;
        padding: 27px 23px;
    }
}


/* ==========================================================
   GRAMEIRA ROCHA - PÁGINA DE SERVIÇOS
   Identidade visual contemporânea e responsiva
========================================================== */

:root {
    --gr-green-dark: #183d2b;
    --gr-green: #28623f;
    --gr-green-light: #eaf0e8;
    --gr-green-soft: #f4f6f1;
    --gr-cream: #f7f5ef;
    --gr-text: #303a32;
    --gr-muted: #737d73;
    --gr-white: #ffffff;
}


/* ==========================================================
   ELEMENTOS GERAIS
========================================================== */

.gr-services-page {
    overflow: hidden;
    color: var(--gr-text);
    background: var(--gr-white);
    font-family: 'Lato', sans-serif;
}

.gr-services-page *,
.gr-services-page *::before,
.gr-services-page *::after {
    box-sizing: border-box;
}

.gr-services-page img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gr-services-page a {
    text-decoration: none;
}

.gr-services-page .container {
    width: min(1200px, calc(100% - 48px));
    margin: 0 auto;
}

.gr-section-kicker {
    display: inline-block;
    margin-bottom: 18px;
    color: var(--gr-green);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2.2px;
    line-height: 1.5;
    text-transform: uppercase;
}

.gr-services-page h2,
.gr-services-page h3 {
    font-family: 'Poppins', sans-serif;
}


/* ==========================================================
   BOTÕES E LINKS
========================================================== */

.gr-button-primary,
.gr-button-light {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
    min-height: 56px;
    padding: 0 27px;
    border-radius: 3px;
    font-size: 14px;
    font-weight: 700;
    transition: background .3s ease, color .3s ease, transform .3s ease;
}

.gr-button-primary {
    color: var(--gr-white);
    background: var(--gr-green);
}

.gr-button-primary:hover {
    color: var(--gr-white);
    background: #1b4a30;
    transform: translateY(-3px);
}

.gr-button-light {
    color: var(--gr-green-dark);
    background: var(--gr-white);
}

.gr-button-light:hover {
    color: var(--gr-white);
    background: var(--gr-green-dark);
    transform: translateY(-3px);
}

.gr-button-text,
.gr-inline-link,
.gr-service-link {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    font-size: 14px;
    font-weight: 700;
    transition: gap .3s ease, color .3s ease;
}

.gr-button-text:hover,
.gr-inline-link:hover,
.gr-service-link:hover {
    gap: 17px;
}


/* ==========================================================
   HERO
========================================================== */

.gr-services-hero {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 610px;
    padding: 100px 0 75px;
    background:
        linear-gradient(
            90deg,
            rgba(13, 37, 25, .94) 0%,
            rgba(13, 37, 25, .78) 45%,
            rgba(13, 37, 25, .16) 100%
        ),
        url('../images/bg_2.jpg') center 55% / cover no-repeat;
}

.gr-services-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        0deg,
        rgba(10, 30, 20, .28),
        transparent 45%
    );
}

.gr-services-hero .container {
    position: relative;
    z-index: 2;
}

.gr-services-hero-content {
    max-width: 690px;
    color: var(--gr-white);
}

.gr-services-hero .gr-eyebrow {
    display: block;
    margin-bottom: 25px;
    color: #c5d9bc;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2.5px;
    text-transform: uppercase;
}

.gr-services-hero h1 {
    max-width: 680px;
    margin: 0 0 25px;
    color: var(--gr-white);
    font-family: 'Poppins', sans-serif;
    font-size: clamp(36px, 5vw, 62px);
    font-weight: 600;
    line-height: 1.14;
    letter-spacing: -1.8px;
}

.gr-services-hero-content > p {
    max-width: 540px;
    margin-bottom: 32px;
    color: rgba(255,255,255,.85);
    font-size: 17px;
    line-height: 1.8;
}

.gr-services-hero-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 28px;
}

.gr-services-hero .gr-button-text {
    color: var(--gr-white);
}

.gr-breadcrumb {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 65px;
    color: rgba(255,255,255,.72);
    font-size: 12px;
}

.gr-breadcrumb a {
    color: var(--gr-white);
}

.gr-breadcrumb a:hover {
    color: #c5d9bc;
}


/* ==========================================================
   INTRODUÇÃO
========================================================== */

.gr-services-intro {
    padding: 115px 0;
    background: var(--gr-white);
}

.gr-services-intro-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 90px;
}

.gr-services-intro-image {
    position: relative;
    height: 540px;
}

.gr-services-intro-image > img {
    border-radius: 2px;
}

.gr-experience-stamp {
    position: absolute;
    right: -28px;
    bottom: 35px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 145px;
    height: 145px;
    border: 8px solid var(--gr-white);
    border-radius: 50%;
    color: var(--gr-white);
    background: var(--gr-green);
    text-align: center;
}

.gr-experience-stamp strong {
    font-family: 'Poppins', sans-serif;
    font-size: 39px;
    line-height: 1;
}

.gr-experience-stamp span {
    max-width: 95px;
    margin-top: 7px;
    font-size: 10px;
    line-height: 1.3;
    text-transform: uppercase;
}

.gr-services-intro-content h2 {
    margin: 0 0 25px;
    color: var(--gr-green-dark);
    font-size: clamp(29px, 3.2vw, 42px);
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: -1px;
}

.gr-services-intro-content p {
    margin-bottom: 17px;
    color: var(--gr-muted);
    font-size: 15px;
    line-height: 1.9;
}

.gr-inline-link {
    margin-top: 15px;
    color: var(--gr-green);
}


/* ==========================================================
   CABEÇALHO DA ÁREA DE SERVIÇOS
========================================================== */

.gr-services-showcase {
    padding: 110px 0 120px;
    background: var(--gr-cream);
}

.gr-services-heading {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    align-items: end;
    gap: 65px;
    margin-bottom: 85px;
}

.gr-services-heading h2,
.gr-products-heading h2 {
    max-width: 650px;
    margin: 0;
    color: var(--gr-green-dark);
    font-size: clamp(32px, 4vw, 48px);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -1.2px;
}

.gr-services-heading > p {
    max-width: 430px;
    margin: 0 0 5px;
    color: var(--gr-muted);
    font-size: 15px;
    line-height: 1.9;
}


/* ==========================================================
   SERVIÇOS - COMPOSIÇÃO EDITORIAL
========================================================== */

.gr-service-feature {
    display: grid;
    grid-template-columns: 1.12fr .88fr;
    align-items: center;
    gap: 85px;
    margin-bottom: 100px;
}

.gr-service-feature:last-child {
    margin-bottom: 0;
}

.gr-service-feature-reverse {
    grid-template-columns: .88fr 1.12fr;
}

.gr-service-feature-reverse .gr-service-feature-image {
    order: 2;
}

.gr-service-feature-reverse .gr-service-feature-content {
    order: 1;
}

.gr-service-feature-image {
    position: relative;
    height: 440px;
    overflow: visible;
}

.gr-service-feature-image img {
    border-radius: 2px;
    transition: transform .6s ease;
}

.gr-service-feature:hover .gr-service-feature-image img {
    transform: scale(1.025);
}

.gr-service-image-number {
    position: absolute;
    right: -22px;
    bottom: -22px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 82px;
    height: 82px;
    color: var(--gr-white);
    background: var(--gr-green);
    font-family: 'Poppins', sans-serif;
    font-size: 25px;
    font-weight: 500;
}

.gr-service-feature-reverse .gr-service-image-number {
    right: auto;
    left: -22px;
}

.gr-service-category {
    display: block;
    margin-bottom: 17px;
    color: var(--gr-green);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2px;
    line-height: 1.5;
    text-transform: uppercase;
}

.gr-service-feature-content h3 {
    margin: 0 0 22px;
    color: var(--gr-green-dark);
    font-size: clamp(27px, 3vw, 37px);
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: -.7px;
}

.gr-service-feature-content p {
    margin-bottom: 25px;
    color: var(--gr-muted);
    font-size: 15px;
    line-height: 1.9;
}

.gr-service-link {
    color: var(--gr-green);
    border-bottom: 1px solid rgba(40,98,63,.3);
    padding-bottom: 9px;
}


/* ==========================================================
   DIFERENCIAIS
========================================================== */

.gr-services-differentials {
    padding: 115px 0;
    color: var(--gr-white);
    background: var(--gr-green-dark);
}

.gr-differentials-layout {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 110px;
}

.gr-differentials-heading .gr-section-kicker {
    color: #b8d3b5;
}

.gr-differentials-heading h2 {
    max-width: 470px;
    margin: 0 0 25px;
    color: var(--gr-white);
    font-size: clamp(34px, 4vw, 48px);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -1px;
}

.gr-differentials-heading > p {
    max-width: 430px;
    color: rgba(255,255,255,.7);
    font-size: 15px;
    line-height: 1.9;
}

.gr-differentials-list {
    border-top: 1px solid rgba(255,255,255,.2);
}

.gr-differential-item {
    display: grid;
    grid-template-columns: 55px 1fr;
    gap: 22px;
    padding: 27px 0;
    border-bottom: 1px solid rgba(255,255,255,.2);
}

.gr-differential-number {
    color: #a9c9a7;
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    font-weight: 600;
}

.gr-differential-item h3 {
    margin: 0 0 8px;
    color: var(--gr-white);
    font-size: 19px;
    font-weight: 500;
}

.gr-differential-item p {
    margin: 0;
    color: rgba(255,255,255,.68);
    font-size: 14px;
    line-height: 1.7;
}


/* ==========================================================
   PRODUTOS
========================================================== */

.gr-services-products {
    padding: 110px 0 120px;
    background: var(--gr-white);
}

.gr-products-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 35px;
    margin-bottom: 50px;
}

.gr-products-heading h2 {
    max-width: 580px;
}

.gr-products-heading .gr-inline-link {
    flex-shrink: 0;
    margin-bottom: 8px;
}

.gr-products-editorial-grid {
    display: grid;
    grid-template-columns: 1.35fr 1fr 1fr;
    gap: 18px;
}

.gr-product-editorial {
    position: relative;
    display: block;
    height: 390px;
    overflow: hidden;
    background: var(--gr-green-dark);
}

.gr-product-editorial-large {
    height: 480px;
    grid-row: span 1;
}

.gr-product-editorial img {
    position: absolute;
    inset: 0;
    transition: transform .6s ease;
}

.gr-product-editorial:hover img {
    transform: scale(1.06);
}

.gr-product-editorial::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        0deg,
        rgba(10,29,19,.88) 0%,
        rgba(10,29,19,.12) 70%
    );
    content: "";
}

.gr-product-editorial-overlay {
    position: absolute;
    right: 25px;
    bottom: 27px;
    left: 25px;
    z-index: 2;
    color: var(--gr-white);
}

.gr-product-editorial-overlay span {
    display: block;
    margin-bottom: 9px;
    color: #d1e0cb;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.7px;
    text-transform: uppercase;
}

.gr-product-editorial-overlay h3 {
    max-width: 300px;
    margin: 0 0 15px;
    color: var(--gr-white);
    font-size: 23px;
    font-weight: 500;
    line-height: 1.3;
}

.gr-product-editorial-overlay i {
    font-size: 16px;
    transition: transform .3s ease;
}

.gr-product-editorial:hover .gr-product-editorial-overlay i {
    transform: translateX(7px);
}


/* ==========================================================
   ATENDIMENTO REGIONAL
========================================================== */

.gr-services-region {
    position: relative;
    padding: 105px 0;
    background:
        linear-gradient(
            90deg,
            rgba(21,57,38,.95),
            rgba(21,57,38,.76)
        ),
        url('../images/gallery-55.jpg') center / cover no-repeat;
}

.gr-services-region-content {
    max-width: 760px;
    color: var(--gr-white);
}

.gr-services-region .gr-section-kicker {
    color: #c5d9bc;
}

.gr-services-region h2 {
    margin: 0 0 22px;
    color: var(--gr-white);
    font-size: clamp(34px, 4vw, 49px);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -1px;
}

.gr-services-region p {
    max-width: 630px;
    margin-bottom: 30px;
    color: rgba(255,255,255,.8);
    font-size: 16px;
    line-height: 1.9;
}


/* ==========================================================
   CTA FINAL
========================================================== */

.gr-services-final-cta {
    padding: 90px 0;
    background: var(--gr-green-soft);
}

.gr-services-final-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 50px;
}

.gr-services-final-text {
    max-width: 680px;
}

.gr-services-final-text h2 {
    margin: 0 0 17px;
    color: var(--gr-green-dark);
    font-size: clamp(30px, 3.5vw, 43px);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -.8px;
}

.gr-services-final-text p {
    margin: 0;
    color: var(--gr-muted);
    font-size: 15px;
    line-height: 1.8;
}

.gr-services-final-content .gr-button-primary {
    flex-shrink: 0;
}


/* ==========================================================
   RESPONSIVIDADE - TABLETS
========================================================== */

@media (max-width: 991px) {

    .gr-services-hero {
        min-height: 550px;
    }

    .gr-services-intro-grid {
        gap: 55px;
    }

    .gr-services-intro-image {
        height: 460px;
    }

    .gr-services-heading {
        gap: 35px;
    }

    .gr-service-feature,
    .gr-service-feature-reverse {
        gap: 45px;
    }

    .gr-service-feature-image {
        height: 360px;
    }

    .gr-differentials-layout {
        gap: 55px;
    }

    .gr-products-editorial-grid {
        grid-template-columns: 1fr 1fr;
    }

    .gr-product-editorial-large {
        grid-column: 1 / -1;
        height: 400px;
    }

    .gr-product-editorial {
        height: 340px;
    }

}


/* ==========================================================
   RESPONSIVIDADE - CELULARES
========================================================== */

@media (max-width: 767px) {

    .gr-services-page .container {
        width: min(100% - 36px, 560px);
    }

    .gr-services-hero {
        min-height: 560px;
        padding: 85px 0 55px;
        background-position: 58% center;
    }

    .gr-services-hero h1 {
        font-size: 37px;
        letter-spacing: -1px;
    }

    .gr-services-hero-content > p {
        font-size: 15px;
    }

    .gr-services-hero-actions {
        align-items: flex-start;
        flex-direction: column;
        gap: 22px;
    }

    .gr-breadcrumb {
        margin-top: 45px;
    }

    .gr-services-intro,
    .gr-services-showcase,
    .gr-services-differentials,
    .gr-services-products {
        padding: 75px 0;
    }

    .gr-services-intro-grid {
        grid-template-columns: 1fr;
        gap: 55px;
    }

    .gr-services-intro-image {
        height: 350px;
        margin-right: 15px;
    }

    .gr-experience-stamp {
        right: -15px;
        bottom: 20px;
        width: 115px;
        height: 115px;
        border-width: 6px;
    }

    .gr-experience-stamp strong {
        font-size: 32px;
    }

    .gr-services-intro-content h2 {
        font-size: 30px;
    }

    .gr-services-heading {
        grid-template-columns: 1fr;
        gap: 20px;
        margin-bottom: 55px;
    }

    .gr-services-heading h2,
    .gr-products-heading h2 {
        font-size: 33px;
    }

    .gr-service-feature,
    .gr-service-feature-reverse {
        grid-template-columns: 1fr;
        gap: 35px;
        margin-bottom: 75px;
    }

    .gr-service-feature-reverse .gr-service-feature-image,
    .gr-service-feature-reverse .gr-service-feature-content {
        order: initial;
    }

    .gr-service-feature-image {
        height: 310px;
        margin-right: 12px;
        margin-bottom: 10px;
    }

    .gr-service-feature-reverse .gr-service-feature-image {
        margin-right: 0;
        margin-left: 12px;
    }

    .gr-service-image-number {
        right: -12px;
        bottom: -12px;
        width: 65px;
        height: 65px;
        font-size: 21px;
    }

    .gr-service-feature-reverse .gr-service-image-number {
        right: auto;
        left: -12px;
    }

    .gr-service-feature-content h3 {
        font-size: 29px;
    }

    .gr-differentials-layout {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .gr-differentials-heading h2 {
        font-size: 35px;
    }

    .gr-differential-item {
        grid-template-columns: 35px 1fr;
        gap: 12px;
    }

    .gr-products-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 15px;
        margin-bottom: 35px;
    }

    .gr-products-editorial-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .gr-product-editorial,
    .gr-product-editorial-large {
        grid-column: auto;
        height: 340px;
    }

    .gr-services-region {
        padding: 80px 0;
    }

    .gr-services-region h2 {
        font-size: 34px;
    }

    .gr-services-final-cta {
        padding: 70px 0;
    }

    .gr-services-final-content {
        align-items: flex-start;
        flex-direction: column;
        gap: 30px;
    }

    .gr-services-final-text h2 {
        font-size: 32px;
    }

}


/* ==========================================================
   TELAS MUITO PEQUENAS
========================================================== */

@media (max-width: 380px) {

    .gr-services-hero h1 {
        font-size: 32px;
    }

    .gr-services-page .container {
        width: calc(100% - 30px);
    }

    .gr-service-feature-image {
        height: 270px;
    }

    .gr-product-editorial,
    .gr-product-editorial-large {
        height: 290px;
    }

}

/* =====================================================
   GRAMEIRA ROCHA | PÁGINA DE PRODUTOS
   HERO
===================================================== */

.gr-products-page {
    width: 100%;
    overflow: hidden;
}

.gr-products-hero {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 620px;
    padding: 110px 0 90px;
    background:
        linear-gradient(
            90deg,
            rgba(12, 35, 22, 0.88) 0%,
            rgba(12, 35, 22, 0.70) 48%,
            rgba(12, 35, 22, 0.20) 100%
        ),
        url("../images/grameira-rocha-hero-03-plantas-e-mudas.png")
        center center / cover no-repeat;
    isolation: isolate;
}

.gr-products-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        0deg,
        rgba(8, 25, 15, 0.25),
        transparent 55%
    );
    z-index: -1;
}

.gr-products-hero-content {
    position: relative;
    z-index: 2;
    max-width: 760px;
    color: #ffffff;
}

.gr-products-hero .gr-eyebrow {
    display: inline-block;
    margin-bottom: 22px;
    color: #c9e8a7;
    font-family: 'Lato', sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
    line-height: 1.5;
    text-transform: uppercase;
}

.gr-products-hero h1 {
    max-width: 720px;
    margin: 0 0 24px;
    color: #ffffff;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(36px, 5vw, 62px);
    font-weight: 700;
    line-height: 1.13;
    letter-spacing: -1.5px;
}

.gr-products-hero-content > p {
    max-width: 620px;
    margin: 0 0 34px;
    color: rgba(255, 255, 255, 0.91);
    font-family: 'Lato', sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.75;
}

.gr-products-hero-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 28px;
}

.gr-products-hero .gr-button-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 54px;
    padding: 15px 25px;
    border: 2px solid #6b9d45;
    border-radius: 4px;
    background: #6b9d45;
    color: #ffffff;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
}

.gr-products-hero .gr-button-primary:hover {
    border-color: #ffffff;
    background: #ffffff;
    color: #315b2d;
    transform: translateY(-3px);
}

.gr-products-hero .gr-button-primary i {
    font-size: 19px;
}

.gr-products-hero .gr-button-text {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #ffffff;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.3s ease;
}

.gr-products-hero .gr-button-text:hover {
    color: #c9e8a7;
}

.gr-products-hero .gr-button-text i {
    font-size: 13px;
    transition: transform 0.3s ease;
}

.gr-products-hero .gr-button-text:hover i {
    transform: translateY(4px);
}

/* Breadcrumb */

.gr-products-hero .gr-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 11px;
    margin-top: 48px;
    color: rgba(255, 255, 255, 0.75);
    font-family: 'Lato', sans-serif;
    font-size: 13px;
}

.gr-products-hero .gr-breadcrumb a {
    color: #ffffff;
    text-decoration: none;
    transition: color 0.3s ease;
}

.gr-products-hero .gr-breadcrumb a:hover {
    color: #c9e8a7;
}

.gr-products-hero .gr-breadcrumb span[aria-current="page"] {
    color: #c9e8a7;
}

/* Responsividade */

@media (max-width: 991px) {
    .gr-products-hero {
        min-height: 560px;
        padding: 90px 0 75px;
        background-position: 58% center;
    }

    .gr-products-hero-content {
        max-width: 650px;
    }
}

@media (max-width: 767px) {
    .gr-products-hero {
        min-height: auto;
        padding: 85px 0 65px;
        background-position: 62% center;
    }

    .gr-products-hero h1 {
        font-size: clamp(34px, 9vw, 46px);
        letter-spacing: -0.8px;
    }

    .gr-products-hero-content > p {
        font-size: 16px;
        line-height: 1.65;
    }

    .gr-products-hero-actions {
        align-items: flex-start;
        flex-direction: column;
        gap: 20px;
    }

    .gr-products-hero .gr-button-primary {
        width: 100%;
        max-width: 310px;
    }

    .gr-products-hero .gr-breadcrumb {
        margin-top: 38px;
    }
}

@media (max-width: 420px) {
    .gr-products-hero {
        padding-top: 70px;
    }

    .gr-products-hero .gr-eyebrow {
        font-size: 11px;
        letter-spacing: 1.4px;
    }

    .gr-products-hero h1 {
        font-size: 34px;
    }
}

/* =====================================================
   GRAMEIRA ROCHA | PÁGINA DE PRODUTOS
   INTRODUÇÃO
===================================================== */

.gr-products-intro {
    padding: 110px 0;
    background: #ffffff;
}

.gr-products-intro-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 85px;
}

.gr-products-intro-image {
    position: relative;
    min-height: 480px;
}

.gr-products-intro-image > img {
    display: block;
    width: 100%;
    height: 480px;
    object-fit: cover;
    border-radius: 5px;
}

.gr-products-experience {
    position: absolute;
    right: -25px;
    bottom: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 145px;
    height: 145px;
    padding: 15px;
    border: 7px solid #ffffff;
    border-radius: 50%;
    background: #537d3d;
    color: #ffffff;
    text-align: center;
}

.gr-products-experience strong {
    font-family: 'Poppins', sans-serif;
    font-size: 38px;
    font-weight: 800;
    line-height: 1;
}

.gr-products-experience span {
    margin-top: 7px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.3;
    text-transform: uppercase;
}

.gr-products-intro-content {
    max-width: 560px;
}

.gr-products-intro-content .gr-section-kicker,
.gr-section-kicker {
    display: block;
    margin-bottom: 17px;
    color: #668b4b;
    font-family: 'Lato', sans-serif;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2px;
    line-height: 1.5;
    text-transform: uppercase;
}

.gr-products-intro-content h2 {
    margin: 0 0 24px;
    color: #263b2b;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(29px, 3.2vw, 42px);
    font-weight: 700;
    line-height: 1.22;
}

.gr-products-intro-content p {
    margin: 0 0 17px;
    color: #68736a;
    font-family: 'Lato', sans-serif;
    font-size: 16px;
    line-height: 1.8;
}

.gr-products-intro-content .gr-inline-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: 13px;
    color: #527b3d;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: gap 0.3s ease;
}

.gr-products-intro-content .gr-inline-link:hover {
    gap: 18px;
}


/* =====================================================
   CATEGORIAS DE PRODUTOS
===================================================== */

.gr-products-categories {
    padding: 105px 0 115px;
    background: #f5f7f1;
}

.gr-products-section-heading {
    max-width: 740px;
    margin: 0 auto 55px;
    text-align: center;
}

.gr-products-section-heading h2 {
    margin: 0 0 18px;
    color: #263b2b;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(30px, 3.5vw, 43px);
    font-weight: 700;
    line-height: 1.2;
}

.gr-products-section-heading > p {
    max-width: 640px;
    margin: 0 auto;
    color: #6c776e;
    font-family: 'Lato', sans-serif;
    font-size: 17px;
    line-height: 1.7;
}

.gr-products-category-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: stretch;
    gap: 28px;
}

.gr-products-category-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    background: #ffffff;
    border-radius: 5px;
    overflow: hidden;
    box-shadow: 0 10px 35px rgba(33, 57, 38, 0.06);
    transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.gr-products-category-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 18px 42px rgba(33, 57, 38, 0.12);
}

.gr-products-category-image {
    position: relative;
    display: block;
    height: 280px;
    overflow: hidden;
}

.gr-products-category-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.gr-products-category-card:hover .gr-products-category-image img {
    transform: scale(1.06);
}

.gr-products-category-index {
    position: absolute;
    top: 18px;
    left: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 43px;
    height: 43px;
    border-radius: 50%;
    background: #ffffff;
    color: #527b3d;
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 700;
}

.gr-products-category-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    padding: 30px 28px 32px;
}

.gr-products-category-label {
    margin-bottom: 12px;
    color: #78965e;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.gr-products-category-content h3 {
    margin: 0 0 14px;
    color: #2d4031;
    font-family: 'Poppins', sans-serif;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.35;
}

.gr-products-category-content p {
    flex: 1;
    margin: 0 0 24px;
    color: #707a72;
    font-size: 15px;
    line-height: 1.75;
}

.gr-products-category-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #547d40;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    transition: gap 0.3s ease;
}

.gr-products-category-link:hover {
    gap: 16px;
}


/* =====================================================
   VARIEDADES DE GRAMA
===================================================== */

.gr-products-grass {
    padding: 110px 0;
    background: #ffffff;
}

.gr-products-grass-heading {
    display: grid;
    grid-template-columns: 1fr 0.75fr;
    align-items: end;
    gap: 70px;
    margin-bottom: 48px;
}

.gr-products-grass-heading h2 {
    max-width: 620px;
    margin: 0;
    color: #263b2b;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(30px, 3.5vw, 43px);
    font-weight: 700;
    line-height: 1.2;
}

.gr-products-grass-heading > p {
    margin: 0 0 5px;
    color: #6c776e;
    font-size: 16px;
    line-height: 1.8;
}

.gr-products-grass-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
}

.gr-grass-card {
    min-width: 0;
    background: #f5f7f1;
    border-radius: 4px;
    overflow: hidden;
    transition: transform 0.3s ease;
}

.gr-grass-card:hover {
    transform: translateY(-6px);
}

.gr-grass-image {
    height: 185px;
    overflow: hidden;
}

.gr-grass-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.gr-grass-card:hover .gr-grass-image img {
    transform: scale(1.07);
}

.gr-grass-info {
    padding: 20px 17px 22px;
}

.gr-grass-info > span {
    display: block;
    margin-bottom: 9px;
    color: #7e9c67;
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    font-weight: 700;
}

.gr-grass-info h3 {
    margin: 0;
    color: #2d4031;
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
}

.gr-products-grass-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    margin-top: 42px;
    padding: 27px 32px;
    background: #f5f7f1;
    border-left: 4px solid #6b914e;
}

.gr-products-grass-cta p {
    margin: 0;
    color: #354b39;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
}


/* =====================================================
   BOTÕES DA PÁGINA DE PRODUTOS
===================================================== */

.gr-products-page .gr-button-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 52px;
    padding: 14px 24px;
    border: 2px solid #668b4b;
    border-radius: 4px;
    background: #668b4b;
    color: #ffffff;
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.3s ease;
}

.gr-products-page .gr-button-primary:hover {
    border-color: #426333;
    background: #426333;
    color: #ffffff;
    transform: translateY(-3px);
}

.gr-products-page .gr-button-primary i {
    font-size: 18px;
}


/* =====================================================
   REGIÃO DE ATENDIMENTO
===================================================== */

.gr-products-region {
    position: relative;
    padding: 100px 0;
    background:
        linear-gradient(rgba(23, 49, 31, 0.88), rgba(23, 49, 31, 0.88)),
        url("../images/grameira-rocha-hero-01-jardim.png")
        center center / cover no-repeat;
    text-align: center;
}

.gr-products-region-content {
    max-width: 760px;
    margin: 0 auto;
}

.gr-products-region-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 66px;
    height: 66px;
    margin: 0 auto 25px;
    border: 1px solid rgba(255, 255, 255, 0.45);
    border-radius: 50%;
    color: #d0e7b8;
    font-size: 27px;
}

.gr-products-region .gr-section-kicker {
    color: #c6dda9;
}

.gr-products-region h2 {
    margin: 0 0 22px;
    color: #ffffff;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(30px, 4vw, 45px);
    font-weight: 700;
    line-height: 1.2;
}

.gr-products-region-content > p {
    max-width: 650px;
    margin: 0 auto 30px;
    color: rgba(255, 255, 255, 0.85);
    font-size: 17px;
    line-height: 1.8;
}


/* =====================================================
   CHAMADA FINAL
===================================================== */

.gr-products-final-cta {
    padding: 75px 0;
    background: #f3f6ef;
}

.gr-products-final-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 50px;
}

.gr-products-final-text {
    max-width: 680px;
}

.gr-products-final-text h2 {
    margin: 0 0 15px;
    color: #293e2e;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(27px, 3vw, 37px);
    font-weight: 700;
    line-height: 1.25;
}

.gr-products-final-text p {
    margin: 0;
    color: #6d786e;
    font-size: 16px;
    line-height: 1.7;
}


/* =====================================================
   RESPONSIVIDADE
===================================================== */

@media (max-width: 1100px) {

    .gr-products-intro-grid {
        gap: 55px;
    }

    .gr-products-grass-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .gr-grass-image {
        height: 210px;
    }

}

@media (max-width: 991px) {

    .gr-products-intro,
    .gr-products-categories,
    .gr-products-grass {
        padding: 80px 0;
    }

    .gr-products-intro-grid {
        grid-template-columns: 1fr 1fr;
        gap: 35px;
    }

    .gr-products-intro-image,
    .gr-products-intro-image > img {
        min-height: 400px;
        height: 400px;
    }

    .gr-products-experience {
        right: -12px;
        width: 120px;
        height: 120px;
    }

    .gr-products-category-grid {
        gap: 18px;
    }

    .gr-products-category-image {
        height: 230px;
    }

    .gr-products-category-content {
        padding: 24px 20px 27px;
    }

    .gr-products-category-content h3 {
        font-size: 18px;
    }

    .gr-products-grass-heading {
        gap: 35px;
    }

}

@media (max-width: 767px) {

    .gr-products-intro,
    .gr-products-categories,
    .gr-products-grass {
        padding: 65px 0;
    }

    .gr-products-intro-grid {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .gr-products-intro-image,
    .gr-products-intro-image > img {
        min-height: 340px;
        height: 340px;
    }

    .gr-products-experience {
        right: 12px;
        bottom: -20px;
        width: 110px;
        height: 110px;
        border-width: 5px;
    }

    .gr-products-experience strong {
        font-size: 30px;
    }

    .gr-products-intro-content h2 {
        font-size: 31px;
    }

    .gr-products-category-grid {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .gr-products-category-image {
        height: 270px;
    }

    .gr-products-category-content {
        padding: 26px;
    }

    .gr-products-section-heading {
        margin-bottom: 35px;
        text-align: left;
    }

    .gr-products-section-heading h2 {
        font-size: 31px;
    }

    .gr-products-section-heading > p {
        font-size: 16px;
    }

    .gr-products-grass-heading {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .gr-products-grass-heading h2 {
        font-size: 31px;
    }

    .gr-products-grass-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }

    .gr-grass-image {
        height: 155px;
    }

    .gr-grass-info {
        padding: 16px 13px 18px;
    }

    .gr-grass-info h3 {
        font-size: 13px;
    }

    .gr-products-grass-cta {
        align-items: flex-start;
        flex-direction: column;
        padding: 24px 20px;
    }

    .gr-products-region {
        padding: 75px 0;
    }

    .gr-products-region h2 {
        font-size: 32px;
    }

    .gr-products-region-content > p {
        font-size: 16px;
    }

    .gr-products-final-cta {
        padding: 60px 0;
    }

    .gr-products-final-content {
        align-items: flex-start;
        flex-direction: column;
        gap: 28px;
    }

    .gr-products-final-text h2 {
        font-size: 29px;
    }

}

@media (max-width: 420px) {

    .gr-products-intro-image,
    .gr-products-intro-image > img {
        height: 290px;
        min-height: 290px;
    }

    .gr-products-grass-grid {
        gap: 10px;
    }

    .gr-grass-image {
        height: 135px;
    }

    .gr-products-page .gr-button-primary {
        width: 100%;
    }

}

/* =====================================================
   GRAMEIRA ROCHA | PÁGINA TERRA PRETA
===================================================== */

.gr-soil-page {
    width: 100%;
    overflow: hidden;
}

.gr-soil-hero {
    position: relative;
    min-height: 590px;
    display: flex;
    align-items: center;
    background:
        url("../images/terrapreta.jpg") center 55% / cover no-repeat;
    isolation: isolate;
}

.gr-soil-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(
        90deg,
        rgba(15, 35, 23, 0.91) 0%,
        rgba(15, 35, 23, 0.76) 48%,
        rgba(15, 35, 23, 0.20) 100%
    );
}

.gr-soil-hero-content {
    position: relative;
    max-width: 720px;
    padding: 105px 0 85px;
    color: #fff;
}

.gr-soil-eyebrow {
    display: inline-block;
    margin-bottom: 22px;
    color: #d7e8b7;
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.gr-soil-hero-content h1 {
    max-width: 680px;
    margin: 0 0 24px;
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(36px, 5vw, 58px);
    font-weight: 700;
    line-height: 1.15;
}

.gr-soil-hero-content p {
    max-width: 590px;
    margin-bottom: 32px;
    color: rgba(255, 255, 255, 0.91);
    font-size: 17px;
    line-height: 1.8;
}

.gr-soil-hero-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 25px;
}

.gr-soil-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 54px;
    padding: 14px 25px;
    border-radius: 4px;
    background: #6b963e;
    color: #fff !important;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
    transition: background 0.3s ease, transform 0.3s ease;
}

.gr-soil-button:hover {
    background: #527b2d;
    color: #fff !important;
    transform: translateY(-2px);
}

.gr-soil-button i {
    font-size: 18px;
}

.gr-soil-text-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #fff !important;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
}

.gr-soil-text-link:hover {
    color: #d7e8b7 !important;
}

.gr-soil-text-link i {
    font-size: 12px;
}

.gr-soil-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 11px;
    margin-top: 48px;
    color: rgba(255, 255, 255, 0.75);
    font-size: 12px;
}

.gr-soil-breadcrumb a {
    color: #fff;
    text-decoration: none;
}

.gr-soil-breadcrumb a:hover {
    color: #d7e8b7;
}

.gr-soil-breadcrumb span[aria-current="page"] {
    color: #d7e8b7;
}

/* RESPONSIVIDADE */

@media (max-width: 767px) {

    .gr-soil-hero {
        min-height: 570px;
        background-position: 60% center;
    }

    .gr-soil-hero-overlay {
        background: rgba(15, 35, 23, 0.78);
    }

    .gr-soil-hero-content {
        padding: 85px 15px 65px;
    }

    .gr-soil-hero-content h1 {
        font-size: 37px;
    }

    .gr-soil-hero-content p {
        font-size: 15px;
        line-height: 1.7;
    }

    .gr-soil-hero-actions {
        align-items: flex-start;
        flex-direction: column;
        gap: 20px;
    }

    .gr-soil-breadcrumb {
        margin-top: 35px;
    }
}

@media (max-width: 420px) {

    .gr-soil-hero-content h1 {
        font-size: 32px;
    }

    .gr-soil-button {
        width: 100%;
    }

}

/* =====================================================
   GRAMEIRA ROCHA | PÁGINA TERRA PRETA ADUBADA
===================================================== */

.gr-soil-page {
    width: 100%;
    overflow: hidden;
}

.gr-soil-kicker {
    display: inline-block;
    margin-bottom: 16px;
    color: #6d9147;
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.7px;
    line-height: 1.6;
    text-transform: uppercase;
}

/* INTRODUÇÃO */

.gr-soil-intro {
    padding: 110px 0;
    background: #fff;
}

.gr-soil-intro-grid {
    display: grid;
    grid-template-columns: 0.95fr 1.05fr;
    align-items: center;
    gap: 85px;
}

.gr-soil-intro-visual {
    position: relative;
    min-height: 470px;
}

.gr-soil-intro-visual > img {
    width: 100%;
    height: 470px;
    object-fit: cover;
    border-radius: 3px;
    display: block;
}

.gr-soil-experience {
    position: absolute;
    right: -28px;
    bottom: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 145px;
    height: 145px;
    border: 7px solid #fff;
    border-radius: 50%;
    background: #557d36;
    color: #fff;
    text-align: center;
}

.gr-soil-experience strong {
    font-family: 'Poppins', sans-serif;
    font-size: 39px;
    font-weight: 800;
    line-height: 1;
}

.gr-soil-experience span {
    max-width: 90px;
    margin-top: 7px;
    font-size: 11px;
    line-height: 1.3;
}

.gr-soil-intro-content h2 {
    margin: 0 0 24px;
    color: #24392a;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(29px, 3.2vw, 42px);
    font-weight: 700;
    line-height: 1.25;
}

.gr-soil-intro-content p {
    margin-bottom: 17px;
    color: #68736b;
    font-size: 15px;
    line-height: 1.9;
}

.gr-soil-inline-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: 13px;
    color: #557d36 !important;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none !important;
}

.gr-soil-inline-link i {
    transition: transform 0.3s ease;
}

.gr-soil-inline-link:hover i {
    transform: translateX(5px);
}


/* TÍTULOS DE SEÇÃO */

.gr-soil-section-heading {
    max-width: 700px;
    margin: 0 auto 55px;
    text-align: center;
}

.gr-soil-section-heading h2 {
    margin: 0 0 18px;
    color: #24392a;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(29px, 3.5vw, 43px);
    font-weight: 700;
    line-height: 1.25;
}

.gr-soil-section-heading p {
    margin: 0;
    color: #707b72;
    font-size: 15px;
    line-height: 1.8;
}


/* APLICAÇÕES */

.gr-soil-applications {
    padding: 105px 0 115px;
    background: #f4f6f0;
}

.gr-soil-application-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.gr-soil-application-card {
    position: relative;
    min-height: 285px;
    padding: 34px 26px;
    border: 1px solid #e6eade;
    background: #fff;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.gr-soil-application-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 18px 40px rgba(35, 57, 42, 0.09);
}

.gr-soil-application-number {
    position: absolute;
    top: 22px;
    right: 23px;
    color: #d9e1d0;
    font-family: 'Poppins', sans-serif;
    font-size: 25px;
    font-weight: 800;
}

.gr-soil-application-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    margin-bottom: 28px;
    border-radius: 50%;
    background: #edf3e6;
    color: #628843;
    font-size: 23px;
}

.gr-soil-application-card h3 {
    margin: 0 0 13px;
    color: #2d4131;
    font-family: 'Poppins', sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
}

.gr-soil-application-card p {
    margin: 0;
    color: #778078;
    font-size: 14px;
    line-height: 1.8;
}


/* DESTAQUE DO PRODUTO */

.gr-soil-highlight {
    padding: 110px 0;
    background: #fff;
}

.gr-soil-highlight-grid {
    display: grid;
    grid-template-columns: 1fr 0.9fr;
    align-items: center;
    gap: 85px;
}

.gr-soil-highlight-content h2 {
    margin: 0 0 23px;
    color: #24392a;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(30px, 3.5vw, 43px);
    font-weight: 700;
    line-height: 1.25;
}

.gr-soil-highlight-content p {
    margin-bottom: 17px;
    color: #6c786e;
    font-size: 15px;
    line-height: 1.9;
}

.gr-soil-highlight-image {
    position: relative;
    height: 430px;
}

.gr-soil-highlight-image::before {
    position: absolute;
    top: -17px;
    right: -17px;
    width: 70%;
    height: 70%;
    border-top: 5px solid #789653;
    border-right: 5px solid #789653;
    content: "";
}

.gr-soil-highlight-image img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.gr-soil-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 53px;
    margin-top: 18px;
    padding: 14px 25px;
    border-radius: 3px;
    background: #638b40;
    color: #fff !important;
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
    transition: background 0.3s ease, transform 0.3s ease;
}

.gr-soil-button:hover {
    transform: translateY(-2px);
    background: #496d2e;
    color: #fff !important;
}

.gr-soil-button i {
    font-size: 18px;
}


/* ORIENTAÇÃO */

.gr-soil-guidance {
    padding: 65px 0;
    background: #edf2e7;
}

.gr-soil-guidance-content {
    display: grid;
    grid-template-columns: 90px 1fr;
    align-items: start;
    gap: 30px;
    max-width: 950px;
    margin: 0 auto;
}

.gr-soil-guidance-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 76px;
    height: 76px;
    border-radius: 50%;
    background: #fff;
    color: #638b40;
    font-size: 30px;
}

.gr-soil-guidance-content h2 {
    margin: 0 0 15px;
    color: #2c4130;
    font-family: 'Poppins', sans-serif;
    font-size: 27px;
    font-weight: 700;
    line-height: 1.35;
}

.gr-soil-guidance-content p {
    margin: 0;
    color: #687568;
    font-size: 15px;
    line-height: 1.9;
}


/* ATENDIMENTO REGIONAL */

.gr-soil-region {
    position: relative;
    padding: 100px 20px;
    background:
        linear-gradient(rgba(20, 43, 27, 0.86), rgba(20, 43, 27, 0.86)),
        url("../images/grameira-rocha-hero-01-jardim.png") center / cover no-repeat;
    text-align: center;
}

.gr-soil-region-content {
    max-width: 760px;
    margin: 0 auto;
}

.gr-soil-region .gr-soil-kicker {
    color: #d1e2b7;
}

.gr-soil-region-content h2 {
    margin: 0 0 22px;
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(30px, 4vw, 45px);
    font-weight: 700;
    line-height: 1.25;
}

.gr-soil-region-content p {
    max-width: 660px;
    margin: 0 auto 20px;
    color: rgba(255, 255, 255, 0.87);
    font-size: 15px;
    line-height: 1.9;
}


/* PRODUTOS RELACIONADOS */

.gr-soil-related {
    padding: 100px 0;
    background: #f7f8f5;
}

.gr-soil-related-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 42px;
}

.gr-soil-related-heading h2 {
    max-width: 620px;
    margin: 0;
    color: #24392a;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(27px, 3vw, 37px);
    font-weight: 700;
    line-height: 1.3;
}

.gr-soil-related-all {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
    color: #638b40 !important;
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
}

.gr-soil-related-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 25px;
}

.gr-soil-related-card {
    position: relative;
    display: block;
    min-height: 300px;
    overflow: hidden;
    color: #fff !important;
    text-decoration: none !important;
}

.gr-soil-related-card::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        0deg,
        rgba(13, 29, 18, 0.88) 0%,
        rgba(13, 29, 18, 0.10) 75%
    );
    content: "";
}

.gr-soil-related-card img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.gr-soil-related-card:hover img {
    transform: scale(1.06);
}

.gr-soil-related-card div {
    position: absolute;
    z-index: 1;
    right: 28px;
    bottom: 27px;
    left: 28px;
}

.gr-soil-related-card span {
    color: #d8e8c3;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.gr-soil-related-card h3 {
    max-width: 400px;
    margin: 8px 0 12px;
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.35;
}

.gr-soil-related-card i {
    font-size: 17px;
}


/* CHAMADA FINAL */

.gr-soil-final-cta {
    padding: 75px 0;
    background: #243b2b;
}

.gr-soil-final-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.gr-soil-final-content > div {
    max-width: 680px;
}

.gr-soil-final-content .gr-soil-kicker {
    color: #c9dda9;
}

.gr-soil-final-content h2 {
    margin: 0 0 14px;
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(27px, 3vw, 37px);
    font-weight: 700;
    line-height: 1.3;
}

.gr-soil-final-content p {
    margin: 0;
    color: rgba(255, 255, 255, 0.82);
    font-size: 14px;
    line-height: 1.8;
}

.gr-soil-final-content .gr-soil-button {
    flex-shrink: 0;
    margin-top: 0;
    background: #fff;
    color: #3e6130 !important;
}

.gr-soil-final-content .gr-soil-button:hover {
    background: #e8f0df;
    color: #3e6130 !important;
}


/* RESPONSIVIDADE */

@media (max-width: 991px) {

    .gr-soil-intro-grid,
    .gr-soil-highlight-grid {
        gap: 45px;
    }

    .gr-soil-application-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gr-soil-intro-visual,
    .gr-soil-intro-visual > img {
        min-height: 400px;
        height: 400px;
    }

    .gr-soil-highlight-image {
        height: 370px;
    }

}

@media (max-width: 767px) {

    .gr-soil-intro,
    .gr-soil-highlight,
    .gr-soil-related {
        padding: 75px 0;
    }

    .gr-soil-intro-grid,
    .gr-soil-highlight-grid {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .gr-soil-intro-visual,
    .gr-soil-intro-visual > img {
        min-height: 330px;
        height: 330px;
    }

    .gr-soil-experience {
        right: 10px;
        bottom: 15px;
        width: 115px;
        height: 115px;
        border-width: 5px;
    }

    .gr-soil-experience strong {
        font-size: 31px;
    }

    .gr-soil-applications {
        padding: 75px 0;
    }

    .gr-soil-section-heading {
        margin-bottom: 38px;
    }

    .gr-soil-application-grid {
        grid-template-columns: 1fr 1fr;
        gap: 14px;
    }

    .gr-soil-application-card {
        min-height: 265px;
        padding: 27px 20px;
    }

    .gr-soil-application-card h3 {
        font-size: 16px;
    }

    .gr-soil-application-card p {
        font-size: 13px;
    }

    .gr-soil-highlight-image {
        height: 320px;
    }

    .gr-soil-guidance {
        padding: 55px 0;
    }

    .gr-soil-guidance-content {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .gr-soil-guidance-content h2 {
        font-size: 24px;
    }

    .gr-soil-region {
        padding: 75px 15px;
    }

    .gr-soil-related-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 18px;
    }

    .gr-soil-related-grid {
        grid-template-columns: 1fr;
    }

    .gr-soil-related-card {
        min-height: 260px;
    }

    .gr-soil-final-content {
        align-items: flex-start;
        flex-direction: column;
        gap: 25px;
    }

    .gr-soil-final-content .gr-soil-button {
        margin-top: 0;
    }

}

@media (max-width: 480px) {

    .gr-soil-application-grid {
        grid-template-columns: 1fr;
    }

    .gr-soil-application-card {
        min-height: auto;
    }

    .gr-soil-application-number {
        font-size: 22px;
    }

    .gr-soil-highlight-image {
        height: 260px;
    }

    .gr-soil-related-card h3 {
        font-size: 18px;
    }

    .gr-soil-final-cta {
        padding: 60px 0;
    }

    .gr-soil-final-content .gr-soil-button {
        width: 100%;
    }

}

/* =====================================================
   GRAMEIRA ROCHA | HERO MUDAS DE TEMPEROS E VERDURAS
===================================================== */

.gr-seedlings-hero {
    position: relative;
    min-height: 590px;
    display: flex;
    align-items: center;
    background:
        url("../images/mud11.jpg") center 48% / cover no-repeat;
    isolation: isolate;
}

.gr-seedlings-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(
        90deg,
        rgba(19, 48, 29, 0.91) 0%,
        rgba(19, 48, 29, 0.77) 48%,
        rgba(19, 48, 29, 0.20) 100%
    );
}

.gr-seedlings-hero-content {
    position: relative;
    max-width: 720px;
    padding: 105px 0 85px;
    color: #fff;
}

.gr-seedlings-eyebrow {
    display: inline-block;
    margin-bottom: 22px;
    color: #d9e9b9;
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.gr-seedlings-hero-content h1 {
    max-width: 680px;
    margin: 0 0 24px;
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(36px, 5vw, 58px);
    font-weight: 700;
    line-height: 1.15;
}

.gr-seedlings-hero-content p {
    max-width: 590px;
    margin-bottom: 32px;
    color: rgba(255, 255, 255, 0.92);
    font-size: 17px;
    line-height: 1.8;
}

.gr-seedlings-hero-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 25px;
}

.gr-seedlings-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 54px;
    padding: 14px 25px;
    border-radius: 4px;
    background: #72994b;
    color: #fff !important;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
    transition: background 0.3s ease, transform 0.3s ease;
}

.gr-seedlings-button:hover {
    background: #557b35;
    color: #fff !important;
    transform: translateY(-2px);
}

.gr-seedlings-button i {
    font-size: 18px;
}

.gr-seedlings-text-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #fff !important;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
}

.gr-seedlings-text-link:hover {
    color: #d9e9b9 !important;
}

.gr-seedlings-text-link i {
    font-size: 12px;
}

.gr-seedlings-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 11px;
    margin-top: 48px;
    color: rgba(255, 255, 255, 0.75);
    font-size: 12px;
}

.gr-seedlings-breadcrumb a {
    color: #fff;
    text-decoration: none;
}

.gr-seedlings-breadcrumb a:hover {
    color: #d9e9b9;
}

.gr-seedlings-breadcrumb span[aria-current="page"] {
    color: #d9e9b9;
}

/* RESPONSIVIDADE */

@media (max-width: 767px) {

    .gr-seedlings-hero {
        min-height: 570px;
        background-position: 60% center;
    }

    .gr-seedlings-hero-overlay {
        background: rgba(19, 48, 29, 0.80);
    }

    .gr-seedlings-hero-content {
        padding: 85px 15px 65px;
    }

    .gr-seedlings-hero-content h1 {
        font-size: 37px;
    }

    .gr-seedlings-hero-content p {
        font-size: 15px;
        line-height: 1.7;
    }

    .gr-seedlings-hero-actions {
        align-items: flex-start;
        flex-direction: column;
        gap: 20px;
    }

    .gr-seedlings-breadcrumb {
        margin-top: 35px;
    }
}

@media (max-width: 420px) {

    .gr-seedlings-hero-content h1 {
        font-size: 32px;
    }

    .gr-seedlings-button {
        width: 100%;
    }

}

/* =====================================================
   GRAMEIRA ROCHA | PÁGINA MUDAS DE TEMPEROS E VERDURAS
===================================================== */

.gr-seedlings-page {
    width: 100%;
    overflow: hidden;
}

.gr-seedlings-kicker {
    display: inline-block;
    margin-bottom: 15px;
    color: #688c45;
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.6px;
    line-height: 1.6;
    text-transform: uppercase;
}

/* INTRODUÇÃO */

.gr-seedlings-intro {
    padding: 110px 0;
    background: #f7f8f4;
}

.gr-seedlings-intro-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 85px;
}

.gr-seedlings-intro-image {
    position: relative;
    min-height: 470px;
}

.gr-seedlings-intro-image img {
    display: block;
    width: 100%;
    height: 470px;
    object-fit: cover;
    border-radius: 3px;
}

.gr-seedlings-image-caption {
    position: absolute;
    right: 0;
    bottom: 28px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 17px 25px;
    background: #fff;
    color: #405d35;
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 600;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.09);
}

.gr-seedlings-image-caption i {
    color: #71964c;
    font-size: 21px;
}

.gr-seedlings-intro-content h2 {
    margin: 0 0 23px;
    color: #263d2c;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(30px, 3.3vw, 43px);
    font-weight: 700;
    line-height: 1.25;
}

.gr-seedlings-intro-content p {
    margin-bottom: 17px;
    color: #69756b;
    font-size: 15px;
    line-height: 1.9;
}

.gr-seedlings-inline-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: 12px;
    color: #638843 !important;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none !important;
}

.gr-seedlings-inline-link i {
    transition: transform 0.3s ease;
}

.gr-seedlings-inline-link:hover i {
    transform: translateX(5px);
}


/* TÍTULOS DE SEÇÃO */

.gr-seedlings-section-heading {
    max-width: 730px;
    margin: 0 auto 55px;
    text-align: center;
}

.gr-seedlings-section-heading h2,
.gr-seedlings-care-header h2 {
    margin: 0 0 18px;
    color: #263d2c;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(29px, 3.5vw, 42px);
    font-weight: 700;
    line-height: 1.25;
}

.gr-seedlings-section-heading p,
.gr-seedlings-care-header p {
    margin: 0;
    color: #707b72;
    font-size: 15px;
    line-height: 1.8;
}


/* POSSIBILIDADES DE CULTIVO */

.gr-seedlings-cultivation {
    padding: 105px 0 115px;
    background: #fff;
}

.gr-seedlings-cultivation-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 25px;
}

.gr-seedlings-cultivation-card {
    position: relative;
    overflow: hidden;
    background: #f5f7f1;
}

.gr-seedlings-card-image {
    position: relative;
    height: 250px;
    overflow: hidden;
}

.gr-seedlings-card-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.gr-seedlings-cultivation-card:hover .gr-seedlings-card-image img {
    transform: scale(1.05);
}

.gr-seedlings-card-image > span {
    position: absolute;
    top: 17px;
    left: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #fff;
    color: #52763b;
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 700;
}

.gr-seedlings-card-content {
    padding: 27px 26px 32px;
}

.gr-seedlings-card-content h3 {
    margin: 0 0 12px;
    color: #2c4231;
    font-family: 'Poppins', sans-serif;
    font-size: 19px;
    font-weight: 700;
}

.gr-seedlings-card-content p {
    margin: 0;
    color: #758075;
    font-size: 14px;
    line-height: 1.8;
}

.gr-seedlings-cultivation-card:not(:first-child) {
    padding-top: 250px;
}

.gr-seedlings-cultivation-card:not(:first-child)::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 250px;
    background: linear-gradient(145deg, #dfe9d4, #edf2e7);
    content: "";
}

.gr-seedlings-card-icon {
    position: absolute;
    top: 72px;
    left: 50%;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 92px;
    height: 92px;
    border: 1px solid rgba(91, 125, 63, 0.2);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.75);
    color: #668d45;
    font-size: 37px;
    transform: translateX(-50%);
}

.gr-seedlings-cultivation-card:not(:first-child) .gr-seedlings-card-content {
    position: relative;
    z-index: 1;
    min-height: 205px;
    background: #f5f7f1;
}


/* BENEFÍCIOS */

.gr-seedlings-benefits {
    padding: 105px 0;
    background: #263e2d;
}

.gr-seedlings-benefits-grid {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    align-items: center;
    gap: 90px;
}

.gr-seedlings-benefits-heading .gr-seedlings-kicker {
    color: #c9dda9;
}

.gr-seedlings-benefits-heading h2 {
    margin: 0 0 22px;
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(29px, 3.3vw, 41px);
    font-weight: 700;
    line-height: 1.3;
}

.gr-seedlings-benefits-heading p {
    margin: 0;
    color: rgba(255, 255, 255, 0.78);
    font-size: 15px;
    line-height: 1.9;
}

.gr-seedlings-benefits-list {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.gr-seedlings-benefit-item {
    display: grid;
    grid-template-columns: 62px 1fr;
    align-items: start;
    gap: 22px;
    padding-bottom: 26px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.17);
}

.gr-seedlings-benefit-item:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.gr-seedlings-benefit-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    color: #d1e5b4;
    font-size: 23px;
}

.gr-seedlings-benefit-item h3 {
    margin: 0 0 8px;
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-size: 18px;
    font-weight: 600;
}

.gr-seedlings-benefit-item p {
    margin: 0;
    color: rgba(255, 255, 255, 0.75);
    font-size: 14px;
    line-height: 1.8;
}


/* CUIDADOS */

.gr-seedlings-care {
    padding: 105px 0;
    background: #f4f6f0;
}

.gr-seedlings-care-header {
    max-width: 720px;
    margin: 0 auto 55px;
    text-align: center;
}

.gr-seedlings-care-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.gr-seedlings-care-item {
    position: relative;
    min-height: 255px;
    padding: 28px 24px;
    background: #fff;
    border-bottom: 3px solid #88a96a;
}

.gr-seedlings-care-item > span {
    position: absolute;
    top: 17px;
    right: 20px;
    color: #dce5d5;
    font-family: 'Poppins', sans-serif;
    font-size: 24px;
    font-weight: 800;
}

.gr-seedlings-care-item i {
    display: block;
    margin-bottom: 23px;
    color: #6b914b;
    font-size: 29px;
}

.gr-seedlings-care-item h3 {
    margin: 0 0 11px;
    color: #304633;
    font-family: 'Poppins', sans-serif;
    font-size: 17px;
    font-weight: 700;
}

.gr-seedlings-care-item p {
    margin: 0;
    color: #748075;
    font-size: 13px;
    line-height: 1.8;
}


/* DESTAQUE COMERCIAL */

.gr-seedlings-highlight {
    position: relative;
    padding: 100px 20px;
    overflow: hidden;
    background:
        radial-gradient(circle at 15% 20%, rgba(151, 184, 117, 0.18), transparent 32%),
        #e9f0e2;
    text-align: center;
}

.gr-seedlings-highlight-content {
    max-width: 760px;
    margin: 0 auto;
}

.gr-seedlings-highlight-symbol {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 76px;
    height: 76px;
    margin: 0 auto 25px;
    border-radius: 50%;
    background: #fff;
    color: #638b43;
    font-size: 30px;
}

.gr-seedlings-highlight-content h2 {
    margin: 0 0 20px;
    color: #2b4230;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(30px, 4vw, 44px);
    font-weight: 700;
    line-height: 1.25;
}

.gr-seedlings-highlight-content p {
    max-width: 620px;
    margin: 0 auto 20px;
    color: #68766a;
    font-size: 15px;
    line-height: 1.9;
}


/* BOTÕES */

.gr-seedlings-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 53px;
    margin-top: 18px;
    padding: 14px 25px;
    border-radius: 3px;
    background: #638b40;
    color: #fff !important;
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
    transition: background 0.3s ease, transform 0.3s ease;
}

.gr-seedlings-button:hover {
    transform: translateY(-2px);
    background: #496d2e;
    color: #fff !important;
}

.gr-seedlings-button i {
    font-size: 18px;
}


/* ATENDIMENTO REGIONAL */

.gr-seedlings-region {
    padding: 100px 20px;
    background:
        linear-gradient(rgba(20, 43, 27, 0.87), rgba(20, 43, 27, 0.87)),
        url("../images/grameira-rocha-hero-01-jardim.png") center / cover no-repeat;
    text-align: center;
}

.gr-seedlings-region-content {
    max-width: 760px;
    margin: 0 auto;
}

.gr-seedlings-region .gr-seedlings-kicker {
    color: #d1e2b7;
}

.gr-seedlings-region-content h2 {
    margin: 0 0 22px;
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(30px, 4vw, 45px);
    font-weight: 700;
    line-height: 1.25;
}

.gr-seedlings-region-content p {
    max-width: 660px;
    margin: 0 auto 20px;
    color: rgba(255, 255, 255, 0.87);
    font-size: 15px;
    line-height: 1.9;
}


/* PRODUTOS RELACIONADOS */

.gr-seedlings-related {
    padding: 100px 0;
    background: #fff;
}

.gr-seedlings-related-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 42px;
}

.gr-seedlings-related-heading h2 {
    max-width: 620px;
    margin: 0;
    color: #263d2c;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(27px, 3vw, 37px);
    font-weight: 700;
    line-height: 1.3;
}

.gr-seedlings-related-all {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
    color: #638b40 !important;
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
}

.gr-seedlings-related-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 25px;
}

.gr-seedlings-related-card {
    position: relative;
    display: block;
    min-height: 300px;
    overflow: hidden;
    color: #fff !important;
    text-decoration: none !important;
}

.gr-seedlings-related-card::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        0deg,
        rgba(13, 29, 18, 0.88) 0%,
        rgba(13, 29, 18, 0.10) 75%
    );
    content: "";
}

.gr-seedlings-related-card img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.gr-seedlings-related-card:hover img {
    transform: scale(1.06);
}

.gr-seedlings-related-card div {
    position: absolute;
    z-index: 1;
    right: 28px;
    bottom: 27px;
    left: 28px;
}

.gr-seedlings-related-card span {
    color: #d8e8c3;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.gr-seedlings-related-card h3 {
    max-width: 400px;
    margin: 8px 0 12px;
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.35;
}

.gr-seedlings-related-card i {
    font-size: 17px;
}


/* CHAMADA FINAL */

.gr-seedlings-final-cta {
    padding: 75px 0;
    background: #263e2d;
}

.gr-seedlings-final-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.gr-seedlings-final-content > div {
    max-width: 680px;
}

.gr-seedlings-final-content .gr-seedlings-kicker {
    color: #c9dda9;
}

.gr-seedlings-final-content h2 {
    margin: 0 0 14px;
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(27px, 3vw, 37px);
    font-weight: 700;
    line-height: 1.3;
}

.gr-seedlings-final-content p {
    margin: 0;
    color: rgba(255, 255, 255, 0.82);
    font-size: 14px;
    line-height: 1.8;
}

.gr-seedlings-final-content .gr-seedlings-button {
    flex-shrink: 0;
    margin-top: 0;
    background: #fff;
    color: #3e6130 !important;
}

.gr-seedlings-final-content .gr-seedlings-button:hover {
    background: #e8f0df;
    color: #3e6130 !important;
}


/* RESPONSIVIDADE */

@media (max-width: 991px) {

    .gr-seedlings-intro-grid,
    .gr-seedlings-benefits-grid {
        gap: 45px;
    }

    .gr-seedlings-care-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gr-seedlings-intro-image,
    .gr-seedlings-intro-image img {
        min-height: 400px;
        height: 400px;
    }

}

@media (max-width: 767px) {

    .gr-seedlings-intro,
    .gr-seedlings-cultivation,
    .gr-seedlings-benefits,
    .gr-seedlings-care,
    .gr-seedlings-related {
        padding: 75px 0;
    }

    .gr-seedlings-intro-grid,
    .gr-seedlings-benefits-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .gr-seedlings-intro-image,
    .gr-seedlings-intro-image img {
        min-height: 320px;
        height: 320px;
    }

    .gr-seedlings-cultivation-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .gr-seedlings-cultivation-card:not(:first-child) {
        padding-top: 190px;
    }

    .gr-seedlings-cultivation-card:not(:first-child)::before {
        height: 190px;
    }

    .gr-seedlings-card-icon {
        top: 48px;
    }

    .gr-seedlings-cultivation-card:not(:first-child) .gr-seedlings-card-content {
        min-height: auto;
    }

    .gr-seedlings-benefit-item {
        grid-template-columns: 52px 1fr;
        gap: 16px;
    }

    .gr-seedlings-benefit-icon {
        width: 50px;
        height: 50px;
        font-size: 20px;
    }

    .gr-seedlings-care-grid {
        grid-template-columns: 1fr 1fr;
        gap: 13px;
    }

    .gr-seedlings-care-item {
        min-height: 245px;
        padding: 25px 18px;
    }

    .gr-seedlings-highlight {
        padding: 75px 15px;
    }

    .gr-seedlings-region {
        padding: 75px 15px;
    }

    .gr-seedlings-related-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 18px;
    }

    .gr-seedlings-related-grid {
        grid-template-columns: 1fr;
    }

    .gr-seedlings-related-card {
        min-height: 260px;
    }

    .gr-seedlings-final-content {
        align-items: flex-start;
        flex-direction: column;
        gap: 25px;
    }

    .gr-seedlings-final-content .gr-seedlings-button {
        margin-top: 0;
    }

}

@media (max-width: 480px) {

    .gr-seedlings-care-grid {
        grid-template-columns: 1fr;
    }

    .gr-seedlings-care-item {
        min-height: auto;
    }

    .gr-seedlings-card-content {
        padding: 24px 20px 28px;
    }

    .gr-seedlings-related-card h3 {
        font-size: 18px;
    }

    .gr-seedlings-final-cta {
        padding: 60px 0;
    }

    .gr-seedlings-final-content .gr-seedlings-button {
        width: 100%;
    }

}

/* ==========================================
   MUDAS - IMAGENS DOS CARDS DE CULTIVO
========================================== */

.gr-seedlings-cultivation-card {
    padding-top: 0;
}

.gr-seedlings-cultivation-card:not(:first-child) {
    padding-top: 0;
}

.gr-seedlings-cultivation-card:not(:first-child)::before {
    content: none;
    display: none;
}

.gr-seedlings-card-image {
    position: relative;
    width: 100%;
    height: 250px;
    overflow: hidden;
}

.gr-seedlings-card-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.gr-seedlings-cultivation-card:hover
.gr-seedlings-card-image img {
    transform: scale(1.04);
}

.gr-seedlings-card-image span {
    position: absolute;
    top: 15px;
    left: 15px;
    z-index: 2;
}

/* Responsividade */

@media (max-width: 767px) {

    .gr-seedlings-card-image {
        height: 230px;
    }

}

/* ==========================================
   FLORES E PLANTAS ORNAMENTAIS - HERO
========================================== */

.gr-flowers-hero {
    position: relative;
    min-height: 650px;
    display: flex;
    align-items: center;
    background-image: url("../images/flores-ornamentais.jpg");
    background-size: cover;
    background-position: center;
    overflow: hidden;
    padding: 100px 0 75px;
}

.gr-flowers-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(12, 32, 20, 0.88) 0%,
        rgba(12, 32, 20, 0.68) 48%,
        rgba(12, 32, 20, 0.12) 100%
    );
}

.gr-flowers-hero .container {
    position: relative;
    z-index: 2;
}

.gr-flowers-hero-content {
    max-width: 700px;
    color: #fff;
}

.gr-flowers-eyebrow {
    display: inline-block;
    margin-bottom: 20px;
    color: #d5e7bd;
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.gr-flowers-hero-content h1 {
    max-width: 680px;
    margin-bottom: 24px;
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(36px, 5vw, 58px);
    font-weight: 700;
    line-height: 1.15;
}

.gr-flowers-hero-content > p {
    max-width: 590px;
    margin-bottom: 32px;
    color: rgba(255,255,255,0.9);
    font-size: 17px;
    line-height: 1.8;
}

.gr-flowers-hero-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 25px;
}

.gr-flowers-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 16px 25px;
    background: #6d963f;
    border-radius: 4px;
    color: #fff;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.3s ease;
}

.gr-flowers-button:hover {
    background: #557b30;
    color: #fff;
    transform: translateY(-3px);
}

.gr-flowers-button i {
    font-size: 19px;
}

.gr-flowers-text-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
}

.gr-flowers-text-link:hover {
    color: #d5e7bd;
}

.gr-flowers-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 65px;
    color: rgba(255,255,255,0.75);
    font-size: 13px;
}

.gr-flowers-breadcrumb a {
    color: #fff;
    text-decoration: none;
}

.gr-flowers-breadcrumb a:hover {
    color: #d5e7bd;
}

.gr-flowers-breadcrumb span[aria-current="page"] {
    color: #d5e7bd;
}

/* Responsividade */

@media (max-width: 767px) {

    .gr-flowers-hero {
        min-height: 600px;
        padding: 85px 0 55px;
        background-position: 60% center;
    }

    .gr-flowers-hero-overlay {
        background: rgba(12, 32, 20, 0.72);
    }

    .gr-flowers-hero-content h1 {
        font-size: 36px;
    }

    .gr-flowers-hero-content > p {
        font-size: 15px;
    }

    .gr-flowers-hero-actions {
        align-items: flex-start;
        flex-direction: column;
        gap: 20px;
    }

    .gr-flowers-button {
        width: 100%;
    }

    .gr-flowers-breadcrumb {
        margin-top: 45px;
        gap: 7px;
        font-size: 12px;
    }

}


/* =====================================================
   GRAMEIRA ROCHA
   FLORES E PLANTAS ORNAMENTAIS
===================================================== */

.gr-flowers-page {
    --flowers-green: #315b3b;
    --flowers-green-dark: #203e2b;
    --flowers-green-light: #6d963f;
    --flowers-soft: #f3f6ef;
    --flowers-cream: #faf9f4;
    --flowers-text: #39443b;
    --flowers-muted: #737d73;
    --flowers-accent: #d8e3c9;
    color: var(--flowers-text);
}

.gr-flowers-page img {
    max-width: 100%;
}

/* ==========================================
   APRESENTAÇÃO
========================================== */

.gr-flowers-intro {
    padding: 115px 0;
    background: #fff;
}

.gr-flowers-intro-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 85px;
}

.gr-flowers-intro-image {
    position: relative;
    min-height: 500px;
}

.gr-flowers-intro-image > img {
    width: 100%;
    height: 500px;
    object-fit: cover;
    border-radius: 3px;
    display: block;
}

.gr-flowers-image-caption {
    position: absolute;
    right: -25px;
    bottom: 30px;
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 19px 25px;
    background: var(--flowers-green);
    color: #fff;
    box-shadow: 0 12px 30px rgba(0,0,0,.12);
}

.gr-flowers-image-caption i {
    font-size: 23px;
    color: #dce9ca;
}

.gr-flowers-image-caption span {
    font-size: 14px;
    font-weight: 600;
}

.gr-flowers-kicker {
    display: inline-block;
    margin-bottom: 17px;
    color: var(--flowers-green-light);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.gr-flowers-intro-content h2 {
    margin-bottom: 25px;
    color: var(--flowers-green-dark);
    font-family: 'Poppins', sans-serif;
    font-size: clamp(30px, 3.5vw, 43px);
    font-weight: 700;
    line-height: 1.25;
}

.gr-flowers-intro-content p {
    margin-bottom: 17px;
    color: var(--flowers-muted);
    font-size: 15px;
    line-height: 1.9;
}

.gr-flowers-inline-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: 12px;
    color: var(--flowers-green);
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
    transition: .3s ease;
}

.gr-flowers-inline-link:hover {
    gap: 18px;
    color: var(--flowers-green-light);
}


/* ==========================================
   POSSIBILIDADES DE COMPOSIÇÃO
========================================== */

.gr-flowers-possibilities {
    padding: 105px 0 115px;
    background: var(--flowers-soft);
}

.gr-flowers-section-heading {
    max-width: 760px;
    margin: 0 auto 55px;
    text-align: center;
}

.gr-flowers-section-heading h2 {
    margin-bottom: 20px;
    color: var(--flowers-green-dark);
    font-family: 'Poppins', sans-serif;
    font-size: clamp(29px, 3.5vw, 42px);
    font-weight: 700;
    line-height: 1.25;
}

.gr-flowers-section-heading p {
    max-width: 650px;
    margin: 0 auto;
    color: var(--flowers-muted);
    font-size: 15px;
    line-height: 1.8;
}

.gr-flowers-possibilities-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 27px;
}

.gr-flowers-possibility-card {
    position: relative;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 12px 35px rgba(36, 67, 43, .07);
    transition: transform .35s ease, box-shadow .35s ease;
}

.gr-flowers-possibility-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 42px rgba(36, 67, 43, .13);
}

.gr-flowers-possibility-image {
    position: relative;
    height: 285px;
    overflow: hidden;
}

.gr-flowers-possibility-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s ease;
}

.gr-flowers-possibility-card:hover
.gr-flowers-possibility-image img {
    transform: scale(1.06);
}

.gr-flowers-possibility-image span {
    position: absolute;
    top: 17px;
    left: 17px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 43px;
    height: 43px;
    background: rgba(255,255,255,.94);
    color: var(--flowers-green);
    font-size: 13px;
    font-weight: 800;
}

.gr-flowers-possibility-content {
    padding: 30px 28px 34px;
}

.gr-flowers-possibility-content h3 {
    margin-bottom: 13px;
    color: var(--flowers-green-dark);
    font-family: 'Poppins', sans-serif;
    font-size: 20px;
    font-weight: 700;
}

.gr-flowers-possibility-content p {
    margin: 0;
    color: var(--flowers-muted);
    font-size: 14px;
    line-height: 1.8;
}


/* ==========================================
   INSPIRAÇÃO
========================================== */

.gr-flowers-inspiration {
    position: relative;
    padding: 110px 0;
    background: var(--flowers-cream);
    overflow: hidden;
}

.gr-flowers-inspiration-grid {
    display: grid;
    grid-template-columns: .95fr 1.05fr;
    align-items: center;
    gap: 100px;
}

.gr-flowers-inspiration-heading h2 {
    margin-bottom: 22px;
    color: var(--flowers-green-dark);
    font-family: 'Poppins', sans-serif;
    font-size: clamp(30px, 3.5vw, 42px);
    line-height: 1.25;
    font-weight: 700;
}

.gr-flowers-inspiration-heading > p {
    color: var(--flowers-muted);
    font-size: 15px;
    line-height: 1.9;
}

.gr-flowers-inspiration-list {
    display: flex;
    flex-direction: column;
    gap: 33px;
}

.gr-flowers-inspiration-item {
    display: flex;
    align-items: flex-start;
    gap: 23px;
    padding-bottom: 28px;
    border-bottom: 1px solid #e5e9df;
}

.gr-flowers-inspiration-item:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.gr-flowers-inspiration-icon {
    flex: 0 0 58px;
    width: 58px;
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #e7eddf;
    color: var(--flowers-green);
    font-size: 22px;
}

.gr-flowers-inspiration-item h3 {
    margin: 2px 0 9px;
    color: var(--flowers-green-dark);
    font-family: 'Poppins', sans-serif;
    font-size: 18px;
    font-weight: 700;
}

.gr-flowers-inspiration-item p {
    margin: 0;
    color: var(--flowers-muted);
    font-size: 14px;
    line-height: 1.8;
}


/* ==========================================
   CUIDADOS COM AS PLANTAS
========================================== */

.gr-flowers-care {
    padding: 105px 0 115px;
    background: #fff;
}

.gr-flowers-care-header {
    max-width: 750px;
    margin: 0 auto 55px;
    text-align: center;
}

.gr-flowers-care-header h2 {
    margin-bottom: 18px;
    color: var(--flowers-green-dark);
    font-family: 'Poppins', sans-serif;
    font-size: clamp(29px, 3.5vw, 42px);
    line-height: 1.25;
}

.gr-flowers-care-header p {
    color: var(--flowers-muted);
    font-size: 15px;
    line-height: 1.8;
}

.gr-flowers-care-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.gr-flowers-care-item {
    position: relative;
    min-height: 260px;
    padding: 30px 25px;
    background: var(--flowers-soft);
    border-bottom: 3px solid #d5e1c9;
    transition: .3s ease;
}

.gr-flowers-care-item:hover {
    background: #eaf0e3;
    transform: translateY(-5px);
}

.gr-flowers-care-item > span {
    display: block;
    margin-bottom: 23px;
    color: #a5b998;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 1px;
}

.gr-flowers-care-item i {
    display: block;
    margin-bottom: 16px;
    color: var(--flowers-green);
    font-size: 25px;
}

.gr-flowers-care-item h3 {
    margin-bottom: 12px;
    color: var(--flowers-green-dark);
    font-family: 'Poppins', sans-serif;
    font-size: 17px;
    font-weight: 700;
}

.gr-flowers-care-item p {
    margin: 0;
    color: var(--flowers-muted);
    font-size: 13px;
    line-height: 1.75;
}


/* ==========================================
   DESTAQUE COMERCIAL
========================================== */

.gr-flowers-highlight {
    position: relative;
    padding: 90px 0;
    background:
        linear-gradient(rgba(27, 58, 37, .91), rgba(27, 58, 37, .91)),
        url("../images/flores-ornamentais.jpg") center/cover no-repeat;
    text-align: center;
}

.gr-flowers-highlight-content {
    max-width: 760px;
    margin: 0 auto;
}

.gr-flowers-highlight-symbol {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 70px;
    height: 70px;
    margin: 0 auto 25px;
    border: 1px solid rgba(255,255,255,.45);
    border-radius: 50%;
    color: #dbe9cb;
    font-size: 29px;
}

.gr-flowers-highlight .gr-flowers-kicker {
    color: #d1e2bd;
}

.gr-flowers-highlight-content h2 {
    margin-bottom: 20px;
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(30px, 4vw, 45px);
    font-weight: 700;
    line-height: 1.25;
}

.gr-flowers-highlight-content > p {
    max-width: 610px;
    margin: 0 auto 30px;
    color: rgba(255,255,255,.84);
    font-size: 15px;
    line-height: 1.8;
}


/* ==========================================
   BOTÕES
========================================== */

.gr-flowers-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 16px 26px;
    background: var(--flowers-green-light);
    border: 0;
    border-radius: 3px;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: .3s ease;
}

.gr-flowers-button:hover {
    background: #527a30;
    color: #fff;
    transform: translateY(-3px);
}

.gr-flowers-button i {
    font-size: 18px;
}


/* ==========================================
   ATENDIMENTO REGIONAL
========================================== */

.gr-flowers-region {
    padding: 95px 0;
    background: var(--flowers-soft);
    text-align: center;
}

.gr-flowers-region-content {
    max-width: 780px;
    margin: 0 auto;
}

.gr-flowers-region-content h2 {
    margin-bottom: 20px;
    color: var(--flowers-green-dark);
    font-family: 'Poppins', sans-serif;
    font-size: clamp(29px, 3.5vw, 41px);
    line-height: 1.25;
}

.gr-flowers-region-content p {
    margin-bottom: 28px;
    color: var(--flowers-muted);
    font-size: 15px;
    line-height: 1.85;
}


/* ==========================================
   PRODUTOS RELACIONADOS
========================================== */

.gr-flowers-related {
    padding: 100px 0;
    background: #fff;
}

.gr-flowers-related-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 25px;
    margin-bottom: 38px;
}

.gr-flowers-related-heading h2 {
    margin: 0;
    color: var(--flowers-green-dark);
    font-family: 'Poppins', sans-serif;
    font-size: clamp(27px, 3vw, 36px);
    line-height: 1.25;
}

.gr-flowers-related-all {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
    color: var(--flowers-green);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

.gr-flowers-related-all:hover {
    color: var(--flowers-green-light);
}

.gr-flowers-related-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 25px;
}

.gr-flowers-related-card {
    position: relative;
    display: block;
    min-height: 250px;
    overflow: hidden;
    color: #fff;
    text-decoration: none;
}

.gr-flowers-related-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        0deg,
        rgba(16, 36, 23, .92) 0%,
        rgba(16, 36, 23, .35) 65%,
        rgba(16, 36, 23, .05) 100%
    );
}

.gr-flowers-related-card img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}

.gr-flowers-related-card:hover img {
    transform: scale(1.05);
}

.gr-flowers-related-card > div {
    position: absolute;
    z-index: 2;
    right: 25px;
    bottom: 25px;
    left: 25px;
}

.gr-flowers-related-card > div > span {
    display: block;
    margin-bottom: 8px;
    color: #d5e7bd;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.gr-flowers-related-card h3 {
    max-width: 400px;
    margin: 0 0 12px;
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-size: 21px;
    font-weight: 700;
}

.gr-flowers-related-card i {
    font-size: 17px;
    color: #d5e7bd;
}


/* ==========================================
   CHAMADA FINAL
========================================== */

.gr-flowers-final-cta {
    padding: 70px 0;
    background: var(--flowers-green-dark);
}

.gr-flowers-final-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
}

.gr-flowers-final-content > div {
    max-width: 680px;
}

.gr-flowers-final-content .gr-flowers-kicker {
    color: #d1e2bd;
}

.gr-flowers-final-content h2 {
    margin-bottom: 13px;
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(26px, 3vw, 35px);
    line-height: 1.3;
}

.gr-flowers-final-content p {
    margin: 0;
    color: rgba(255,255,255,.8);
    font-size: 14px;
    line-height: 1.7;
}

.gr-flowers-final-content .gr-flowers-button {
    flex-shrink: 0;
    background: #fff;
    color: var(--flowers-green-dark);
}

.gr-flowers-final-content .gr-flowers-button:hover {
    background: #e6eddc;
    color: var(--flowers-green-dark);
}


/* ==========================================
   RESPONSIVIDADE
========================================== */

@media (max-width: 991px) {

    .gr-flowers-intro-grid {
        gap: 45px;
    }

    .gr-flowers-intro-image,
    .gr-flowers-intro-image > img {
        min-height: 420px;
        height: 420px;
    }

    .gr-flowers-possibilities-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gr-flowers-possibility-card:last-child {
        grid-column: 1 / -1;
        max-width: 520px;
        width: 100%;
        justify-self: center;
    }

    .gr-flowers-inspiration-grid {
        gap: 45px;
    }

    .gr-flowers-care-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 767px) {

    .gr-flowers-intro,
    .gr-flowers-inspiration,
    .gr-flowers-care,
    .gr-flowers-possibilities,
    .gr-flowers-related {
        padding: 70px 0;
    }

    .gr-flowers-intro-grid,
    .gr-flowers-inspiration-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .gr-flowers-intro-image,
    .gr-flowers-intro-image > img {
        min-height: 330px;
        height: 330px;
    }

    .gr-flowers-image-caption {
        right: 10px;
        bottom: 15px;
        padding: 14px 17px;
    }

    .gr-flowers-intro-content h2,
    .gr-flowers-inspiration-heading h2 {
        font-size: 30px;
    }

    .gr-flowers-section-heading,
    .gr-flowers-care-header {
        margin-bottom: 35px;
    }

    .gr-flowers-possibilities-grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .gr-flowers-possibility-card:last-child {
        grid-column: auto;
        max-width: none;
    }

    .gr-flowers-possibility-image {
        height: 250px;
    }

    .gr-flowers-possibility-content {
        padding: 25px 23px 28px;
    }

    .gr-flowers-inspiration-list {
        gap: 25px;
    }

    .gr-flowers-care-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .gr-flowers-care-item {
        min-height: auto;
        padding: 25px;
    }

    .gr-flowers-highlight {
        padding: 70px 20px;
    }

    .gr-flowers-region {
        padding: 70px 20px;
    }

    .gr-flowers-related-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .gr-flowers-related-grid {
        grid-template-columns: 1fr;
    }

    .gr-flowers-related-card {
        min-height: 230px;
    }

    .gr-flowers-final-cta {
        padding: 60px 0;
    }

    .gr-flowers-final-content {
        align-items: flex-start;
        flex-direction: column;
    }

    .gr-flowers-final-content .gr-flowers-button {
        width: 100%;
    }

}

@media (max-width: 380px) {

    .gr-flowers-intro-content h2,
    .gr-flowers-inspiration-heading h2,
    .gr-flowers-section-heading h2,
    .gr-flowers-care-header h2 {
        font-size: 27px;
    }

    .gr-flowers-image-caption span {
        font-size: 12px;
    }

}


/* =========================================
   GALERIA - GRAMEIRA ROCHA
========================================= */

.gr-gallery-page {
    --gallery-green: #315d3d;
    --gallery-green-dark: #203f2b;
    --gallery-green-light: #eaf0e8;
    --gallery-cream: #f7f6f0;
    --gallery-text: #28332b;
    --gallery-muted: #6e786f;
    color: var(--gallery-text);
}

/* HERO */

.gr-gallery-hero {
    position: relative;
    min-height: 520px;
    display: flex;
    align-items: center;
    background:
        linear-gradient(90deg, rgba(17, 39, 25, .82), rgba(17, 39, 25, .20)),
        url("../images/bg_3.jpg") center 50% / cover no-repeat;
    overflow: hidden;
}

.gr-gallery-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(17, 39, 25, .25), transparent 60%);
}

.gr-gallery-hero-content {
    position: relative;
    z-index: 1;
    width: min(1140px, 90%);
    margin: 0 auto;
    padding: 90px 0;
    color: #fff;
}

.gr-gallery-eyebrow {
    display: inline-block;
    margin-bottom: 16px;
    color: #a9d1a6;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
}

.gr-gallery-hero h1 {
    max-width: 760px;
    margin: 0 0 22px;
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(36px, 5vw, 62px);
    font-weight: 600;
    line-height: 1.15;
}

.gr-gallery-hero p {
    max-width: 560px;
    margin-bottom: 30px;
    color: rgba(255,255,255,.88);
    font-size: 17px;
    line-height: 1.8;
}

.gr-gallery-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 52px;
    padding: 0 27px;
    border: 1px solid var(--gallery-green);
    border-radius: 3px;
    background: var(--gallery-green);
    color: #fff !important;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .3px;
    text-decoration: none !important;
    transition: background .25s ease, transform .25s ease;
}

.gr-gallery-button:hover {
    background: var(--gallery-green-dark);
    border-color: var(--gallery-green-dark);
    color: #fff !important;
    transform: translateY(-3px);
}

/* INTRODUÇÃO */

.gr-gallery-intro {
    padding: 90px 20px;
    background: var(--gallery-cream);
}

.gr-gallery-intro-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 70px;
    max-width: 1140px;
    margin: 0 auto;
}

.gr-gallery-intro .gr-gallery-eyebrow,
.gr-gallery-heading .gr-gallery-eyebrow,
.gr-gallery-cta .gr-gallery-eyebrow {
    color: var(--gallery-green);
}

.gr-gallery-intro h2,
.gr-gallery-heading h2 {
    margin: 0;
    color: var(--gallery-green-dark);
    font-family: 'Poppins', sans-serif;
    font-size: clamp(28px, 3.5vw, 40px);
    font-weight: 600;
    line-height: 1.25;
}

.gr-gallery-intro-inner > p {
    margin: 0;
    color: var(--gallery-muted);
    font-size: 16px;
    line-height: 1.9;
}

/* TÍTULOS DE SEÇÃO */

.gr-gallery-heading {
    max-width: 760px;
    margin: 0 auto 45px;
    text-align: center;
}

.gr-gallery-heading p {
    margin: 14px 0 0;
    color: var(--gallery-muted);
    font-size: 15px;
    line-height: 1.7;
}

/* GALERIA */

.gr-gallery-section {
    padding: 100px 4%;
    background: #fff;
}

.gr-gallery-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-rows: 230px;
    grid-auto-flow: dense;
    gap: 13px;
    max-width: 1500px;
    margin: 0 auto;
}

.gr-gallery-item {
    position: relative;
    display: block;
    min-width: 0;
    overflow: hidden;
    background: var(--gallery-green-light);
    border-radius: 4px;
}

.gr-gallery-item-tall {
    grid-row: span 2;
}

.gr-gallery-item-wide {
    grid-column: span 2;
}

.gr-gallery-item img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 100%;
    object-fit: cover;
    transition: transform .55s ease, filter .4s ease;
}

.gr-gallery-item::after {
    position: absolute;
    inset: 0;
    content: "";
    background: linear-gradient(0deg, rgba(19, 39, 25, .35), transparent 45%);
    opacity: 0;
    transition: opacity .3s ease;
}

.gr-gallery-item:hover img {
    transform: scale(1.07);
    filter: brightness(.88);
}

.gr-gallery-item:hover::after {
    opacity: 1;
}

.gr-gallery-zoom {
    position: absolute;
    z-index: 2;
    right: 17px;
    bottom: 17px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #fff;
    color: var(--gallery-green);
    opacity: 0;
    transform: translateY(8px);
    transition: opacity .3s ease, transform .3s ease;
}

.gr-gallery-item:hover .gr-gallery-zoom {
    opacity: 1;
    transform: translateY(0);
}

/* VÍDEOS */

.gr-gallery-videos {
    padding: 90px 5%;
    background: var(--gallery-cream);
}

.gr-gallery-video-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
    max-width: 1100px;
    margin: 0 auto;
}

.gr-gallery-video {
    overflow: hidden;
    border-radius: 5px;
    background: #17251b;
    box-shadow: 0 12px 35px rgba(25, 45, 30, .12);
}

.gr-gallery-video video {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: contain;
    background: #17251b;
}

/* CTA FINAL */

.gr-gallery-cta {
    position: relative;
    padding: 95px 20px;
    overflow: hidden;
    background:
        linear-gradient(90deg, rgba(28, 58, 37, .94), rgba(28, 58, 37, .80)),
        url("../images/bg_2.jpg") center / cover no-repeat;
    text-align: center;
}

.gr-gallery-cta-content {
    position: relative;
    z-index: 1;
    max-width: 760px;
    margin: 0 auto;
}

.gr-gallery-cta .gr-gallery-eyebrow {
    color: #b9d9b3;
}

.gr-gallery-cta h2 {
    margin: 0 0 18px;
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(29px, 4vw, 43px);
    font-weight: 600;
    line-height: 1.25;
}

.gr-gallery-cta p {
    margin: 0 auto 28px;
    color: rgba(255,255,255,.85);
    font-size: 16px;
    line-height: 1.8;
}

.gr-gallery-button-light {
    border-color: #fff;
    background: #fff;
    color: var(--gallery-green-dark) !important;
}

.gr-gallery-button-light:hover {
    border-color: var(--gallery-green-light);
    background: var(--gallery-green-light);
    color: var(--gallery-green-dark) !important;
}

/* RESPONSIVIDADE */

@media (max-width: 991px) {
    .gr-gallery-hero {
        min-height: 450px;
    }

    .gr-gallery-intro-inner {
        gap: 35px;
    }

    .gr-gallery-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        grid-auto-rows: 210px;
    }
}

@media (max-width: 767px) {
    .gr-gallery-hero {
        min-height: 420px;
        background-position: 60% center;
    }

    .gr-gallery-hero-content {
        padding: 75px 0;
    }

    .gr-gallery-hero h1 {
        font-size: 36px;
    }

    .gr-gallery-hero p {
        font-size: 15px;
    }

    .gr-gallery-intro {
        padding: 65px 22px;
    }

    .gr-gallery-intro-inner {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .gr-gallery-section {
        padding: 70px 15px;
    }

    .gr-gallery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-auto-rows: 175px;
        gap: 9px;
    }

    .gr-gallery-item-wide {
        grid-column: span 2;
    }

    .gr-gallery-videos {
        padding: 70px 18px;
    }

    .gr-gallery-video-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .gr-gallery-cta {
        padding: 75px 22px;
    }
}

@media (max-width: 380px) {
    .gr-gallery-hero h1 {
        font-size: 31px;
    }

    .gr-gallery-grid {
        grid-auto-rows: 145px;
    }
}

/* LIGHTBOX DA GALERIA */

.gr-lightbox {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 60px 75px;
    background: rgba(10, 18, 12, .95);
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease, visibility .3s ease;
}

.gr-lightbox.active {
    opacity: 1;
    visibility: visible;
}

.gr-lightbox-content {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 100%;
    max-height: 100%;
}

.gr-lightbox-content img {
    display: block;
    max-width: 100%;
    max-height: calc(100vh - 130px);
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 3px;
    box-shadow: 0 15px 50px rgba(0,0,0,.35);
}

.gr-lightbox-counter {
    margin-top: 15px;
    color: rgba(255,255,255,.8);
    font-size: 13px;
    letter-spacing: 1px;
}

.gr-lightbox-close,
.gr-lightbox-prev,
.gr-lightbox-next {
    position: absolute;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 50%;
    background: rgba(255,255,255,.1);
    color: #fff;
    font-size: 18px;
    cursor: pointer;
    transition: background .25s ease, transform .25s ease;
}

.gr-lightbox-close:hover,
.gr-lightbox-prev:hover,
.gr-lightbox-next:hover {
    background: #315d3d;
    transform: scale(1.08);
}

.gr-lightbox-close {
    top: 25px;
    right: 30px;
}

.gr-lightbox-prev {
    left: 25px;
}

.gr-lightbox-next {
    right: 25px;
}

body.gr-lightbox-open {
    overflow: hidden;
}

@media (max-width: 600px) {
    .gr-lightbox {
        padding: 65px 15px;
    }

    .gr-lightbox-content img {
        max-height: calc(100vh - 150px);
    }

    .gr-lightbox-close {
        top: 15px;
        right: 15px;
    }

    .gr-lightbox-prev,
    .gr-lightbox-next {
        width: 40px;
        height: 40px;
        font-size: 14px;
    }

    .gr-lightbox-prev {
        left: 8px;
    }

    .gr-lightbox-next {
        right: 8px;
    }
}


/* =========================================================
   GRAMEIRA ROCHA
   PROJETO E IMPLANTAÇÃO DE JARDINS
========================================================= */

/* HERO */
.gr-project-hero {
    background-image:
        linear-gradient(90deg, rgba(13, 35, 23, .82), rgba(13, 35, 23, .28)),
        url("../images/grameira-rocha-hero-01-jardim.png");
    background-position: center;
    background-size: cover;
}

.gr-project-hero .gr-services-hero-content {
    max-width: 820px;
}

.gr-project-hero h1 {
    max-width: 780px;
}

.gr-project-hero .gr-services-hero-content > p {
    max-width: 650px;
}

/* APRESENTAÇÃO */
.gr-project-intro {
    padding-top: 110px;
    padding-bottom: 110px;
}

.gr-project-intro .gr-services-intro-image {
    position: relative;
}

.gr-project-intro .gr-services-intro-image img {
    width: 100%;
    min-height: 470px;
    object-fit: cover;
    border-radius: 5px;
}

.gr-project-intro .gr-services-intro-content {
    max-width: 570px;
}

.gr-project-intro .gr-services-intro-content h2 {
    max-width: 540px;
}

/* POSSIBILIDADES */
.gr-project-possibilities {
    padding: 110px 0;
    background: #f5f7f2;
}

.gr-project-possibilities .gr-services-heading {
    margin-bottom: 55px;
}

.gr-project-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
}

.gr-project-card {
    background: #fff;
    border-radius: 6px;
    overflow: hidden;
    transition: transform .3s ease, box-shadow .3s ease;
}

.gr-project-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 18px 40px rgba(25, 48, 31, .10);
}

.gr-project-card-image {
    height: 270px;
    overflow: hidden;
}

.gr-project-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}

.gr-project-card:hover .gr-project-card-image img {
    transform: scale(1.05);
}

.gr-project-card-content {
    padding: 30px 28px 34px;
}

.gr-project-card-content h3 {
    margin: 12px 0 14px;
    color: #203d2c;
    font-family: 'Poppins', sans-serif;
    font-size: 21px;
    line-height: 1.35;
    font-weight: 600;
}

.gr-project-card-content p {
    margin: 0;
    color: #68736a;
    font-size: 15px;
    line-height: 1.8;
}

/* ELEMENTOS DO JARDIM */
.gr-project-elements {
    padding: 110px 0;
    background: #fff;
}

.gr-project-elements-heading {
    max-width: 760px;
    margin: 0 auto 55px;
    text-align: center;
}

.gr-project-elements-heading h2 {
    margin: 12px 0 18px;
    color: #203d2c;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(28px, 3.2vw, 40px);
    line-height: 1.25;
    font-weight: 600;
}

.gr-project-elements-heading > p {
    max-width: 650px;
    margin: 0 auto;
    color: #68736a;
    line-height: 1.8;
}

.gr-project-elements-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.gr-project-element {
    padding: 35px 25px;
    background: #f6f8f4;
    border-bottom: 3px solid #6c914e;
    transition: transform .3s ease, background .3s ease;
}

.gr-project-element:hover {
    transform: translateY(-5px);
    background: #eef3e9;
}

.gr-project-element-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    margin-bottom: 23px;
    border-radius: 50%;
    background: #e2ecd9;
    color: #527b3c;
    font-size: 23px;
}

.gr-project-element h3 {
    margin: 0 0 12px;
    color: #203d2c;
    font-family: 'Poppins', sans-serif;
    font-size: 18px;
    font-weight: 600;
}

.gr-project-element p {
    margin: 0;
    color: #68736a;
    font-size: 14px;
    line-height: 1.8;
}

/* ETAPAS DO TRABALHO */
.gr-project-process {
    padding: 110px 0;
    background: #f5f7f2;
}

.gr-project-process-layout {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    align-items: center;
    gap: 90px;
}

.gr-project-process-heading h2 {
    margin: 13px 0 20px;
    color: #203d2c;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(28px, 3vw, 40px);
    line-height: 1.25;
    font-weight: 600;
}

.gr-project-process-heading > p {
    margin-bottom: 30px;
    color: #68736a;
    line-height: 1.85;
}

.gr-project-process-list {
    border-top: 1px solid #dce4d7;
}

.gr-project-process-item {
    display: flex;
    gap: 25px;
    padding: 28px 0;
    border-bottom: 1px solid #dce4d7;
}

.gr-project-process-number {
    flex-shrink: 0;
    color: #729451;
    font-family: 'Poppins', sans-serif;
    font-size: 28px;
    line-height: 1;
    font-weight: 600;
}

.gr-project-process-item h3 {
    margin: 0 0 9px;
    color: #203d2c;
    font-family: 'Poppins', sans-serif;
    font-size: 19px;
    font-weight: 600;
}

.gr-project-process-item p {
    margin: 0;
    color: #68736a;
    font-size: 14px;
    line-height: 1.8;
}

/* DIFERENCIAIS */
.gr-project-differentials {
    padding-top: 110px;
    padding-bottom: 110px;
}

/* PRODUTOS RELACIONADOS */
.gr-project-products {
    padding-top: 100px;
    padding-bottom: 110px;
}

/* REGIÃO */
.gr-project-region {
    background-position: center;
    background-size: cover;
}

/* CTA FINAL */
.gr-project-final-cta {
    padding-top: 85px;
    padding-bottom: 85px;
}

/* =========================================================
   RESPONSIVIDADE
========================================================= */

@media (max-width: 991px) {

    .gr-project-intro,
    .gr-project-possibilities,
    .gr-project-elements,
    .gr-project-process,
    .gr-project-differentials {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .gr-project-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gr-project-elements-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gr-project-process-layout {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .gr-project-intro .gr-services-intro-image img {
        min-height: 380px;
    }
}

@media (max-width: 767px) {

    .gr-project-intro,
    .gr-project-possibilities,
    .gr-project-elements,
    .gr-project-process,
    .gr-project-differentials {
        padding-top: 65px;
        padding-bottom: 65px;
    }

    .gr-project-cards {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .gr-project-card-image {
        height: 245px;
    }

    .gr-project-card-content {
        padding: 25px 22px 28px;
    }

    .gr-project-elements-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .gr-project-element {
        padding: 27px 23px;
    }

    .gr-project-elements-heading {
        margin-bottom: 35px;
        text-align: left;
    }

    .gr-project-process-layout {
        gap: 35px;
    }

    .gr-project-process-item {
        gap: 18px;
        padding: 23px 0;
    }

    .gr-project-process-number {
        font-size: 24px;
    }

    .gr-project-intro .gr-services-intro-image img {
        min-height: 300px;
    }

    .gr-project-final-cta {
        padding-top: 65px;
        padding-bottom: 65px;
    }
}

@media (max-width: 480px) {

    .gr-project-card-image {
        height: 220px;
    }

    .gr-project-element-icon {
        width: 50px;
        height: 50px;
        font-size: 20px;
    }

    .gr-project-process-item h3 {
        font-size: 17px;
    }
}


/* =========================================================
   GRAMEIRA ROCHA
   MANUTENÇÃO DE JARDINS
========================================================= */

/* HERO */
.gr-maintenance-hero {
    background-image:
        linear-gradient(90deg, rgba(13, 35, 23, .84), rgba(13, 35, 23, .30)),
        url("../images/grameira-rocha-hero-02-manutencao-jardim.png");
    background-position: center;
    background-size: cover;
}

.gr-maintenance-hero .gr-services-hero-content {
    max-width: 850px;
}

.gr-maintenance-hero h1 {
    max-width: 790px;
}

.gr-maintenance-hero .gr-services-hero-content > p {
    max-width: 680px;
}

/* APRESENTAÇÃO */
.gr-maintenance-intro {
    padding-top: 110px;
    padding-bottom: 110px;
}

.gr-maintenance-intro .gr-services-intro-image img {
    width: 100%;
    min-height: 470px;
    object-fit: cover;
    border-radius: 5px;
}

.gr-maintenance-intro .gr-services-intro-content {
    max-width: 570px;
}

/* IMPORTÂNCIA DA MANUTENÇÃO */
.gr-maintenance-importance {
    padding: 110px 0;
    background: #f5f7f2;
}

.gr-maintenance-heading {
    max-width: 760px;
    margin: 0 auto 55px;
    text-align: center;
}

.gr-maintenance-heading h2 {
    margin: 12px 0 18px;
    color: #203d2c;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(28px, 3.2vw, 40px);
    line-height: 1.25;
    font-weight: 600;
}

.gr-maintenance-heading > p {
    max-width: 680px;
    margin: 0 auto;
    color: #68736a;
    line-height: 1.8;
}

.gr-maintenance-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
}

.gr-maintenance-card {
    background: #fff;
    border-radius: 6px;
    overflow: hidden;
    transition: transform .3s ease, box-shadow .3s ease;
}

.gr-maintenance-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 18px 40px rgba(25, 48, 31, .10);
}

.gr-maintenance-card-image {
    height: 270px;
    overflow: hidden;
}

.gr-maintenance-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}

.gr-maintenance-card:hover .gr-maintenance-card-image img {
    transform: scale(1.05);
}

.gr-maintenance-card-content {
    padding: 30px 28px 34px;
}

.gr-maintenance-card-content h3 {
    margin: 12px 0 14px;
    color: #203d2c;
    font-family: 'Poppins', sans-serif;
    font-size: 21px;
    line-height: 1.35;
    font-weight: 600;
}

.gr-maintenance-card-content p {
    margin: 0;
    color: #68736a;
    font-size: 15px;
    line-height: 1.8;
}

/* CUIDADOS COM O JARDIM */
.gr-maintenance-care {
    padding: 110px 0;
    background: #fff;
}

.gr-maintenance-care-layout {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    align-items: center;
    gap: 85px;
}

.gr-maintenance-care-heading h2 {
    margin: 13px 0 20px;
    color: #203d2c;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(28px, 3vw, 40px);
    line-height: 1.25;
    font-weight: 600;
}

.gr-maintenance-care-heading > p {
    color: #68736a;
    line-height: 1.85;
}

.gr-maintenance-care-list {
    border-top: 1px solid #e0e7dc;
}

.gr-maintenance-care-item {
    display: flex;
    align-items: flex-start;
    gap: 22px;
    padding: 25px 0;
    border-bottom: 1px solid #e0e7dc;
}

.gr-maintenance-care-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #eaf1e5;
    color: #527b3c;
    font-size: 21px;
}

.gr-maintenance-care-item h3 {
    margin: 2px 0 8px;
    color: #203d2c;
    font-family: 'Poppins', sans-serif;
    font-size: 18px;
    font-weight: 600;
}

.gr-maintenance-care-item p {
    margin: 0;
    color: #68736a;
    font-size: 14px;
    line-height: 1.8;
}

/* SINAIS DE NECESSIDADE DE MANUTENÇÃO */
.gr-maintenance-signs {
    padding: 100px 0;
    background: #f5f7f2;
}

.gr-maintenance-signs-content {
    max-width: 1000px;
    margin: 0 auto;
}

.gr-maintenance-signs-heading {
    max-width: 760px;
    margin-bottom: 40px;
}

.gr-maintenance-signs-heading h2 {
    margin: 12px 0 18px;
    color: #203d2c;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(28px, 3vw, 40px);
    line-height: 1.25;
    font-weight: 600;
}

.gr-maintenance-signs-heading p {
    color: #68736a;
    line-height: 1.8;
}

.gr-maintenance-signs-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.gr-maintenance-sign {
    display: flex;
    align-items: center;
    gap: 15px;
    min-height: 76px;
    padding: 20px 23px;
    background: #fff;
    border-radius: 5px;
    color: #445448;
    font-size: 15px;
    line-height: 1.6;
}

.gr-maintenance-sign i {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #e6efdf;
    color: #527b3c;
    font-size: 13px;
}

.gr-maintenance-signs-note {
    margin: 25px 0 0;
    color: #778078;
    font-size: 13px;
    line-height: 1.7;
}

/* DIFERENCIAIS */
.gr-maintenance-differentials {
    padding-top: 110px;
    padding-bottom: 110px;
}

/* SERVIÇOS RELACIONADOS */
.gr-maintenance-related {
    padding: 110px 0;
    background: #f5f7f2;
}

.gr-maintenance-related-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 35px;
    margin-bottom: 45px;
}

.gr-maintenance-related-heading h2 {
    max-width: 650px;
    margin: 12px 0 0;
    color: #203d2c;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(27px, 3vw, 38px);
    line-height: 1.3;
    font-weight: 600;
}

.gr-maintenance-related-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 25px;
}

.gr-maintenance-related-card {
    position: relative;
    display: block;
    height: 360px;
    overflow: hidden;
    border-radius: 5px;
    color: #fff;
    text-decoration: none;
    background: #203d2c;
}

.gr-maintenance-related-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(10, 27, 17, .90),
        rgba(10, 27, 17, .05) 75%
    );
    z-index: 1;
}

.gr-maintenance-related-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}

.gr-maintenance-related-card:hover img {
    transform: scale(1.07);
}

.gr-maintenance-related-card > div {
    position: absolute;
    z-index: 2;
    left: 25px;
    right: 25px;
    bottom: 25px;
}

.gr-maintenance-related-card > div span {
    display: block;
    margin-bottom: 10px;
    color: #d3e4c8;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.gr-maintenance-related-card h3 {
    margin: 0 0 15px;
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-size: 20px;
    line-height: 1.4;
    font-weight: 600;
}

.gr-maintenance-related-card > div i {
    color: #d3e4c8;
    transition: transform .3s ease;
}

.gr-maintenance-related-card:hover > div i {
    transform: translateX(6px);
}

/* REGIÃO */
.gr-maintenance-region {
    background-position: center;
    background-size: cover;
}

/* CTA FINAL */
.gr-maintenance-final-cta {
    padding-top: 85px;
    padding-bottom: 85px;
}

/* =========================================================
   RESPONSIVIDADE
========================================================= */

@media (max-width: 991px) {

    .gr-maintenance-intro,
    .gr-maintenance-importance,
    .gr-maintenance-care,
    .gr-maintenance-differentials,
    .gr-maintenance-related {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .gr-maintenance-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gr-maintenance-care-layout {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .gr-maintenance-related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gr-maintenance-intro .gr-services-intro-image img {
        min-height: 380px;
    }
}

@media (max-width: 767px) {

    .gr-maintenance-intro,
    .gr-maintenance-importance,
    .gr-maintenance-care,
    .gr-maintenance-differentials,
    .gr-maintenance-related {
        padding-top: 65px;
        padding-bottom: 65px;
    }

    .gr-maintenance-cards {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .gr-maintenance-card-image {
        height: 245px;
    }

    .gr-maintenance-card-content {
        padding: 25px 22px 28px;
    }

    .gr-maintenance-heading {
        margin-bottom: 35px;
        text-align: left;
    }

    .gr-maintenance-care-layout {
        gap: 30px;
    }

    .gr-maintenance-care-item {
        gap: 16px;
        padding: 21px 0;
    }

    .gr-maintenance-care-icon {
        width: 46px;
        height: 46px;
        font-size: 18px;
    }

    .gr-maintenance-signs {
        padding: 70px 0;
    }

    .gr-maintenance-signs-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .gr-maintenance-sign {
        padding: 17px;
    }

    .gr-maintenance-related-heading {
        display: block;
        margin-bottom: 30px;
    }

    .gr-maintenance-related-heading > a {
        display: inline-block;
        margin-top: 20px;
    }

    .gr-maintenance-related-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .gr-maintenance-related-card {
        height: 300px;
    }

    .gr-maintenance-intro .gr-services-intro-image img {
        min-height: 300px;
    }

    .gr-maintenance-final-cta {
        padding-top: 65px;
        padding-bottom: 65px;
    }
}

@media (max-width: 480px) {

    .gr-maintenance-card-image {
        height: 220px;
    }

    .gr-maintenance-care-item h3 {
        font-size: 17px;
    }

    .gr-maintenance-related-card {
        height: 270px;
    }

    .gr-maintenance-related-card h3 {
        font-size: 18px;
    }
}


/* =====================================================
   GRAMEIRA ROCHA
   CONTROLE DE PRAGAS E ADUBAÇÃO
===================================================== */

/* HERO */
.gr-pest-control-hero {
    background-image:
        linear-gradient(
            90deg,
            rgba(13, 35, 23, 0.88) 0%,
            rgba(13, 35, 23, 0.68) 48%,
            rgba(13, 35, 23, 0.18) 100%
        ),
        url("../images/controle-pragas-adubacao.png");
    background-position: center;
    background-size: cover;
}

.gr-pest-control-hero .gr-services-hero-content {
    max-width: 760px;
}

.gr-pest-control-hero .gr-eyebrow {
    color: #c8e5b5;
}

.gr-pest-control-hero h1 {
    max-width: 740px;
}

.gr-pest-control-hero .gr-breadcrumb {
    margin-top: 38px;
}


/* APRESENTAÇÃO */
.gr-pest-intro {
    padding: 110px 0;
    background: #fff;
}

.gr-pest-intro .gr-services-intro-grid {
    align-items: center;
    gap: 75px;
}

.gr-pest-intro .gr-services-intro-image {
    position: relative;
}

.gr-pest-intro .gr-services-intro-image img {
    width: 100%;
    height: 540px;
    object-fit: cover;
    border-radius: 5px;
}

.gr-pest-intro .gr-services-intro-content {
    max-width: 570px;
}

.gr-pest-intro .gr-section-kicker {
    color: #6b963f;
}

.gr-pest-intro h2 {
    color: #243a2c;
    font-size: clamp(30px, 3.2vw, 43px);
    line-height: 1.2;
    font-weight: 700;
    margin: 15px 0 25px;
}

.gr-pest-intro p {
    color: #69736c;
    font-size: 16px;
    line-height: 1.9;
    margin-bottom: 17px;
}


/* IMPORTÂNCIA DOS CUIDADOS */
.gr-pest-importance {
    padding: 105px 0;
    background: #f5f7f1;
}

.gr-pest-heading {
    max-width: 760px;
    margin: 0 auto 55px;
    text-align: center;
}

.gr-pest-heading .gr-section-kicker {
    color: #729b49;
}

.gr-pest-heading h2 {
    color: #263d2d;
    font-size: clamp(29px, 3vw, 42px);
    line-height: 1.2;
    margin: 15px 0 20px;
}

.gr-pest-heading > p {
    color: #707a72;
    font-size: 16px;
    line-height: 1.8;
}

.gr-pest-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.gr-pest-card {
    background: #fff;
    padding: 38px 32px;
    border-radius: 8px;
    min-height: 310px;
    border: 1px solid #e8ede4;
    transition: transform .3s ease, box-shadow .3s ease;
}

.gr-pest-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 16px 35px rgba(35, 65, 43, .09);
}

.gr-pest-card-icon {
    width: 58px;
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #edf4e6;
    color: #648d3d;
    border-radius: 50%;
    font-size: 23px;
    margin-bottom: 27px;
}

.gr-pest-card .gr-service-category {
    color: #78994e;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.3px;
}

.gr-pest-card h3 {
    color: #293e30;
    font-size: 22px;
    line-height: 1.3;
    margin: 12px 0;
}

.gr-pest-card p {
    color: #707970;
    font-size: 15px;
    line-height: 1.8;
    margin: 0;
}


/* SINAIS DE ATENÇÃO */
.gr-pest-signs {
    padding: 110px 0;
    background: #fff;
}

.gr-pest-signs-layout {
    display: grid;
    grid-template-columns: .95fr 1.05fr;
    align-items: center;
    gap: 85px;
}

.gr-pest-signs-content .gr-section-kicker {
    color: #729b49;
}

.gr-pest-signs-content h2 {
    color: #263d2d;
    font-size: clamp(30px, 3.2vw, 43px);
    line-height: 1.2;
    margin: 16px 0 22px;
}

.gr-pest-signs-content > p {
    color: #707970;
    font-size: 16px;
    line-height: 1.9;
    margin-bottom: 25px;
}

.gr-pest-signs-list {
    background: #f5f7f1;
    padding: 35px 38px;
    border-radius: 8px;
}

.gr-pest-sign {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding: 18px 0;
    border-bottom: 1px solid #e1e8dc;
}

.gr-pest-sign:last-child {
    border-bottom: none;
}

.gr-pest-sign i {
    flex: 0 0 25px;
    width: 25px;
    height: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #6e9748;
    color: #fff;
    font-size: 11px;
    border-radius: 50%;
    margin-top: 1px;
}

.gr-pest-sign span {
    color: #4e5c51;
    font-size: 15px;
    line-height: 1.7;
}


/* CUIDADOS E AVALIAÇÃO */
.gr-pest-care {
    padding: 105px 0;
    background: #f5f7f1;
}

.gr-pest-care-heading {
    max-width: 790px;
    margin-bottom: 55px;
}

.gr-pest-care-heading .gr-section-kicker {
    color: #729b49;
}

.gr-pest-care-heading h2 {
    color: #263d2d;
    font-size: clamp(30px, 3vw, 42px);
    line-height: 1.2;
    margin: 15px 0 20px;
}

.gr-pest-care-heading > p {
    color: #707970;
    font-size: 16px;
    line-height: 1.8;
    max-width: 720px;
}

.gr-pest-care-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.gr-pest-care-item {
    display: flex;
    gap: 25px;
    align-items: flex-start;
    padding: 32px;
    background: #fff;
    border-radius: 6px;
    border-left: 3px solid #81a85a;
    transition: transform .3s ease, box-shadow .3s ease;
}

.gr-pest-care-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(35, 65, 43, .07);
}

.gr-pest-care-number {
    color: #82a65d;
    font-size: 27px;
    font-weight: 700;
    line-height: 1;
    min-width: 38px;
}

.gr-pest-care-item h3 {
    color: #2d4333;
    font-size: 19px;
    margin: 0 0 10px;
}

.gr-pest-care-item p {
    color: #707970;
    font-size: 14px;
    line-height: 1.8;
    margin: 0;
}


/* DIFERENCIAIS */
.gr-pest-differentials {
    padding-top: 105px;
    padding-bottom: 105px;
    background: #fff;
}

.gr-pest-differentials .gr-differentials-heading h2 {
    color: #263d2d;
}

.gr-pest-differentials .gr-differential-number {
    color: #789c50;
}


/* SERVIÇOS RELACIONADOS */
.gr-pest-related {
    padding: 100px 0;
    background: #f5f7f1;
}

.gr-pest-related-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 30px;
    margin-bottom: 45px;
}

.gr-pest-related-heading .gr-section-kicker {
    color: #729b49;
}

.gr-pest-related-heading h2 {
    max-width: 650px;
    color: #263d2d;
    font-size: clamp(28px, 3vw, 39px);
    line-height: 1.2;
    margin: 14px 0 0;
}

.gr-pest-related-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.gr-pest-related-card {
    display: block;
    position: relative;
    overflow: hidden;
    background: #263d2d;
    min-height: 350px;
    border-radius: 6px;
    text-decoration: none;
}

.gr-pest-related-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(12, 29, 19, .92) 0%,
        rgba(12, 29, 19, .25) 65%,
        rgba(12, 29, 19, .05) 100%
    );
    z-index: 1;
}

.gr-pest-related-card img {
    width: 100%;
    height: 350px;
    object-fit: cover;
    transition: transform .5s ease;
}

.gr-pest-related-card:hover img {
    transform: scale(1.06);
}

.gr-pest-related-card > div {
    position: absolute;
    z-index: 2;
    left: 25px;
    right: 25px;
    bottom: 25px;
    color: #fff;
}

.gr-pest-related-card > div > span {
    display: block;
    color: #d2e5c3;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 9px;
}

.gr-pest-related-card h3 {
    color: #fff;
    font-size: 21px;
    line-height: 1.35;
    margin: 0 0 12px;
}

.gr-pest-related-card > div > i {
    color: #d2e5c3;
    font-size: 17px;
    transition: transform .3s ease;
}

.gr-pest-related-card:hover > div > i {
    transform: translateX(6px);
}


/* REGIÃO */
.gr-pest-region {
    background: #294832;
}

.gr-pest-region .gr-section-kicker {
    color: #c7dfb4;
}

.gr-pest-region h2 {
    color: #fff;
}

.gr-pest-region p {
    color: rgba(255, 255, 255, .82);
}


/* CTA FINAL */
.gr-pest-final-cta {
    background: #f0f4eb;
}

.gr-pest-final-cta .gr-section-kicker {
    color: #729b49;
}

.gr-pest-final-cta h2 {
    color: #263d2d;
}

.gr-pest-final-cta p {
    color: #68736b;
}


/* =====================================================
   RESPONSIVIDADE
===================================================== */

@media (max-width: 991px) {

    .gr-pest-intro,
    .gr-pest-importance,
    .gr-pest-signs,
    .gr-pest-care,
    .gr-pest-differentials,
    .gr-pest-related {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .gr-pest-intro .gr-services-intro-grid {
        gap: 45px;
    }

    .gr-pest-intro .gr-services-intro-image img {
        height: 460px;
    }

    .gr-pest-cards {
        grid-template-columns: repeat(2, 1fr);
    }

    .gr-pest-card:last-child {
        grid-column: 1 / -1;
    }

    .gr-pest-signs-layout {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .gr-pest-related-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .gr-pest-related-card:last-child {
        grid-column: 1 / -1;
    }
}


@media (max-width: 767px) {

    .gr-pest-intro,
    .gr-pest-importance,
    .gr-pest-signs,
    .gr-pest-care,
    .gr-pest-differentials,
    .gr-pest-related {
        padding-top: 65px;
        padding-bottom: 65px;
    }

    .gr-pest-intro .gr-services-intro-grid {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .gr-pest-intro .gr-services-intro-image img {
        height: 380px;
    }

    .gr-pest-heading {
        margin-bottom: 35px;
    }

    .gr-pest-cards {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .gr-pest-card,
    .gr-pest-card:last-child {
        grid-column: auto;
        min-height: auto;
        padding: 30px 26px;
    }

    .gr-pest-signs-list {
        padding: 25px 22px;
    }

    .gr-pest-care-grid {
        grid-template-columns: 1fr;
    }

    .gr-pest-care-item {
        padding: 25px 22px;
        gap: 18px;
    }

    .gr-pest-related-heading {
        display: block;
    }

    .gr-pest-related-heading > a {
        display: inline-block;
        margin-top: 22px;
    }

    .gr-pest-related-grid {
        grid-template-columns: 1fr;
    }

    .gr-pest-related-card,
    .gr-pest-related-card:last-child {
        grid-column: auto;
        min-height: 320px;
    }

    .gr-pest-related-card img {
        height: 320px;
    }
}


@media (max-width: 480px) {

    .gr-pest-intro .gr-services-intro-image img {
        height: 310px;
    }

    .gr-pest-intro h2,
    .gr-pest-signs-content h2,
    .gr-pest-care-heading h2 {
        font-size: 29px;
    }

    .gr-pest-care-item {
        gap: 14px;
        padding: 23px 18px;
    }

    .gr-pest-care-number {
        font-size: 23px;
        min-width: 30px;
    }

    .gr-pest-related-card,
    .gr-pest-related-card img {
        min-height: 290px;
        height: 290px;
    }

}

/* CORREÇÃO — DIFERENCIAIS | CONTROLE DE PRAGAS */

.gr-pest-differentials .gr-differentials-list {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.gr-pest-differentials .gr-differential-item {
    display: grid;
    grid-template-columns: 55px 1fr;
    align-items: start;
    gap: 20px;
}

.gr-pest-differentials .gr-differential-item h3 {
    color: #263d2d !important;
    font-size: 19px;
    font-weight: 700;
    margin: 0 0 8px;
}

.gr-pest-differentials .gr-differential-item p {
    color: #707970 !important;
    font-size: 15px;
    line-height: 1.7;
    margin: 0;
}

.gr-pest-differentials .gr-differential-number {
    color: #789c50 !important;
    font-size: 24px;
    font-weight: 700;
}

@media (max-width: 767px) {
    .gr-pest-differentials .gr-differential-item {
        grid-template-columns: 40px 1fr;
        gap: 12px;
    }
}


/* =====================================================
   GRAMEIRA ROCHA | LIMPEZA DE TERRENOS
===================================================== */

/* HERO */
.gr-land-cleaning-hero {
    background-image:
        linear-gradient(
            90deg,
            rgba(13, 35, 23, 0.88) 0%,
            rgba(13, 35, 23, 0.70) 48%,
            rgba(13, 35, 23, 0.20) 100%
        ),
        url("../images/limpeza-terrenos-hero.png");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

/* APRESENTAÇÃO */
.gr-land-cleaning-intro {
    padding: 110px 0;
    background: #ffffff;
}

.gr-land-cleaning-intro .gr-services-intro-grid {
    align-items: center;
    gap: 75px;
}

.gr-land-cleaning-intro .gr-services-intro-image {
    position: relative;
    min-height: 470px;
}

.gr-land-cleaning-intro .gr-services-intro-image img {
    width: 100%;
    height: 470px;
    object-fit: cover;
    border-radius: 5px;
}

.gr-land-cleaning-intro .gr-services-intro-content {
    max-width: 570px;
}

.gr-land-cleaning-intro .gr-services-intro-content h2 {
    color: #263d2d;
    font-size: clamp(30px, 3vw, 42px);
    line-height: 1.2;
    margin-bottom: 24px;
}

.gr-land-cleaning-intro .gr-services-intro-content p {
    color: #68736a;
    font-size: 16px;
    line-height: 1.85;
    margin-bottom: 17px;
}

/* TÍTULOS DAS SEÇÕES */
.gr-land-cleaning-heading,
.gr-land-cleaning-spaces-heading {
    max-width: 760px;
    margin: 0 auto 55px;
    text-align: center;
}

.gr-land-cleaning-heading h2,
.gr-land-cleaning-spaces-heading h2 {
    color: #263d2d;
    font-size: clamp(29px, 3vw, 40px);
    line-height: 1.2;
    margin: 12px 0 18px;
}

.gr-land-cleaning-heading p,
.gr-land-cleaning-spaces-heading p {
    color: #707970;
    font-size: 16px;
    line-height: 1.8;
}

/* IMPORTÂNCIA DA LIMPEZA */
.gr-land-cleaning-importance {
    padding: 105px 0;
    background: #f4f6f1;
}

.gr-land-cleaning-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}

.gr-land-cleaning-card {
    background: #ffffff;
    overflow: hidden;
    border-radius: 7px;
    transition: transform .3s ease, box-shadow .3s ease;
}

.gr-land-cleaning-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 15px 35px rgba(30, 55, 35, .10);
}

.gr-land-cleaning-card-image {
    height: 255px;
    overflow: hidden;
}

.gr-land-cleaning-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}

.gr-land-cleaning-card:hover .gr-land-cleaning-card-image img {
    transform: scale(1.05);
}

.gr-land-cleaning-card-content {
    padding: 28px 27px 32px;
}

.gr-land-cleaning-card-content h3 {
    color: #263d2d;
    font-size: 21px;
    line-height: 1.35;
    margin: 10px 0 13px;
}

.gr-land-cleaning-card-content p {
    color: #707970;
    font-size: 15px;
    line-height: 1.75;
    margin: 0;
}

/* SINAIS DE NECESSIDADE DE LIMPEZA */
.gr-land-cleaning-signs {
    padding: 110px 0;
    background: #ffffff;
}

.gr-land-cleaning-signs-layout {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 90px;
    align-items: center;
}

.gr-land-cleaning-signs-content h2 {
    color: #263d2d;
    font-size: clamp(30px, 3vw, 40px);
    line-height: 1.2;
    margin: 13px 0 20px;
}

.gr-land-cleaning-signs-content p {
    color: #707970;
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 25px;
}

.gr-land-cleaning-signs-list {
    padding: 38px;
    background: #f4f6f1;
    border-radius: 7px;
}

.gr-land-cleaning-sign {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding: 17px 0;
    border-bottom: 1px solid #dfe6dc;
}

.gr-land-cleaning-sign:last-child {
    border-bottom: none;
}

.gr-land-cleaning-sign i {
    color: #78a04e;
    font-size: 16px;
    margin-top: 4px;
}

.gr-land-cleaning-sign span {
    color: #4f5d51;
    font-size: 15px;
    line-height: 1.6;
}

/* DIFERENTES ESPAÇOS */
.gr-land-cleaning-spaces {
    padding: 105px 0;
    background: #263d2d;
}

.gr-land-cleaning-spaces-heading .gr-section-kicker {
    color: #b9d49c;
}

.gr-land-cleaning-spaces-heading h2 {
    color: #ffffff;
}

.gr-land-cleaning-spaces-heading p {
    color: rgba(255, 255, 255, .75);
}

.gr-land-cleaning-spaces-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 55px;
}

.gr-land-cleaning-space {
    display: grid;
    grid-template-columns: 55px 1fr;
    gap: 20px;
    padding: 30px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .17);
}

.gr-land-cleaning-space-number {
    color: #a9ce82;
    font-size: 25px;
    font-weight: 700;
}

.gr-land-cleaning-space h3 {
    color: #ffffff;
    font-size: 19px;
    margin: 0 0 10px;
}

.gr-land-cleaning-space p {
    color: rgba(255, 255, 255, .72);
    font-size: 15px;
    line-height: 1.7;
    margin: 0;
}

/* DIFERENCIAIS */
.gr-land-cleaning-differentials {
    padding: 105px 0;
    background: #f4f6f1;
}

.gr-land-cleaning-differentials .gr-differentials-layout {
    gap: 85px;
}

.gr-land-cleaning-differentials .gr-differentials-heading h2 {
    color: #263d2d;
}

.gr-land-cleaning-differentials .gr-differentials-heading p {
    color: #707970;
}

.gr-land-cleaning-differentials .gr-differential-item {
    display: grid;
    grid-template-columns: 55px 1fr;
    gap: 20px;
    padding: 23px 0;
    border-bottom: 1px solid #dce4d8;
}

.gr-land-cleaning-differentials .gr-differential-number {
    color: #789c50;
    font-size: 25px;
    font-weight: 700;
}

.gr-land-cleaning-differentials .gr-differential-item h3 {
    color: #263d2d !important;
    font-size: 19px;
    margin: 0 0 8px;
}

.gr-land-cleaning-differentials .gr-differential-item p {
    color: #707970 !important;
    font-size: 15px;
    line-height: 1.7;
    margin: 0;
}

/* SERVIÇOS RELACIONADOS */
.gr-land-cleaning-related {
    padding: 105px 0;
    background: #ffffff;
}

.gr-land-cleaning-related-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 30px;
    margin-bottom: 45px;
}

.gr-land-cleaning-related-heading h2 {
    max-width: 650px;
    color: #263d2d;
    font-size: clamp(28px, 3vw, 38px);
    line-height: 1.2;
    margin: 12px 0 0;
}

.gr-land-cleaning-related-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.gr-land-cleaning-related-card {
    position: relative;
    display: block;
    height: 340px;
    overflow: hidden;
    border-radius: 6px;
    text-decoration: none;
}

.gr-land-cleaning-related-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        0deg,
        rgba(13, 35, 23, .94) 0%,
        rgba(13, 35, 23, .10) 85%
    );
    z-index: 1;
}

.gr-land-cleaning-related-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}

.gr-land-cleaning-related-card:hover img {
    transform: scale(1.07);
}

.gr-land-cleaning-related-card > div {
    position: absolute;
    z-index: 2;
    left: 25px;
    right: 25px;
    bottom: 25px;
}

.gr-land-cleaning-related-card span {
    color: #c5dfa9;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.gr-land-cleaning-related-card h3 {
    color: #ffffff;
    font-size: 21px;
    line-height: 1.3;
    margin: 9px 0;
}

.gr-land-cleaning-related-card i {
    color: #ffffff;
    font-size: 17px;
}

/* REGIÃO */
.gr-land-cleaning-region {
    background-image:
        linear-gradient(
            rgba(23, 54, 33, .86),
            rgba(23, 54, 33, .86)
        ),
        url("../images/grameira-rocha-hero-01-jardim.png");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.gr-land-cleaning-region .gr-section-kicker {
    color: #c4dda8;
}

/* CTA FINAL */
.gr-land-cleaning-final-cta {
    background: #edf2e8;
}

.gr-land-cleaning-final-cta .gr-services-final-text h2 {
    color: #263d2d;
}

.gr-land-cleaning-final-cta .gr-services-final-text p {
    color: #68736a;
}

/* =====================================================
   RESPONSIVIDADE
===================================================== */

@media (max-width: 991px) {

    .gr-land-cleaning-intro,
    .gr-land-cleaning-importance,
    .gr-land-cleaning-signs,
    .gr-land-cleaning-spaces,
    .gr-land-cleaning-differentials,
    .gr-land-cleaning-related {
        padding: 80px 0;
    }

    .gr-land-cleaning-intro .gr-services-intro-grid {
        gap: 45px;
    }

    .gr-land-cleaning-signs-layout {
        gap: 45px;
    }

    .gr-land-cleaning-cards {
        gap: 18px;
    }

    .gr-land-cleaning-card-content {
        padding: 23px 20px 27px;
    }

    .gr-land-cleaning-card-content h3 {
        font-size: 19px;
    }

    .gr-land-cleaning-differentials .gr-differentials-layout {
        gap: 45px;
    }

    .gr-land-cleaning-related-card {
        height: 300px;
    }
}

@media (max-width: 767px) {

    .gr-land-cleaning-intro,
    .gr-land-cleaning-importance,
    .gr-land-cleaning-signs,
    .gr-land-cleaning-spaces,
    .gr-land-cleaning-differentials,
    .gr-land-cleaning-related {
        padding: 65px 0;
    }

    .gr-land-cleaning-intro .gr-services-intro-grid,
    .gr-land-cleaning-signs-layout {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .gr-land-cleaning-intro .gr-services-intro-image,
    .gr-land-cleaning-intro .gr-services-intro-image img {
        min-height: 320px;
        height: 320px;
    }

    .gr-land-cleaning-cards {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .gr-land-cleaning-card-image {
        height: 260px;
    }

    .gr-land-cleaning-signs-list {
        padding: 22px;
    }

    .gr-land-cleaning-spaces-grid {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .gr-land-cleaning-space {
        grid-template-columns: 45px 1fr;
        gap: 15px;
    }

    .gr-land-cleaning-related-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .gr-land-cleaning-related-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .gr-land-cleaning-related-card {
        height: 300px;
    }

    .gr-land-cleaning-final-cta .gr-services-final-content {
        flex-direction: column;
        align-items: flex-start;
        gap: 25px;
    }
}

@media (max-width: 480px) {

    .gr-land-cleaning-intro .gr-services-intro-image,
    .gr-land-cleaning-intro .gr-services-intro-image img {
        min-height: 270px;
        height: 270px;
    }

    .gr-land-cleaning-heading h2,
    .gr-land-cleaning-spaces-heading h2,
    .gr-land-cleaning-signs-content h2 {
        font-size: 28px;
    }

    .gr-land-cleaning-card-image {
        height: 225px;
    }

    .gr-land-cleaning-related-card {
        height: 270px;
    }

    .gr-land-cleaning-space h3 {
        font-size: 17px;
    }

    .gr-land-cleaning-differentials .gr-differential-item {
        grid-template-columns: 40px 1fr;
        gap: 12px;
    }
}

.dropdown-menu a.active {
    color: var(--primary-color);
    font-weight: 700;
}

/* =========================================
   BOTÕES FLUTUANTES
   WHATSAPP E VOLTAR AO TOPO
========================================= */

.gr-whatsapp-float,
.gr-back-to-top {
    position: fixed;
    right: 25px;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);
}

/* WhatsApp */

.gr-whatsapp-float {
    bottom: 25px;
    background-color: #25D366;
    color: #ffffff;
    font-size: 29px;
}

.gr-whatsapp-float:hover {
    background-color: #1eae55;
    color: #ffffff;
    transform: translateY(-4px);
}

/* Botão voltar ao topo */

.gr-back-to-top {
    position: fixed;
    right: 25px;
    bottom: 91px;
    width: 54px;
    height: 54px;
    border: none;
    border-radius: 50%;
    background-color: #1f6b43;
    color: #ffffff;
    font-size: 19px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
    visibility: visible;
    transform: none;
    z-index: 9999;
    cursor: pointer;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);
    transition: all 0.3s ease;
}

.gr-back-to-top:hover {
    background-color: #174f32;
    color: #ffffff;
    transform: translateY(-4px);
}

@media (max-width: 767px) {
    .gr-back-to-top {
        right: 16px;
        bottom: 80px;
        width: 50px;
        height: 50px;
    }
}
/* Acessibilidade */

.gr-whatsapp-float:focus-visible,
.gr-back-to-top:focus-visible {
    outline: 3px solid #f3b63f;
    outline-offset: 4px;
}

/* Responsividade */

@media (max-width: 767px) {
    .gr-whatsapp-float,
    .gr-back-to-top {
        right: 16px;
        width: 50px;
        height: 50px;
    }

    .gr-whatsapp-float {
        bottom: 18px;
        font-size: 27px;
    }

    .gr-back-to-top {
        bottom: 80px;
        font-size: 17px;
    }
}