:root {
    --bg: #16243e;
    --surface: #16243e;
    --surface-2: #16243e;
    --text: #eaf0ff;
    --line: rgba(255,255,255,.12);
    --brand: #75b729;
    --radius: 16px;
    --shadow: 0 12px 28px rgba(0,0,0,.25);
}

* {
    box-sizing: border-box;
}

/* Dropdown */
.nav__dropdown {
  position: relative;
}

.nav__dropdown-menu { 
  position: absolute;
  top: 100%;
  left: 0;
  background: #f5f7fb;
  min-width: 180px;
  box-shadow: 0 8px 20px rgba(0,0,0,.15);
  border-radius: 8px;
  padding: 10px 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: .25s ease;
  z-index: 1000;
}

.nav__dropdown-menu a {
  display: block;
  padding: 10px 20px;
  font-family: system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; 
  color: #1f2a37;
  background: #f5f7fb;
  text-decoration: none;
  white-space: nowrap;
}

.nav__dropdown-menu a:hover {
  background: #75b729;
  color: #FFFFFF;
}


/* Mostrar ao passar o rato */
.nav__dropdown:hover .nav__dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}  


/* Mini Slideshow */

.gallery-img {
  cursor: pointer;
  transition: .3s;
}

.gallery-img:hover {
  transform: scale(1.03);
}


/* Fundo do slideshow */
.lightbox {
  display: none;
  position: fixed;
  z-index: 9999;
  inset: 0;
  background: rgba(0,0,0,.9);
  justify-content: center;
  align-items: center;
}


/* imagem grande */
.lightbox img {
  max-width: 85%;
  max-height: 85%;
  border-radius: 10px;
}


/* fechar */
.close {
  position: absolute;
  top: 25px;
  right: 40px;
  font-size: 45px;
  color: white;
  cursor: pointer;
}


/* botões */
.lightbox-prev,
.lightbox-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border: none;
    color: #fff;
    font-size: 55px;
    cursor: pointer;
    z-index: 10000;
}

.lightbox-prev {
    left: 35px;
}

.lightbox-next {
    right: 35px;
}

.lightbox-prev:hover,
.lightbox-next:hover {
    color: #75b729;
}


/* Estilos dos <p> */

.project-info .pt {
    font-family: system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 4px;
}

.project-info .en {
    font-family: system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
    font-size: 12px;
    font-style: italic;
    opacity: 0.65;
    margin-bottom: 18px;
}

.project-info .location {
    margin-top: 15px;
}

/* Fim Estilos dos <p> */


/*  Seletor de Pagina */

.pagination{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:25px;
    margin:80px 0 40px;
}

.pagination p{
    font-size:18px;
    color:#666;
    font-weight:500;
    margin:0;
}

.pages{
    display:flex;
    align-items:center;
    gap:15px;
}

.tab-content 
{ 
    display:none; 
} 

.tab-content.active 
{ 
    display:block; 
}

.pages button{

    width:52px;
    height:52px;

    border-radius:50%;
    border:2px solid #75b729;

    background:#fff;
    color:#17335f;

    font-size:17px;
    font-weight:700;

    cursor:pointer;

    transition:.35s;
}

.pages button:hover{

    background:#75b729;
    color:#fff;

    transform:translateY(-3px);

    box-shadow:0 12px 25px rgba(117,183,41,.25);

}

.pages button.active{

    background:#75b729;
    color:#fff;

    box-shadow:0 10px 25px rgba(117,183,41,.30);

}   

/*Fim Tabs*/

html,
body {
    margin: 0;
    padding: 0;
    font-family: system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
    background: #f5f7fb;
    color: #1f2a37;
}

.container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 18px;
}

.container2 {
    max-width:700px;
    margin: 0 auto;
    padding: 0 18px;
}

.header {
    position: sticky;
    top: 0;
    z-index: 30;
    background: rgba(245,247,251,.92);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(31,42,55,.08);
}

.header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    height: 96px;
}

.brand {
    text-decoration: none;
    display: flex;
    align-items: center;
}

.brand__logo {
    height: 100px;
    max-width: 480px;
    object-fit: contain;
}

.nav {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.nav__link {
    text-decoration: none;
    font-weight: 600;
    color: #1f2a37;
    opacity: .84;
}

.nav__link:hover {
    opacity: 1;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 14px;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 800;
    border: 1px solid transparent;
}

.btn--primary {
    background: var(--brand);
    color: white;
    box-shadow: 0 8px 18px rgba(47,125,50,.22);
}

/*.hero {

    background:
        linear-gradient(
        	180deg, 
        	rgba(11,18,32,.55), 
        	rgba(11,18,32,.75)
        ),
        var(--hero-image);

    background-image: url("../img/banner.jpg");

    background-size: cover;
    background-position: center;
    min-height: 520px;
    display: flex;
    align-items: flex-end;
    color: var(--text);
    filter: brightness(0.6);
}*/

.hero {
    position: relative;
    background-image: url("../img/banner.jpg");
    background-size: cover;
    background-position: center;
    min-height: 420px; /* tamanho do banner */

    display: flex;
    align-items: flex-end;
    color: white;
}

.hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.5);
    pointer-events: none;
}

.hero > * {
    position: relative;
    z-index: 1;
}

.hero2 {
    position: relative;
    background-image: url("../img/banner.jpg");
    background-size: cover;
    background-position: center;
    min-height: 220px; /* tamanho do banner */

    display: flex;
    align-items: flex-end;
    color: white;
}

.hero2::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.5);
    pointer-events: none;
}

.hero2 > * {
    position: relative;
    z-index: 1;
}

.hero__inner {
    padding: 74px 0 44px;
}

.hero h1 {
    font-size: 44px;
    line-height: 1.08;
    margin: 0 0 10px;
    letter-spacing: -.4px;
}

.hero p {
    margin: 0 0 12px;
    color: rgba(234,240,255,.88);
    max-width: 60ch;
}

.badges {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 14px;
}

.badge {
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.16);
    padding: 8px 10px;
    border-radius: 999px;
    font-weight: 650;
    font-size: 13px;
}

.section {
    padding: 54px 0;
}

