/* ── TOKENS ──
   Paleta oficial NOAR. A página inteira usa SOMENTE estas cinco cores.
   As versões *-rgb existem para compor transparências (rgba) sem introduzir
   nenhum tom fora da paleta. */

:root{
    --ocre:#b86618;
    --cinza:#292522;
    --offwhite:#fff2eb;
    --marrom:#703d2c;
    --azul-ceu:#c3d2d6;

    --ocre-rgb:184,102,24;
    --cinza-rgb:41,37,34;
    --offwhite-rgb:255,242,235;
    --marrom-rgb:112,61,44;
    --azul-ceu-rgb:195,210,214;
}

html, body{
    margin:0;
    overflow-x:hidden;
    font-family:'Jost', Arial, sans-serif;
    scroll-behavior:smooth;
    background:var(--cinza);
    color:var(--offwhite);
}

/* ── SECTION 1 — HERO ──
   Coluna vertical: logo colada no topo e o conteúdo centralizado no espaço
   restante, para a seção caber em 100vh sem rolagem. */

.hero-noar{
    position:relative;
    display:flex;
    flex-direction:column;
    min-height:100vh;
    min-height:100svh;
    padding:24px 0 clamp(26px, 4.5vh, 56px);
    overflow:hidden;
}

.hero-noar__bg{
    position:absolute;
    inset:0;
    background:url("images/capa.jpg") center center / cover no-repeat;
    filter:saturate(1.22) contrast(1.05);
    z-index:0;
}

/* Véu: fechado à esquerda (onde vive o texto), aberto ao centro para a fachada
   respirar e fechando de novo à direita como base do formulário. A lavagem de
   azul-céu no topo devolve a tensão fria/quente da identidade. */
.hero-noar__veil{
    position:absolute;
    inset:0;
    z-index:1;
    background:
        linear-gradient(to bottom,
            rgba(var(--azul-ceu-rgb),.14) 0%,
            rgba(var(--azul-ceu-rgb),0) 42%),
        linear-gradient(to right,
            rgba(var(--cinza-rgb),.86) 0%,
            rgba(var(--cinza-rgb),.72) 30%,
            rgba(var(--cinza-rgb),.24) 56%,
            rgba(var(--cinza-rgb),.58) 100%),
        linear-gradient(to bottom,
            rgba(var(--cinza-rgb),.30) 0%,
            rgba(var(--cinza-rgb),0) 40%,
            rgba(var(--cinza-rgb),.42) 100%);
}

.hero-noar__top{
    position:relative;
    z-index:2;
}

.hero-noar__inner{
    position:relative;
    z-index:2;
    flex:1;
    display:flex;
    align-items:center;
    padding-top:clamp(14px, 3vh, 36px);
}

.hero-noar__inner .container{
    width:100%;
}

.hero-logo{
    width:clamp(160px, 13vw, 215px);
    height:auto;
    display:block;
}

.hero-titulo{
    font-size:clamp(2.6rem, 4.8vw, 4.5rem);
    font-weight:200;
    line-height:1.04;
    letter-spacing:-.01em;
    margin:0 0 22px;
    color:var(--offwhite);
}

.hero-titulo em{
    font-style:italic;
    font-weight:300;
}

.hero-sub{
    font-size:clamp(1rem, 1.2vw, 1.1rem);
    font-weight:300;
    line-height:1.62;
    color:rgba(var(--offwhite-rgb),.72);
    max-width:44ch;
    margin:0;
}

/* Bloco de dados: números do empreendimento */

.hero-meta{
    margin-top:clamp(24px, 3.6vh, 38px);
    padding-top:clamp(18px, 2.6vh, 26px);
    border-top:1px solid rgba(var(--offwhite-rgb),.14);
}

/* Reservado: label de apoio (ex.: localização) para reuso nas próximas sections */
.hero-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:9px;
    font-size:.72rem;
    font-weight:400;
    letter-spacing:.2em;
    text-transform:uppercase;
    color:var(--ocre);
    margin-bottom:18px;
}

.hero-eyebrow i{
    font-size:.9rem;
}

.hero-stats{
    display:flex;
    flex-wrap:wrap;
    gap:16px 34px;
}

.hero-stats div{
    display:flex;
    flex-direction:column;
    gap:3px;
}

.hero-stats strong{
    font-size:1.15rem;
    font-weight:300;
    color:var(--offwhite);
    line-height:1;
}

.hero-stats span{
    font-size:.68rem;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--azul-ceu);
}

