/*CSS*/
            :root {
                --ink: #142722;
                --muted: #5b6862;
                --paper: #fafbf9;
                --gold: #d6c5a0;
                --line: #dce2dc;
            }

            * {
                box-sizing: border-box;
            }

            html {
                scroll-behavior: smooth;
                scroll-padding-top: 90px;
            }

            body {
                margin: 0;
                background: var(--paper);
                color: var(--ink);
                font-family: Arial, Helvetica, sans-serif;
                font-size: 16px;
                line-height: 1.65;
            }

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

            button,
            input {
                font: inherit;
            }

            button,
            a {
                -webkit-tap-highlight-color: transparent;
            }

            img {
                display: block;
                width: 100%;
                height: auto;
            }

            h1,
            h2,
            h3,
            p {
                margin: 0;
            }

            h1,
            h2,
            h3 {
                font-family: Georgia, 'Times New Roman', serif;
                font-weight: 400;
                line-height: 1.1;
            }

            h2 {
                font-size: clamp(2.3rem, 4vw, 4.2rem);
                letter-spacing: -.045em;
            }

            h3 {
                font-size: 1.8rem;
            }

            em {
                font-weight: 400;
                color: #687b67;
            }

            p {
                color: var(--muted);
            }

            .container {
                width: min(1200px, calc(100% - 96px));
                margin: auto;
            }

            .section-label {
                font-size: .75rem;
                letter-spacing: .18em;
                font-weight: 600;
                margin-bottom: 24px;
                color: inherit;
            }

            .button {
                display: inline-flex;
                justify-content: center;
                align-items: center;
                padding: 17px 25px;
                background: var(--ink);
                color: white;
                border: 1px solid var(--ink);
                font-size: .875rem;
                cursor: pointer;
                min-height: 54px;
                transition: background .2s;
            }

            .button:hover {
                background: #355243;
            }

            .button.light {
                background: var(--gold);
                color: var(--ink);
                border-color: var(--gold);
                font-weight: bold;
                text-transform: uppercase;
            }

            .button.light:hover {
                background: #e4d7ba;
            }

            .button.wpp {
                background: #25d366;
                color: #075e54;
                border-color: #25d366;
                animation: shadow-pulse 1.2s infinite;
                transition: background-color 0.2s ease;
                font-weight: bold;
            }

            .button.wpp:hover {
                background: #075e54;
                color:#fff;
            }

            .button.wpp .bi-whatsapp::before {
                -webkit-text-stroke: 0.3px currentColor;
                font-size: 18px;
            }

            .bi-whatsapp::before {
                -webkit-text-stroke: 0.3px currentColor;
            }

            @keyframes shadow-pulse {
                0% {
                    box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.5);
                }

                70% {
                    box-shadow: 0 0 0 18px rgba(37, 211, 102, 0);
                }

                100% {
                    box-shadow: 0 0 0 0 rgba(37, 211, 102, 0);
                }
            }

            @media (prefers-reduced-motion: reduce) {
                .botao-pulse {
                    animation: none;
                }
            }

            .linha-horizontal {
                width: 100%;
                height: 1px;
                border: 0;
                background-color: var(--muted);
                margin: 60px 0 0 0;
            }

            .text-link {
                display: inline-block;
                padding: 8px 0;
                border-bottom: 1px solid currentColor;
                font-size: .9rem;
                margin-top: 25px;
            }

            .skip {
                position: fixed;
                top: -100px;
                background: white;
                padding: 12px;
                z-index: 100;
            }

            .skip:focus {
                top: 0;
            }

            :focus-visible {
                outline: 3px solid #ae8943;
                outline-offset: 5px;
            }

            header {
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                z-index: 5;
                display: flex;
                align-items: center;
                justify-content: space-between;
                padding: 26px 48px;
                color: white;
                border-bottom: 1px solid #ffffff30;
                background: linear-gradient(#14272288, transparent);
            }

            .brand {
                width: 190px;
            }

            header nav {
                display: flex;
                gap: 32px;
                font-size: .875rem;
            }

            .header-contact {
                font-size: .800rem;
                border: 1px solid #ffffff70;
                padding: 10px 18px;
                font-weight: bold;
                background:#25d366;
                color:#075e54;
            }

            .header-contact:hover {
                background:#075e54;
                color:#fff;
                border-color:#25d366;
            }

            @media (max-width: 650px) {
                header .header-contact,
                header nav {
                    display: none;
                }

                header {
                    justify-content: center;
                }

                header .brand {
                    display: block;
                    width: 240px;
                    max-width: 80%;
                    margin: 0 auto;
                }

                header .brand img {
                    width: 100%;
                    height: auto;
                }
            }

            .hero {
                position: relative;
                min-height: 780px;
                height: 95svh;
                max-height: 1060px;
                background: var(--ink);
                color: white;
                display: flex;
                align-items: center;
            }

            .hero picture,
            .hero-img {
                position: absolute;
                inset: 0;
                height: 100%;
                width: 100%;
                object-fit: cover;
            }

            .hero:after {
                content: '';
                position: absolute;
                inset: 0;
                background: linear-gradient(90deg, #0b1e18ce 0%, #10261a70 45%, #10261a08 100%), linear-gradient(0deg, #14272288, transparent 25%);
            }

            .hero-content {
                position: relative;
                z-index: 1;
                margin: 95px max(48px, calc((100vw - 1200px)/2)) 80px;
                max-width: 720px;
            }

            .hero h1 {
                font-size: clamp(4rem, 7.6vw, 7.4rem);
                letter-spacing: -.06em;
            }

            .hero h1 em {
                color: var(--gold);
            }

            .hero-content>p:not(.section-label) {
                color: #e2e7e3;
                font-size: 1.15rem;
                max-width: 460px;
                margin: 28px 0 36px;
            }

            .hero-bottom {
                position: absolute;
                bottom: 0;
                left: 0;
                right: 0;
                padding: 25px 48px;
                display: flex;
                justify-content: space-between;
                font-size: .75rem;
                letter-spacing: .14em;
                z-index: 2;
                border-top: 1px solid #ffffff30;
            }

            .intro {
                padding-block: 100px;
                display: grid;
                grid-template-columns: 1.2fr 1fr;
                gap: 85px;
                align-items: center;
            }

            .intro-copy p {
                font-size: 1.1rem;
            }

            .panorama {
                overflow: hidden;
            }

            .panorama img {
                height: 320px;
                object-fit: cover;
            }

            .experiences,
            .authors {
                padding-block: 100px;
            }

            .section-heading {
                display: flex;
                align-items: flex-end;
                justify-content: space-between;
                gap: 60px;
                margin-bottom: 60px;
            }

            .section-heading>p {
                max-width: 330px;
            }

            .experience-grid {
                display: grid;
                grid-template-columns: 1.15fr 1fr;
                gap: 65px;
            }

            .photo-button {
                display: block;
                border: 0;
                padding: 0;
                position: relative;
                width: 100%;
                background: var(--ink);
                color: white;
                cursor: zoom-in;
                overflow: hidden;
            }

            .photo-button img {
                transition: transform .5s;
            }

            .photo-button:hover img {
                transform: scale(1.035);
            }

            .photo-button span {
                position: absolute;
                bottom: 18px;
                left: 20px;
                background: #142722d9;
                padding: 7px 12px;
                font-size: .8rem;
            }

            .feature-photo>div {
                padding-top: 26px;
                position: relative;
                padding-left: 50px;
            }

            .number {
                position: absolute;
                left: 0;
                font-size: .8rem;
                color: #7d8d80;
            }

            .feature-photo h3 {
                margin-bottom: 12px;
            }

            .experience-list article {
                display: flex;
                gap: 25px;
                padding: 21px 0;
                border-bottom: 1px solid var(--line);
            }

            .experience-list article:first-child {
                padding-top: 0;
            }

            .experience-list article>span {
                color: #7d8d80;
                font-size: .8rem;
                padding-top: 6px;
            }

            .experience-list h3 {
                font-size: 1.6rem;
                margin-bottom: 8px;
            }

            .experience-list p {
                font-size: .9rem;
            }

            .gallery {
                display: grid;
                grid-template-columns: repeat(3, 1fr);
                gap: 16px;
                margin-top: 55px;
            }

            .lots {
                background: var(--ink);
                color: white;
                padding: 95px 0;
            }

            .lots em {
                color: var(--gold);
            }

            .lot-grid {
                display: grid;
                grid-template-columns: 1.1fr 1fr;
                gap: 90px;
            }

            .lot-grid>div>p:not(.section-label) {
                color: #becbc4;
                max-width: 430px;
                margin: 25px 0 32px;
            }

            .lot-facts {
                border-left: 1px solid #ffffff30;
                padding-left: 65px;
            }

            .big-stat strong {
                font-family: Georgia, serif;
                font-size: 6.3rem;
                line-height: 1;
                letter-spacing: -.07em;
                font-weight: 400;
            }

            .big-stat strong span {
                font-size: 2.7rem;
            }

            .big-stat p {
                color: #cbd5cf;
                margin-top: 12px;
            }

            .price {
                margin-top: 40px;
                border-top: 1px solid #ffffff30;
                padding-top: 30px;
            }

            .price>span {
                font-size: .7rem;
                letter-spacing: .12em;
                color: #cbd5cf;
            }

            .price strong {
                display: block;
                font-weight: 400;
                font-size: 1.65rem;
                margin: 12px 0;
            }

            .price p {
                color: #cbd5cf;
                font-size: .85rem;
            }

            .payment-grid {
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 25px;
                margin-top: 70px;
            }

            .payment-grid article {
                border: 1px solid #ffffff30;
                padding: 30px;
            }

            .payment-grid .section-label {
                color: var(--gold);
                margin-bottom: 20px;
            }

            .payment-grid h3 {
                margin-bottom: 15px;
            }

            .payment-grid p:not(.section-label) {
                color: #cbd5cf;
                font-size: .95rem;
            }

            .architecture {
                position: relative;
                background: var(--ink);
            }

            .architecture>img {
                height: 560px;
                object-fit: cover;
            }

            .architecture:after {
                content: '';
                position: absolute;
                inset: 0;
                background: linear-gradient(0deg, #10231ecc, transparent 65%);
            }

            .architecture-label {
                position: absolute;
                left: max(48px, calc((100vw - 1200px)/2));
                bottom: 45px;
                color: white;
                z-index: 1;
            }

            .architecture em {
                color: var(--gold);
            }

            .author-grid {
                display: grid;
                grid-template-columns: repeat(3, 1fr);
                gap: 32px;
            }

            .author-grid img {
                height: 450px;
                object-fit: cover;
                filter: grayscale(1);
                margin-bottom: 26px;
            }

            .author-grid .section-label {
                margin-bottom: 12px;
                color: #667967;
            }

            .author-grid h3 {
                margin-bottom: 16px;
            }

            .author-grid>article>p:last-child {
                font-size: .95rem;
            }

            .location {
                display: grid;
                grid-template-columns: .85fr 1.15fr;
                gap: 60px;
                align-items: center;
                padding-bottom: 100px;
            }

            .location p:not(.section-label) {
                margin-top: 25px;
            }

            .location .photo-button img {
                height: 420px;
                object-fit: cover;
            }

            .localiton-img{width: 100%; height: 600px; object-fit: cover; margin-top: -50px;}

            .contact {
                background: #e9eee7;
                padding: 90px 0;
            }

            .contact-grid {
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 100px;
            }

            .contact-grid>div>p:not(.section-label) {
                margin-top: 25px;
                max-width: 440px;
            }

            form {
                display: flex;
                flex-direction: column;
            }

            label {
                font-size: .85rem;
                margin-bottom: 7px;
            }

            label span {
                color: #68776d;
            }

            input {
                border: 0;
                border-bottom: 1px solid #b7c4b7;
                border-radius: 0;
                padding: 13px 0;
                margin-bottom: 23px;
                background: transparent;
                outline-offset: 3px;
                width: 100%;
                color: var(--ink);
            }

            .form-note {
                font-size: .75rem;
                margin-top: 16px;
                line-height: 1.5;
            }

            #form-status {
                font-size: .85rem;
            }

            footer {
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 35px;
                padding-block: 45px 80px;
            }

            footer img {
                width: 160px;
                filter: brightness(0) saturate(100%);
                opacity: .8;
                margin-bottom: 20px;
            }

            footer p,
            footer a {
                font-size: .8rem;
            }

            footer>div:nth-child(2) {
                text-align: right;
            }

            .legal {
                grid-column: 1/-1;
                max-width: 750px;
                border-top: 1px solid var(--line);
                padding-top: 20px;
            }

            .floating {
                position: fixed;
                right: 24px;
                bottom: 24px;
                z-index: 10;
                border-radius: 50px;
                background: #142722;
                color: white;
                box-shadow: 0 4px 20px #0003;
                padding: 12px 18px;
                display: flex;
                align-items: center;
                gap: 8px;
                font-size: .85rem;
            }

            .floating svg {
                width: 26px;
                height: 26px;
            }

            dialog {
                border: 0;
                padding: 22px;
                background: #142722;
                color: white;
                max-width: min(95vw, 1200px);
                max-height: 95svh;
            }

            dialog::backdrop {
                background: #000b;
            }

            dialog img {
                max-height: 75svh;
                object-fit: contain;
            }

            dialog p {
                color: white;
                margin-top: 15px;
            }

            .close {
                display: block;
                margin: 0 0 15px auto;
                padding: 8px 14px;
                border: 1px solid #ffffff60;
                background: transparent;
                color: white;
                cursor: pointer;
            }

            @media(min-width:1600px) {
                .hero-content {
                    margin-left: calc((100vw - 1200px)/2);
                }
            }

            @media(max-width:950px) {
                header {
                    padding: 22px 28px;
                }

                header nav {
                    gap: 18px;
                }

                .container {
                    width: calc(100% - 56px);
                }

                .hero-content {
                    margin-left: 28px;
                }

                .intro,
                .experience-grid,
                .lot-grid,
                .contact-grid {
                    gap: 40px;
                }

                .lot-facts {
                    padding-left: 35px;
                }

                .author-grid img {
                    height: 290px;
                }

                .section-heading {
                    gap: 30px;
                }

                .location {
                    gap: 30px;
                }

                .hero {
                    min-height: 720px;
                }
            }

            @media(max-width:650px) {
                html {
                    scroll-padding-top: 20px;
                }

                header {
                    padding: 20px;
                }

                header nav {
                    display: none;
                }

                .brand {
                    width: 135px;
                }

                .header-contact {
                    font-size: .75rem;
                    padding: 8px 11px;
                }

                .container {
                    width: calc(100% - 40px);
                }

                .hero {
                    height: 90svh;
                    min-height: 650px;
                    max-height: 850px;
                }

                .hero-img {
                    object-position: 60% center;
                }

                .hero:after {
                    background: linear-gradient(90deg, #10221bc9, #10221b33), linear-gradient(0deg, #142722cc, transparent 65%);
                }

                .hero-content {
                    margin: 70px 20px 80px;
                }

                .hero h1 {
                    font-size: clamp(3.5rem, 13vw, 5rem);
                }

                .hero-content>p:not(.section-label) {
                    font-size: 1rem;
                    max-width: 320px;
                }

                .hero-content .section-label {
                    font-size: .65rem;
                }

                .hero-bottom {
                    padding: 18px 20px;
                    gap: 15px;
                    font-size: .6rem;
                    letter-spacing: .06em;
                }

                .intro,
                .lot-grid,
                .contact-grid,
                .location,
                .experience-grid {
                    grid-template-columns: 1fr;
                    gap: 32px;
                }

                .intro,
                .experiences,
                .authors {
                    padding-block: 65px;
                }

                .section-label {
                    margin-bottom: 18px;
                    letter-spacing: .12em;
                }

                .panorama img {
                    height: 220px;
                }

                .section-heading {
                    display: block;
                    margin-bottom: 35px;
                }

                .section-heading>p {
                    max-width: none;
                    margin-top: 25px;
                }

                .experience-list {
                    margin-top: 15px;
                }

                .gallery {
                    gap: 10px;
                    grid-template-columns: 1fr;
                    margin-top: 30px;
                }

                .gallery img {
                    aspect-ratio: 1.8;
                    object-fit: cover;
                }

                .lots {
                    padding: 65px 0;
                }

                .lot-facts {
                    border-left: 0;
                    border-top: 1px solid #ffffff30;
                    padding: 35px 0 0;
                }

                .big-stat strong {
                    font-size: 5rem;
                }

                .payment-grid {
                    grid-template-columns: 1fr;
                    margin-top: 35px;
                    gap: 16px;
                }

                .payment-grid article {
                    padding: 24px;
                }

                .architecture>img {
                    height: 400px;
                    object-position: 45%;
                }

                .architecture-label {
                    left: 20px;
                    bottom: 30px;
                }

                .architecture-label h2 {
                    font-size: 2.25rem;
                }

                .author-grid {
                    grid-template-columns: 1fr;
                    gap: 45px;
                }

                .author-grid img {
                    height: auto;
                    max-height: 460px;
                    object-fit: cover;
                    object-position: top;
                }

                .location {
                    padding-bottom: 65px;
                }

                .location .photo-button img {
                    height: 290px;
                }

                .contact {
                    padding: 65px 0;
                }

                .contact-grid {
                    gap: 40px;
                }

                footer {
                    grid-template-columns: 1fr;
                    gap: 22px;
                    padding-bottom: 100px;
                }

                footer>div:nth-child(2) {
                    text-align: left;
                }

                .floating {
                    right: 16px;
                    bottom: 16px;
                }

                .floating span {
                    display: none;
                }

                .floating {
                    padding: 13px;
                }

                .form-note {
                    font-size: .8rem;
                }

                h2 {
                    font-size: 2.55rem;
                }

                .intro-copy p {
                    font-size: 1rem;
                }
            }

            @media(prefers-reduced-motion:reduce) {
                html {
                    scroll-behavior: auto;
                }

                *,
                *:before,
                *:after {
                    transition: none !important;
                }
            }

            /* Galeria de fotos: navegação e formulário */
            .spam-trap {
                display: none;
            }

            .gallery-toolbar {
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 24px;
                margin-bottom: 15px;
            }

            .gallery-toolbar .close {
                margin: 0;
            }

            .gallery-viewer {
                display: grid;
                grid-template-columns: 44px minmax(0, 1fr) 44px;
                align-items: center;
                gap: 12px;
            }

            .gallery-navigation {
                width: 44px;
                height: 54px;
                border: 1px solid #ffffff60;
                background: transparent;
                color: white;
                font-size: 32px;
                cursor: pointer;
            }

            #dialog-image {
                width: 100%;
                height: 65svh;
                object-fit: contain;
                touch-action: pan-y;
            }

            #gallery-counter {
                font-size: 14px;
            }

            #form-status {
                color: #923616;
            }

            @media (max-width: 650px) {
                dialog {
                    padding: 14px;
                    width: 95vw;
                }

                .gallery-viewer {
                    grid-template-columns: 36px minmax(0, 1fr) 36px;
                    gap: 6px;
                }

                .gallery-navigation {
                    width: 36px;
                }

                #dialog-image {
                    height: 55svh;
                }
            }