.section--muted {
    background: linear-gradient(180deg,#f5f7fb,#eef3fb);
}

.split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
    align-items: center;
}

.card {
    background: white;
    border: 1px solid rgba(31,42,55,.10);
    border-radius: var(--radius);
    box-shadow: 0 8px 20px rgba(16,24,40,.06);
    overflow: hidden;
}

.card img {
    width: 100%;
    height: auto;
    display: block;
}

.card.media {
    padding: 10px;
}

.cards {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 14px;
    margin-top: 16px;
}

.cards .card {
    padding: 12px;
}

.cards h3 {
    margin: 10px 0 6px;
    font-size: 16px;
}

.cards p {
    margin: 0;
    color: #4b5563;
    font-size: 14px;
}

.cards .pt {
    font-family: system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
    font-size: 13px;
    font-weight: 500;
    margin-bottom: 4px;
}

.cards .en {
    font-family: system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
    font-size: 11px;
    font-style: italic;
    opacity: 0.65;
    margin-bottom: 18px;
}

.checklist {
    padding-left: 18px;
    margin: 12px 0 0;
}

.checklist li {
    margin: 8px 0;
}

.stats {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 14px;
}

.stat {
    background: linear-gradient(180deg,var(--surface),var(--surface-2));
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 18px;
    color: var(--text);
    box-shadow: var(--shadow);
}

.stat__num {
    font-size: 34px;
    font-weight: 850;
}

.stat__label {
    color: rgba(234,240,255,.82);
}

.contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-top: 16px;
}

.contact-card {
    background: white;
    border: 1px solid rgba(31,42,55,.10);
    border-radius: var(--radius);
    padding: 16px;
}

.map__placeholder {
    min-height: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #4b5563;
    background:
        repeating-linear-gradient(
            45deg,
            #eef3fb,
            #eef3fb 10px,
            #ffffff 10px,
            #ffffff 20px
        );
}

.page .container {
    padding: 42px 18px;
}

.footer {
    background: linear-gradient(180deg,var(--surface),var(--surface-2));
    color: var(--text);
    padding: 32px 0;
    margin-top: 40px;
}

.footer__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.footer__title {
    font-weight: 850;
    margin-bottom: 8px;
}

.footer__muted {
    color: rgba(234,240,255,.78);
    margin: 6px 0;
    font-size: 14px;
}

.footer a {
    color: white;
}

.footer__bottom {
    margin-top: 18px;
    border-top: 1px solid var(--line);
    padding-top: 14px;
    color: rgba(234,240,255,.72);
    font-size: 13px;
}

@media (max-width: 920px) {

    .cards {
        grid-template-columns: repeat(2,1fr);
    }

    .split {
        grid-template-columns: 1fr;
    }

    .contact-grid {
        grid-template-columns: 1fr;
    }

    .hero h1 {
        font-size: 36px;
    }
}

@media (max-width: 520px) {

    .nav {
        display: none;
    }

    .hero__inner {
        padding: 60px 0 32px;
    }

    .hero h1 {
        font-size: 30px;
    }

    .brand__logo {
        height: 58px;
        max-width: 340px;
    }

}

/*=========================================================
                ÁREAS DE ATIVIDADE
=========================================================*/

.portfolio-categories{
    margin-top:40px;
}


/*--------------------- Título ----------------------*/

.section-title{

    display:flex;
    align-items:center;
    justify-content:center;
    gap:25px;
    margin-bottom:20px;

}

.section-title h2{

    font-size:36px;
    margin:0;
    color:#1f2a37;

}

.section-line{

    width:90px;
    height:3px;
    background:#75b729;
    border-radius:30px;
    position:relative;
    top:22px;   /* experimenta 3px, 4px ou 5px */

}

.section-text{

    text-align:center;
    max-width:700px;
    margin:0 auto 50px;
    color:#666;
    font-size:17px;
    line-height:1.8;

}


/*--------------------- GRID ----------------------*/

.category-grid{

    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;

}


/*--------------------- CARTÃO ----------------------*/

.category-card{

    position:relative;
    overflow:hidden;
    border-radius:18px;
    text-decoration:none;
    height:420px;
    box-shadow:0 12px 30px rgba(0,0,0,.12);
    transition:.4s ease;

}

.category-card::before{

    content:"";
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.15);
    z-index:1;
    transition:.35s;

}

.category-card:hover{

    transform:translateY(-8px);
    box-shadow:0 20px 45px rgba(0,0,0,.20);

}


/*--------------------- FOTO ----------------------*/

.category-card img{

    width:100%;
    height:100%;
    object-fit:cover;
    filter:brightness(.9);
    transition:.35s;

}

.category-card:hover img{

    transform:scale(1.08);
    filter:brightness(1);

}


/*--------------------- BARRA DE BAIXO ----------------------*/

.category-info{

    position:absolute;
    left:15px;
    right:15px;
    bottom:15px;
    padding:18px;
    border-radius:15px;
    background:rgba(20,20,20,.55);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    color:white;
    transition:.35s;

}

.category-card:hover .category-info{

    background:rgba(20,20,20,.72);

}


/*--------------------- TÍTULO ----------------------*/

.category-title{

    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:10px;

}

.category-title h3{

    margin:0;
    font-size:18px;
    letter-spacing:1px;
    transition:.3s;
    white-space: nowrap;

}

.category-title span{

    font-size:28px;
    opacity:0;
    transform:translateX(-12px);
    color:#75b729;
    transition:.35s;

}


/*--------------------- TEXTO ----------------------*/

.category-info p{

    margin:0;
    color:#ddd;
    line-height:1.5;
    font-size:14px;

}


/*--------------------- HOVER ----------------------*/

.category-card:hover .category-title h3{

    color:#75b729;

}

.category-card:hover .category-title span{

    opacity:1;

    transform:translateX(0);

}


/*--------------------- RESPONSIVO ----------------------*/

@media(max-width:1200px){

    .category-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:700px){

    .category-grid{

        grid-template-columns:1fr;

    }

}

/*=========================================================
                PROJETOS EM DESTAQUE
=========================================================*/

.portfolio-featured{

    margin-top:100px;

}

.portfolio-cards{

    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:35px;
}