/* ── Formulário ── */

.hero-form{
    background:rgba(var(--cinza-rgb),.78);
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);
    border:1px solid rgba(var(--offwhite-rgb),.14);
    border-radius:26px;
    padding:clamp(26px, 2.6vw, 38px);
}

.hero-form__titulo{
    font-size:clamp(1.25rem, 1.75vw, 1.6rem);
    font-weight:300;
    line-height:1.3;
    color:var(--offwhite);
    margin:0 0 9px;
}

.hero-form__texto{
    font-size:.9rem;
    font-weight:300;
    line-height:1.6;
    color:rgba(var(--offwhite-rgb),.6);
    margin:0 0 26px;
}

.noar-field{
    margin-bottom:20px;
}

.noar-field label{
    display:block;
    font-size:.66rem;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--azul-ceu);
    margin-bottom:7px;
}

.noar-field input{
    width:100%;
    background:transparent;
    border:0;
    border-bottom:1px solid rgba(var(--offwhite-rgb),.22);
    border-radius:0;
    padding:7px 0 11px;
    font-family:'Jost', Arial, sans-serif;
    font-size:1rem;
    font-weight:300;
    color:var(--offwhite);
    transition:border-color .3s ease;
    appearance:none;
}

.noar-field input::placeholder{
    color:rgba(var(--offwhite-rgb),.3);
}

.noar-field input:focus{
    outline:none;
    border-bottom-color:var(--ocre);
}

.noar-btn{
    width:100%;
    border:0;
    border-radius:999px;
    background:var(--offwhite);
    color:var(--cinza);
    margin-top:6px;
    padding:16px 26px;
    font-family:'Jost', Arial, sans-serif;
    font-size:.78rem;
    font-weight:500;
    letter-spacing:.18em;
    text-transform:uppercase;
    cursor:pointer;
    transition:background .3s ease, transform .3s ease;
}

/* Hover em marrom (e não em ocre): sobre ocre o texto do botão fica com
   contraste ~3.6:1, abaixo do mínimo para texto pequeno. Marrom dá ~8:1. */
.noar-btn:hover{
    background:var(--marrom);
    color:var(--offwhite);
    transform:translateY(-2px);
}

.hero-form__nota{
    font-size:.7rem;
    font-weight:300;
    line-height:1.5;
    color:rgba(var(--offwhite-rgb),.42);
    margin:16px 0 0;
    text-align:center;
}

/* Retorno do envio — some por padrão, o JS liga com a classe de estado */
.hero-form__msg{
    display:none;
    margin:14px 0 0;
    padding:12px 16px;
    border-radius:14px;
    font-size:.8rem;
    font-weight:300;
    line-height:1.5;
    text-align:center;
    color:var(--offwhite);
}

.hero-form__msg--ok{
    display:block;
    background:rgba(var(--azul-ceu-rgb),.16);
    border:1px solid rgba(var(--azul-ceu-rgb),.42);
}

.hero-form__msg--erro{
    display:block;
    background:rgba(var(--ocre-rgb),.18);
    border:1px solid rgba(var(--ocre-rgb),.55);
}

.noar-btn:disabled{
    opacity:.6;
    cursor:wait;
    transform:none;
}

/* ── Indicador de scroll ── */

.hero-scroll{
    position:absolute;
    left:50%;
    bottom:26px;
    transform:translateX(-50%);
    z-index:2;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:7px;
    font-size:.62rem;
    letter-spacing:.2em;
    text-transform:uppercase;
    color:rgba(var(--offwhite-rgb),.45);
    text-decoration:none;
    transition:color .3s ease;
}

.hero-scroll:hover{
    color:var(--offwhite);
}

.hero-scroll i{
    font-size:1rem;
    color:var(--ocre);
    animation:heroFloat 2.4s ease-in-out infinite;
}

@keyframes heroFloat{
    0%, 100% { transform:translateY(0);   opacity:.5; }
    50%      { transform:translateY(5px); opacity:1;  }
}

/* Telas baixas (notebooks): comprime o conteúdo para não passar de 100vh */
@media (min-width:992px) and (max-height:840px){

    .hero-logo{
        width:clamp(140px, 11vw, 178px);
    }

    .hero-titulo{
        font-size:clamp(2.1rem, 3.4vw, 3.1rem);
        margin-bottom:16px;
    }

    .hero-sub{
        font-size:.97rem;
        line-height:1.55;
    }

    .hero-stats strong{
        font-size:1.05rem;
    }

    .hero-form{
        padding:26px;
    }

    .hero-form__titulo{
        font-size:1.3rem;
    }

    .hero-form__texto{
        font-size:.85rem;
        margin-bottom:18px;
    }

    .noar-field{
        margin-bottom:14px;
    }

    .noar-field input{
        padding:5px 0 9px;
    }

    .noar-btn{
        padding:14px 24px;
    }

    .hero-form__nota{
        margin-top:12px;
    }

    .hero-scroll{
        display:none;
    }
}

