/* ==================================================================
   FONTE — BigCity Grotesque Pro (CDN)
   ================================================================== */
@font-face {
    font-family: "BigCity Grotesque Pro";
    src: url("https://db.onlinewebfonts.com/t/f406b50cc25d389a142fd5aa73b7a87a.eot");
    src: url("https://db.onlinewebfonts.com/t/f406b50cc25d389a142fd5aa73b7a87a.eot?#iefix") format("embedded-opentype"),
         url("https://db.onlinewebfonts.com/t/f406b50cc25d389a142fd5aa73b7a87a.woff2") format("woff2"),
         url("https://db.onlinewebfonts.com/t/f406b50cc25d389a142fd5aa73b7a87a.woff") format("woff"),
         url("https://db.onlinewebfonts.com/t/f406b50cc25d389a142fd5aa73b7a87a.ttf") format("truetype"),
         url("https://db.onlinewebfonts.com/t/f406b50cc25d389a142fd5aa73b7a87a.svg#BigCity Grotesque Pro") format("svg");
}


/* ==================================================================
   SYMPHONY FLAMENGO — STYLE.CSS
   CSS customizado complementar ao Bootstrap 4.6.2
   ------------------------------------------------------------------
   Atenção especial ao TRACKING (letter-spacing) das fontes,
   reproduzindo o "grep" amplo que aparece no design original.
   ------------------------------------------------------------------
   Sumário:
     1.  VARIÁVEIS GLOBAIS
     2.  RESET / BASE
     3.  TIPOGRAFIA & UTILS (eyebrow, title, link-arrow, btn)
     4.  HEADER / NAVBAR
     5.  HERO
     6.  LOCALIZAÇÃO
     7.  PROJETO
     8.  TORRES + GALERIA
     9.  LAZER E BEM-ESTAR
     10. INFRAESTRUTURA
     11. PARCEIROS
     12. PLANTAS
     13. CONTATO
     14. REALIZAÇÃO
     15. FOOTER
     16. MODAIS CUSTOMIZADOS
     17. RESPONSIVIDADE
   ================================================================== */


/* ============================================================
   1. VARIÁVEIS GLOBAIS
   ============================================================ */
:root {
    /* Paleta */
    --c-bg-dark:       #1a1612;
    --c-bg-deep:       #0f0d0a;
    --c-bg-cream:      #e9e1d2;
    --c-bg-cream-soft: #f3ecdd;
    --c-text-light:    #f4ead8;
    --c-text-dark:     #2a241d;
    --c-text-muted:    #8c7d63;
    --c-accent:        #c9962b;
    --c-accent-soft:   #d9b262;
    --c-line:          rgba(201, 150, 43, 0.35);

    /* Tipografia */
    --ff-base: 'BigCity Grotesque Pro';

    /* Tracking (letter-spacing) — o "grep" do design */
    --tracking-wide:  0.22em;   /* Mais aberto: títulos hero e eyebrows */
    --tracking-mid:   0.10em;   /* Médio: labels e CTAs */
    --tracking-tight: 0.04em;   /* Sutil: corpo */

    /* ============================================================
       FONT SIZE — escala fluida com clamp()
       HD (1920px): valores intermediários menores
       2K (2560px): atinge 30px / 36px / 60px
       Mobile: mantém min legível
       ============================================================ */
    /* Corpo (p, li, label, input) — 15px → 22px (HD) → 30px (2K) */
    --fs-body:   clamp(0.95rem, -0.125rem + 1.25vw, 1.875rem);

    /* Pequeno (eyebrow, label, footer, captions) — 12px → 18px (HD) → 24px (2K) */
    --fs-small:  clamp(0.75rem, 0vw + 0.94vw, 1.5rem);

    /* Subtítulo / lead — 17px → 24px (HD) → 32px (2K) */
    --fs-lead:   clamp(1.05rem, 0vw + 1.25vw, 2rem);

    /* Títulos de seção (h2/h3) — 20px → 28px (HD) → 36px (2K) */
    --fs-title:  clamp(1.25rem, 0.25rem + 1.25vw, 2.25rem);

    /* Hero (h1) — 28px → 46px (HD) → 60px (2K) */
    --fs-hero:   clamp(1.75rem, 0.23rem + 2.2vw, 3.75rem);
}


/* ============================================================
   2. RESET / BASE
   ============================================================ */
html, body {
    overflow-x: hidden;
    max-width: 100%;
}

html {
    scroll-behavior: smooth;
}

/* --- Scrollbar customizada (combina com a paleta do site) --- */
/* Firefox */
html {
    scrollbar-width: thin;
    scrollbar-color: var(--c-accent) var(--c-bg-cream-soft);
}

/* WebKit (Chrome, Safari, Edge) */
::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

::-webkit-scrollbar-track {
    background: var(--c-bg-cream-soft);
}

::-webkit-scrollbar-thumb {
    background: var(--c-accent);
    border-radius: 0;
    border: 2px solid var(--c-bg-cream-soft);
}

::-webkit-scrollbar-thumb:hover {
    background: var(--c-accent-soft);
}

::-webkit-scrollbar-corner {
    background: var(--c-bg-cream-soft);
}

body {
    font-family: var(--ff-base);
    font-size: var(--fs-body);
    font-weight: 400;
    line-height: 1.6;
    color: var(--c-text-dark);
    background-color: var(--c-bg-cream);
    letter-spacing: var(--tracking-tight);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: relative;
}

/* Escala global aplicada via variáveis */
p, li, label, input, textarea, select,
.lp-form .form-control {
    font-size: var(--fs-body);
}

h1 { font-size: var(--fs-hero); }
h2, h3 { font-size: var(--fs-title); }

img {
    max-width: 100%;
    height: auto;
}

/* Espaçamento padrão das seções */
.py-section {
    padding-top: 6rem;
    padding-bottom: 6rem;
}

