﻿:root {
            --topbar: #0a1a21; /* barra superior / rodapé */
            --brand: #1A6BE6; /* azul principal (faixa de busca, botões) */
            --bg: #f2f5f8;
            --card-border: #d9e2ea;
            --muted: #6c7a86;
        }

        body {
            background: #fff;
            color: #1f2a33;
            font-family: "Saira", sans-serif;
        }

        .container-max {
            max-width: 1200px;
        }

        /* TOP BAR */
        .topbar {
            background: var(--topbar);
            color: #eaf6ff;
            font-size: .85rem;
        }

            .topbar a {
                color: #eaf6ff;
                text-decoration: none;
                opacity: .95;
            }

                .topbar a:hover {
                    opacity: 1;
                    text-decoration: underline;
                }

            .topbar .chip {
                display: inline-flex;
                align-items: center;
                gap: .4rem;
                padding: .25rem .5rem;
            }

        /* HEADER / NAV */
        .brand-logo {
            font-weight: 800;
            letter-spacing: .2px;
            line-height: 1.0;
            font-size: 1.6rem;
            color: #1350ac;
        }

        .brand-sub {
            font-size: .75rem;
            color: #7aa3bf;
            letter-spacing: .2rem;
            margin-top: .1rem;
        }

        .main-nav a {
            color: #101A21;
            font-weight: 600;
            font-size: .9rem;
            text-decoration: none;
            padding: .35rem .55rem;
            border-radius: .4rem;
            white-space: nowrap;
        }

            .main-nav a.active {
                background: var(--brand);
                color: #fff;
            }

            .main-nav a:hover {
                background: #e9f4fb;
            }




        .couple-wrap {
            position: relative;
            width: 240px;
            height: 240px;
            margin-inline: auto;
            border-radius: 999px;
            background: radial-gradient(circle at 40% 35%, #bfeeff 0%, #3fb5ea 55%, #1d7fb0 100%);
            padding: 10px;
            box-shadow: 0 18px 28px rgba(0,0,0,.15);
        }

        .couple {
            width: 100%;
            height: 100%;
            border-radius: 999px;
            background: linear-gradient(135deg, rgba(255,255,255,.9), rgba(255,255,255,.7)), url("https://images.unsplash.com/photo-1524504388940-b1c1722653e1?auto=format&fit=crop&w=900&q=70");
            background-size: cover;
            background-position: center;
            border: 10px solid rgba(255,255,255,.85);
        }

        .house {
            width: 360px;
            max-width: 100%;
            aspect-ratio: 16/11;
            border-radius: .6rem;
            background: linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,255,255,.9)), url("https://images.unsplash.com/photo-1568605114967-8130f3a36994?auto=format&fit=crop&w=1200&q=70");
            background-size: cover;
            background-position: center;
            box-shadow: 0 18px 28px rgba(0,0,0,.12);
            position: relative;
            overflow: hidden;
        }

            .house::after {
                content: "ano\nnovo\ncasa\nnova";
                white-space: pre;
                position: absolute;
                left: 18px;
                top: 18px;
                font-weight: 900;
                font-size: 2.1rem;
                line-height: 0.95;
                color: #ffffff;
                text-transform: lowercase;
                text-shadow: 0 6px 18px rgba(0,0,0,.35);
                background: rgba(39,153,210,.35);
                padding: 10px 14px;
                border-radius: .5rem;
                border: 1px solid rgba(255,255,255,.35);
            }

        /* SEARCH STRIP */
        .search-strip {
            background: var(--brand);
            color: #fff;
            padding: .75rem 0;
        }

        .search-pill {
            display: flex;
            align-items: center;
            gap: .6rem;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: .03rem;
            font-size: .9rem;
        }

        .search-strip .form-control {
            border: 0;
            border-radius: .45rem;
            padding: .65rem .85rem;
        }

        .btn-search {
            background: #1350ac;
            border: 0;
            color: #fff;
            font-weight: 800;
            padding: .65rem 1.1rem;
            border-radius: .45rem;
        }

            .btn-search:hover {
                background: #1350ac;
                color: #fff;
            }

        .btn-advanced {
            background: transparent;
            color: #fff;
            border: 0;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: .03rem;
            opacity: .95;
        }

            .btn-advanced:hover {
                opacity: 1;
                text-decoration: underline;
            }

        /* SECTION TITLES */
        .section {
            padding: 2.2rem 0 2.0rem;
            background: #fff;
        }

        .section-title {
            display: flex;
            align-items: center;
            gap: .5rem;
            justify-content: center;
            color: #1350ac;
            font-weight: 900;
            letter-spacing: .04rem;
            text-transform: uppercase;
            margin-bottom: 1.5rem;
        }

            .section-title .highlight {
                color: var(--brand);
            }

        /* PROPERTY CARD */
        .prop-card {
            border: 1px solid var(--card-border);
            border-radius: .55rem;
            overflow: hidden;
            box-shadow: 0 10px 18px rgba(0,0,0,.06);
            height: 100%;
        }

        .prop-img {
            aspect-ratio: 16/11;
            background: linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.15)), url("https://images.unsplash.com/photo-1502005229762-cf1b2da7c5d6?auto=format&fit=crop&w=1200&q=70");
            background-size: cover;
            background-position: center;
        }

        .prop-body {
            padding: 1rem 1rem .75rem;
        }

        .ref {
            font-size: .75rem;
            color: #8aa0b0;
            font-weight: 800;
            text-transform: uppercase;
            margin-bottom: .25rem;
        }

        .prop-title {
            text-transform: uppercase;
            font-size: .92rem;
            line-height: 1.15;
            margin: 0 0 .35rem;
        }

        .prop-loc {
            color: var(--muted);
            font-size: .82rem;
            margin-bottom: .65rem;
        }

        .price {
            color: var(--brand);
            font-size: 1.15rem;
            margin-bottom: .7rem;
        }

        .tag-row {
            display: flex;
            gap: .5rem;
            margin-bottom: .75rem;
            flex-wrap: wrap;
        }

        .tag {
            text-transform: uppercase;
            font-size: .72rem;
            padding: .25rem .6rem;
            border-radius: .35rem;
            border: 1px solid #cfe7f4;
            background: #eef8ff;
            color: #1350ac;
        }

        .features {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: .4rem;
            padding: .65rem 1rem .85rem;
            border-top: 1px solid #e7eef5;
            background: #fbfdff;
        }

        .feat {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: .35rem;
            color: #101A21;
            font-size: .78rem;
            white-space: nowrap;
        }

        /* NEWS */
        .news-card {
            border: 1px solid var(--card-border);
            border-radius: .55rem;
            overflow: hidden;
            box-shadow: 0 10px 18px rgba(0,0,0,.06);
            height: 100%;
        }

        .news-img {
            aspect-ratio: 16/10;
            background: linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.20)), url("https://images.unsplash.com/photo-1496307653780-42ee777d4833?auto=format&fit=crop&w=1200&q=70");
            background-size: cover;
            background-position: center;
        }

        .news-body {
            padding: 1rem;
        }

        .news-date {
            font-size: .78rem;
            color: #8aa0b0;
            font-weight: 800;
            text-transform: uppercase;
            margin-bottom: .35rem;
        }

        .news-title {
            font-weight: 900;
            text-transform: uppercase;
            font-size: .92rem;
            line-height: 1.15;
            margin: 0 0 .55rem;
        }

        .news-excerpt {
            color: var(--muted);
            font-size: .86rem;
            margin: 0;
        }

        /* NEWSLETTER */
        .newsletter {
            background: var(--brand);
            color: #fff;
            padding: 1.1rem 0;
        }

            .newsletter .form-control {
                border: 0;
                border-radius: .45rem;
                padding: .65rem .85rem;
            }

        .btn-news {
            background: #1350ac;
            border: 0;
            color: #fff;
            font-weight: 900;
            padding: .65rem 1rem;
            border-radius: .45rem;
            text-transform: uppercase;
            letter-spacing: .03rem;
        }

            .btn-news:hover {
                background: #1350ac;
                color: #fff;
            }

        /* FOOTER */
        footer {
            background: var(--topbar);
            color: #eaf6ff;
            padding: 2rem 0;
        }

            footer a {
                color: #eaf6ff;
                text-decoration: none;
                opacity: .95;
            }

                footer a:hover {
                    opacity: 1;
                    text-decoration: underline;
                }

        .foot-title {
            font-weight: 900;
            letter-spacing: .04rem;
            text-transform: uppercase;
            font-size: .9rem;
            margin-bottom: .85rem;
        }

        .foot-list {
            list-style: none;
            padding: 0;
            margin: 0;
        }

            .foot-list li {
                margin-bottom: .45rem;
            }

        .social a {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 34px;
            height: 34px;
            border-radius: 999px;
            background: rgba(255,255,255,.12);
            margin-right: .35rem;
        }

            .social a:hover {
                background: rgba(255,255,255,.18);
                text-decoration: none;
            }

        /* UTIL */
        .muted-white {
            opacity: .92;
        }

        /* Responsivo: aproxima o layout do print em telas grandes */
        @media (min-width: 992px) {
            .couple-wrap

        {
            width: 260px;
            height: 260px;
        }

        .house {
            width: 410px;
        }

        }