/*SLIDE CARROSSEL*/

/* ==========================================================
   CARROSSEL
   ========================================================== */

.carrossel {
    --colunas: 3;
    --espaco: 16px;

    box-sizing: border-box;
    width: min(1600px, calc(100% - 96px));
    margin: 0 auto;
    margin-top: 30px;
}

.carrossel *,
#lightbox * {
    box-sizing: border-box;
}

.carrossel .carrossel-janela {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: 8px;
}

.carrossel #carrossel-trilho {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: var(--espaco);
    width: 100%;
    transition: transform 0.6s ease;
}

.carrossel #carrossel-trilho > .carrossel-foto {
    flex: 0 0 calc(
        (100% - (var(--colunas) - 1) * var(--espaco))
        / var(--colunas)
    );

    display: block;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: #000000;
    overflow: hidden;
    cursor: zoom-in;
}

.carrossel .carrossel-foto img {
    display: block;
    width: 100%;
    height: auto;
    max-width: none;
    margin: 0;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.carrossel .carrossel-janela {
    touch-action: pan-y pinch-zoom;
}

.carrossel .carrossel-foto img {
    user-select: none;
    -webkit-user-drag: none;
}

/* Setas sobre as imagens */

.carrossel .carrossel-seta {
    position: absolute;
    top: 50%;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
    width: 44px;
    height: 54px;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.4);
    border-radius: 6px;
    background: rgba(0, 0, 0, 0.65);
    color: #ffffff;
    font-family: Arial, sans-serif;
    font-size: 36px;
    line-height: 1;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.carrossel .carrossel-seta:hover {
    background: rgba(0, 0, 0, 0.9);
}

.carrossel .carrossel-seta-anterior {
    left: 12px;
}

.carrossel .carrossel-seta-proxima {
    right: 12px;
}


/* ==========================================================
   LIGHTBOX — FUNDO PRETO E QUADRO FIXO EM 16:9
   ========================================================== */

dialog#lightbox {
    box-sizing: border-box;

    /* Limita também pela altura da tela. */
    width: min(
        1400px,
        96vw,
        calc((96dvh - 90px) * 16 / 9)
    );
    max-width: 96vw;
    max-height: 96dvh;
    margin: auto;
    padding: 16px;
    border: 0;
    border-radius: 8px;
    color: #ffffff;
    box-shadow: 0 20px 80px rgba(0, 0, 0, 0.6);
    overflow: auto;
}