.bg-bege{
    background-color: #D4CABF;
}
/* ============================================================
   3. TIPOGRAFIA & COMPONENTES UTILITÁRIOS
   ============================================================ */

/* --- Eyebrow: linha em uppercase, espaçada, sobre o título --- */
.eyebrow {
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    color: #fff !important;
    display: inline-block;
}

.eyebrow--dark  { color: var(--c-text-dark); }
.eyebrow--center { display: block; }

/* --- Títulos de seção --- */
.section-title {
    font-size: clamp(1.4rem, 1.5vw, 2.25rem);
    font-weight: 300;
    line-height: 1.25;
    letter-spacing: var(--tracking-tight);
    color: var(--c-text-dark);
    margin-bottom: 1.5rem;
}

.section-title--accent { color: var(--c-accent); }
.section-title--light  { color: var(--c-text-light); }

/* --- Botões customizados --- */
.btn-symphony {
    background-color: #FAC981;
    color: var(--c-bg-deep);
    border: 1px solid #FAC981;
    padding: 0.95rem 2.25rem;
    font-size: 0.78rem;
    font-weight: 100;
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    border-radius: 0;
    transition: all 0.3s ease;
}


.box-form{
    width: 60%;
}

.btn-symphony:hover {
    background-color: var(--c-accent-soft);
    border-color: var(--c-accent-soft);
    color: var(--c-bg-deep);
    transform: translateY(-1px);
}

.btn-symphony-ghost {
    background-color: transparent;
    color: var(--c-text-dark);
    border: 1px solid var(--c-text-dark);
    padding: 0.95rem 2.25rem;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    border-radius: 0;
    transition: all 0.3s ease;
}

.btn-symphony-ghost:hover {
    background-color: var(--c-text-dark);
    color: var(--c-bg-cream);
}

/* No fundo escuro da infraestrutura, o ghost inverte */
.infraestrutura .btn-symphony-ghost {
    color: var(--c-text-light);
    border-color: var(--c-text-light);
}
.infraestrutura .btn-symphony-ghost:hover {
    background-color: var(--c-text-light);
    color: var(--c-bg-dark);
}

/* --- Link com seta --- */
.link-arrow {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    color: var(--c-accent);
    border-bottom: 1px solid var(--c-line);
    padding-bottom: 0.4rem;
    transition: color 0.3s ease;
    text-decoration: none;
}

.link-arrow::after {
    content: "→";
    font-size: 0.95rem;
}

.link-arrow:hover {
    color: var(--c-accent-soft);
    text-decoration: none;
}

.link-arrow--alt { color: var(--c-text-dark); }

/* --- Forms (sobrescrevendo bootstrap para deixar minimalista) --- */
.lp-form__group {
    border-bottom: 1px solid var(--c-line);
    margin-bottom: 1.5rem;
    padding-bottom: 0.4rem;
}

.lp-form__group label {
    display: block;
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    color: var(--c-text-muted);
    margin-bottom: 0.25rem;
}

.lp-form .form-control {
    border: none;
    background: transparent;
    padding: 0.4rem 0;
    font-size: 1rem;
    box-shadow: none;
    color: inherit;
    height: auto;
    border-radius: 0;
}

.lp-form .form-control:focus {
    border: none;
    box-shadow: none;
    background: transparent;
    outline: none;
}


/* ============================================================
   4. HEADER / NAVBAR
   ============================================================ */
.site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    background-color: transparent;
    transition: background-color 0.3s ease, box-shadow 0.3s ease, backdrop-filter 0.3s ease;
}

.site-header .navbar {
    background-color: transparent;
    transition: padding 0.3s ease;
}

/* Estado scrolled — marrom semi-transparente com blur */
.site-header--scrolled {
    background-color: rgba(90, 53, 46, 0.85);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}

.site-header--scrolled .navbar {
    padding-top: 0.6rem !important;
    padding-bottom: 0.6rem !important;
}

.site-header--scrolled .site-logo {
    height: 38px;
    transition: height 0.3s ease;
}

.site-logo {
    height: 50px;
    width: auto;
    transition: opacity 0.3s ease;
}

/* Esconde a logo do navbar enquanto o hero está visível */
.site-header:not(.site-header--scrolled) .site-logo {
    opacity: 0;
    pointer-events: none;
}

.site-header .nav-link {
    color: var(--c-text-light) !important;
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    padding: 0.5rem 1.25rem !important;
    transition: color 0.3s ease;
}

.site-header .nav-link:hover {
    color: var(--c-accent) !important;
}


/* ============================================================
   5. HERO
   ============================================================ */