.portfolio-card{

    background:#fff;
    border-radius:18px;
    overflow:hidden;
    cursor:pointer;
    border-top:5px solid #75b729;
    box-shadow:0 12px 30px rgba(0,0,0,.10);
    transition:
        opacity .7s ease,
        transform .6s ease,
        box-shadow .35s ease;
    opacity:0;
    transform:translateY(40px);
}

.portfolio-card.show{

    opacity:1;
    transform:translateY(0);
}

.portfolio-card:hover{

    transform:translateY(-8px);
    box-shadow:0 20px 40px rgba(0,0,0,.18);
}

.portfolio-card img{

    width:100%;
    height:300px;
    object-fit:cover;
    transition:.6s;
}

.portfolio-card:hover img{

    transform:scale(1.08);
}

.portfolio-content{

    padding:25px;

}

.portfolio-content h3{

    margin:0 0 12px;
    font-size:24px;
    transition:.3s;

}

.portfolio-card:hover h3{

    color:#75b729;

}

.portfolio-content p{

    color:#666;
    line-height:1.7;
    margin-bottom:25px;

}

.portfolio-content span{

    font-weight:700;
    color:#75b729;
    transition:.3s;

}

.portfolio-card:hover span{

    letter-spacing:1px;

}

@media(max-width:900px){

    .portfolio-cards{

        grid-template-columns:1fr;

    }

}

/* =======================================================
   TÍTULO DA PÁGINA
======================================================= */

.page-title{

    display:flex;
    align-items:center;
    justify-content:center;
    gap:20px;

    margin:40px 0 30px;

}

.page-title span{

    flex:1;
    max-width:120px;
    height:3px;
    background:#75b729;
    border-radius:20px;

}

.page-title h1{

    margin:0;
    font-size:44px;      /* semelhante ao resto do site */
    font-weight:700;     /* menos pesado */
    color:#16243e;
    letter-spacing:-0.5px;

}

/* ==========================================================
   FOOTER
   ========================================================== */

/* Linha verde superior */

.footer-top-line{

    width:100%;

    height:4px;

    background:#75b729;

}

/* Container do Footer */

.footer-container {
     width:82%;
    max-width:1350px;

    margin:0 auto;}


/* Fundo principal */

footer{

    background:linear-gradient(
        135deg,
        #14233e 0%,
        #1b2d4d 100%
    );

    color:#ffffff;

}


/* Conteúdo */

.footer-content{

    display:grid;

    grid-template-columns:1.2fr 1fr 1fr 1.2fr;

    gap:70px;

    padding:65px 0;

}


/* Colunas */

.footer-column{

    display:flex;

    flex-direction:column;

}


/* Títulos */

.footer-column h3{

    margin:0 0 25px;

    font-size:26px;

    font-weight:700;

    position:relative;

}


/* Linha verde debaixo dos títulos */

.footer-column h3::after{

    content:"";

    display:block;

    width:55px;

    height:3px;

    background:#75b729;

    margin-top:10px;

}


/* ==========================================================
   LOGÓTIPO
   ========================================================== */

.footer-logo{

    width:220px;

    margin-bottom:25px;

}


.footer-description{

    font-size:17px;

    line-height:1.8;

    color:rgba(255,255,255,.82);

    max-width:300px;

}


/* ==========================================================
   NAVEGAÇÃO
   ========================================================== */

.footer-column ul{

    list-style:none;

    padding:0;

    margin:0;

}


.footer-column li{

    margin-bottom:16px;

}


/* Links */

.footer-column a{

    color:rgba(255,255,255,.85);

    text-decoration:none;

    transition:.3s;

}


/* Hover */

.footer-column a:hover{

    color:#75b729;

    padding-left:8px;

}


/* ==========================================================
   CONTACTOS
   ========================================================== */

.footer-contact li{

    display:flex;

    align-items:flex-start;

    gap:16px;

    margin-bottom:22px;

    line-height:1.7;

}


/* ==========================================================
   REDES SOCIAIS
   ========================================================== */

.footer-contact i{

    color:#75b729;

    font-size:20px;

    margin-top:4px;

    width:22px;

    transition:.3s;

}

.footer-contact li:hover i{

    transform:scale(1.15);

}


.footer-social{

    margin-top:10px;

    padding-top:30px;

    border-top:1px solid rgba(255,255,255,.12);

    text-align:left;

}

.footer-social span{

    display:block;

    font-size:18px;

    font-weight:600;

    margin-bottom:18px;

}

.footer-social a{

    width:52px;
    height:52px;

    display:flex;

    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:#75b729;

    color:#fff;

    font-size:22px;

    transition:.35s;

}

.footer-social a:hover{

    background:#fff;

    color:#16315c;

    padding-left:0;

    transform:translateY(-3px);

}


/* ==========================================================
   LINHA INFERIOR
   ========================================================== */

.footer-bottom{

    border-top:1px solid rgba(255,255,255,.10);

    padding:22px 0;

    text-align:center;

    color:rgba(255,255,255,.65);

    font-size:15px;

}


/* ==========================================================
   RESPONSIVO
   ========================================================== */

@media(max-width:900px){

    .footer-content{

        grid-template-columns:1fr;

        gap:45px;

        text-align:center;

    }

    .footer-description{

        max-width:none;

        margin:auto;

    }

    .footer-logo{

        margin:auto auto 25px;

    }

    .footer-column h3::after{

        content:"";

        display:block;

        width:55px;

        height:3px;

        background:#75b729;

        margin-top:10px;

        transition:.35s;

    }

    .footer-column:hover h3::after{

        width:80px;

    }

    .footer-contact li{

        justify-content:center;

    }

}

/* ==========================================================
   SEPARADORES ENTRE COLUNAS
========================================================== */

.footer-column{

    position:relative;

}

/* Linha entre Empresa e Navegação */

.footer-column:not(:last-child)::after{

    content:"";

    position:absolute;

    top:10px;

    right:-35px;

    width:1px;

    height:85%;

    background:rgba(255,255,255,.10);

}


/*=========================================
DISTINÇÕES
=========================================*/

.footer-awards{

    border-top:1px solid rgba(255,255,255,.10);
    padding:20px 0 15px;
    text-align:center;

}