dialog#lightbox::backdrop {
    background: rgba(0, 0, 0, 0.6) !important;
}

#lightbox .lightbox-topo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
}

#lightbox #lightbox-contador {
    color: #ffffff;
    font-family: Arial, sans-serif;
    font-size: 14px;
}

#lightbox #lightbox-fechar {
    display: inline-block;
    margin: 0;
    padding: 8px 14px;
    border: 1px solid #444444;
    border-radius: 5px;
    background: #181818 !important;
    color: #ffffff;
    font: inherit;
    font-size: 14px;
    cursor: pointer;
}

#lightbox #lightbox-fechar:hover {
    background: #333333 !important;
}

/* A área da imagem não muda de tamanho entre as fotos. */

#lightbox .lightbox-conteudo {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #000000 !important;
    overflow: hidden;

}

#lightbox #lightbox-imagem {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: #000000 !important;

    /* Foto inteira, sem distorcer ou cortar. */
    object-fit: cover;

    touch-action: pan-y;
}

/* Setas do Lightbox */

#lightbox #lightbox-anterior,
#lightbox #lightbox-proxima {
    position: absolute;
    top: 50%;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
    width: 44px;
    height: 60px;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 6px;
    background: rgba(0, 0, 0, 0.65) !important;
    color: #ffffff;
    font-family: Arial, sans-serif;
    font-size: 36px;
    line-height: 1;
    cursor: pointer;
}