.hero {
    position: relative;
    min-height: 100vh;
    background: url('../img/bannerhome.png') ;
    background-size: cover;
    background-position: 0 68% !important;

    color: var(--c-text-light);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

@media (max-width: 800px){

    .hero {
 
    background: linear-gradient(#0000005e , #0000005e),
     url('../img/bannerhome.png') ;
  background-size: cover;
    background-position: center !important;
}

}
 

/* Área central — logo + título sobre a imagem */
.hero__main {
    position: relative;
    z-index: 2;
    flex: 1;
    display: flex;
    align-items: flex-start;
    padding: 3rem 0 4rem;
    min-height: 95vh;
}

.hero__title {
    font-size: clamp(1.2rem, 2vw, 2.2rem);
    font-weight: 300;
    line-height: 1.2;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #ffffff;
    margin-bottom: 0;

   
}

.hero__title strong {
    font-weight: 700;
    color: #ffffff;
}

/* Barra inferior com textura de madeira */
.hero__footer {
    position: relative;
    z-index: 2;
    background:
         
        url('../img/bg-madeira.png') center/cover no-repeat;
    padding: 2rem 0;
}

.hero__pitch-title {
    font-size: clamp(0.9rem, 1.17vw, 1.875rem);
    font-weight: 300;
    line-height: 1.55;
    color: var(--c-text-light);
    letter-spacing: var(--tracking-tight);
    text-transform: uppercase;
    margin-bottom: 0;
}

.hero__pitch-title strong {
    font-weight: 600;
}

.hero__typology {
    font-size: clamp(1rem, 1.17vw, 1.875rem);
    color:  #FAC981;
    letter-spacing: var(--tracking-tight);
    margin-bottom: 0;
    font-weight: bolder;

    
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;


}


/* ============================================================
   6. LOCALIZAÇÃO
   ============================================================ */
.localizacao {
    background-color: #efe7d6;
    color: var(--c-text-light);
}

/* --- Faixa superior (creme) com eyebrow + barras decorativas --- */
.localizacao__top {
    background-color: #fff;
    padding: 1rem 0 0rem;
}

.localizacao__top .container {
    max-width: 70vw !important;
}

@media (max-width: 991.98px) {
    .localizacao__top .container {
        max-width: 92vw !important;
    }
}

.localizacao__top-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    flex-wrap: nowrap;
}

.localizacao__eyebrow {
    display: inline-flex;
    align-items: center;
    flex-wrap: nowrap;
    text-align: center;
    gap: 0.9rem;
    
    font-weight: 400;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #5A352E;
    margin: 0;
    line-height: 1.4;
    white-space: nowrap;
}

/* Esconde o <br class="d-md-none"> no desktop pra manter linha única */
.localizacao__eyebrow br {
    display: none;
}

.localizacao__eyebrow strong {
    font-weight: 700;
    color: #5A352E;
    /* margin-left: 0.35em; */
}

.localizacao__eyebrow-dash {
    display: inline-block;
    width: 2px;
    height: 2rem;
    background-color: #FAC981;
    flex-shrink: 0;
}

/* --- Bloco principal (fundo madeira) --- */
.localizacao__main {
    background: url('../img/bg-madeira.png') center/cover no-repeat;
    padding: 4.5rem 0 5.5rem;
    position: relative;
}

.localizacao__media {
    width: 100%;
    object-fit: cover;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45);
    display: block;
}

.localizacao__title {
    font-size: clamp(1.25rem, 1.5vw, 2rem);
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #FAC981;
    margin-bottom: 1.5rem;
}

.localizacao__lead {
    font-size: 1rem;
    line-height: 1.6;
    color: var(--c-text-light);
    margin-bottom: 1.5rem;
   
    font-weight: 300;
}

.localizacao__lead strong {
    font-weight: 700;
    color: var(--c-text-light);
}

.localizacao__list {
    margin-bottom: 2rem;
   
}

.localizacao__list li {
    position: relative;
    padding-left: 1rem;
    font-size: 0.95rem;
    color: var(--c-text-light);
    margin-bottom: 0.4rem;
    font-weight: 300;
    line-height: 1.5;
}

.localizacao__list li::before {
    content: "·";
    position: absolute;
    left: 0;
    top: -0.35rem;
    color: var(--c-text-light);
    font-size: 1.4rem;
    line-height: 1;
}

.localizacao__address {
    margin-top: 2.25rem;
   
}

.localizacao__address-label {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 0.95rem;
    letter-spacing: 0.02em;
    text-transform: none;
    color: #FAC981;
    margin-bottom: 1rem;
    font-weight: 400;
}

.localizacao__pin {
    color: #FAC981;
    flex-shrink: 0;
}