.footer-awards h4{

    font-size:22px;
    color:#fff;

    margin:0 0 25px;

}

.footer-awards-list{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:20px;

}

.footer-awards-list img{

    height:75px;      /* antes 90px */

    width:auto;

    transition:.3s;

    opacity:.95;

}

.footer-awards-list img:hover{

    transform:translateY(-3px);

    opacity:1;

}






/* ==========================================================
   HOMEPAGE - HERO PREMIUM
========================================================== */

/* Header transparente na Homepage */

.home-header{

    position:fixed;

    top:0;

    left:0;

    width:100%;

    background:transparent;

    border:none;

    box-shadow:none;

    transition:.35s ease;

}

/* Quando fizer scroll vamos adicionar a classe .scrolled */

.home-header.scrolled{

    background:rgba(245,247,251,.96);

    backdrop-filter:blur(10px);

    box-shadow:0 8px 30px rgba(0,0,0,.08);

    border-bottom:1px solid rgba(0,0,0,.05);

}


/* ==========================================================
   HERO
========================================================== */

.hero-home{

    position:relative;

    min-height:85vh;

    display:flex;

    align-items:center;

    background:url("../img/banner.jpg");

    background-size:cover;

    background-position:center;

    overflow:hidden;

}

.hero-home .container{

    width:100%;
    max-width:1300px;

}


/* Overlay */

.hero-overlay{

    position:absolute;

    inset:0;

    background:linear-gradient(
        90deg,
        rgba(12,23,43,.82) 0%,
        rgba(12,23,43,.55) 45%,
        rgba(12,23,43,.25) 100%
    );

}


/* Conteúdo */

.hero-content{

    position:relative;
    z-index:2;

    max-width:650px;

    margin-left:220px;
    padding-top:20px;

}


/* Pequeno título */

.hero-mini-title{

    display:inline-block;

    margin-bottom:22px;

    color:#75b729;

    letter-spacing:3px;

    font-size:14px;

    font-weight:700;

}


/* Título */

.hero-home h1{

    margin:0;

    color:#fff;

    font-size:68px;

    line-height:1.05;

    font-weight:800;

}


/* Texto */

.hero-home p{

    margin:28px 0 35px;

    font-size:22px;

    line-height:1.8;

    color:rgba(255,255,255,.88);

    max-width:620px;

}


/* ==========================================================
   BOTÕES
========================================================== */

.hero-buttons{

    display:flex;

    gap:18px;

    margin-bottom:40px;

}


/* Botão branco */

.btn--outline{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:10px 18px;

    border-radius:999px;

    text-decoration:none;

    font-weight:700;

    color:#fff;

    border:2px solid rgba(255,255,255,.55);

    transition:.3s;

}

.btn--outline:hover{

    background:#fff;

    color:#16243e;

}


/* ==========================================================
   BADGES
========================================================== */

.hero-badges{

    display:flex;

    gap:16px;

    flex-wrap:wrap;

}


.hero-badges span{

    display:flex;

    align-items:center;

    gap:10px;

    padding:10px 18px;

    border-radius:999px;

    background:rgba(255,255,255,.10);

    border:1px solid rgba(255,255,255,.18);

    color:#fff;

    backdrop-filter:blur(6px);

}


.hero-badges i{

    color:#75b729;

}


/* ==========================================================
   SCROLL
========================================================== */

.scroll-indicator{

    position:absolute;

    bottom:35px;

    left:50%;

    transform:translateX(-50%);

    z-index:3;

    color:#fff;

    font-size:24px;

    animation:scrollBounce 2s infinite;

}


@keyframes scrollBounce{

    0%,100%{

        transform:translate(-50%,0);

    }

    50%{

        transform:translate(-50%,10px);

    }

}


/* ==========================================================
   RESPONSIVO
========================================================== */

@media(max-width:900px){

    .hero-home{

        min-height:70vh;

    }

    .hero-home h1{

        font-size:46px;

    }

    .hero-home p{

        font-size:18px;

    }

    .hero-buttons{

        flex-direction:column;

        align-items:flex-start;

    }

}

/* ==========================================================
   MENU SOBRE O HERO
========================================================== */

.home-header .nav__link{

    color:#fff;

}

.home-header .nav__link:hover{

    color:#75b729;

}

.home-header .brand__logo{

    filter:brightness(0) invert(1);

}

.home-header.scrolled .nav__link{

    color:#24344d;

}

.home-header.scrolled .brand__logo{

    filter:none;

}

/* ==========================================================
   HOME - SOBRE NÓS
========================================================== */

.about-home{

    padding:90px 0;

}

.about-grid{

    align-items:center;

    gap:70px;

}

.about-home.split{
    grid-template-columns: 1fr 1.25fr;
    gap:60px;
    align-items:center;
}

.about-image{
    width:100%;
    height:620px;
    object-fit:cover;
    border-radius:22px;
    display:block;
}

/* pequeno título */

.about-tag{

    display:flex;

    align-items:center;

    gap:16px;

    color:#75b729;

    font-weight:700;

    letter-spacing:2px;

    font-size:14px;

    margin-bottom:24px;

}

.about-tag span{

    width:45px;

    height:3px;

    background:#75b729;

    border-radius:30px;

}

/* título */

.about-content h2{

    font-size:52px;

    line-height:1.12;

    color:#16243e;

    margin:0 0 28px;

    max-width:620px;

}

/* texto */

.about-content p{

    font-size:18px;

    line-height:1.9;

    color:#5d6778;

    margin-bottom:24px;

    max-width:620px;

}

/* caixas */

.about-features{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:18px;

    margin:45px 0;

}

.feature-box{

    background:#fff;

    border:1px solid rgba(0,0,0,.05);

    border-radius:14px;

    padding:22px;

    display:flex;

    align-items:center;

    gap:18px;

    transition:.35s;

    box-shadow:0 8px 25px rgba(0,0,0,.05);

}

.feature-box:hover{

    transform:translateY(-5px);

    box-shadow:0 18px 35px rgba(0,0,0,.10);

}

.feature-icon{

    font-size:34px;

}

.feature-box strong{

    display:block;

    font-size:22px;

    color:#16243e;

}

