:root {
            /* Lagoa ao entardecer — Atlântico + areia */
            --bg: #0a1c24;
            --bg-mid: #123a42;
            --bg-deep: #081820;
            --tq: #3ec4b0;
            --tq-rgb: 62, 196, 176;
            --tq-soft: rgba(var(--tq-rgb), .14);
            --gd: #e4b889;
            --gd-rgb: 228, 184, 137;
            --tx: #f4f1ea;
            --tx-dim: rgba(244, 241, 234, .68);
            --wa: #25D366;
            --gl: rgba(255, 255, 255, .055);
            --gb: rgba(255, 255, 255, .11);
            --surface: rgba(12, 40, 48, .62);
            --surface-strong: rgba(8, 28, 34, .72);
            --overlay: rgba(8, 28, 34, .42);
            --font-display: 'Playfair Display', Georgia, serif;
            --font-body: 'DM Sans', system-ui, sans-serif
        }

        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0
        }

        html {
            scroll-behavior: smooth;
            overflow-x: clip
        }

        body {
            background:
                radial-gradient(1100px 560px at 88% -8%, rgba(var(--tq-rgb), .22), transparent 58%),
                radial-gradient(900px 520px at 8% 95%, rgba(var(--gd-rgb), .14), transparent 52%),
                linear-gradient(165deg, #163f48 0%, var(--bg-mid) 38%, var(--bg) 72%, var(--bg-deep) 100%);
            /* fixed causa jank no scroll (esp. mobile) — só desktop na media 1024+ */
            background-attachment: scroll;
            color: var(--tx);
            font: 400 16px/1.65 var(--font-body);
            padding-bottom: 96px;
            overflow-x: clip;
            -webkit-font-smoothing: antialiased;
            text-rendering: optimizeLegibility
        }

        h1,
        h2,
        h3 {
            font-family: var(--font-display);
            font-weight: 600;
            line-height: 1.12;
            letter-spacing: -.02em
        }

        a {
            color: inherit;
            text-decoration: none
        }

        img {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover
        }

        :focus-visible {
            outline: 2px solid var(--tq);
            outline-offset: 3px
        }

        .glass {
            background: var(--surface);
            border: 1px solid var(--gb);
            -webkit-backdrop-filter: blur(12px);
            backdrop-filter: blur(12px)
        }

        /* Nav / barra: um pouco mais sólidas pra legibilidade */
        .nav.glass,
        .cmp-bar.glass {
            background: var(--surface-strong);
            -webkit-backdrop-filter: blur(16px);
            backdrop-filter: blur(16px)
        }

        .sec {
            max-width: 1180px;
            margin: 0 auto;
            padding: 72px 20px 0
        }

        .sec h2 {
            font-size: clamp(1.9rem, 6vw, 3rem);
            margin-bottom: 10px
        }

        .sub {
            color: var(--tx-dim);
            max-width: 56ch;
            margin-bottom: 32px
        }

        .badge {
            display: inline-block;
            padding: 5px 14px;
            border-radius: 999px;
            font-size: .78rem;
            font-weight: 600;
            letter-spacing: .02em;
            color: var(--tq);
            background: rgba(8, 28, 34, .5)
        }

        /* Destinos + prova */
        .destinos {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin: 0 0 28px
        }

        .destinos a {
            display: inline-flex;
            align-items: center;
            min-height: 44px;
            padding: 8px 14px;
            border-radius: 999px;
            border: 1px solid var(--gb);
            background: var(--gl);
            font-size: .86rem;
            font-weight: 500;
            color: var(--tx-dim);
            transition: color .25s, border-color .25s, background .25s, box-shadow .25s;
            -webkit-tap-highlight-color: transparent;
            outline: none;
            overflow: hidden
        }

        .destinos a:hover,
        .destinos a.is-on {
            color: var(--tx);
            border-color: rgba(var(--tq-rgb), .45);
            background: var(--tq-soft)
        }

        .destinos a:active {
            background: rgba(var(--tq-rgb), .22);
            border-color: rgba(var(--tq-rgb), .55)
        }

        .destinos a:focus-visible {
            outline: none;
            box-shadow: 0 0 0 2px var(--bg), 0 0 0 4px var(--tq)
        }

        .prova {
            display: grid;
            gap: 14px;
            margin-top: 18px
        }

        .prova article {
            padding: 22px 20px;
            border-radius: 18px;
            border: 1px solid var(--gb);
            background: var(--gl)
        }

        .prova strong {
            display: block;
            font-family: var(--font-display);
            font-size: 1.25rem;
            margin-bottom: 6px;
            color: var(--gd)
        }

        .prova p {
            color: var(--tx-dim);
            font-size: .95rem;
            margin: 0
        }

        /* NAV */
        .nav {
            position: fixed;
            top: 12px;
            left: 12px;
            right: 12px;
            z-index: 50;
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 10px 18px;
            border-radius: 999px;
            max-width: 1180px;
            margin: 0 auto
        }

        .nav .brand {
            font-family: var(--font-display);
            font-weight: 700;
            font-size: 1.15rem
        }

        .nav span {
            display: flex;
            gap: 18px;
            font-size: .9rem;
            font-weight: 500
        }

        .nav span a:hover {
            color: var(--gd)
        }

        /* HERO HOME — mobile: vídeo 9:16 tela cheia | desktop: foto */
        .hero {
            position: relative;
            height: 100vh;
            height: 100svh;
            min-height: 580px;
            display: grid;
            place-items: center;
            text-align: center;
            overflow: hidden;
            padding: 72px max(16px, env(safe-area-inset-right)) 56px max(16px, env(safe-area-inset-left))
        }

        .hero-photo,
        .hero-video {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center center
        }

        /* Mobile: prioriza a ESQUERDA do vídeo — no Redmi o texto gravado perdia o F/B */
        .hero-video {
            object-position: 28% 88%
        }

        /* Foto sempre debaixo (fallback enquanto o vídeo carrega no mobile) */
        .hero-photo {
            display: block;
            z-index: 0
        }

        .hero-video {
            display: block;
            z-index: 0
        }

        .hero .ov {
            position: absolute;
            inset: 0;
            z-index: 1;
            background: var(--overlay)
        }

        .hero .in {
            position: relative;
            z-index: 2;
            width: 100%;
            max-width: 640px;
            margin: 0 auto;
            padding: 0;
            box-sizing: border-box
        }

        .hero h1 {
            font-size: clamp(3.2rem, 14vw, 7rem);
            font-weight: 700;
            letter-spacing: -.025em;
            text-shadow: 0 2px 24px rgba(0, 0, 0, .35)
        }

        .hero .tag {
            font: italic 400 clamp(1.15rem, 4.4vw, 1.7rem)/1.4 var(--font-display);
            color: var(--gd);
            margin: 14px 0 28px
        }

        .search {
            display: flex;
            align-items: center;
            gap: 6px;
            width: 100%;
            max-width: 100%;
            box-sizing: border-box;
            padding: 5px;
            border-radius: 999px;
            overflow: hidden
        }

        .search input {
            flex: 1 1 auto;
            min-width: 0;
            width: 100%;
            background: none;
            border: 0;
            outline: 0;
            color: var(--tx);
            font: inherit;
            font-size: 16px;
            line-height: 1.3;
            padding: 10px 14px
        }

        .search input::placeholder {
            color: rgba(240, 237, 228, .55);
            opacity: 1
        }

        .search .btn {
            flex: 0 0 auto;
            padding: 11px 16px;
            font-size: .88rem;
            white-space: nowrap;
            -webkit-tap-highlight-color: transparent
        }

        .btn {
            display: inline-block;
            background: var(--gd);
            color: #1a1206;
            font-weight: 600;
            font-size: .95rem;
            padding: 12px 22px;
            border-radius: 999px;
            border: 0;
            cursor: pointer;
            transition: background .3s, transform .3s
        }

        .btn:hover {
            background: var(--tq)
        }

        .search .btn:hover {
            transform: none
        }

        .down {
            position: absolute;
            bottom: 24px;
            left: 50%;
            z-index: 2;
            width: 44px;
            height: 44px;
            margin-left: -22px;
            border-radius: 50%;
            display: grid;
            place-items: center;
            animation: bounce 3.2s ease-in-out infinite
        }

        @keyframes bounce {

            0%,
            100% {
                transform: translateY(0)
            }

            50% {
                transform: translateY(6px)
            }
        }

        /* CARDS */
        .grid {
            display: grid;
            gap: 24px;
            grid-template-columns: 1fr
        }

        .card {
            border-radius: 20px;
            overflow: hidden;
            opacity: 0;
            transform: translateY(16px);
            transition: opacity .55s ease, transform .45s ease, box-shadow .35s ease
        }

        .card.in {
            opacity: 1;
            transform: none
        }

        .card.is-reservado {
            opacity: .88
        }

        .card.is-reservado .ph img {
            filter: saturate(.85) brightness(.92)
        }

        .ph.img-broken,
        .gal button.img-broken {
            background: rgba(255, 255, 255, .04)
        }

        .card .ph {
            position: relative;
            display: block;
            aspect-ratio: 4/3;
            overflow: hidden
        }

        .card .ph img {
            transition: transform .55s cubic-bezier(.2, .7, .2, 1)
        }

        .card:hover .ph img {
            transform: scale(1.03)
        }

        @media (hover: none) {
            .card:hover .ph img {
                transform: none
            }
        }

        .card .badge {
            position: absolute;
            top: 14px;
            left: 14px;
            background: rgba(8, 28, 34, .82);
            border: 1px solid var(--gb)
        }

        .card .badge-disp {
            left: auto;
            right: 14px
        }

        .card .bd {
            padding: 20px 22px 24px
        }

        .card h3 {
            font-size: 1.5rem;
            margin-bottom: 4px
        }

        .card .cap {
            color: rgba(240, 237, 228, .7);
            font-size: .92rem
        }

        .card .ft {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-top: 18px;
            gap: 12px;
            flex-wrap: wrap
        }

        .ft-actions {
            display: flex;
            align-items: center;
            gap: 10px;
            flex-wrap: wrap
        }

        .price {
            font-family: var(--font-display);
            font-size: 1.6rem;
            font-weight: 600;
            color: var(--gd);
            line-height: 1
        }

        .price small {
            font: 400 .8rem var(--font-body);
            color: rgba(240, 237, 228, .65);
            margin-left: 3px
        }

        /* HERO IMOVEL */
        .page-imovel {
            padding-bottom: 110px
        }

        .page-imovel footer {
            padding-bottom: 28px
        }

        .nav-cta {
            color: var(--gd);
            font-weight: 600
        }

        .nav a.nav-cta {
            color: var(--gd)
        }

        .phero {
            position: relative;
            height: 100vh;
            height: 100svh;
            min-height: 560px;
            margin-top: 0;
            overflow: hidden;
            display: flex;
            align-items: flex-end
        }

        .phero>img {
            position: absolute;
            inset: 0
        }

        .phero-fallback {
            position: absolute;
            inset: 0;
            background: #0a1c24
        }

        .phero .ov {
            position: absolute;
            inset: 0;
            background: linear-gradient(to top, rgba(8, 28, 34, .96) 0%, rgba(8, 28, 34, .55) 40%, rgba(8, 28, 34, .08) 78%)
        }

        .phero .info {
            position: relative;
            z-index: 2;
            width: calc(100% - 32px);
            max-width: 1180px;
            margin: 0 auto max(28px, env(safe-area-inset-bottom));
            padding: 24px 22px 26px;
            border-radius: 22px;
            text-align: left
        }

        .phero h2 {
            font-size: clamp(2.1rem, 7.5vw, 4.4rem);
            margin: 12px 0 10px
        }

        .phero .meta {
            display: flex;
            flex-wrap: wrap;
            gap: 8px 22px;
            align-items: baseline;
            color: var(--tx-dim)
        }

        .phero .price {
            font-size: clamp(1.6rem, 5vw, 2rem);
            color: var(--gd)
        }

        .info-cta {
            display: inline-flex;
            margin-top: 16px;
            color: var(--tq);
            font-weight: 600;
            font-size: .95rem
        }

        .facts {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            max-width: 1180px;
            margin: 18px auto 0;
            padding: 0 20px;
            position: relative;
            z-index: 3
        }

        .facts span {
            padding: 9px 14px;
            border-radius: 999px;
            border: 1px solid var(--gb);
            background: var(--gl);
            font-size: .86rem;
            font-weight: 500;
            color: var(--tx-dim)
        }

        /* GALERIA */
        .gal {
            display: grid;
            gap: 10px;
            grid-template-columns: repeat(2, 1fr);
            grid-auto-rows: minmax(140px, 18vw)
        }

        .gal button {
            border: 0;
            padding: 0;
            border-radius: 16px;
            overflow: hidden;
            cursor: zoom-in;
            background: var(--gl);
            -webkit-tap-highlight-color: transparent
        }

        .gal button:first-child {
            grid-column: span 2;
            grid-row: span 2
        }

        .gal button:last-child:nth-child(even) {
            grid-column: span 2
        }

        .gal img {
            transition: transform .45s ease
        }

        .gal button:hover img {
            transform: scale(1.02)
        }

        .lb {
            position: fixed;
            inset: 0;
            z-index: 100;
            display: grid;
            place-items: center;
            padding: 60px 14px 100px;
            background: rgba(5, 10, 22, .95);
            opacity: 0;
            visibility: hidden;
            transition: opacity .4s ease, visibility .4s
        }

        .lb.on {
            opacity: 1;
            visibility: visible
        }

        .lb img {
            width: auto;
            height: auto;
            max-width: 100%;
            max-height: 100%;
            border-radius: 12px;
            object-fit: contain
        }

        .lb button {
            position: absolute;
            width: 48px;
            height: 48px;
            border-radius: 50%;
            color: var(--tx);
            font-size: 1.7rem;
            line-height: 1;
            cursor: pointer
        }

        .lb .x {
            top: 14px;
            right: 14px
        }

        .lb .pv {
            left: 12px;
            top: 50%
        }

        .lb .nx {
            right: 12px;
            top: 50%
        }

        .lb .ct {
            position: absolute;
            top: 24px;
            left: 20px;
            font-size: .9rem;
            color: rgba(240, 237, 228, .75)
        }

        /* VIDEO — 16:9 default; portrait sobrescreve via style inline (width/height do asset) */
        .vid {
            position: relative;
            aspect-ratio: 16/9;
            max-height: min(80vh, 900px);
            border-radius: 22px;
            overflow: hidden;
            cursor: pointer;
            border: 1px solid var(--gb);
            background: #000
        }

        .vid iframe,
        .vid video {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            border: 0
        }

        .vid-fallback {
            position: absolute;
            inset: 0;
            background: var(--gl)
        }

        .vid .pl {
            position: absolute;
            inset: 0;
            display: grid;
            place-items: center;
            background: rgba(8, 28, 34, .38)
        }

        .vid .pl i {
            width: 76px;
            height: 76px;
            border-radius: 50%;
            display: grid;
            place-items: center;
            font-style: normal;
            font-size: 1.6rem;
            padding-left: 5px;
            transition: transform .4s
        }

        .vid:hover .pl i {
            transform: scale(1.04)
        }

        /* COMODIDADES */
        .am {
            display: grid;
            gap: 12px;
            grid-template-columns: repeat(2, 1fr);
            margin-top: 28px
        }

        .am-item {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 8px;
            padding: 22px 12px;
            border-radius: 18px;
            text-align: center;
            font-weight: 500;
            font-size: .92rem
        }

        .am-ico {
            font-size: 1.5rem;
            line-height: 1;
            filter: drop-shadow(0 2px 6px rgba(var(--tq-rgb), .16))
        }

        .am-label {
            color: var(--tx)
        }

        /* DESCRICAO / MAPA */
        .txt p {
            max-width: 64ch;
            margin-bottom: 18px;
            color: var(--tx-dim)
        }

        .txt p:first-of-type {
            font: italic 400 clamp(1.28rem, 4.4vw, 1.7rem)/1.45 var(--font-display);
            color: var(--tx)
        }

        .cta-soft-wrap {
            margin-top: 8px
        }

        .cta-soft {
            color: var(--gd);
            font-weight: 600;
            font-size: 1.02rem
        }

        .map {
            height: min(340px, 55vw);
            min-height: 240px;
            border-radius: 22px;
            overflow: hidden;
            border: 1px solid var(--gb)
        }

        .map iframe {
            width: 100%;
            height: 100%;
            border: 0;
            filter: invert(.92) hue-rotate(180deg) saturate(.55) brightness(.95)
        }

        .cta-final {
            text-align: center;
            padding-bottom: 28px
        }

        .cta-final .sub {
            margin-left: auto;
            margin-right: auto
        }

        /* WHATSAPP */
        .wa {
            position: fixed;
            left: 16px;
            right: 16px;
            bottom: max(16px, env(safe-area-inset-bottom));
            z-index: 110;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            background: var(--wa);
            color: #04240f;
            font-weight: 700;
            font-size: 1.02rem;
            padding: 15px;
            border-radius: 999px;
            box-shadow: 0 8px 24px rgba(0, 0, 0, .28);
            transition: box-shadow .3s ease, transform .25s ease
        }

        .wa:hover {
            box-shadow: 0 10px 28px rgba(37, 211, 102, .28), 0 8px 20px rgba(0, 0, 0, .22)
        }

        [data-wa-link].is-wa-busy {
            opacity: .72;
            pointer-events: none
        }

        .wa svg,
        .big svg {
            width: 24px;
            height: 24px;
            fill: currentColor;
            flex: none
        }

        .big {
            display: none
        }

        footer {
            text-align: center;
            padding: 64px 20px 24px;
            color: rgba(240, 237, 228, .5);
            font-size: .85rem;
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 8px 12px
        }

        footer a {
            color: rgba(240, 237, 228, .72)
        }

        footer a:hover {
            color: var(--tq)
        }

        @media(min-width:700px) {
            .grid {
                grid-template-columns: repeat(2, 1fr)
            }

            .am {
                grid-template-columns: repeat(4, 1fr)
            }

            .phero .info {
                padding: 34px 40px
            }

            .prova {
                grid-template-columns: repeat(3, 1fr);
                gap: 18px
            }
        }

        @media(min-width:1024px) {
            body {
                padding-bottom: 0;
                background-attachment: fixed
            }

            /* Desktop: só a foto — sem baixar o vídeo */
            .hero {
                padding: 88px 22px 70px
            }

            .search input {
                font-size: inherit;
                padding: 0 18px
            }

            .search .btn {
                padding: 12px 22px;
                font-size: .95rem
            }

            @media (hover: hover) {
                .btn:hover {
                    transform: translateX(3px)
                }
            }

            .hero-video {
                display: none
            }

            .hero .ov {
                background: rgba(8, 28, 34, .48)
            }

            .sec {
                padding-top: 110px
            }

            .gal {
                grid-template-columns: repeat(3, 1fr);
                grid-auto-rows: 220px
            }

            .gal button:last-child:nth-child(even) {
                grid-column: auto
            }

            .facts {
                margin-top: 22px;
                padding: 0 22px;
                gap: 10px
            }

            .wa {
                left: auto;
                right: 28px;
                bottom: 28px;
                padding: 13px 22px;
                font-size: .95rem
            }

            .big {
                display: flex;
                align-items: center;
                justify-content: center;
                gap: 12px;
                width: max-content;
                margin: 0 auto;
                padding: 18px 36px;
                border-radius: 999px;
                background: var(--wa);
                color: #04240f;
                font-weight: 700;
                font-size: 1.15rem;
                box-shadow: 0 8px 24px rgba(0, 0, 0, .22);
                transition: box-shadow .3s ease, transform .25s ease
            }

            .big:hover {
                transform: translateY(-1px);
                box-shadow: 0 10px 28px rgba(37, 211, 102, .22), 0 8px 20px rgba(0, 0, 0, .18)
            }

            .big svg {
                width: 28px;
                height: 28px
            }

            .lb {
                padding-bottom: 60px
            }
        }


        @media(max-width:380px) {
            .search {
                gap: 4px;
                padding: 4px
            }

            .search input {
                padding: 10px 10px;
                font-size: 16px
            }

            .search .btn {
                padding: 11px 12px;
                font-size: .82rem
            }
        }

        /* —— Mobile polish: overflow + comparar + cards —— */
        @media(max-width:699px) {
            .nav {
                top: 8px;
                left: 8px;
                right: 8px;
                padding: 8px 12px;
                gap: 8px
            }

            .nav .brand {
                font-size: 1rem;
                min-width: 0;
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
                max-width: 42%
            }

            .nav span {
                gap: 8px;
                font-size: .72rem;
                flex: none
            }

            .page-imovel .nav span {
                gap: 6px;
                font-size: .7rem
            }

            .sec {
                padding-left: 16px;
                padding-right: 16px
            }

            .hero h1 {
                font-size: clamp(2.6rem, 12vw, 3.8rem)
            }

            .card .bd {
                padding: 16px 16px 18px
            }

            .card h3 {
                font-size: 1.28rem
            }

            .card .ft {
                flex-direction: column;
                align-items: stretch;
                gap: 12px
            }

            .ft-actions {
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 8px;
                width: 100%
            }

            .ft-actions .cmp-toggle,
            .ft-actions .btn {
                width: 100%;
                justify-content: center;
                text-align: center;
                padding: 10px 8px;
                font-size: .78rem;
                white-space: nowrap
            }

            .price {
                font-size: 1.35rem
            }

            .cmp-toggle {
                padding: 8px 10px;
                font-size: .78rem
            }

            .cmp-bar .cmp-go-full {
                display: none
            }

            .cmp-bar .cmp-go-short {
                display: inline
            }

            .cmp-bar {
                gap: 8px;
                padding: 9px 10px;
                border-radius: 14px
            }

            .facts {
                gap: 8px;
                padding: 0 16px
            }

            .facts span {
                padding: 8px 10px;
                font-size: .8rem
            }

            .phero .info {
                width: calc(100% - 24px);
                padding: 18px 16px 20px;
                margin-bottom: max(20px, env(safe-area-inset-bottom))
            }

            .info .cmp-toggle {
                width: 100%;
                text-align: center
            }

            .qualify-form {
                padding: 16px;
                max-width: 100%
            }

            .wa {
                left: 12px;
                right: 12px;
                padding: 14px;
                font-size: .95rem
            }

            .compare-table-wrap {
                margin: 0 -16px;
                padding: 0 16px
            }

            .compare-table {
                min-width: 480px
            }

            .compare-table th,
            .compare-table td {
                padding: 12px 8px;
                font-size: .9rem
            }

            .compare-table thead th {
                min-width: 140px
            }
        }

        @media(min-width:700px) {
            .cmp-bar {
                left: 50%;
                right: auto;
                width: max-content;
                max-width: min(420px, calc(100% - 24px));
                transform: translateX(-50%);
                border-radius: 999px;
                padding: 12px 16px;
                gap: 14px
            }

            .cmp-bar.is-on {
                transform: translateX(-50%)
            }

            .cmp-limit-hint {
                left: 50%;
                right: auto;
                width: max-content;
                max-width: min(420px, calc(100% - 24px));
                transform: translateX(-50%);
                border-radius: 999px
            }

            .cmp-limit-hint.is-on {
                transform: translateX(-50%)
            }
        }

        @media(prefers-reduced-motion:reduce) {
            * {
                animation: none !important;
                transition: none !important;
                scroll-behavior: auto !important
            }

            .card {
                opacity: 1;
                transform: none
            }

            body {
                background-attachment: scroll !important
            }
        }

        /* Disponibilidade */
        .badge-row {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin-bottom: 8px
        }

        .badge-disp {
            letter-spacing: .01em
        }

        .badge-disp--livre {
            color: #7dcea0;
            background: rgba(125, 206, 160, .12)
        }

        .badge-disp--sob_consulta {
            color: var(--gd);
            background: rgba(var(--gd-rgb), .12)
        }

        .badge-disp--reservado {
            color: rgba(243, 240, 232, .55);
            background: rgba(255, 255, 255, .06)
        }

        .disp-note {
            color: var(--tx-dim);
            font-size: .88rem;
            margin: 6px 0 0
        }

        .card .disp-note {
            margin-top: 8px
        }

        .facts .badge-disp {
            padding: 5px 12px;
            border-radius: 999px;
            font-size: .78rem;
            font-weight: 600
        }

        /* Pré-qualificação WhatsApp */
        .qualify-form {
            display: grid;
            grid-template-columns: 1fr;
            gap: 14px;
            padding: 20px;
            border-radius: 18px;
            max-width: 560px;
            color-scheme: dark
        }

        .qualify-form label {
            display: flex;
            flex-direction: column;
            gap: 6px;
            font-size: .85rem;
            color: var(--tx-dim)
        }

        .qualify-form input {
            appearance: none;
            border: 1px solid var(--gb);
            background: rgba(8, 28, 34, .5);
            color: var(--tx);
            border-radius: 12px;
            padding: 12px 14px;
            font: 500 1rem/1.2 var(--font-body);
            min-height: 48px
        }

        /* Datas nativas: não zerar appearance — mobile precisa do controle do SO estilizado */
        .qualify-form input[type="date"],
        .qualify-form input[type="number"],
        .qualify-form input[type="email"] {
            appearance: auto;
            -webkit-appearance: auto;
            color-scheme: dark;
            background: rgba(8, 28, 34, .78);
            color: var(--tx);
            border: 1px solid var(--gb);
            border-radius: 12px;
            min-height: 48px;
            width: 100%;
            font: 500 1rem/1.2 var(--font-body);
            padding: 12px 14px
        }

        .qualify-form input[type="date"]::-webkit-calendar-picker-indicator {
            opacity: .85;
            cursor: pointer;
            filter: invert(.9)
        }

        .qualify-form input:focus-visible {
            outline: 2px solid var(--tq);
            outline-offset: 1px
        }

        .qualify-cta {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            margin-top: 4px;
            padding: 14px 18px;
            border-radius: 999px;
            background: var(--wa);
            color: #062816;
            font-weight: 700;
            text-align: center
        }

        .qualify-hint {
            grid-column: 1 / -1;
            color: var(--gd);
            font-size: .88rem;
            margin: 0
        }

        .qualify-email small {
            font-weight: 400;
            opacity: .75
        }

        @media(min-width:700px) {
            .qualify-form {
                grid-template-columns: 1fr 1fr 1fr;
                align-items: end
            }

            .qualify-email {
                grid-column: 1 / -1
            }

            .qualify-cta {
                grid-column: 1 / -1;
                max-width: 320px
            }
        }

        /* Roteiro */
        .roteiro-list {
            list-style: none;
            counter-reset: rota;
            display: grid;
            gap: 22px;
            max-width: 640px
        }

        .roteiro-list li {
            counter-increment: rota;
            padding-left: 52px;
            position: relative
        }

        .roteiro-list li::before {
            content: counter(rota);
            position: absolute;
            left: 0;
            top: 0;
            width: 36px;
            height: 36px;
            border-radius: 50%;
            display: grid;
            place-items: center;
            font: 600 .9rem var(--font-body);
            color: var(--tq);
            background: var(--tq-soft);
            border: 1px solid rgba(var(--tq-rgb), .25)
        }

        .roteiro-head {
            display: flex;
            flex-wrap: wrap;
            align-items: baseline;
            gap: 8px 14px;
            margin-bottom: 4px
        }

        .roteiro-head strong {
            font-family: var(--font-display);
            font-size: 1.25rem;
            font-weight: 600
        }

        .roteiro-tempo {
            font-size: .82rem;
            color: var(--tq);
            font-weight: 600
        }

        .roteiro-list p {
            color: var(--tx-dim);
            max-width: 52ch
        }

        /* Comparar */
        .cmp-toggle {
            appearance: none;
            border: 1px solid var(--gb);
            background: transparent;
            color: var(--tx-dim);
            font: 600 .82rem var(--font-body);
            padding: 8px 12px;
            border-radius: 999px;
            cursor: pointer;
            -webkit-tap-highlight-color: transparent
        }

        .cmp-toggle[aria-pressed="true"] {
            color: var(--tq);
            border-color: rgba(var(--tq-rgb), .4);
            background: var(--tq-soft)
        }

        .info .cmp-toggle {
            margin-top: 12px
        }

        .cmp-bar {
            position: fixed;
            left: 12px;
            right: 12px;
            bottom: max(20px, env(safe-area-inset-bottom));
            width: auto;
            max-width: 420px;
            margin: 0 auto;
            z-index: 120;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            padding: 10px 12px;
            border-radius: 16px;
            background: rgba(8, 28, 34, .92);
            border: 1px solid var(--gb);
            -webkit-backdrop-filter: blur(14px);
            backdrop-filter: blur(14px);
            box-shadow: 0 10px 28px rgba(0, 0, 0, .32);
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            transform: none;
            transition: opacity .28s ease, visibility .28s ease;
            box-sizing: border-box
        }

        body:has(.wa) .cmp-bar,
        .page-imovel .cmp-bar {
            bottom: max(92px, calc(76px + env(safe-area-inset-bottom)))
        }

        .cmp-limit-hint {
            position: fixed;
            left: 12px;
            right: 12px;
            bottom: max(88px, calc(72px + env(safe-area-inset-bottom)));
            width: auto;
            max-width: 420px;
            margin: 0 auto;
            z-index: 125;
            padding: 10px 14px;
            border-radius: 14px;
            background: rgba(8, 28, 34, .94);
            border: 1px solid rgba(var(--gd-rgb), .45);
            color: var(--gd);
            font: 600 .82rem var(--font-body);
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            transition: opacity .25s ease, visibility .25s ease;
            text-align: center;
            box-sizing: border-box
        }

        .cmp-limit-hint.is-on {
            opacity: 1;
            visibility: visible
        }

        .cmp-bar.is-on {
            opacity: 1;
            visibility: visible;
            pointer-events: auto
        }

        .cmp-bar-count {
            flex: none;
            font: 600 .78rem var(--font-body);
            color: var(--tx-dim);
            white-space: nowrap
        }

        .cmp-bar a {
            color: var(--tq);
            font-weight: 700;
            white-space: nowrap;
            font-size: .88rem;
            flex: 1;
            text-align: center;
            min-width: 0
        }

        .cmp-bar .cmp-go-short {
            display: none
        }

        .cmp-bar button {
            appearance: none;
            border: 0;
            background: transparent;
            color: var(--tx-dim);
            font: 600 .78rem var(--font-body);
            cursor: pointer;
            flex: none;
            white-space: nowrap;
            padding: 4px 2px
        }

        .compare-table-wrap {
            overflow-x: auto;
            -webkit-overflow-scrolling: touch;
            margin: 0 -12px;
            padding: 0 12px
        }

        .compare-table {
            width: 100%;
            border-collapse: collapse;
            min-width: 520px
        }

        .compare-table th,
        .compare-table td {
            padding: 14px 12px;
            text-align: left;
            vertical-align: top;
            border-bottom: 1px solid var(--gb)
        }

        .compare-table thead th {
            min-width: 160px
        }

        .compare-table tbody th {
            color: var(--tx-dim);
            font-weight: 600;
            width: 120px
        }

        .compare-ph {
            display: block;
            aspect-ratio: 4/3;
            border-radius: 14px;
            overflow: hidden;
            margin-bottom: 10px
        }

        .compare-steps {
            list-style: decimal;
            padding-left: 1.25rem;
            margin: 0 0 24px;
            max-width: 42ch
        }

        .compare-steps li {
            margin-bottom: 8px
        }

        .cmp-clear {
            appearance: none;
            border: 0;
            background: none;
            color: var(--tq);
            font: 600 .95rem var(--font-body);
            cursor: pointer;
            text-decoration: underline;
            text-underline-offset: 3px
        }