.localizacao__cta {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.6rem 1.4rem;
    border: 1px solid #FAC981;
    color: #5A352E;
    background-color: #FAC981;
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.localizacao__cta:hover {
    background-color: var(--c-accent-soft);
    border-color: var(--c-accent-soft);
    color: #3a221d;
    text-decoration: none;
}

.localizacao__cta-icon,
.localizacao__cta .imagempng {
    width: 18px;
    height: 18px;
    color: #5A352E;
    flex-shrink: 0;
    object-fit: contain;
    transition: color 0.3s ease;
}

.localizacao__cta:hover .localizacao__cta-icon {
    color: #3a221d;
}

@media (max-width: 991.98px) {
    .localizacao__top {
        /* padding: 2rem 0 1.75rem; */
    }
    .localizacao__main {
        padding: 3rem 0 4rem;
    }
}

/* Mobile: eyebrow centralizado, em duas linhas (br ativo), barras acima */
@media (max-width: 767.98px) {
    .localizacao__top-row {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 1rem;
    }
    .localizacao__eyebrow {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        text-align: center;
        white-space: normal;

        gap: 0.6rem;
        letter-spacing: 0.16em;
        line-height: 1.6;
    }
    .localizacao__eyebrow br {
        display: block;
        flex-basis: 100%;
        height: 0;
    }

    /* Conteúdo do bloco principal centralizado no mobile */
    .localizacao__main .col-lg-5 {
        text-align: center;
    }
    .localizacao__title,
    .localizacao__lead,
    .localizacao__list,
    .localizacao__address {
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
    }
    .localizacao__list {
        display: inline-block;
        text-align: left;
    }
    .localizacao__address-label {
        justify-content: center;
    }
    .localizacao__address-label img{
        width: 20px;
    }

    .localizacao__cta {
       padding: 0.15rem 2.25rem;
        font-size: 0.7rem;
    }

    .localizacao__cta img {

        width: 30px;

    }
    
}

@media (max-width: 480px) {
    .localizacao__eyebrow {
         
        letter-spacing: 0.14em;
    }
 
}

@media (max-width: 360px) {
    .localizacao__eyebrow {
        
        letter-spacing: 0.12em;
    }
    
  
}


/* ============================================================
   7. PROJETO / CASARÃO
   ============================================================ */
.projeto {
    background-color: #fff;
    position: relative;
    overflow: hidden;
}

/* --- Faixa superior creme: botão + título --- */
.projeto__top {
    background-color: #E5DFD9;
    padding: 2.5rem 0 2rem;
    position: relative;
}

.projeto__top .container {
    position: relative;
}

.projeto__top-dash {
    position: absolute;
    top: -1.5rem;
    left: 0;
    width: 32px;
    height: 2px;
    background-color: #FAC981;
}

.projeto__top-row {
    display: flex;
    align-items: center;
    gap: 2.5rem;
}

.projeto__top-cta-wrap {
    flex: 0 0 auto;
}

.projeto__top-title-wrap {
    flex: 1 1 auto;
    border-left: 2px solid #FAC981;
    padding-left: 1.75rem;
}

.projeto__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.85rem 1.75rem;
    background-color: #FAC981;
    border: 1px solid #FAC981;
    color: #5A352E;
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.projeto__cta:hover {
    background-color: var(--c-accent-soft);
    border-color: var(--c-accent-soft);
    color: #3a221d;
    text-decoration: none;
}

.projeto__intro-title {
    font-size: clamp(0.85rem, 1vw, 1.1rem);
    font-weight: 400;
    line-height: 1.55;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #5A352E;
    margin: 0;
}

.projeto__intro-title strong {
    font-weight: 700;
    color: #5A352E;
}

/* --- Bloco principal: imagem + conteúdo wood + ornamento --- */
.projeto__main {
    position: relative;
    overflow: hidden;
}

.projeto__hero-image {
    position: relative;
    width: 100%;
    overflow: hidden;
    z-index: 1;
}

.projeto__hero-image img {
    width: 100%;
    object-fit: cover;
    aspect-ratio: 24 / 9;
    display: block;
}


@media (max-width: 800px){

    .projeto__hero-image img {
        aspect-ratio: 16 / 9;
    }

}

.projeto__content {
    background: url('../img/bg-madeira.png') center/cover no-repeat;
    padding: 3.5rem 0 5rem;
    position: relative;
    z-index: 1;
}

 

.projeto__subtitle {
    font-size: clamp(1rem, 1.1vw, 1.3rem);
    font-weight: 600;
    color: #FAC981;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    line-height: 1.5;
    margin-bottom: 1.75rem;
}

.projeto__subtitle-accent {
    color: #FAC981;
    font-weight: 400;
}

.projeto__text {
    font-size: 0.92rem;
    line-height: 1.7;
    color: var(--c-text-light);
    margin-bottom: 1rem;
    font-weight: 300;
    
}

.projeto__text strong {
    font-weight: 700;
    color: var(--c-text-light);
}

.projeto__ornament {
    position: absolute;
    right: -16%;
    width: auto;
    top: -10%;
    height: 119%;
    z-index: 99;
    pointer-events: none;
    user-select: none;
}

@media (max-width: 800px){




}


@media (max-width: 991.98px) {
    .projeto__top {
        padding: 2rem 0 1.5rem;
    }
    .projeto__top-row {
        gap: 1.5rem;
    }
    .projeto__intro-title {
        font-size: 0.78rem;
    }
    .projeto__content {
        padding: 3rem 0 4rem;
    }
    
}

@media (max-width: 767.98px) {
    .projeto__top {
        padding: 2rem 0 1.5rem;
    }
    .projeto__top-title-wrap {
        border-left: 0;
        padding-left: 0;
    }
    .projeto__top-row {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 1.5rem;
    }
    .projeto__top-dash {
        top: -1rem;
        left: 50%;
        transform: translateX(-50%);
    }
    .projeto__intro-title {
        font-size: 0.75rem;
        letter-spacing: 0.14em;
    }
    .projeto__content {
        padding: 2.5rem 0 3.5rem;
        text-align: center;
    }
   
    .projeto__subtitle {
        font-size: 0.95rem;
    }
    .projeto__text {
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
    }
    .projeto__ornament {
        
        right: -40%;
        top: -5%;
        opacity: 0.3;
    }
}

@media (max-width: 480px) {
    .projeto__cta {
        padding: 0.75rem 1.4rem;
        font-size: 0.65rem;
    }
    .projeto__intro-title {
        font-size: 0.68rem;
    }
}


/* ============================================================
   8. TORRES + GALERIA
   ============================================================ */
.torres {
    background-color: var(--c-bg-cream);
    overflow: hidden;
    /* padding-bottom: 4rem; */
}

/* --- Banner com texto sobreposto --- */
.torres__banner {
    position: relative;
    width: 100%;
    overflow: hidden;
    margin-bottom: 2rem;
}

.torres__banner-img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    aspect-ratio: 16 / 7;
}

.torres__banner-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: flex-start;
    padding-top: 3.5rem;
    background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.45) 0%,
        rgba(0, 0, 0, 0.15) 35%,
        rgba(0, 0, 0, 0) 60%
    );
}

.torres__banner-title {
    font-size: clamp(0.85rem, 1vw, 1.15rem);
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--c-text-light);
    margin: 0;

    border-left: 1px solid #c9962b;
    padding-left: 1rem;

}

/* Galeria Slick — full-width batendo nas bordas */
.torres__gallery-wrap {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    margin-top: 0;
    margin-bottom: 2rem;
    overflow: hidden;
}

/* Antes do Slick inicializar: esconde slides extras pra evitar flash */
.torres__gallery:not(.slick-initialized) {
    display: flex;
    overflow: hidden;
}

.torres__gallery:not(.slick-initialized) .torres__slide {
    flex: 0 0 25%;
    max-width: 25%;
}

.torres__gallery {
    margin: 0;
}

.torres__slide {
    padding: 0; 
    margin: 0.3rem !important;

}

.torres__thumb {
    display: block;
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.3s ease;
}

.torres__thumb img {
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center top;
    aspect-ratio: 4 / 3;
    transition: transform 0.5s ease;
    display: block;
}

.torres__thumb:hover img {
    transform: scale(1.05);
}

/* --- Slick: estrutura interna --- */
.torres__gallery .slick-list {
    margin: 0;
}

.torres__gallery .slick-track {
    display: flex;
}