.feature-box span{

    color:#777;

    font-size:15px;

}

.feature-box i{
    width:48px;
    font-size:30px;
    color:#75b729;
    transition:.35s;
    flex-shrink:0;
}

.feature-box:hover i{
    transform:scale(1.1);
}

/* imagem */

.about-image{

    position:relative;

}

.about-image img{

    width:100%;

    border-radius:22px;

    display:block;

    border-top:5px solid #75b729;

    box-shadow:0 18px 45px rgba(0,0,0,.10);

}

/* botão */

.about-content .btn{

    padding:14px 26px;

    font-size:16px;

}


/*=========================================================
                    SERVIÇOS
=========================================================*/

.services-grid{

    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:28px;

}

.services-grid-bottom{

    margin-top:28px;

    width:75%;

    margin-left:auto;

    margin-right:auto;

    grid-template-columns:repeat(3,1fr);

}

.service-card{

    background:#fff;

    border-radius:20px;

    padding:40px 28px;

    text-align:center;

    border:1px solid rgba(0,0,0,.05);

    box-shadow:0 12px 35px rgba(0,0,0,.08);


}


.service-icon{

    width:95px;
    height:95px;

    margin:0 auto 30px;

    border-radius:50%;

    background:#f1f8ea;

    display:flex;

    align-items:center;

    justify-content:center;

}

.service-icon i{

    font-size:42px;

    color:#75b729;

}

.service-card h3{

    margin:0;

    color:#16243e;

    font-size:26px;

    line-height:1.25;

}

.service-card span{

    display:block;

    width:45px;

    height:3px;

    background:#75b729;

    border-radius:30px;

    margin:20px auto;

}

.service-card p{

    margin:0;

    color:#666;

    font-size:16px;

    line-height:1.8;

}

/* Centralizar a segunda linha (3 cartões) */

.service-card:nth-child(5){

    grid-column:2;

}

.service-card:nth-child(6){

    grid-column:3;

}

.service-card:nth-child(7){

    grid-column:4;

}

@media(max-width:1100px){

    .services-grid{

        grid-template-columns:repeat(2,1fr);

    }

    .service-card:nth-child(5),
    .service-card:nth-child(6),
    .service-card:nth-child(7){

        grid-column:auto;

    }

}

@media(max-width:700px){

    .services-grid{

        grid-template-columns:1fr;

    }

}

/*======================================
CTA
======================================*/

.about-cta-home{
    padding:70px 0;
}

.about-cta-box{
    display:grid;
    grid-template-columns:1.2fr 1fr;
    gap:70px;
    background:
    linear-gradient(rgba(18,35,62,.88),rgba(18,35,62,.88)),
    url("../img/grua.jpg");
    background-size:cover;
    border-radius:22px;
    padding:70px;
    color:#fff;
}

.about-section-mini{
    color:#75b729;
    font-size:13px;
    letter-spacing:2px;
    font-weight:700;
}

.about-cta-left h2{
    font-size:52px;
    margin:20px 0;
    line-height:1.1;
}

.about-cta-left p{
    color:rgba(255,255,255,.82);
    line-height:1.9;
    margin-bottom:35px;
}

.about-cta-right{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:30px;
    align-content:center;
}

.about-cta-item{
    display:flex;
    gap:16px;
    align-items:flex-start;
}

.about-cta-item i{
    font-size:28px;
    color:#75b729;
    margin-top:3px;
}

.about-cta-item strong{
    display:block;
    margin-bottom:8px;
}

.about-cta-item p{
    margin:0;
    color:rgba(255,255,255,.75);
    line-height:1.7;
}

/*======================================
CONTACTOS
======================================*/

.contact-item{

    display:flex;

    gap:18px;

    margin-bottom:28px;

}

.contact-item i{

    width:46px;

    height:46px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#edf7df;

    color:#75b729;

    font-size:18px;

}

.contact-item strong{

    display:block;

    margin-bottom:6px;

}

.contact-item p{

    margin:0;

    color:#555;

    line-height:1.7;

}

/* ======================================
   ESTATÍSTICAS MODERNAS
====================================== */

.stats-section{
    padding:40px 0 70px;
}

.stats-grid{
    display:flex;
    justify-content:center;
    gap:30px;
    flex-wrap:wrap;
}

.stat-card{
    width:290px;
    padding:30px 28px;
    background:linear-gradient(135deg,#16243e,#203454);
    border-radius:16px;
    text-align:center;
    color:#fff;
    box-shadow:0 15px 35px rgba(0,0,0,.22);
    transition:.35s;
}

.stat-icon{
    font-size:34px;
    color:#75b729;
    margin-bottom:18px;
}

.stat-number{
    font-size:48px;
    font-weight:800;
    line-height:1;
    margin-bottom:10px;
}

.stat-title{
    color:#75b729;
    font-size:15px;
    font-weight:700;
    margin-bottom:18px;
}

.stat-card p{
    margin:0;
    font-size:14px;
    line-height:1.7;
    color:rgba(255,255,255,.82);
}

/* ==========================================================
   HERO PÁGINAS INTERIORES
========================================================== */

.hero-page{
    position:relative;
    height:500px;
    display:flex;
    align-items:center;
    background:url("../img/banner.jpg") center center/cover no-repeat;
    overflow:hidden;
}

.hero-page::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(
        90deg,
        rgba(12,23,43,.88) 0%,
        rgba(12,23,43,.60) 45%,
        rgba(12,23,43,.30) 100%
    );
}

.hero-page-content{
    position:relative;
    z-index:2;
    max-width:650px;
    margin-left:-60px;
    padding-top:95px;   /* <- apenas isto */
}

.hero-page .container{
    width:100%;
    max-width:1300px;
}

.hero-page h1{
    margin:0 0 20px;
    font-size:58px;
    line-height:1.05;
    color:#fff;
    font-weight:800;
}

.hero-page p{
    margin:0;
    font-size:20px;
    line-height:1.8;
    color:rgba(255,255,255,.88);
}

.hero-mini-title{
    display:inline-block;
    margin-bottom:20px;
    color:#75b729;
    font-size:14px;
    font-weight:700;
    letter-spacing:3px;
}