@media (max-width:991px){

    .hero-noar{
        padding:22px 0 64px;
    }

    .hero-noar__bg{
        background-position:center center;
    }

    .hero-noar__veil{
        background:
            linear-gradient(to bottom,
                rgba(var(--cinza-rgb),.86) 0%,
                rgba(var(--cinza-rgb),.58) 45%,
                rgba(var(--cinza-rgb),.90) 100%);
    }

    .hero-noar__inner{
        align-items:flex-start;
        padding-top:34px;
    }

    /* Respiro entre os números e o formulário */
    .hero-meta{
        margin-bottom:30px;
    }

    .hero-scroll{
        display:none;
    }
}

@media (max-width:575px){

    /* Dois por linha, centralizados */
    .hero-stats{
        justify-content:center;
        gap:20px 24px;
    }

    .hero-stats div{
        flex:0 0 calc(50% - 12px);
        align-items:center;
        text-align:center;
    }
}

/* ── SECTION 2 — CONCEITO ── */

.conceito{
    background:var(--offwhite);
    color:var(--cinza);
    padding:clamp(80px, 11vh, 130px) 0;
}

.conceito-label{
    display:inline-block;
    font-size:.72rem;
    font-weight:500;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--marrom);
    margin-bottom:20px;
}

.conceito-titulo{
    font-size:clamp(1.9rem, 3.2vw, 3rem);
    font-weight:200;
    line-height:1.18;
    letter-spacing:-.01em;
    color:var(--cinza);
    margin:0 0 28px;
}

.conceito-titulo em{
    font-style:italic;
    font-weight:300;
    color:var(--marrom);
}

.conceito-texto{
    font-size:1.02rem;
    font-weight:300;
    line-height:1.75;
    color:rgba(var(--cinza-rgb),.78);
    margin:0 0 1.3rem;
}

.conceito-texto:last-child{
    margin-bottom:0;
}

/* Imagem com bloco marrom deslocado atrás — geometria macia da marca.
   A margem é zerada aqui e não com .m-0 do Bootstrap: aquela classe é
   !important e impediria o respiro extra no empilhado. */
.conceito-figura{
    position:relative;
    margin:0;
}

.conceito-figura::before{
    content:'';
    position:absolute;
    inset:26px -26px -26px 26px;
    background:var(--marrom);
    border-radius:26px;
    z-index:0;
}

.conceito-figura img{
    position:relative;
    z-index:1;
    display:block;
    width:100%;
    height:auto;
    /* O recorte original é muito panorâmico (2.16:1); a proporção abaixo dá mais
       altura à imagem e enquadra melhor a torre. */
    aspect-ratio:5/3;
    object-fit:cover;
    object-position:center;
    border-radius:26px;
}

/* Bloco marrom: a segunda camada do nome */

.conceito-nome{
    background:var(--marrom);
    color:var(--offwhite);
    border-radius:26px;
    padding:clamp(34px, 4.5vw, 62px);
    margin-top:clamp(60px, 8vh, 96px);
}

.conceito-nome .conceito-label{
    color:rgba(var(--offwhite-rgb),.62);
}

.conceito-nome p{
    font-size:clamp(1.05rem, 1.5vw, 1.3rem);
    font-weight:300;
    line-height:1.7;
    color:rgba(var(--offwhite-rgb),.86);
    margin:0;
    max-width:62ch;
}

.conceito-nome__fecho{
    font-size:clamp(1.3rem, 2vw, 1.85rem);
    font-weight:200;
    font-style:italic;
    line-height:1.35;
    color:var(--offwhite);
    margin:0;
    padding-left:38px;
    border-left:1px solid rgba(var(--offwhite-rgb),.22);
}