.torres__gallery .slick-slide {
    height: auto;
    margin: 0;
}

.torres__gallery .slick-slide > div {
    height: 100%;
}

/* --- Slick: setas customizadas --- */
.torres__gallery .slick-prev,
.torres__gallery .slick-next {
    width: 44px;
    height: 44px;
    z-index: 5;
    background: rgba(15, 13, 10, 0.6);
    transition: background 0.3s ease;
    border-radius: 0;
}

.torres__gallery .slick-prev:hover,
.torres__gallery .slick-next:hover,
.torres__gallery .slick-prev:focus,
.torres__gallery .slick-next:focus {
    background: #FAC981;
}

.torres__gallery .slick-prev {
    left: 1rem;
}

.torres__gallery .slick-next {
    right: 1rem;
}

.torres__gallery .slick-prev::before,
.torres__gallery .slick-next::before {
    font-size: 22px;
    color: #FAC981;
    opacity: 1;
}

.torres__gallery .slick-prev:hover::before,
.torres__gallery .slick-next:hover::before {
    color: #5A352E;
}

@media (max-width: 767.98px) {
    .torres__banner-img {
        aspect-ratio: 4 / 3;
    }
    .torres__banner-overlay {
        padding-top: 2rem;
    }
    .torres__banner-title {
        font-size: 0.78rem;
        letter-spacing: 0.14em;
    }
}


/* ============================================================
   9. LAZER E BEM-ESTAR
   ============================================================ */
.lazer {
    background-color: #fff;
}

.lazer__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.9rem;
    
    font-weight: 400;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #5A352E;
    margin: 0;
    line-height: 1.4;
    white-space: nowrap;
}

.lazer__eyebrow-dash {
    display: inline-block;
    width: 2px;
    height: 18px;
    background-color: #FAC981;
    flex-shrink: 0;
}

@media (max-width: 575.98px) {
    .lazer__eyebrow {
        /* font-size: 0.6rem; */
        letter-spacing: 0.14em;
        gap: 0.6rem;
        white-space: normal;
        text-align: left;
    }
    .lazer__eyebrow-dash {
        height: 14px;
    }
}

/* Galeria de ambientes — cards clicáveis que abrem o lightbox */
.lazer__gallery {
    margin-top: 2.5rem;
}

.lazer__card {
    display: block;
    text-decoration: none;
    color: inherit;
    transition: transform 0.4s ease;
}

.lazer__card:hover {
    text-decoration: none;
    color: inherit;
    transform: translateY(-4px);
}

.lazer__card-img {
    overflow: hidden;
    margin-bottom: 1rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

.lazer__card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 16 / 10;
    transition: transform 0.6s ease;
}

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

.lazer__card-label {
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #5A352E;
    text-align: center;
    margin-bottom: 0;
}

/* Botão dourado sólido (mesmo padrão do Maps) */
.lazer .btn-symphony-ghost {
    background-color: #FAC981;
    border-color: #FAC981;
    color: #5A352E;
    padding: 0.75rem 1.75rem;
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.18em;
}

.lazer .btn-symphony-ghost:hover {
    background-color: var(--c-accent-soft);
    border-color: var(--c-accent-soft);
    color: #3a221d;
}


/* ============================================================
   10. INFRAESTRUTURA
   ============================================================ */
.infraestrutura {
    background: url('../img/bg-madeira.png') center/cover no-repeat;
    color: var(--c-text-light);
    position: relative;
    overflow: hidden;
}

.infraestrutura::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgba(15, 13, 10, 0.55);
    pointer-events: none;
}

.infraestrutura > .container {
    position: relative;
    z-index: 1;
}

.infraestrutura .eyebrow--center {
    font-size: clamp(1.1rem, 1.6vw, 1.65rem);
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #FAC981;
}

.infraestrutura__title {
    margin-top: 1.5rem;
    font-size: clamp(1rem, 1.2vw, 1.25rem);
    font-weight: 300;
    line-height: 1.7;
    color: var(--c-text-light);
    letter-spacing: 0.04em;
}

@media (max-width: 575.98px) {
    .infraestrutura .eyebrow--center {
        font-size: 0.95rem;
        letter-spacing: 0.18em;
    }
    .infraestrutura__title {
        font-size: 0.92rem;
        letter-spacing: 0.02em;
    }
}

/* Galeria de fotos dos ambientes (faixa full-width batendo nas bordas) */
.infra-gallery-wrap {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    margin-top: 2.5rem;
    margin-bottom: 3rem;
    overflow: hidden;
}

.infra-gallery {
    margin-left: 0;
    margin-right: 0;
}

.infra-gallery > [class*="col-"] {
    padding-left: 0;
    padding-right: 0;
}

.infra-thumb {
    display: block;
    overflow: hidden;
    cursor: pointer;
}

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

.infra-thumb:hover img {
    transform: scale(1.05);
}

.infra-grid {
    margin-top: 3rem;
}

.infra-item {
    margin-bottom: 2.5rem;
}

.infra-item__icon {
    width: 56px;
    height: 56px;
    margin: 0 auto 1rem;
    color: #FAC981;
    display: flex;
    align-items: center;
    justify-content: center;
}

.infra-item__icon svg,
.infra-item__icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.infra-item__label {
    font-size: 0.78rem;
    line-height: 1.5;
    color: var(--c-text-light);
    margin-bottom: 0;
    letter-spacing: 0.04em;
    font-weight: 300;
}

/* CTA inverte pro dourado sólido */
.infraestrutura .btn-symphony-ghost {
    background-color: #FAC981;
    border-color: #FAC981;
    color: #5A352E;
    padding: 0.75rem 1.75rem;
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.18em;
}

.infraestrutura .btn-symphony-ghost:hover {
    background-color: var(--c-accent-soft);
    border-color: var(--c-accent-soft);
    color: #3a221d;
}