/*==========================================================
  QUEM SOMOS
==========================================================*/

.about-company{
    padding:120px 0;
    background:#fff;
}

.about-grid{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:70px;
    align-items:center;
}

.about-content{
    max-width:720px;
}

.section-tag{
    color:#75b729;
    font-size:15px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    margin-bottom:15px;
}

.about-content h2{
    font-size:56px;
    line-height:1.08;
    color:#16243e;
    margin-bottom:25px;
    font-weight:800;
    max-width:620px;
}

.section-line{
    width:70px;
    height:4px;
    background:#75b729;
    border-radius:50px;
    margin-bottom:35px;
}

.about-content p{
    color:#5d6677;
    font-size:17px;
    line-height:1.9;
    margin-bottom:24px;
}

.about-image img{
    width:100%;
    border-radius:18px;
    display:block;
    box-shadow:0 25px 60px rgba(0,0,0,.15);
}

.about-highlights{
    display:flex;
    justify-content:center;
    gap:25px;
    margin-top:45px;
    flex-wrap:wrap;
}

.highlight-card{
    width:320px;
    min-height:220px;
    padding:30px 25px;
    background:#fff;
    border-radius:18px;
    box-shadow:0 15px 35px rgba(0,0,0,.08);
    text-align:center;
    transition:.3s;
}


.highlight-icon{
    width:70px;
    height:70px;
    border-radius:50%;
    background:#eef7e6;
    color:#75b729;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:28px;
    margin:0 auto 20px;
}

.highlight-card h4{
    font-size:30px;
    color:#16243e;
    margin-bottom:8px;
    font-weight:800;
}

.highlight-card span{
    font-size:15px;
    color:#6d7687;
}

/*==========================================================
CTA FINAL
==========================================================*/

.cta-section{
    padding:100px 0 0;
}

.cta-box{
    background:
    linear-gradient(rgba(32,76,15,.82),rgba(32,76,15,.82)),
    url("../img/banner.jpg") center center/cover no-repeat;

    display:grid;
    grid-template-columns:480px 420px 260px;
    justify-content:center;
    align-items:center;
    column-gap:95px;

    padding:20px 60px;
    border-radius:0;
}

.cta-content{
    display:contents;
    flex-direction:column;
    gap:15px;
}

.cta-text{
    display:contents;
    align-items:center;
    gap:40px;
}

.cta-text h2{
    margin:0;
    font-size:40px;
    line-height:1.15;
    color:#fff;
    white-space:nowrap;
}

.cta-text p{
    margin:0;
    max-width:430px;
    color:rgba(255,255,255,.9);
    font-size:17px;
    line-height:1.7;
}

.cta-content span{
    color:#d5f0b4;
    font-size:14px;
    font-weight:700;
    letter-spacing:2px;
}

.cta-button .btn-primary{
    display:inline-flex;
    align-items:center;
    gap:10px;
    background:#75b729;
    color:#fff;
    text-decoration:none;
    padding:16px 34px;
    font-weight:700;
    border-radius:8px;
    transition:.3s;
}

.cta-button .btn-primary:hover{
    background:#659f22;
    transform:translateY(-3px);
}




/*=========================================================
                MISSÃO, VISÃO E VALORES
=========================================================*/

/*==================================================
MISSÃO
==================================================*/

.mission-section{

    padding:100px 0;

}

.mission-grid{

    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center;

}

.mission-content h2{

    font-size:48px;
    color:#142544;
    margin:15px 0 30px;

}

.mission-content p{

    font-size:18px;
    line-height:2;
    color:#5f6775;

}

.mission-image img{

    width:100%;
    border-radius:18px;
    display:block;

}

.mission-highlight{

    margin-top:35px;

    display:flex;
    align-items:center;
    gap:18px;

}

.mission-highlight i{

    width:70px;
    height:70px;

    min-width:70px;
    min-height:70px;

    flex-shrink:0;

    border-radius:50%;

    display:flex;
    justify-content:center;
    align-items:center;

    background:#eef8e3;
    color:#75b729;

    font-size:28px;

}

.mission-highlight span{

    font-weight:700;
    color:#142544;
    font-size:20px;

}

.section-mini-title{

    display:block;

    color:#75b729;

    font-size:14px;

    font-weight:700;

    letter-spacing:2px;

    margin-bottom:15px;

}

.section-divider{

    width:55px;

    height:4px;

    background:#75b729;

    border-radius:20px;

    margin-bottom:20px;

}

/*======================================
VISÃO
======================================*/

.vision-section{
    padding:110px 0;
    background:#edf2f7;
}

.vision-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:90px;
    align-items:center;
}

.vision-content{
    max-width:620px;
}

.vision-content h2{
    margin:0 0 30px;
    font-size:48px;
    color:#142544;
    line-height:1.1;
}

.vision-content p{
    margin:0 0 22px;
    font-size:17px;
    line-height:1.9;
    color:#666;
}

.vision-image img{
    width:100%;
    display:block;
    border-radius:18px;
    object-fit:cover;
}

.vision-highlight{

    margin-top:35px;

    display:flex;
    align-items:center;
    gap:18px;

}

.vision-highlight i{

    width:65px;
    height:65px;

    border-radius:50%;

    background:#eef8e3;

    display:flex;
    justify-content:center;
    align-items:center;

    color:#75b729;

    font-size:28px;

}

.vision-highlight span{

    font-weight:700;
    color:#142544;
    font-size:20px;
    line-height:1.6;

}

.vision-highlight strong{
    display:block;
    margin-bottom:10px;
    font-size:22px;
    color:#142544;
}

.vision-highlight p{
    margin:0;
    font-size:16px;
    line-height:1.8;
    color:#666;
}

/*======================================
VALORES
======================================*/

.values-section{

    padding:110px 0;

}

.values-grid{

    display:grid;
    grid-template-columns:1fr 1fr;
    gap:90px;
    align-items:center;

}

.values-content{

    max-width:620px;

}

.values-content h2{

    margin:0 0 30px;
    font-size:48px;
    color:#142544;
    line-height:1.1;

}

.values-content p{

    margin:0 0 22px;
    font-size:17px;
    line-height:1.9;
    color:#666;

}