@media (max-width:991px){

    /* Empilhado, o bloco marrom avança 16px abaixo da foto — a margem já
       desconta isso para o respiro visual ficar de fato maior. */
    .conceito-figura{
        margin-bottom:72px;
    }

    .conceito-figura img{
        aspect-ratio:4/3;
    }

    /* Deslocamento só para baixo: para os lados ele sairia da tela */
    .conceito-figura::before{
        inset:16px 16px -16px 16px;
    }

    /* Sem coluna ao lado, o fecho passa a ser separado por cima */
    .conceito-nome__fecho{
        padding:24px 0 0;
        border-left:0;
        border-top:1px solid rgba(var(--offwhite-rgb),.22);
    }
}

/* ── SECTION 3 — LOCALIZAÇÃO ── */

.local{
    background:var(--cinza);
    color:var(--offwhite);
    padding:clamp(80px, 11vh, 130px) 0;
}

.local-label{
    display:inline-block;
    font-size:.72rem;
    font-weight:500;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--ocre);
    margin-bottom:20px;
}

.local-titulo{
    font-size:clamp(1.9rem, 3.2vw, 3rem);
    font-weight:200;
    line-height:1.18;
    letter-spacing:-.01em;
    color:var(--offwhite);
    margin:0 0 28px;
}

.local-titulo em{
    font-style:italic;
    font-weight:300;
    color:var(--azul-ceu);
}

.local-texto{
    font-size:1.02rem;
    font-weight:300;
    line-height:1.75;
    color:rgba(var(--offwhite-rgb),.72);
    margin:0 0 1.3rem;
}

.local-endereco{
    display:inline-flex;
    align-items:center;
    gap:12px;
    margin-top:14px;
    padding:14px 22px;
    border:1px solid rgba(var(--offwhite-rgb),.18);
    border-radius:999px;
    font-size:.92rem;
    font-weight:300;
    color:var(--offwhite);
}

.local-endereco i{
    color:var(--ocre);
    font-size:1.05rem;
}

.local-figura{
    position:relative;
    margin:0;
}

/* Âncora da lightbox: precisa do raio e do overflow para a imagem não
   escapar dos cantos arredondados no hover. */
.local-zoom{
    display:block;
    position:relative;
    border-radius:26px;
    overflow:hidden;
    cursor:zoom-in;
}

.local-figura img{
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:4/3;
    object-fit:cover;
    transition:transform .5s ease;
}

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

.local-zoom__icone{
    position:absolute;
    right:18px;
    bottom:18px;
    width:46px;
    height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:rgba(var(--cinza-rgb),.7);
    backdrop-filter:blur(6px);
    -webkit-backdrop-filter:blur(6px);
    color:var(--offwhite);
    font-size:1rem;
    transition:background .3s ease;
}

.local-zoom:hover .local-zoom__icone{
    background:var(--ocre);
}

@media (max-width:991px){

    .local-figura{
        margin-bottom:56px;
    }
}

/* ── SECTION 4 — O EMPREENDIMENTO ── */

.empre{
    background:var(--offwhite);
    color:var(--cinza);
    padding:clamp(80px, 11vh, 130px) 0;
}

.empre-label{
    display:inline-block;
    font-size:.72rem;
    font-weight:500;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--marrom);
    margin-bottom:20px;
}

.empre-titulo{
    font-size:clamp(1.9rem, 3.2vw, 3rem);
    font-weight:200;
    line-height:1.18;
    letter-spacing:-.01em;
    margin:0 0 26px;
}

.empre-titulo em{
    font-style:italic;
    font-weight:300;
    color:var(--marrom);
}

.empre-texto{
    font-size:1.02rem;
    font-weight:300;
    line-height:1.75;
    color:rgba(var(--cinza-rgb),.78);
    margin:0;
    text-align:justify;
}

/* Cartões de tipologia */

.tipo-card{
    height:100%;
    padding:clamp(26px, 2.4vw, 36px);
    border:1px solid rgba(var(--cinza-rgb),.14);
    border-radius:26px;
    transition:border-color .3s ease, transform .3s ease;
}

.tipo-card:hover{
    border-color:var(--marrom);
    transform:translateY(-4px);
}

.tipo-card__qtd{
    display:block;
    font-size:2.6rem;
    font-weight:200;
    line-height:1;
    color:var(--marrom);
    margin-bottom:12px;
}

.tipo-card__nome{
    font-size:1.15rem;
    font-weight:400;
    margin:0 0 10px;
}

.tipo-card__desc{
    font-size:.92rem;
    font-weight:300;
    line-height:1.65;
    color:rgba(var(--cinza-rgb),.68);
    margin:0 0 16px;
}

.tipo-card__area{
    display:inline-block;
    font-size:.78rem;
    letter-spacing:.08em;
    color:var(--cinza);
    padding:8px 16px;
    border-radius:999px;
    background:rgba(var(--marrom-rgb),.1);
}