/* ============================================================
   11. PARCEIROS
   ============================================================ */
.parceiros {
    background-color: #efe7d6;
}

.parceiros__title {
    
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #5A352E;
}

.parceiro-card__photo {
    overflow: hidden;
    margin-bottom: 1.25rem;
    aspect-ratio: 3 / 4;
    background-color: transparent;
}

.parceiro-card__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.parceiro-card:hover .parceiro-card__photo img {
    transform: scale(1.03);
}

.parceiro-card__role {
    font-size: 0.78rem;
    color: #5A352E;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-weight: 400;
    margin-bottom: 0;
    margin-top: 0.5rem;
}


@media (max-width: 800px){

.parceiro-card__role {
    font-size: 0.68rem;
    color: #5A352E;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-weight: 400;
    margin-bottom: 0;
    margin-top: 0.5rem;
}



}

/* ============================================================
   12. PLANTAS / DOWNLOAD
   ============================================================ */
 
    .plantas{
        overflow: hidden;
    }


.boxplantas{
    background-color: #e5dfd9;
    border-bottom-left-radius: 40px;
    border-top-left-radius: 40px;

    position: relative;
    top: -8rem;
    z-index: 1;

min-height: 200px;
height: 25vh;

}


@media (max-width: 991.98px){
    .boxplantas {
        top: -3rem;
        margin-left: 0 !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
    .boxplantas > .row {
        justify-content: center;
    }
    .boxplantas .col-md-8 {
        text-align: center;
        justify-content: center !important;
    }
    .box-cta-plantas {
        display: flex;
        justify-content: center;
        width: 100%;

        align-items: center;
        flex-direction: column;
        gap: 1rem;
    }
}

/* --- Imagem do book (fica POR CIMA do boxplantas) --- */
.plantas__media-wrap {
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    z-index: 2;
}

.plantas__media {
    width: 100%;
    height: auto;
    object-fit: cover;
    aspect-ratio: 16 / 11;
    display: block;
}

.plantas__title-col {
    padding-left: 4rem;
    position: relative;
    z-index: 3;
}

.plantas__title {
    font-size: clamp(0.95rem, 1.2vw, 1.35rem);
    font-weight: 600;
    text-transform: uppercase;
    color: #5A352E;
    line-height: 1.6;
    letter-spacing: 0.18em;
    margin: 0 0 1.5rem 0;
}

@media (max-width: 991.98px) {
    .plantas__title-col {
        padding-left: 1rem;
        padding-right: 1rem;
        padding-top: 1.5rem;
        text-align: center;
    }
    .plantas__title {
        text-align: center;
        margin: 0 auto;
    }
}

/* --- Shelf bege que segura o botão e estende até a borda --- */
.plantas__shelf {
    position: relative;
    
    padding: 1.25rem 1.5rem;
}

 

/* --- CTA dourado com ícone --- */
.plantas__cta {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.6rem 1.5rem;
    background-color: #FAC981;
    border: 1px solid #FAC981;
    color: #5A352E;
    font-size: clamp(1rem, 0.9vw + 0.9rem, 1.32rem);
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: none;
    border-radius: 0;
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.plantas__cta:hover {
    background-color: var(--c-accent-soft);
    border-color: var(--c-accent-soft);
    color: #3a221d;
}

.plantas__cta-icon {
    color: #5A352E;
    flex-shrink: 0;
}

@media (max-width: 991.98px) {
    .plantas__title {
        text-align: center;
        margin-top: 1.5rem;
    }
    .plantas__shelf {
        text-align: center;
    }
 
}

@media (max-width: 575.98px) {
    .plantas {
        padding: 3rem 0;
    }
    .plantas__title {
        font-size: 0.85rem;
        letter-spacing: 0.14em;
    }
}


/* ============================================================
   12.5 CONTATO PÓS-HERO
   ============================================================ */
.contato-hero {
    background-color: var(--c-bg-cream);
}

.contato-hero__title {
    font-size: clamp(1.4rem, 1.4vw, 2.25rem);
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: var(--tracking-mid);
    text-transform: uppercase;
    color: var(--c-text-dark);
    margin-bottom: 2.5rem;
}

.contato-hero__form .form-control {
    color: var(--c-text-dark);
    font-size: 1rem;
}

 

.contato-hero__form .lp-form__group {
    border-bottom-color: rgba(42, 36, 29, 0.25);
}

.contato-hero__address {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-top: 2rem;
    font-size: 0.85rem;
    color: var(--c-text-muted);
    letter-spacing: var(--tracking-tight);
}

.contato-hero__pin {
    flex-shrink: 0;
    color: var(--c-text-muted);
}

.contato-hero__img {
    width: 100%;
    object-fit: cover;
    display: block;
}


/* ============================================================
   13. CONTATO
   ============================================================ */
.contato {
    background-color: #e5dfd9;
    padding: 0;
    overflow: hidden;
}

.contato > .container-fluid {
    padding: 0;
}

.contato > .container-fluid > .row {
    margin: 0;
}

.contato > .container-fluid > .row > [class*="col-"] {
    padding: 0;
}

/* Coluna do form (esquerda) — padding interno generoso */
.contato__form-col {
    padding: 5rem 4rem 5rem 6rem !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.contato__title {
    font-size: clamp(1rem, 1.2vw, 1.4rem);
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #5A352E;
    margin-bottom: 2.5rem;
}

.contato__form {
    max-width: 440px;
    width: 100%;
}

.contato__form .lp-form__group {
    border-bottom-color: rgba(90, 53, 46, 0.25);
    margin-bottom: 1.75rem;
}

.contato__form .lp-form__group label {
    color: #8c5d4a;
    font-size: 0.68rem;
    font-weight: 400;
    letter-spacing: 0.14em;
    margin-bottom: 0.35rem;
}

.contato__form .form-control {
    color: #5A352E;
    font-size: 0.95rem;
}

.contato__form .btn-symphony {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 2rem;
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.18em;
    background-color: #FAC981;
    border-color: #FAC981;
    color: #5A352E;
    margin-top: 1rem;
    width: auto;
    min-width: 240px;
}

.contato__form .btn-symphony:hover {
    background-color: var(--c-accent-soft);
    border-color: var(--c-accent-soft);
    color: #3a221d;
}

/* Coluna da imagem (direita) — bate na borda direita */
.contato__media {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    min-height: 480px;
}

@media (max-width: 991.98px) {
    .contato__form-col {
        padding: 3rem 1.5rem !important;
        text-align: center;
        align-items: center;
    }
    .contato__title {
        text-align: center;
    }
    .contato__form .btn-symphony {
        align-self: center;
    }
    .contato__media {
        min-height: 280px;
    }
}


/* ============================================================
   14. REALIZAÇÃO (BTG + NEW VIEW)
   ============================================================ */
.realizacao {
    background:    url('../img/planta\ em\ formato\ de\ nota\ musical.png') ;
       background-position: center;
       background-repeat: no-repeat;
         background-size: cover;
    color: var(--c-text-light);
    position: relative;
    overflow: hidden;
    min-height: 600px;
    height: 100vh;
}

@media (max-width: 991.98px){
    .realizacao {
        height: auto;
        min-height: 0;
        padding-top: 3rem;
        padding-bottom: 3rem;
    }
}

.realizacao__title {
    font-size: clamp(1rem, 1.2vw, 1.4rem);
    font-weight: 600;
    line-height: 1.7;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--c-text-light);
    margin-bottom: 1.75rem;
}

.realizacao__text {
    font-size: 0.92rem;
    line-height: 1.8;
    color: rgba(244, 234, 216, 0.78);
    font-weight: 300;
    margin-bottom: 2.5rem;
}

.realizacao__brands {
    border-top: 1px solid rgba(201, 150, 43, 0.3);
    padding-top: 1.5rem;
    margin-top: 1.5rem;
    display: flex;
    gap: 3rem;
    align-items: flex-start;
    flex-wrap: wrap;
}

.realizacao__brand-group {
    display: flex;
    flex-direction: column;
}

.realizacao__brands-label {
    font-size: 0.7rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(244, 234, 216, 0.6);
    margin-bottom: 1rem;
    font-weight: 400;
}

.realizacao__brands-logos {
    display: flex;
    gap: 1.5rem;
    align-items: center;
}

.brand-logo {
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    color: var(--c-text-light);
    text-transform: uppercase;
}

.brand-logo-divider {
    color: #FAC981;
    font-size: 1.5rem;
    line-height: 1;
}

.realizacao__ornament {
    max-width: 360px;
    width: 100%;
    filter: drop-shadow(0 20px 50px rgba(201, 150, 43, 0.55));
}

@media (max-width: 991.98px) {
    .realizacao__ornament {
        max-width: 240px;
    }
    .realizacao__title,
    .realizacao__text,
    .realizacao__brands-label {
        text-align: center;
    }
    .realizacao__brands {
        justify-content: center;
    }
    .realizacao__brands-logos {
        justify-content: center;
    }
}


/* ============================================================
   15. FOOTER
   ============================================================ */
.site-footer {
    background-color: #4a2c25;
    color: var(--c-text-light);
    padding: 2rem 0;
    font-size: 0.7rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.site-footer__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 4rem;
    padding: 0 5rem;
}

.site-footer__brands {
    display: flex;
    align-items: flex-end;
    gap: 3.5rem;
}

.site-footer__links {
    display: flex;
    align-items: center;
    gap: 3rem;
}

.site-footer__brand-group {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
}

.site-footer__brand-label {
    margin: 0;
    font-size: 0.6rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(244, 234, 216, 0.6);
    font-weight: 400;
}

.site-footer__partner-logo {
    height: 32px;
    width: auto;
    display: block;
}

.site-footer__credit {
    margin: 0;
    font-size: 0.7rem;
    font-weight: 400;
    letter-spacing: 0.18em;
    color: var(--c-text-light);
}

.site-footer__credit strong {
    font-weight: 700;
    color: var(--c-text-light);
}

.site-footer__credit a {
    color: inherit;
    text-decoration: none;
    transition: opacity 0.2s ease;
}

.site-footer__credit a:hover,
.site-footer__credit a:focus {
    opacity: 0.75;
    color: var(--c-text-light);
    text-decoration: underline;
}

.site-footer__regulamento {
    font-size: 0.6rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    font-weight: 400;
    color: var(--c-text-light);
    opacity: 0.75;
    text-decoration: none;
    transition: opacity 0.2s ease;
}

.site-footer__regulamento:hover,
.site-footer__regulamento:focus {
    opacity: 1;
    text-decoration: underline;
    color: var(--c-text-light);
}

@media (max-width: 575.98px) {
    .site-footer {
        padding: 2.5rem 0;
    }
    .site-footer__row {
        flex-direction: column;
        padding: 0 1.5rem;
        gap: 2.5rem;
        text-align: center;
    }
    .site-footer__brands {
        justify-content: center;
        flex-wrap: wrap;
        gap: 2rem;
    }
    .site-footer__brand-group {
        align-items: center;
        gap: 0.75rem;
    }
    .site-footer__links {
        justify-content: center;
        flex-wrap: wrap;
        gap: 1.75rem;
    }
    .site-footer__credit {
        font-size: 0.62rem;
        letter-spacing: 0.14em;
    }
}


/* ============================================================
   16. MODAIS CUSTOMIZADOS
   ============================================================ */
.modal-content--symphony {
    background-color: var(--c-bg-cream-soft);
    border: none;
    border-radius: 2px;
    color: var(--c-text-dark);
}

.modal-content--symphony .modal-header {
    border-bottom: 1px solid var(--c-line);
    padding: 1.5rem 2rem;
}

.modal-content--symphony .modal-title {
    font-size: 0.9rem;
    font-weight: 500;
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    color: var(--c-accent);
}

.modal-content--symphony .modal-body {
    padding: 2rem;
    font-size: 0.95rem;
    line-height: 1.7;
}

.modal-content--symphony .modal-footer {
    border-top: 1px solid var(--c-line);
    padding: 1.5rem 2rem;
}

.modal-content--symphony .close {
    color: var(--c-text-dark);
    text-shadow: none;
    opacity: 0.7;
    font-size: 2rem;
    font-weight: 300;
    transition: opacity 0.3s ease;
}

.modal-content--symphony .close:hover {
    opacity: 1;
    color: var(--c-accent);
}

/* Modal de galeria — sem chrome, só a imagem */
.modal-content--gallery {
    background-color: transparent;
    box-shadow: none;
}

.close--gallery {
    position: absolute;
    top: -2.5rem;
    right: 0;
    color: var(--c-text-light) !important;
    opacity: 0.8;
    z-index: 10;
}

/* Lista interna de modais */
.modal-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.modal-list li {
    position: relative;
    padding-left: 1.5rem;
    margin-bottom: 0.6rem;
    color: var(--c-text-dark);
}

.modal-list li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: var(--c-accent);
    font-size: 1.4rem;
    line-height: 1;
    top: -2px;
}


/* ============================================================
   16.5 FANCYBOX 3 (jQuery) — overrides de cor e responsividade
   ============================================================ */
.fancybox-bg {
    background: #0f0d0a;
}

.fancybox-is-open .fancybox-bg {
    opacity: 0.92;
}

.fancybox-button {
    color: var(--c-text-light);
    background: rgba(0, 0, 0, 0.35);
}

.fancybox-button:hover {
    color: #FAC981;
}

.fancybox-navigation .fancybox-button {
    background: rgba(15, 13, 10, 0.6);
}

.fancybox-navigation .fancybox-button:hover {
    background: #FAC981;
}

.fancybox-navigation .fancybox-button:hover svg path {
    stroke: #5A352E;
}

/* No mobile garantir que a imagem caiba */
@media (max-width: 767.98px) {
    .fancybox-slide--image {
        padding: 8px !important;
    }
    .fancybox-content {
        max-width: 100vw !important;
        max-height: 90vh !important;
    }
    .fancybox-image {
        max-width: 100% !important;
        max-height: 90vh !important;
        object-fit: contain;
    }
    .fancybox-navigation .fancybox-button {
        width: 40px;
        height: 40px;
    }
}


/* ============================================================
   17. RESPONSIVIDADE — MEDIA QUERIES
   ============================================================ */

/* Tablet (até 991px) */
@media (max-width: 991.98px) {
    .py-section {
        padding-top: 4rem;
        padding-bottom: 4rem;
    }

    .hero {
        min-height: auto;
    }

    .hero__main {
        padding: 7rem 0 3rem;
        min-height: 60vh;
    }

    /* Navbar mobile: sempre fixo com fundo sólido */
    .site-header {
        background-color: rgba(90, 53, 46, 0.92);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
        box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2);
    }

    .site-header:not(.site-header--scrolled) .site-logo {
        opacity: 1;
        pointer-events: auto;
    }

    .site-header .navbar-collapse {
        background-color: rgba(90, 53, 46, 0.95);
        padding: 1rem;
        margin-top: 0.5rem;
    }

    .torres__intro {
        padding: 1rem 0;
    }
}