.values-image img{

    width:100%;
    display:block;
    border-radius:18px;
    object-fit:cover;

}

.values-highlight{

    margin-top:35px;

    display:flex;
    align-items:center;
    gap:24px;

}

.values-highlight i{

    width:70px;
    height:70px;

    min-width:70px;
    min-height:70px;

    flex-shrink:0;

    border-radius:50%;

    display:flex;
    justify-content:center;
    align-items:center;

    background:#eef8e3;
    color:#75b729;

    font-size:28px;

}

.values-highlight span{

    font-weight:700;
    color:#142544;
    font-size:20px;
    line-height:1.6;

}


/*======================================
 SERVIÇOS
======================================*/


/*======================================
INTRODUÇÃO SERVIÇOS
======================================*/

.services-intro{

    padding:100px 0 0px;

}

.services-intro .container{

    max-width:850px;

}

.services-intro h2{

    margin:0 0 30px;
    font-size:48px;
    line-height:1.15;
    color:#142544;

}

.services-intro p{

    margin:0 auto;
    font-size:18px;
    line-height:1.9;
    color:#666;
    max-width:760px;

}

.services-subtitle{

    margin:25px 0 18px;

    font-size:28px;
    font-weight:700;
    line-height:1.3;

    color:#142544;
    text-align:center;

}

.services-intro .section-text{

    max-width:850px;

}


/*======================================
SERVIÇOS - GRELHA
======================================*/

.container-services{

    max-width:1600px;

}

.services-page-grid-section{

    padding:0 0 10px;

}

.services-page-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

    max-width:1500px;

    margin:0 auto;


}

.services-page-grid-top{

    display:grid;
    grid-template-columns:repeat(4,1fr);

    gap:35px;

    margin-bottom:35px;


}

.services-page-grid-bottom{

    display:grid;
    grid-template-columns:repeat(3,1fr);

    gap:35px;

    width:76%;

    margin:0 auto;

}

.service-page-card{

    background:#fff;

    padding:40px 30px;

    border-radius:18px;

    text-align:center;

    box-shadow:0 10px 35px rgba(0,0,0,.08);

    transition:.35s;

    border:1px solid #eef1f5;

}


.service-page-icon{

    width:90px;
    height:90px;

    margin:0 auto 28px;

    border-radius:50%;

    background:#eef8e3;

    display:flex;

    justify-content:center;

    align-items:center;

}

.service-page-icon i{

    font-size:38px;

    color:#75b729;

}

.service-page-card h3{

    font-size:23px;

    color:#142544;

    margin:0 0 18px;

    line-height:1.35;

}

.service-page-card p{

    margin:0;

    color:#666;

    line-height:1.8;

    font-size:16px;

}


/*======================================
PROCESSO
======================================*/

.process-section{
    padding:90px 0;
}

.process-section .container{
    max-width:1400px;
}

.process-mini{
    display:block;
    text-align:center;
    color:#75b729;
    font-size:13px;
    font-weight:700;
    letter-spacing:2px;
    margin-bottom:12px;
}

.process-title{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:25px;
    margin-bottom:70px;
}

.process-title h2{

    margin:0;

    font-size:42px;

    color:#0f274b;

}

.process-line{

    width:70px;

    height:3px;

    background:#75b729;

    border-radius:20px;

}

.process-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:40px;

    position:relative;

}

.process-grid::before{

    content:"";

    position:absolute;

    top:18px;

    left:12%;

    right:12%;

    border-top:2px dashed #8ec63f;

    z-index:0;

}

.process-item{

    text-align:center;

    position:relative;

    z-index:2;

}

.process-number{

    width:42px;

    height:42px;

    border-radius:50%;

    background:#fff;

    border:2px solid #8ec63f;

    margin:0 auto 18px;

    display:flex;

    justify-content:center;

    align-items:center;

    font-weight:700;

    color:#0f274b;

}

.process-icon{

    width:82px;

    height:82px;

    margin:0 auto 20px;

    border-radius:50%;

    background:#edf8dd;

    display:flex;

    justify-content:center;

    align-items:center;

}

.process-icon i{

    font-size:36px;

    color:#75b729;

}

.process-item h3{

    margin-bottom:15px;

    font-size:24px;

    color:#0f274b;

}

.process-item p{

    color:#666;

    line-height:1.8;

    font-size:16px;

    max-width:240px;

    margin:0 auto;

}


/*======================================
PORTFOLIO
======================================*/

/*======================================
CATEGORIA PORTFÓLIO
======================================*/

.portfolio-category-section{

    padding: 70px 0 60px;

}

.portfolio-header{

    text-align:center;
    max-width:900px;
    margin:0 auto 0px;

}

.portfolio-subtitle{

    display:block;
    color:#75b729;
    text-transform:uppercase;
    letter-spacing:2px;
    font-size:14px;
    font-weight:700;
    margin-bottom:15px;

}

.portfolio-line{

    display:block;
    width:60px;
    height:3px;
    background:#75b729;
    border-radius:30px;
    margin:0 auto 30px;

}

.portfolio-header h2{

    font-size:44px;
    line-height:1.2;
    margin-bottom:25px;

}

.portfolio-header p{

    max-width:760px;
    margin:auto;
    color:#666;
    font-size:19px;
    line-height:1.9;

}

/*======================================
PORTFOLIO OBRAS Habitacionais
======================================*/

/*======================================
PORTFÓLIO - LISTA DE OBRAS
======================================*/

.portfolio-list-section{

    padding:20px 0 100px;

}

.portfolio-list-section .container{

    max-width:1600px;
    width:94%;
    margin:auto;

}

/*=========================
CARD DA OBRA
=========================*/

.portfolio-work{

    display:grid;
    grid-template-columns:58% 42%;

    background:#fff;

    border-radius:24px;
    overflow:hidden;

    box-shadow:0 18px 45px rgba(0,0,0,.08);

    margin-bottom:50px;

    align-items:stretch;

}

.portfolio-work.reverse{

    grid-template-columns:42% 58%;

}

.portfolio-work.reverse .portfolio-work-image{

    order:2;

}

.portfolio-work.reverse .portfolio-work-content{

    order:1;

}

/*=========================
IMAGEM
=========================*/

