/* Espacos. */
#tulsi-indian .space-card { --space-image: url("../images/TULSI/tulsi_06.webp"); }
#cucina-di-nino .space-card { --space-image: url("../images/CUCINA/cucina_03.webp"); }
#bali-lounge .space-card { --space-image: url("../images/BALI/bali_06.webp"); }
#salas-rubi .space-card { --space-image: url("../images/RUBI/rubi_07.webp"); }
#salas-corporativas .space-card { --space-image: url("../images/SALAS/BMSC4396.webp"); }
.spaces-section {
    color: #ffffff;
    background-color: #07100b;
}
.spaces-section .text-secondary {
    color: rgba(255, 255, 255, .72) !important;
}
.sector-page { background: #050705; color: #fff; }
.sector-hero {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 80vh;
    min-height: 80svh;
    padding: clamp(5rem, 8vw, 7rem) 0 clamp(3rem, 5vw, 4rem);
    background: #07100b;
}
.sector-hero-layout {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    align-items: center;
    gap: clamp(2rem, 6vw, 6rem);
}
.sector-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .55rem;
    margin-bottom: 2rem;
    color: rgba(255,255,255,.6);
    font-size: .82rem;
}
.sector-breadcrumb a { color: rgba(255,255,255,.75); text-decoration: none; }
.sector-breadcrumb a:hover { color: #00bf63; }
.sector-hero-copy h1 {
    margin: 1rem 0 1.25rem;
    color: #fff;
    font-size: clamp(2rem, 3.8vw, 3.8rem);
    font-weight: 700;
    letter-spacing: -.055em;
    line-height: 1;
}
.sector-hero-copy > p {
    max-width: 570px;
    margin-bottom: 1.75rem;
    color: rgba(255,255,255,.76);
    font-size: clamp(1rem, 1.4vw, 1.2rem);
    line-height: 1.8;
}
.sector-hero-image { margin: 0; overflow: hidden; border-radius: 1rem; }
.sector-hero-image img {
    display: block;
    width: 100%;
    height: clamp(340px, 44vw, 600px);
    object-fit: cover;
}
.sector-about { padding: clamp(4rem, 8vw, 7rem) 0; background: #0b110d; }
.sector-about-layout {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: clamp(2rem, 8vw, 8rem);
}
.sector-about h2,
.sector-contact h2 {
    margin: .8rem 0 0;
    color: #fff;
    font-size: clamp(2rem, 4vw, 3.5rem);
    font-weight: 700;
    letter-spacing: -.04em;
}
.sector-about-copy p { color: rgba(255,255,255,.74); font-size: 1.05rem; line-height: 1.8; }
.sector-about-copy ul { display: grid; gap: .7rem; margin: 1.5rem 0 0; padding: 0; list-style: none; }
.sector-about-copy li { padding: .85rem 0; border-bottom: 1px solid rgba(255,255,255,.13); color: rgba(255,255,255,.9); }
.sector-specs { padding: clamp(3.5rem, 7vw, 6rem) 0; background: #050705; }
.sector-specs-heading { margin-bottom: 1.75rem; }
.sector-specs-heading h2 { margin: .65rem 0 0; color: #fff; font-size: clamp(1.8rem, 3.5vw, 3rem); font-weight: 700; letter-spacing: -.04em; }
.sector-specs-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); gap: .85rem; }
.sector-spec-card { display: grid; gap: .45rem; min-height: 110px; align-content: center; padding: 1.25rem; border: 1px solid rgba(255,255,255,.14); border-radius: .85rem; background: rgba(255,255,255,.035); }
.sector-spec-card span { color: rgba(255,255,255,.66); font-size: .82rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.sector-spec-card .sector-spec-label { display: flex; align-items: center; gap: .55rem; }
.sector-spec-card .sector-spec-label i,
.sector-room-card dt i { color: #64806b; font-size: 1rem; }
.sector-spec-card strong { color: #fff; font-size: 1.15rem; line-height: 1.4; }
.sector-room-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 1rem; margin-top: 1rem; }
.sector-room-card { padding: 1.25rem; border: 1px solid rgba(255,255,255,.14); border-radius: .85rem; background: rgba(255,255,255,.035); }
.sector-room-card-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding-bottom: .8rem; border-bottom: 1px solid rgba(255,255,255,.14); }
.sector-room-card h3 { margin: 0; color: #fff; font-size: 1.05rem; font-weight: 700; }
.sector-room-card-heading > span { flex: 0 0 auto; color: #c7d8ca; font-size: .9rem; font-weight: 700; }
.sector-room-card dl { display: grid; gap: .55rem; margin: .9rem 0 0; }
.sector-room-card dl > div { display: flex; justify-content: space-between; gap: 1rem; }
.sector-room-card dt { display: flex; align-items: center; gap: .55rem; color: rgba(255,255,255,.68); }
.sector-room-card dd { margin: 0; color: #fff; font-weight: 600; text-align: right; }
.sector-specs-note { margin: 1.1rem 0 0; color: rgba(255,255,255,.68); font-size: .9rem; line-height: 1.6; }
.sector-gallery { padding: clamp(4rem, 8vw, 7rem) 0; background: #050705; }
.sector-gallery-heading { margin-bottom: 2rem; }
.sector-gallery-heading h2 { margin: .7rem 0 0; color: #fff; font-size: clamp(2rem, 4vw, 3.5rem); font-weight: 700; letter-spacing: -.04em; }
.sector-gallery-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
.sector-gallery-image { margin: 0; overflow: hidden; border-radius: .85rem; background: #101411; aspect-ratio: 4 / 3; }
.sector-gallery-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.sector-related { padding: 1.5rem 0; background: #101812; color: #fff; }
.sector-related h2 { color: inherit; }
.sector-related ul { display: flex; flex-wrap: wrap; gap: .6rem 1rem; padding: 0; list-style: none; }
.sector-related a { color: #c7d8ca; text-decoration: underline; text-underline-offset: .2em; }
.sector-related a:hover, .sector-related a:focus-visible { color: #fff; }
.sector-contact { padding: clamp(3.5rem, 7vw, 6rem) 0; background: #0b110d; }
.sector-contact-inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.space-card {
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: flex-end;
    min-height: clamp(300px, 25vw, 370px);
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 1.1rem;
    color: #ffffff;
    background: #101815;
    box-shadow: 0 1rem 2rem rgba(0, 0, 0, .25);
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.space-card::before,
.space-card::after {
    position: absolute;
    inset: 0;
    content: "";
    pointer-events: none;
}
.space-card::before {
    z-index: -2;
    background-image: var(--space-image);
    background-position: center;
    background-size: cover;
    transition: transform .5s ease;
}
.space-card::after {
    z-index: -1;
    background: linear-gradient(180deg, rgba(0, 0, 0, .02) 10%, rgba(0, 0, 0, .16) 42%, rgba(0, 0, 0, .88) 100%);
}
.space-card:hover {
    transform: translateY(-6px);
    border-color: rgba(0, 191, 99, .8);
    box-shadow: 0 1.25rem 2.5rem rgba(0, 0, 0, .4);
}
.space-card:hover::before {
    transform: scale(1.06);
}
.space-card-content {
    position: relative;
    width: 100%;
    padding: 1.4rem 1.25rem 1.25rem;
}
.spaces-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1rem;
    width: 100%;
    max-width: 1320px;
    margin-inline: auto;
}
.space-item { min-width: 0; }
.space-card-link,
.space-card-link:link,
.space-card-link:visited,
.space-card-link:hover,
.space-card-link:focus,
.space-card-link:active {
    display: block;
    color: #fff;
    text-decoration: none !important;
}
.space-card-link .space-card,
.space-card-link .space-card h3,
.space-card-link .space-card p {
    text-decoration: none !important;
}
.space-card-link .space-card h3 { color: #fff; }
.space-card-link .space-card p { color: rgba(255, 255, 255, .62) !important; }
.space-card-link:focus-visible { outline: 2px solid #00bf63; outline-offset: 4px; border-radius: 1.2rem; }
.spaces-section .text-white { color: var(--ink-main) !important; }
.spaces-section .text-secondary { color: var(--ink-muted) !important; }
.space-card .space-card-content h3 { color: #fff !important; }
.space-card .space-card-content p { color: rgba(255,255,255,.82) !important; }
.space-card { border-color: rgba(57,85,66,.26); }
.space-card:hover { border-color: var(--brand-sage); }
.sector-breadcrumb { color: var(--ink-muted); }
.sector-breadcrumb a { color: var(--brand-forest); }
.sector-breadcrumb a:hover { color: #263d2d; }
.sector-about-copy li { border-color: rgba(57,85,66,.18); color: var(--ink-main); }
.sector-specs-heading h2, .sector-room-card h3, .sector-room-card dd { color: var(--ink-main); }
.sector-spec-card, .sector-room-card { border-color: rgba(57,85,66,.16); background: #f6f8f5; }
.sector-spec-card span, .sector-room-card dt, .sector-specs-note { color: var(--ink-muted); }
.sector-spec-card .sector-spec-label i,
.sector-room-card dt i { color: var(--brand-forest); }
.sector-spec-card strong { color: var(--ink-main); }
.sector-room-card-heading { border-color: rgba(57,85,66,.16); }
.sector-room-card-heading > span { color: var(--brand-forest); }
.sector-related { background: #eef1ed; color: var(--ink-main); }
.sector-related a { color: var(--brand-forest); }
.sector-related a:hover, .sector-related a:focus-visible { color: #263d2d; }
.sector-hero .text-brand, .infrastructure-hero .text-brand,
#infra .text-brand { color: var(--brand-forest) !important; }
#espacos {
    background:
        radial-gradient(ellipse at 50% 8%, rgba(47, 111, 74, .28), transparent 58%),
        linear-gradient(180deg, #173f2b 0%, #0c2b1b 48%, #050b07 100%) !important;
    color: #fff;
}
#espacos .text-brand { color: #c7d8ca !important; }
#espacos .text-white { color: #fff !important; }
#espacos .text-secondary { color: rgba(255,255,255,.78) !important; }
/* float mobile — coberto pelo bloco @media (max-width: 991.98px) */

/* Hero dos espaços em foto de fundo, seguindo a apresentação da página Serviços. */
.sector-hero {
    background-color: #07100b;
    background-image:
        linear-gradient(90deg, rgba(5,8,6,.9) 0%, rgba(5,8,6,.76) 43%, rgba(5,8,6,.24) 100%),
        var(--sector-hero-image);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.sector-hero-layout { display: block; }
.sector-hero-copy { max-width: 760px; }
.sector-hero .sector-breadcrumb { color: rgba(255,255,255,.72); }
.sector-hero .sector-breadcrumb a { color: rgba(255,255,255,.88); }
.sector-hero .sector-breadcrumb a:hover { color: #c7d8ca; }
.sector-hero .text-brand { color: #c7d8ca !important; }
.sector-hero .sector-hero-copy h1 { color: #fff !important; }
.sector-hero .sector-hero-copy > p { color: rgba(255,255,255,.86); }
.infrastructure-hero-cover .sector-breadcrumb,
.infrastructure-hero-cover .sector-breadcrumb a { color: rgba(255,255,255,.86); }
/* logos/espacos mobile — coberto pelo bloco @media (max-width: 991.98px) */

.infrastructure-plan-section,
.infrastructure-clients-section,
.space-plan-section { padding: clamp(3.5rem, 7vw, 6rem) 0; }
.infrastructure-plan-section,
.space-plan-section { background: #f6f7f5; }
.infrastructure-plan-heading h2,
.space-plan-copy h2 { margin: .65rem 0 .8rem; color: var(--ink-main, #18221b); font-size: clamp(2rem, 4vw, 3.5rem); font-weight: 700; letter-spacing: -.04em; }
.infrastructure-plan-heading p,
.space-plan-copy p { max-width: 680px; margin: 0; color: var(--ink-muted, #59635c); font-size: 1.02rem; line-height: 1.75; }
.infrastructure-plan-image,
.space-plan-image { display: block; overflow: hidden; border: 1px solid rgba(24,34,27,.12); border-radius: 1rem; background: #050505; }
.infrastructure-plan-image img,
.space-plan-image img { display: block; width: 100%; height: auto; transition: transform .35s ease; }
.infrastructure-plan-image:hover img,
.space-plan-image:hover img { transform: scale(1.015); }
.space-plan-layout { display: grid; grid-template-columns: minmax(250px, .72fr) minmax(0, 1.6fr); align-items: center; gap: clamp(2rem, 5vw, 5rem); }
/* space-plan/logos mobile — coberto pelo bloco @media (max-width: 991.98px) */

.infrastructure-gastronomy-section,
.sector-gastronomy { padding: clamp(3.5rem, 7vw, 5rem) 0; background: #eef1ed; color: var(--ink-main); }
.infrastructure-gastronomy-heading h2,
.sector-gastronomy-heading h2 { margin: .6rem 0 .8rem; color: var(--ink-main); font-size: clamp(1.8rem, 3.4vw, 2.7rem); font-weight: 700; letter-spacing: -.035em; }
.infrastructure-gastronomy-heading > p,
.sector-gastronomy-heading > p { max-width: 760px; margin: 0 0 1.5rem; color: var(--ink-muted); line-height: 1.7; }
.infrastructure-gastronomy-note,
.sector-gastronomy-note { color: var(--ink-muted); font-size: .85rem; }
.sector-gastronomy { background: #fff; }
.sector-gastronomy-heading { max-width: 820px; margin-bottom: 1.5rem; }
.sector-gastronomy-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: .85rem; }
.sector-gastronomy-card { min-height: 145px; padding: 1.25rem; border: 1px solid rgba(57,85,66,.17); border-radius: .85rem; background: #f6f8f5; }
.sector-gastronomy-card h3 { margin: 0 0 .6rem; color: var(--ink-main); font-size: 1.05rem; font-weight: 700; }
.sector-gastronomy-card p { margin: 0; color: var(--ink-muted); font-size: .92rem; line-height: 1.65; }
.sector-gastronomy-note { margin: 1rem 0 0; line-height: 1.6; }