/* Mobile (até 767px) */
@media (max-width: 767.98px) {
    .py-section {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }

    .site-logo {
        height: 40px;
    }

    .hero__main {
        padding: 6rem 0 2.5rem;
        min-height: 50vh;
    }

    .hero__content {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 1.5rem;
    }

    .hero__logo {
        /* height: 90px; */
    }

 

    .hero__footer {
        padding: 1.5rem 0;
    }

    .realizacao__brands {
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 1.25rem;
        justify-content: center;
        align-items: flex-start;
    }
    .realizacao__brand-group {
        flex: 0 1 auto;
        max-width: 50%;
    }
    .realizacao__brands-label {
        font-size: 0.6rem;
        margin-bottom: 0.6rem;
    }
    .realizacao__brands-logos {
        flex-wrap: wrap;
        gap: 0.75rem;
    }
    .realizacao__brands-logos .imagempng {
        max-width: 85px;
        height: auto;
    }
}

/* Mobile pequeno (até 480px) */
@media (max-width: 479.98px) {
    .infra-item__icon {
        width: 52px;
        height: 52px;
    }
}

/* Telas grandes (≥1920px) — escala a raiz, tudo em rem acompanha */
/* Escala fluida via clamp() nas variáveis :root cobre de mobile a 4K */
/* Mantém só o root font-size em rem padrão (16px) — sem override por breakpoint */


.container {
    max-width: 70vw !important; }

.text-marrom { color: #5A352E; }

input::placeholder{
    color: #5A352E !important;
}

@media (max-width: 800px){

    .box-form{
    width: 100%;
}


.container {
    max-width: 100vw !important; }

.localizacao__bars,
.localizacao__top-row img {
    width: 220px;
    height: auto;
    max-height: 90px;
    object-fit: contain;
    flex-shrink: 0;
}


}

.fancybox__slide.has-image.is-selected.is-done {
    width: 100vw!important;
}
div#fancybox-6, div#fancybox-7 {
    width: 100vw !important;
}

button.fancybox-button.fancybox-button--arrow_right {
    display: none;
}

button.fancybox-button.fancybox-button--arrow_left {
    display: none;
}

.teste{
    height: 100vh;
    background-image: url('../img/bgceu.jpg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    min-height: ;
}

#paralax {
    background-image: url('../img/bgceu.jpg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    min-height: 600px;
}

.box-img{

    min-height: 150px;
    display: flex;
    justify-content: center;
    align-items: center;


}