#lightbox #lightbox-anterior {
    left: 12px;
}

#lightbox #lightbox-proxima {
    right: 12px;
}

#lightbox #lightbox-anterior:hover,
#lightbox #lightbox-proxima:hover {
    background: rgba(50, 50, 50, 0.95) !important;
}


/* ==========================================================
   FOCO DO TECLADO
   ========================================================== */

.carrossel button:focus-visible,
#lightbox button:focus-visible {
    outline: 3px solid #d6c5a0;
    outline-offset: -3px;
}


/* ==========================================================
   TABLET — DUAS IMAGENS
   ========================================================== */

@media (max-width: 950px) {
    .carrossel {
        --colunas: 2;

        width: calc(100% - 56px);
    }
}


/* ==========================================================
   CELULAR — UMA IMAGEM
   ========================================================== */

@media (max-width: 650px) {
    .carrossel {
        --colunas: 1;

        width: calc(100% - 40px);
    }

    .carrossel .carrossel-seta {
        width: 34px;
        height: 44px;
        font-size: 28px;
    }

    .carrossel .carrossel-seta-anterior {
        left: 6px;
    }

    .carrossel .carrossel-seta-proxima {
        right: 6px;
    }

    dialog#lightbox {
        padding: 8px;
        border-radius: 5px;
    }

    #lightbox .lightbox-topo {
        margin-bottom: 8px;
    }

    #lightbox #lightbox-anterior,
    #lightbox #lightbox-proxima {
        width: 32px;
        height: 44px;
        font-size: 28px;
    }

    #lightbox #lightbox-anterior {
        left: 6px;
    }

    #lightbox #lightbox-proxima {
        right: 6px;
    }
}


/* ==========================================================
   REDUÇÃO DE MOVIMENTO
   ========================================================== */

@media (prefers-reduced-motion: reduce) {
    .carrossel #carrossel-trilho {
        transition: none;
    }
}

/* ==========================================================
    YOUTUBE VÍDEO
   ========================================================== */

.video-youtube {
    margin-top: 40px;
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 8px;
    background: #000000;
}

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