/* Guia de pavimentos */

.pav{
    margin-top:clamp(56px, 7vh, 84px);
    padding-top:clamp(34px, 4vh, 48px);
    border-top:1px solid rgba(var(--cinza-rgb),.14);
}

.pav-item{
    display:flex;
    flex-wrap:wrap;
    gap:6px 28px;
    padding:18px 0;
    border-bottom:1px solid rgba(var(--cinza-rgb),.1);
}

.pav-item:last-child{
    border-bottom:0;
}

.pav-item dt{
    flex:0 0 200px;
    font-size:.95rem;
    font-weight:500;
    color:var(--marrom);
}

.pav-item dd{
    flex:1;
    min-width:240px;
    margin:0;
    font-size:.95rem;
    font-weight:300;
    line-height:1.6;
    color:rgba(var(--cinza-rgb),.72);
}

/* ── SECTION 5 — LAZER E ÁREAS COMUNS ── */

.lazer{
    background:var(--cinza);
    color:var(--offwhite);
    padding:clamp(80px, 11vh, 130px) 0;
    overflow:hidden;
}

.lazer-label{
    display:inline-block;
    font-size:.72rem;
    font-weight:500;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--ocre);
    margin-bottom:20px;
}

.lazer-titulo{
    font-size:clamp(1.9rem, 3.2vw, 3rem);
    font-weight:200;
    line-height:1.18;
    letter-spacing:-.01em;
    color:var(--offwhite);
    margin:0 0 26px;
}

.lazer-titulo em{
    font-style:italic;
    font-weight:300;
    color:var(--azul-ceu);
}

.lazer-texto{
    font-size:1.02rem;
    font-weight:300;
    line-height:1.75;
    color:rgba(var(--offwhite-rgb),.72);
    margin:0;
    text-align:justify;
}

.lazer-grid{
    margin-top:clamp(44px, 6vh, 64px);
}

.lazer-item{
    display:block;
    position:relative;
    border-radius:22px;
    overflow:hidden;
    text-decoration:none;
    cursor:zoom-in;
    height:100%;
}

.lazer-item img{
    display:block;
    width:100%;
    height:100%;
    aspect-ratio:4/3;
    object-fit:cover;
    transition:transform .55s ease;
}

.lazer-item:hover img{
    transform:scale(1.05);
}

/* O item que ocupa a linha inteira: em 4/3 ele ficaria altíssimo no desktop,
   então vira panorâmico. No mobile a largura já é pequena e ele volta ao 4/3. */
@media (min-width:992px){
    .lazer-item--largo img{
        aspect-ratio:3/1;
    }
}

.lazer-item__nome{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    padding:44px 22px 20px;
    font-size:.95rem;
    font-weight:300;
    color:var(--offwhite);
    background:linear-gradient(to top,
        rgba(var(--cinza-rgb),.92) 0%,
        rgba(var(--cinza-rgb),0) 100%);
}

/* Destaque do rooftop */

.rooftop{
    margin-top:clamp(44px, 6vh, 64px);
    padding:clamp(30px, 3.4vw, 48px);
    border:1px solid rgba(var(--offwhite-rgb),.16);
    border-radius:26px;
}

.rooftop p{
    font-size:clamp(1.05rem, 1.5vw, 1.25rem);
    font-weight:300;
    line-height:1.65;
    color:rgba(var(--offwhite-rgb),.82);
    margin:0;
}

.rooftop strong{
    font-weight:300;
    font-style:italic;
    color:var(--offwhite);
}

/* ── SECTION 6 — PLANTAS ── */

.plantas{
    background:var(--offwhite);
    color:var(--cinza);
    padding:clamp(80px, 11vh, 130px) 0;
    overflow:hidden;
}

.plantas-topo{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:26px;
    margin-bottom:clamp(36px, 5vh, 54px);
}

.plantas-nav{
    display:flex;
    gap:10px;
    flex-shrink:0;
}

.plantas-btn{
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(var(--cinza-rgb),.2);
    border-radius:50%;
    background:transparent;
    color:var(--cinza);
    font-size:1rem;
    cursor:pointer;
    transition:background .3s ease, border-color .3s ease, color .3s ease;
}

.plantas-btn:hover{
    background:var(--marrom);
    border-color:var(--marrom);
    color:var(--offwhite);
}

.plantas-btn.swiper-button-disabled{
    opacity:.3;
    pointer-events:none;
}