.portfolio-work-image{

    position:relative;
    overflow:hidden;

    display:flex;

}

.portfolio-work-image a{

    display:flex;
    flex:1;

}

.portfolio-work-image img{

    width:100%;
    height:100%;

    object-fit:cover;

    display:block;


}


/*=========================
OVERLAY
=========================*/

.portfolio-overlay{

    position:absolute;
    inset:0;

    background:rgba(15,39,75,.55);

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;

    opacity:0;

    transition:.35s;

    color:#fff;

}

.portfolio-work-image:hover .portfolio-overlay{

    opacity:1;

}

.portfolio-overlay i{

    font-size:40px;
    margin-bottom:15px;

}

.portfolio-overlay span{

    font-size:17px;
    font-weight:600;

}

/*=========================
CONTEÚDO
=========================*/

.portfolio-work-content{

    display:flex;
    flex-direction:column;
    justify-content:center;

    padding:45px 55px;

}

.portfolio-work-content h2{

    font-size:30px;
    color:#0f274b;

    line-height:1.2;

    margin-bottom:16px;

}

.portfolio-divider{

    width:70px;
    height:3px;

    background:#75b729;

    border-radius:20px;

    margin-bottom:28px;

}

.portfolio-work-content p{

    font-size:18px;
    line-height:1.8;

    color:#666;

    margin-bottom:28px;

}

.portfolio-work-content ul{

    list-style:none;

    padding:0;
    margin:0 0 35px;

}

.portfolio-work-content li{

    display:flex;
    align-items:center;

    gap:14px;

    margin-bottom:16px;

    font-size:17px;
    font-weight:500;

    color:#0f274b;

}

.portfolio-work-content li i{

    color:#75b729;
    width:18px;

}

/*=========================
BOTÃO
=========================*/

.portfolio-btn{

    display:inline-flex;
    align-items:center;
    gap:10px;

    width:max-content;

    padding:15px 28px;

    border:2px solid #75b729;

    border-radius:10px;

    color:#75b729;

    font-weight:700;

    text-decoration:none;

    transition:.3s;

}

.portfolio-btn:hover{

    background:#75b729;
    color:#fff;

}

.portfolio-btn i{

    transition:.3s;

}

.portfolio-btn:hover i{

    transform:translateX(6px);

}

/*=========================
RESPONSIVO
=========================*/

@media(max-width:1200px){

    .portfolio-list-section .container{

        width:95%;

    }

}

@media(max-width:991px){

    .portfolio-work,
    .portfolio-work.reverse{

        grid-template-columns:1fr;

    }

    .portfolio-work.reverse .portfolio-work-image,
    .portfolio-work.reverse .portfolio-work-content{

        order:unset;

    }

    .portfolio-work-image{

        height:320px;

    }

    .portfolio-work-content{

        padding:35px;

    }

}


/*=========================
CONTACTOS
=========================*/

.contact-section{
    padding:90px 0;
}

/* Cabeçalho */

.section-header{
    max-width:850px;
    margin:0 auto 70px;
    text-align:center;
}

.section-subtitle{

    display:block;

    color:#75b729;

    text-transform:uppercase;

    letter-spacing:3px;

    font-size:14px;

    font-weight:700;

    margin-bottom:18px;

}

.section-header h2{

    font-size:52px;

    color:#16315c;

    margin-bottom:20px;

}

.section-header p{

    max-width:760px;

    margin:35px auto 0;

    font-size:20px;

    line-height:1.8;

    color:#5c6577;

}

.section-divider{

    width:70px;
    height:3px;

    background:#75b729;

    border-radius:50px;

    margin:0 auto;

}

.contact-info{
    flex:1;
}

.contact-info h4{
    margin:0 0 8px;
    font-size:22px;
    color:#16315c;
}

.contact-info p{
    margin:0;
    line-height:1.8;
    color:#5b6577;
}

.contact-info a{
    color:#16315c;
    text-decoration:none;
    font-weight:600;
}

.contact-info a:hover{
    color:#75b729;
}

.contact-map iframe{

    width:100%;

    height:100%;

    min-height:640px;

    border:0;

}

.contact-grid{
    
    display:grid;
    grid-template-columns:1fr 1.1fr;
    gap:40px;
    align-items:stretch;

}


/*======================================
CANDIDATURAS ESPONTÂNEAS
======================================*/

.careers-section{
    padding:70px 0;
}

.careers-box{
    display:grid;
    grid-template-columns:1.2fr 1fr;
    gap:70px;
    background:
    linear-gradient(rgba(18,35,62,.88),rgba(18,35,62,.88)),
    url("../img/grua.jpg");
    background-size:cover;
    background-position:center;
    border-radius:22px;
    padding:70px;
    color:#fff;
}

.careers-mini-title{
    color:#75b729;
    font-size:13px;
    letter-spacing:2px;
    font-weight:700;
    text-transform:uppercase;
}

.careers-left h2{
    font-size:52px;
    margin:20px 0;
    line-height:1.1;
}

.careers-left p{
    color:rgba(255,255,255,.82);
    line-height:1.9;
    margin-bottom:35px;
}

.careers-right{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:30px;
    align-content:center;
}

.careers-item{
    display:flex;
    gap:16px;
    align-items:flex-start;
}

.careers-item i{
    font-size:28px;
    color:#75b729;
    margin-top:3px;
}

.careers-item strong{
    display:block;
    margin-bottom:8px;
}

.careers-item p{
    margin:0;
    color:rgba(255,255,255,.75);
    line-height:1.7;
}

.careers-contact{
    margin-top:35px;
}

.careers-contact p{
    margin:10px 0;
}

.careers-contact i{
    color:#75b729;
    width:22px;
}

/* Botão da secção de candidaturas */

.careers-left .btn-primary{

    display:inline-flex;
    align-items:center;
    gap:10px;

    padding:16px 32px;

    background:#75b729;

    color:#fff;

    text-decoration:none;

    border-radius:50px;

    font-weight:700;

    transition:.3s;

}

.careers-left .btn-primary:hover{

    background:#639f22;

    color:#fff;

    transform:translateY(-3px);

}

.careers-left .btn-primary i{

    font-size:15px;

}