.plantas-swiper{
    overflow:visible;
}

.planta-card{
    display:block;
    text-decoration:none;
    cursor:zoom-in;
}

.planta-card__img{
    /* As plantas têm proporções diferentes (studio, duplex vertical, duplex
       deitado) — contain evita cortar o desenho. O fundo branco original das
       imagens foi tingido de offwhite na extração, então elas encaixam aqui. */
    background:var(--offwhite);
    border:1px solid rgba(var(--cinza-rgb),.12);
    border-radius:22px;
    overflow:hidden;
    transition:border-color .3s ease;
}

.planta-card:hover .planta-card__img{
    border-color:var(--marrom);
}

.planta-card__img img{
    display:block;
    width:100%;
    aspect-ratio:1/1;
    object-fit:contain;
    padding:10px;
}

.planta-card__info{
    padding:16px 4px 0;
}

.planta-card__nome{
    font-size:1.02rem;
    font-weight:400;
    color:var(--cinza);
    margin:0 0 4px;
}

.planta-card__tipo{
    font-size:.74rem;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--marrom);
}

@media (max-width:991px){

    .empre-cabecalho{
        margin-bottom:44px;
    }

    .pav-item dt{
        flex:0 0 100%;
    }

    .plantas-topo{
        flex-direction:column;
        align-items:flex-start;
    }
}

/* ── LIGHTBOX (GLightbox) ── */

/* O overlay padrão é preto puro; aqui ele usa o cinza da paleta. */
.goverlay{
    background:rgba(var(--cinza-rgb),.95);
}

/* Setas de navegação das galerias (lazer e plantas), na paleta da marca.
   O GLightbox entrega 40x50; sem igualar a largura o "círculo" sai oval. */
.glightbox-container .gnext,
.glightbox-container .gprev{
    width:50px;
    height:50px;
    background:rgba(var(--offwhite-rgb),.1);
    border:1px solid rgba(var(--offwhite-rgb),.22);
    border-radius:50%;
    transition:background .3s ease, border-color .3s ease;
}

.glightbox-container .gnext:hover,
.glightbox-container .gprev:hover{
    background:var(--marrom);
    border-color:var(--marrom);
}

.glightbox-container .gnext svg,
.glightbox-container .gprev svg,
.glightbox-container .gclose svg{
    fill:var(--offwhite);
}

/* A aérea da localização é a única imagem solta: lá as setas não têm destino. */
.glightbox-container.noar-solo .gnext,
.glightbox-container.noar-solo .gprev{
    display:none;
}

/* A legenda vem com fundo branco e texto preto pelo CSS do GLightbox, com
   especificidade maior que um seletor simples — daí o !important aqui. */
.glightbox-container .gslide-description{
    background:transparent !important;
}

.glightbox-container .gslide-title{
    font-family:'Jost', Arial, sans-serif;
    font-size:.85rem;
    font-weight:300;
    letter-spacing:.04em;
    color:rgba(var(--offwhite-rgb),.7) !important;
    margin:0;
}

/* ── RODAPÉ ── */

.rodape{
    background:var(--cinza);
    border-top:1px solid rgba(var(--offwhite-rgb),.12);
    padding:clamp(46px, 6vh, 68px) 0 clamp(34px, 4vh, 46px);
}

.rodape-topo{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:26px;
    margin-bottom:clamp(32px, 4vh, 46px);
}

.rodape-logo{
    width:150px;
    height:auto;
    display:block;
}

.rodape-social{
    display:flex;
    gap:12px;
}

.rodape-social a{
    width:44px;
    height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(var(--offwhite-rgb),.18);
    border-radius:50%;
    color:var(--offwhite);
    font-size:1.05rem;
    text-decoration:none;
    transition:background .3s ease, border-color .3s ease;
}

.rodape-social a:hover{
    background:var(--marrom);
    border-color:var(--marrom);
}

.rodape-legal{
    font-size:.72rem;
    font-weight:300;
    line-height:1.75;
    color:rgba(var(--offwhite-rgb),.42);
    margin:0 0 22px;
}

.rodape-copy{
    font-size:.72rem;
    font-weight:300;
    color:rgba(var(--offwhite-rgb),.42);
    margin:0;
    padding-top:22px;
    border-top:1px solid rgba(var(--offwhite-rgb),.1);
}

@media (prefers-reduced-motion:reduce){
    .hero-scroll i{ animation:none; }
    .noar-btn:hover{ transform:none; }
}
