/* ==========================================================================
   Arquitetos — /arquitetos
   Hero (ref. docs/layouts/arquitetos/01-hero.png)
   Foto: public/img/architects/br/projeto-de-piscina.webp (1920×966)
   O lado esquerdo da foto é madeira escura: o título branco fica sobre essa área.
   ========================================================================== */

.page-arquitetos #homeHero.home-us-hero .banner-home-us__img {
    object-position: 46% 42%;
}

.page-arquitetos #homeHero.home-us-hero .banner-home-us__title {
    margin-top: clamp(1.25rem, 3.5vh, 2.75rem);
    margin-bottom: 0;
    max-width: 12.5em;
    font-size: clamp(3.15rem, 4.55vw, 4.85rem);
    line-height: 1.02;
    letter-spacing: clamp(-2.5px, -0.06vw, -3.5px);
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.45);
}

.page-arquitetos #homeHero.home-us-hero .banner-home-us__tagline {
    max-width: 36rem;
    margin-top: clamp(1.35rem, 2.6vw, 2.1rem);
    margin-bottom: 0;
    font-size: clamp(1.05rem, 1.2vw, 1.28rem);
    line-height: 1.45;
    letter-spacing: 0.005em;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.55);
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .page-arquitetos #homeHero.home-us-hero .banner-home-us__img {
        object-position: 40% 42%;
    }

    .page-arquitetos #homeHero.home-us-hero .banner-home-us__title,
    .page-arquitetos #homeHero.home-us-hero .banner-home-us__title--mobile {
        max-width: 11em;
        font-size: clamp(2.7rem, 5.6vw, 3.45rem) !important;
    }

    .page-arquitetos #homeHero.home-us-hero .banner-home-us__tagline {
        max-width: 28rem;
        font-size: 1.08rem !important;
    }
}

/* Tablet retrato: o hero global encolhe para 70dvh e o título de desktop
   atravessa a parede clara. Aqui o banner ocupa a tela e o texto curto
   fica na base, sobre o gramado. */
@media (min-width: 768px) and (max-width: 1180px) and (orientation: portrait),
       (min-width: 768px) and (max-width: 1180px) and (max-aspect-ratio: 10 / 11) {
    .page-arquitetos #homeHero.home-us-hero .banner-home-us {
        min-height: 100svh !important;
        height: 100svh !important;
    }

    .page-arquitetos #homeHero.home-us-hero .banner-home-us__img {
        object-position: 62% 40%;
    }

    .page-arquitetos #homeHero.home-us-hero .banner-home-us::after {
        content: '';
        position: absolute;
        inset: 0;
        z-index: 1;
        pointer-events: none;
        background: linear-gradient(
            180deg,
            rgba(8, 12, 14, 0.04) 0%,
            rgba(8, 12, 14, 0) 48%,
            rgba(8, 12, 14, 0.3) 74%,
            rgba(8, 12, 14, 0.55) 100%
        );
    }

    .page-arquitetos #homeHero.home-us-hero .banner-home-us__inner {
        align-items: flex-end !important;
        min-height: 100svh !important;
        padding-bottom: clamp(2rem, 5vh, 3rem) !important;
    }

    .page-arquitetos #homeHero.home-us-hero .banner-home-us__title.d-md-block,
    .page-arquitetos #homeHero.home-us-hero .banner-home-us__tagline.d-md-block {
        display: none !important;
    }

    .page-arquitetos #homeHero.home-us-hero .banner-home-us__title--mobile,
    .page-arquitetos #homeHero.home-us-hero .banner-home-us__tagline--mobile {
        display: block !important;
    }

    .page-arquitetos #homeHero.home-us-hero .banner-home-us__title--mobile {
        max-width: 12em;
        margin-top: 0 !important;
        font-size: clamp(2.6rem, 5.4vw, 3.35rem) !important;
        line-height: 1.02 !important;
    }

    .page-arquitetos #homeHero.home-us-hero p.banner-home-us__tagline--mobile {
        max-width: min(36rem, calc(100% - 4.5rem));
        margin-top: 1rem !important;
        margin-bottom: 0 !important;
        font-size: 1.12rem !important;
    }
}

/* Mobile (ref. docs/layouts/arquitetos/mobile/01-hero.png).
   A foto 763×1350 já é o enquadramento do layout. O texto curto
   e o botão ficam sobre a parede escura e o gramado.
   Desktop e tablet não usam estas regras. */
@media only screen and (max-width: 767.98px) {
    .page-arquitetos #homeHero.home-us-hero .banner-home-us {
        aspect-ratio: 763 / 1350;
        min-height: 0 !important;
        height: auto !important;
        max-height: none !important;
    }

    .page-arquitetos #homeHero.home-us-hero .banner-home-us__img {
        object-position: center center;
    }

    .page-arquitetos #homeHero.home-us-hero .banner-home-us::after {
        content: none;
    }

    .page-arquitetos #homeHero.home-us-hero .banner-home-us__title--mobile,
    .page-arquitetos #homeHero.home-us-hero .banner-home-us__tagline--mobile {
        display: none !important;
    }

    .page-arquitetos #homeHero.home-us-hero .banner-home-us__inner {
        position: absolute !important;
        inset: 0;
        align-items: flex-end !important;
        min-height: 0 !important;
        height: 100% !important;
        padding-top: 0 !important;
        padding-bottom: 8% !important;
    }

    .page-arquitetos #homeHero.home-us-hero .banner-home-us__inner > .row > [class*="col-"] {
        padding-bottom: 0;
    }

    .page-arquitetos #homeHero.home-us-hero .banner-home-us__title--phone {
        display: block !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        max-width: 7.6em;
        font-size: clamp(2.45rem, 11.6vw, 3.05rem) !important;
        line-height: 0.98 !important;
        letter-spacing: -0.03em !important;
        text-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
    }

    .page-arquitetos #homeHero.home-us-hero p.banner-home-us__tagline--phone {
        display: block !important;
        max-width: 18.6rem;
        margin-top: 1.05rem !important;
        margin-bottom: 0 !important;
        font-size: 0.98rem !important;
        line-height: 1.38 !important;
        text-shadow: 0 1px 3px rgba(0, 0, 0, 0.45);
    }

    .page-arquitetos #homeHero.home-us-hero .banner-home-us__actions--phone {
        display: flex !important;
        margin-top: 1.15rem;
    }

    .page-arquitetos #homeHero.home-us-hero .banner-home-us__actions--phone .banner-home-us__cta {
        padding: 0.62rem 1.15rem;
        font-size: 0.95rem;
        line-height: 1.2;
    }
}

/* ==========================================================================
   Arquitetura (ref. docs/layouts/arquitetos/02-arquitetura.png)
   Foto: piscina-fiber-granitada.webp (1439×622). O botão fica sobre a água.
   Mobile: docs/layouts/arquitetos/mobile/02-arquitetura.png (foto 854×1000).
   ========================================================================== */

.page-arquitetos #arquitetura.arq-arch {
    background: #fff;
    padding-top: clamp(4.25rem, 6.5vw, 6.2rem);
    padding-bottom: clamp(3.5rem, 5.5vw, 5.5rem);
    color: var(--color-grey, #4b5560);
}

.page-arquitetos #arquitetura .arq-arch__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(1.5rem, 3vw, 2.75rem);
}

.page-arquitetos #arquitetura .arq-arch__title {
    flex: 0 1 auto;
    width: max-content;
    max-width: 56%;
    font-size: clamp(2.15rem, 4.55vw, 4.15rem);
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: -0.025em;
    text-align: center;
    color: var(--color-grey, #4b5560);
}

.page-arquitetos #arquitetura .arq-arch__intro {
    flex: 0 1 auto;
    margin: 0;
    text-align: center;
    color: #6b7370;
    line-height: 1.4;
}

.page-arquitetos #arquitetura .arq-arch__intro--desktop {
    width: max-content;
    max-width: 50%;
    font-size: var(--font-size-home-hero-description);
}

.page-arquitetos #arquitetura .arq-arch__figure {
    margin-top: clamp(2.25rem, 3.6vw, 3.35rem);
}

.page-arquitetos #arquitetura .arq-arch__media {
    position: relative;
    border-radius: 1.5rem;
    overflow: hidden;
}

.page-arquitetos #arquitetura .arq-arch__img {
    display: block;
    width: 100%;
    height: auto;
}

.page-arquitetos #arquitetura .arq-arch__cta {
    position: absolute;
    left: 50%;
    bottom: 17%;
    transform: translateX(-50%);
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-width: 23%;
    font-size: clamp(1rem, 1.15vw, 1.15rem);
    line-height: 1.2;
    padding: 0.8rem 1.75rem;
    white-space: nowrap;
}

.page-arquitetos #arquitetura .arq-arch__caption {
    margin: clamp(1.15rem, 2vw, 1.65rem) auto 0;
    max-width: 48rem;
    text-align: center;
    color: #6b7370;
    font-size: clamp(0.98rem, 1.08vw, 1.15rem);
    line-height: 1.45;
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .page-arquitetos #arquitetura .arq-arch__header {
        display: grid;
        grid-template-columns: minmax(0, 1.15fr) minmax(14rem, 0.85fr);
        column-gap: 1.25rem;
    }

    .page-arquitetos #arquitetura .arq-arch__title {
        width: max-content;
        max-width: 100%;
        justify-self: start;
        font-size: clamp(1.85rem, 3.5vw, 2.45rem);
    }

    .page-arquitetos #arquitetura .arq-arch__intro--compact {
        width: auto;
        max-width: none;
        justify-self: end;
        font-size: 0.95rem;
    }

    .page-arquitetos #arquitetura .arq-arch__media {
        border-radius: 1.15rem;
    }

    .page-arquitetos #arquitetura .arq-arch__cta {
        bottom: 14%;
        min-width: 0;
        font-size: 0.95rem;
        padding: 0.55rem 1.25rem;
    }

    .page-arquitetos #arquitetura .arq-arch__caption {
        font-size: 0.95rem;
    }
}

/* ==========================================================================
   Design (ref. docs/layouts/arquitetos/03-desing.png)
   Três fotos 766×900, selo sobre a imagem e texto abaixo.
   Parecido com learn-more na grade, sem o recorte 3/4 nem o selo com ícone.
   Mobile: carrossel com a foto seguinte à mostra, no modelo de #designed-for-real-living.
   ========================================================================== */

.page-arquitetos #design.arq-design {
    background: #f9f8f7;
    padding-top: clamp(4.25rem, 6.5vw, 6.2rem);
    padding-bottom: clamp(3.5rem, 5.5vw, 5.5rem);
    color: var(--color-grey, #4b5560);
}

.page-arquitetos #design .arq-design__header {
    text-align: center;
}

.page-arquitetos #design .arq-design__title {
    font-size: clamp(2rem, 2.7vw, 2.75rem);
    font-weight: 400;
    line-height: 1.1;
    letter-spacing: -0.02em;
    text-align: center;
    color: var(--color-grey, #4b5560);
}

.page-arquitetos #design .arq-design__intro {
    max-width: none;
    margin: clamp(0.9rem, 1.6vw, 1.35rem) auto 0;
    color: #6b7370;
    font-size: var(--font-size-home-hero-description);
    line-height: 1.45;
    text-align: center;
}

.page-arquitetos #design .arq-design__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(0.85rem, 1.7vw, 1.5rem);
    margin: clamp(2.25rem, 3.8vw, 3.4rem) 0 0;
    padding: 0;
    list-style: none;
}

.page-arquitetos #design .arq-design__figure {
    margin: 0;
}

.page-arquitetos #design .arq-design__media {
    position: relative;
    border-radius: 1.15rem;
    overflow: hidden;
}

.page-arquitetos #design .arq-design__img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 766 / 900;
    object-fit: cover;
}

.page-arquitetos #design .arq-design__label {
    position: absolute;
    left: 50%;
    bottom: 7%;
    transform: translateX(-50%);
    max-width: calc(100% - 1.25rem);
    margin: 0;
    padding: 0.42rem 1.35rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.28);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    color: #fff;
    font-size: clamp(1.15rem, 1.75vw, 1.65rem);
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
}

.page-arquitetos #design .arq-design__caption {
    margin: clamp(1.05rem, 1.8vw, 1.45rem) auto 0;
    max-width: none;
    text-align: center;
    color: #6b7370;
    font-size: var(--font-size-home-hero-description);
    line-height: 1.45;
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .page-arquitetos #design .arq-design__title {
        font-size: clamp(1.7rem, 3.2vw, 2.15rem);
    }

    .page-arquitetos #design .arq-design__intro,
    .page-arquitetos #design .arq-design__caption {
        font-size: 0.95rem;
    }

    .page-arquitetos #design .arq-design__caption {
        max-width: none;
    }

    .page-arquitetos #design .arq-design__label {
        bottom: 6%;
        padding: 0.28rem 0.7rem;
        font-size: 0.82rem;
    }

    .page-arquitetos #design .arq-design__media {
        border-radius: 0.9rem;
    }
}

/* ==========================================================================
   Especificação (ref. docs/layouts/arquitetos/04-especificacao.png)
   Banner 1920×800, no padrão de #development em /construtoras.
   Título à esquerda; texto na parte inferior do banner.
   Mobile: foto 762×1350, título e texto sobre a parte de baixo.
   ========================================================================== */

.page-arquitetos #especificacao.arq-spec {
    position: relative;
    overflow: hidden;
    width: 100%;
    color: #fff;
}

.page-arquitetos #especificacao .arq-spec__media {
    position: relative;
    width: 100%;
    aspect-ratio: 1920 / 800;
    line-height: 0;
}

.page-arquitetos #especificacao .arq-spec__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.page-arquitetos #especificacao .arq-spec__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: flex;
    pointer-events: none;
}

.page-arquitetos #especificacao .arq-spec__inner {
    height: 100%;
}

.page-arquitetos #especificacao .arq-spec__content {
    position: relative;
    height: 100%;
    max-width: 46rem;
}

.page-arquitetos #especificacao .arq-spec__title {
    position: absolute;
    top: 30%;
    left: 0;
    margin: 0;
    color: #fff;
    font-size: calc(var(--font-size-home-hero-title) * 0.78);
    font-weight: 400;
    line-height: 1.02;
    letter-spacing: -0.03em;
    text-align: left;
    text-shadow: 0 1px 2px rgba(20, 32, 40, 0.28);
}

.page-arquitetos #especificacao .arq-spec__body {
    position: absolute;
    top: 72%;
    left: 0;
    margin: 0;
    max-width: 38rem;
    color: #fff;
    font-size: calc(var(--font-size-home-hero-description) * 0.92);
    font-weight: 300;
    line-height: 1.45;
    text-align: left;
    text-shadow: 0 1px 2px rgba(20, 32, 40, 0.35);
}

.page-arquitetos  #arquivos{
    margin-top: 0 !important;
}

@media (min-width: 768px) and (max-width: 1399.98px) {
    .page-arquitetos #especificacao .arq-spec__title {
        font-size: clamp(2.35rem, 4.2vw, 3.5rem);
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .page-arquitetos #especificacao .arq-spec__title {
        font-size: clamp(2.35rem, 4.2vw, 3.25rem);
    }

    .page-arquitetos #especificacao .arq-spec__body {
        font-size: var(--font-size-home-hero-description);
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .page-arquitetos #especificacao .arq-spec__content {
        max-width: 100%;
    }

    .page-arquitetos #especificacao .arq-spec__title {
        top: 22%;
        font-size: clamp(2.25rem, 5vw, 3rem);
    }

    .page-arquitetos #especificacao .arq-spec__body {
        top: 64%;
        max-width: 32rem;
        font-size: var(--font-size-home-hero-description);
        line-height: 1.4;
    }
}

/* ==========================================================================
   Cores (ref. docs/layouts/arquitetos/06-cores.png)
   Carrossel de textura da água à esquerda e quadro reservado à direita.
   Mobile: foto da piscina em cima e carrossel da cor embaixo.
   ========================================================================== */

.page-arquitetos #cores.arq-cores {
    background: #fff;
    padding-top: clamp(4.5rem, 7vw, 6.75rem);
    padding-bottom: clamp(4.25rem, 6.5vw, 6.25rem);
    color: var(--color-grey, #4b5560);
}

.page-arquitetos #cores .arq-cores__header,
.page-arquitetos #cores .arq-cores__caption {
    text-align: center;
}

.page-arquitetos #cores .arq-cores__title {
    font-size: clamp(2.15rem, 3.15vw, 3.35rem);
    font-weight: 400;
    line-height: 1.12;
    letter-spacing: -0.02em;
    text-align: center;
    color: var(--color-grey, #4b5560);
}

.page-arquitetos #cores .arq-cores__intro {
    max-width: 58rem;
    margin: clamp(1.05rem, 1.8vw, 1.55rem) auto 0;
    color: #6b7370;
    font-size: var(--font-size-home-hero-description);
    line-height: 1.45;
    text-align: center;
}

.page-arquitetos #cores .arq-cores__intro--desktop {
    max-width: none;
}

.page-arquitetos #cores .arq-cores__stage {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.32fr);
    gap: clamp(2.75rem, 4.6vw, 4.75rem);
    align-items: stretch;
    width: min(100%, 76rem);
    margin: clamp(2.4rem, 4vw, 3.6rem) auto 0;
}

.page-arquitetos #cores .arq-cores__carousel {
    position: relative;
    min-width: 0;
}

.page-arquitetos #cores .arq-cores__viewport {
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 1.35rem;
}

.page-arquitetos #cores .arq-cores__slide {
    position: absolute;
    inset: 0;
    margin: 0;
    opacity: 0;
    transition: opacity 0.45s ease;
}

.page-arquitetos #cores .arq-cores__slide.is-active {
    opacity: 1;
    z-index: 1;
}

.page-arquitetos #cores .arq-cores__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.page-arquitetos #cores .arq-cores__name {
    position: absolute;
    left: 14%;
    right: 14%;
    bottom: 7%;
    margin: 0;
    color: #fff;
    font-size: clamp(1.2rem, 1.65vw, 1.7rem);
    line-height: 1.1;
    text-align: center;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.28);
    z-index: 1;
}

.page-arquitetos #cores .arq-cores__prev,
.page-arquitetos #cores .arq-cores__next {
    position: absolute;
    top: 50%;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: #fff;
    transform: translateY(-50%);
    filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.35));
    cursor: pointer;
}

.page-arquitetos #cores .arq-cores__prev {
    left: 0.35rem;
}

.page-arquitetos #cores .arq-cores__next {
    right: 0.35rem;
}

.page-arquitetos #cores .arq-cores__prev:focus-visible,
.page-arquitetos #cores .arq-cores__next:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
}

.page-arquitetos #cores .arq-cores__companion {
    min-width: 0;
    border-radius: 1.35rem;
    background: #e7e4df;
    overflow: hidden;
}

.page-arquitetos #cores .arq-cores__companion-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.page-arquitetos #cores .arq-cores__companion-img[hidden] {
    display: none;
}

.page-arquitetos #cores .arq-cores__caption {
    margin-top: clamp(1.75rem, 2.8vw, 2.45rem);
    color: #6b7370;
    font-size: var(--font-size-home-hero-description);
    line-height: 1.45;
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .page-arquitetos #cores .arq-cores__title {
        font-size: clamp(1.85rem, 3.4vw, 2.35rem);
    }

    .page-arquitetos #cores .arq-cores__intro,
    .page-arquitetos #cores .arq-cores__caption {
        font-size: 0.95rem;
    }

    .page-arquitetos #cores .arq-cores__intro--compact {
        max-width: 38rem;
    }

    .page-arquitetos #cores .arq-cores__name {
        font-size: 1.05rem;
        left: 12%;
        right: 12%;
        bottom: 6%;
    }

    .page-arquitetos #cores .arq-cores__stage {
        gap: 2.25rem;
        width: min(100%, 42rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    .page-arquitetos #cores .arq-cores__slide,
    .page-arquitetos #cores .arq-cores__scene-img {
        transition: none;
    }
}

/* ==========================================================================
   Fiber para Arquitetos (ref. docs/layouts/arquitetos/para-arquitetos.png)
   Banner de ponta a ponta, no padrão do hero.
   Mobile: foto 763×1350, texto e botão sobre a imagem.
   ========================================================================== */

.page-arquitetos #para-arquitetos.arq-program {
    position: relative;
    overflow: hidden;
    width: 100%;
    color: #fff;
    background: #1b2428;
}

.page-arquitetos #para-arquitetos .arq-program__media {
    position: relative;
    width: 100%;
    aspect-ratio: 1920 / 800;
    line-height: 0;
}

.page-arquitetos #para-arquitetos .arq-program__media picture {
    display: block;
    width: 100%;
    height: 100%;
}

.page-arquitetos #para-arquitetos .arq-program__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
}

.page-arquitetos #para-arquitetos .arq-program__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: flex;
    align-items: center;
}

.page-arquitetos #para-arquitetos .arq-program__inner {
    display: flex;
    align-items: center;
}

.page-arquitetos #para-arquitetos .arq-program__copy {
    max-width: 34rem;
}

.page-arquitetos #para-arquitetos .arq-program__title {
    max-width: 9em;
    margin: 0;
    color: #fff;
    font-size: clamp(3.15rem, 4.55vw, 4.85rem);
    font-weight: 400;
    line-height: 1.02;
    letter-spacing: clamp(-2.5px, -0.06vw, -3.5px);
    text-align: left;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.45);
}

.page-arquitetos #para-arquitetos .arq-program__body {
    max-width: 32rem;
    margin: clamp(1.25rem, 2.2vw, 1.85rem) 0 0;
    color: #fff;
    font-size: clamp(1.05rem, 1.2vw, 1.28rem);
    line-height: 1.45;
    letter-spacing: 0.005em;
    text-align: left;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.55);
}

.page-arquitetos #para-arquitetos .arq-program__cta {
    margin-top: clamp(1.35rem, 2.4vw, 2rem);
    padding: 0.55rem 1.35rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .page-arquitetos #para-arquitetos .arq-program__copy {
        max-width: 17.5rem;
    }

    .page-arquitetos #para-arquitetos .arq-program__title {
        max-width: 8em;
        font-size: clamp(2.45rem, 5.2vw, 3.15rem);
    }

    .page-arquitetos #para-arquitetos .arq-program__body {
        max-width: 16.5rem;
        font-size: 0.95rem;
        line-height: 1.4;
    }
}

/* ==========================================================================
   Alternativa (ref. docs/layouts/arquitetos/08-alternativa.png)
   Duas fotos com legenda, no padrão de #townhome em /construtoras.
   Mobile: cards empilhados, com a foto vertical de cada comparação.
   ========================================================================== */

.page-arquitetos #alternativa.arq-alt {
    background: #f4f3f1;
    padding-top: var(--mt-default-web, clamp(3.5rem, 6vw, 5.5rem));
    padding-bottom: clamp(3.5rem, 8vw, 6.5rem);
    color: var(--color-grey, #4b5560);
}

.page-arquitetos #alternativa .arq-alt__header,
.page-arquitetos #alternativa .arq-alt__footer {
    text-align: center;
}

.page-arquitetos #alternativa .arq-alt__title {
    margin: 0;
    color: var(--color-grey, #4b5560);
    font-size: var(--pf-section-title-size);
    font-weight: 400;
    line-height: var(--pf-section-title-line-height, 1.1);
    letter-spacing: -0.02em;
    text-align: center;
}

.page-arquitetos #alternativa .arq-alt__intro,
.page-arquitetos #alternativa .arq-alt__footer {
    max-width: 58rem;
    margin-left: auto;
    margin-right: auto;
    color: #6b7370;
    font-size: var(--font-size-home-hero-description);
    font-weight: 300;
    line-height: 1.45;
    text-align: center;
}

.page-arquitetos #alternativa .arq-alt__intro {
    margin-top: 1.25rem;
}

.page-arquitetos #alternativa .arq-alt__intro--desktop,
.page-arquitetos #alternativa .arq-alt__footer--desktop {
    max-width: none;
}

.page-arquitetos #alternativa .arq-alt__gallery {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(1rem, 1.7vw, 1.5rem);
    margin-top: clamp(2.25rem, 4vw, 3.25rem);
}

.page-arquitetos #alternativa .arq-alt__card {
    position: relative;
    margin: 0;
    aspect-ratio: 1 / 1;
    border-radius: 1.5rem;
    overflow: hidden;
    background: #d8dedb;
}

.page-arquitetos #alternativa .arq-alt__card picture {
    display: block;
    width: 100%;
    height: 100%;
}

.page-arquitetos #alternativa .arq-alt__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
}

.page-arquitetos #alternativa .arq-alt__label {
    position: absolute;
    left: 50%;
    bottom: 7%;
    transform: translateX(-50%);
    max-width: calc(100% - 1.25rem);
    margin: 0;
    padding: 0.42rem 1.35rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.28);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    color: #fff;
    font-size: clamp(1.15rem, 1.75vw, 1.65rem);
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
    pointer-events: none;
}

.page-arquitetos #alternativa .arq-alt__footer {
    margin-top: clamp(1.75rem, 3vw, 2.5rem);
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .page-arquitetos #alternativa .arq-alt__title {
        font-size: clamp(1.85rem, 3.6vw, 2.35rem);
    }

    .page-arquitetos #alternativa .arq-alt__intro,
    .page-arquitetos #alternativa .arq-alt__footer {
        max-width: 36rem;
        font-size: 0.95rem;
    }

    .page-arquitetos #alternativa .arq-alt__label {
        bottom: 6%;
        padding: 0.28rem 0.7rem;
        font-size: 0.82rem;
    }
}

/* ==========================================================================
   Formulário (ref. docs/layouts/arquitetos/09-form.png)
   Mesmo contrato de envio de #formulario-franqueado em /construtoras.
   Mobile: oculto até o layout próprio.
   ========================================================================== */

.page-arquitetos #form.arq-form {
    background: linear-gradient(180deg, #ffffff 0%, #f7f6f5 72%);
    padding-top: var(--mt-default-web, clamp(3.5rem, 6vw, 5.5rem));
    padding-bottom: clamp(4rem, 7vw, 6rem);
    color: var(--color-grey, #4b5560);
}

.page-arquitetos #form .arq-form__header,
.page-arquitetos #form .arq-form__heading,
.page-arquitetos #form .arq-form__intro,
.page-arquitetos #form .arq-form__lead {
    text-align: center;
}

.page-arquitetos #form .arq-form__title,
.page-arquitetos #form .arq-form__heading {
    margin: 0 auto;
    color: var(--color-grey, #4b5560);
    font-weight: 400;
    line-height: var(--pf-section-title-line-height, 1.1);
    letter-spacing: -0.02em;
    text-align: center;
}

.page-arquitetos #form .arq-form__title {
    font-size: var(--pf-section-title-size);
}

.page-arquitetos #form .arq-form__intro,
.page-arquitetos #form .arq-form__lead {
    max-width: 52rem;
    margin-left: auto;
    margin-right: auto;
    color: #6b7370;
    font-size: var(--font-size-home-hero-description);
    font-weight: 300;
    line-height: 1.45;
}

.page-arquitetos #form .arq-form__intro {
    margin-top: 1.25rem;
}

.page-arquitetos #form .arq-form__intro--desktop,
.page-arquitetos #form .arq-form__lead--desktop {
    max-width: none;
}

.page-arquitetos #form .arq-form__panel {
    max-width: 74rem;
    margin: clamp(2.5rem, 4vw, 3.5rem) auto 0;
}

.page-arquitetos #form .arq-form__heading {
    font-size: clamp(2.15rem, 3.2vw, 3rem);
}

.page-arquitetos #form .arq-form__lead {
    margin-top: 1.15rem;
}

.page-arquitetos #form .arq-form__form {
    margin-top: clamp(1.75rem, 3vw, 2.4rem);
}

.page-arquitetos #form .arq-form__place {
    display: contents;
}

.page-arquitetos #form .arq-form__row,
.page-arquitetos #form .arq-form__pills,
.page-arquitetos #form .arq-form__demand {
    margin-top: 0.85rem;
}

.page-arquitetos #form .arq-form__input:not(textarea),
.page-arquitetos #form .arq-form__select {
    width: 100%;
    height: 58px;
    background: #fff;
    border: 1px solid transparent;
    border-radius: 999px;
    color: #666;
    font-family: 'InterTight-Light', 'Inter', system-ui, sans-serif;
    font-size: 1.15rem;
    font-weight: 300;
    padding: 0 1.6rem;
    box-shadow: none;
}

.page-arquitetos #form .arq-form__input::placeholder {
    color: #8a8a8a;
    font-weight: 300;
}

.page-arquitetos #form .arq-form__input:focus,
.page-arquitetos #form .arq-form__select:focus {
    outline: none;
    border-color: #af7653;
    background: #fff;
    box-shadow: none;
}

.page-arquitetos #form .arq-form__select {
    appearance: none;
    cursor: pointer;
    padding-right: 2.4rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='%237a7a7a'%3E%3Cpath d='M7 10 2 5h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1.05rem center;
    line-height: 1.2;
}

.page-arquitetos #form .arq-form__legend {
    display: block;
    margin: 0 0 0.55rem;
    padding: 0;
    color: #8a8a8a;
    font-family: 'InterTight-Light', 'Inter', system-ui, sans-serif;
    font-size: 0.95rem;
    font-weight: 300;
    line-height: 1.2;
    text-align: left;
}

.page-arquitetos #form .arq-form__pills {
    border: 0;
    padding: 0;
    min-width: 0;
}

.page-arquitetos #form .arq-form__pill-group {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
}

.page-arquitetos #form .arq-form__radio {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.page-arquitetos #form .arq-form__pill {
    height: 2.35rem;
    padding: 0 1.05rem;
    border: 1px solid #d7d7d7;
    border-radius: 999px;
    background: #fff;
    color: #6f7774;
    font-family: 'InterTight-Light', 'Inter', system-ui, sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1;
    cursor: pointer;
}

.page-arquitetos #form .arq-form__pill:hover:not(.is-active) {
    color: #4a524f;
    border-color: #bbb;
}

.page-arquitetos #form .arq-form__pill.is-active {
    background: var(--color-background-button-cta);
    color: #fff;
    border-color: transparent;
    box-shadow: 0 2px 8px rgba(166, 107, 78, 0.28);
}

.page-arquitetos #form .arq-form__pill:focus-visible,
.page-arquitetos #form .arq-form__submit:focus-visible {
    outline: 2px solid #af7653;
    outline-offset: 2px;
}

.page-arquitetos #form .arq-form__textarea {
    width: 100%;
    min-height: 8.5rem;
    height: auto;
    padding: 1.1rem 1.6rem;
    border: 1px solid transparent;
    border-radius: 1.75rem;
    background: #fff;
    color: #666;
    font-family: 'InterTight-Light', 'Inter', system-ui, sans-serif;
    font-size: 1.15rem;
    font-weight: 300;
    line-height: 1.5;
    resize: vertical;
    box-shadow: none;
}

.page-arquitetos #form .arq-form__textarea:focus {
    outline: none;
    border-color: #af7653;
    box-shadow: none;
}

.page-arquitetos #form .arq-form__actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 1.75rem;
}

.page-arquitetos #form .arq-form__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 210px;
    height: 52px;
    border: 0;
    border-radius: 999px;
    background: var(--color-background-button-cta);
    color: #fff;
    font-family: 'InterTight-Medium', 'Inter', system-ui, sans-serif;
    font-size: 1.05rem;
    font-weight: 500;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(166, 107, 78, 0.35);
}

.page-arquitetos #form .arq-form__submit:hover {
    background: #965f41;
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .page-arquitetos #form .arq-form__title {
        font-size: clamp(1.85rem, 3.6vw, 2.35rem);
    }

    .page-arquitetos #form .arq-form__heading {
        font-size: clamp(1.7rem, 3.2vw, 2.15rem);
    }

    .page-arquitetos #form .arq-form__intro,
    .page-arquitetos #form .arq-form__lead {
        max-width: 36rem;
        font-size: 0.95rem;
    }

    .page-arquitetos #form .arq-form__input:not(textarea),
    .page-arquitetos #form .arq-form__select {
        height: 50px;
        padding: 0 0.7rem;
        font-size: 0.92rem;
    }

    .page-arquitetos #form .arq-form__select {
        padding-right: 1.7rem;
        background-position: right 0.65rem center;
    }

    .page-arquitetos #form .arq-form__textarea {
        font-size: 0.95rem;
    }

    .page-arquitetos #form .arq-form__pill {
        font-size: 0.92rem;
        padding: 0 0.8rem;
    }
}

.page-arquitetos #saiba-mais.dfsrl-section {
    padding-bottom: var(--mt-default-web);
}

.page-arquitetos #arquitetos-faq-form .faq-form-header,
.page-arquitetos #arquitetos-faq-form .faq-form-title,
.page-arquitetos #arquitetos-faq-form .faq-form-subtitle {
    text-align: left !important;
}

@media only screen and (max-width: 767.98px) {
    .page-arquitetos #saiba-mais.dfsrl-section {
        padding-bottom: var(--mt-default-web-mobile);
    }

    .page-arquitetos #arquitetos-faq-form.faq-form-section {
        padding-top: var(--mt-default-web-mobile);
    }
}

.page-arquitetos #arquitetos-faq-form .faq-form-title {
    color: var(--color-grey, #4b5560);
    font-weight: 400;
    letter-spacing: -0.02em;
}

.page-arquitetos #arquitetos-faq-form .faq-form-accordion .accordion-body {
    background-color: transparent;
    color: #687278;
}

@media only screen and (max-width: 767.98px) {
    .page-arquitetos #arquitetura.arq-arch {
        padding-top: 2.75rem;
        padding-bottom: 2.5rem;
    }

    .page-arquitetos #arquitetura .container {
        padding-left: 1.35rem;
        padding-right: 1.35rem;
    }

    .page-arquitetos #arquitetura .arq-arch__header {
        flex-direction: column;
        align-items: center;
        gap: 1.15rem;
    }

    .page-arquitetos #arquitetura .arq-arch__title:not(.arq-arch__title--phone) {
        display: none !important;
    }

    .page-arquitetos #arquitetura .arq-arch__title--phone {
        display: block !important;
        flex: none;
        width: max-content;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        font-size: clamp(2.2rem, 9.8vw, 2.7rem) !important;
        line-height: 1.05;
        letter-spacing: -0.03em;
        text-align: center;
    }

    .page-arquitetos #arquitetura .arq-arch__intro--phone {
        display: block !important;
        flex: none;
        width: 100%;
        max-width: 22rem;
        margin-left: auto;
        margin-right: auto;
        font-size: 1.02rem;
        line-height: 1.45;
        text-align: center;
    }

    .page-arquitetos #arquitetura .arq-arch__figure {
        margin-top: 1.45rem;
    }

    .page-arquitetos #arquitetura .arq-arch__media {
        border-radius: 1.35rem;
    }

    .page-arquitetos #arquitetura .arq-arch__img {
        aspect-ratio: 854 / 1000;
        object-fit: cover;
    }

    .page-arquitetos #arquitetura .arq-arch__cta {
        bottom: 1.15rem;
        min-width: 0;
        padding: 0.58rem 1.15rem;
        font-size: 0.92rem;
    }

    .page-arquitetos #arquitetura .arq-arch__caption:not(.arq-arch__caption--phone) {
        display: none !important;
    }

    .page-arquitetos #arquitetura .arq-arch__caption--phone {
        display: block !important;
        max-width: 18.5rem;
        margin-top: 1.15rem;
        font-size: 0.98rem;
        line-height: 1.45;
        text-align: center;
    }

    .page-arquitetos #design.arq-design {
        padding-top: 2.6rem;
        padding-bottom: 2.4rem;
    }

    .page-arquitetos #design .container {
        padding-left: 1.35rem;
        padding-right: 1.35rem;
    }

    .page-arquitetos #design .arq-design__title:not(.arq-design__title--phone) {
        display: none !important;
    }

    .page-arquitetos #design .arq-design__title--phone {
        display: block !important;
        width: max-content;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        font-size: clamp(2.2rem, 9.8vw, 2.7rem) !important;
        line-height: 1.05;
        letter-spacing: -0.03em;
        text-align: center;
    }

    .page-arquitetos #design .arq-design__intro--phone {
        display: block !important;
        max-width: 22rem;
        margin: 1.05rem auto 0;
        font-size: 1.02rem;
        line-height: 1.45;
        text-align: center;
    }

    .page-arquitetos #design .arq-design__grid {
        display: flex;
        gap: 0.75rem;
        margin-top: 1.35rem;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
        touch-action: pan-x pan-y pinch-zoom;
    }

    .page-arquitetos #design .arq-design__grid::-webkit-scrollbar {
        display: none;
    }

    .page-arquitetos #design .arq-design__card {
        flex: 0 0 calc(100% - 2.6rem);
        max-width: calc(100% - 2.6rem);
        min-width: 0;
        scroll-snap-align: start;
        scroll-snap-stop: always;
    }

    .page-arquitetos #design .arq-design__media {
        border-radius: 1.25rem;
    }

    .page-arquitetos #design .arq-design__img {
        aspect-ratio: auto;
        height: auto;
        -webkit-user-drag: none;
        user-select: none;
    }

    .page-arquitetos #design .arq-design__label {
        bottom: 6%;
        padding: 0.38rem 1.05rem;
        font-size: 1.2rem;
    }

    .page-arquitetos #design figcaption.arq-design__caption {
        display: none !important;
    }

    .page-arquitetos #design .arq-design__caption--phone {
        display: none !important;
    }

    .page-arquitetos #design .arq-design__caption--live {
        display: block !important;
        max-width: 19rem;
        margin: 1rem auto 0;
        font-size: 0.98rem;
        line-height: 1.45;
        text-align: center;
        text-wrap: balance;
    }

    .page-arquitetos #design .arq-design__dots {
        display: flex !important;
        justify-content: center;
        align-items: center;
        gap: 0.7rem;
        margin-top: 1.15rem;
    }

    .page-arquitetos #design .arq-design__dash {
        width: 2.2rem;
        height: 0.48rem;
        padding: 0;
        border: 0;
        border-radius: 999px;
        background-color: rgba(87, 93, 102, 0.28);
        cursor: pointer;
    }

    .page-arquitetos #design .arq-design__dash.is-active {
        background-color: var(--color-background-button-cta, #a54b0a);
        transform: scaleX(1.08);
    }

    .page-arquitetos #design .arq-design__dash:focus-visible {
        outline: 2px solid var(--color-background-button-cta, #a54b0a);
        outline-offset: 3px;
    }

    .page-arquitetos #especificacao .arq-spec__media {
        aspect-ratio: 762 / 1350;
    }

    .page-arquitetos #especificacao .arq-spec__overlay {
        align-items: flex-end;
    }

    .page-arquitetos #especificacao .arq-spec__inner {
        height: auto;
        max-width: none;
        padding: 0 8% 13.5% 10.3%;
    }

    .page-arquitetos #especificacao .arq-spec__content {
        height: auto;
        max-width: 16.5rem;
    }

    .page-arquitetos #especificacao .arq-spec__title {
        position: static;
        font-size: clamp(2.05rem, 8.7vw, 2.4rem) !important;
        line-height: 1.02;
    }

    .page-arquitetos #especificacao .arq-spec__body:not(.arq-spec__body--phone) {
        display: none !important;
    }

    .page-arquitetos #especificacao .arq-spec__body--phone {
        display: block !important;
        position: static;
        max-width: 12.4rem;
        margin-top: 4.6rem;
        font-size: 0.98rem;
        line-height: 1.38;
    }

    .page-arquitetos #arquivos .pool-dl-v2__title {
        font-size: clamp(2.15rem, 9vw, 2.65rem) !important;
        line-height: 1.08;
        letter-spacing: -0.03em;
        text-align: center;
    }

    .page-arquitetos #arquivos .pool-dl-v2__title-text:not(.pool-dl-v2__title-text--phone) {
        display: none !important;
    }

    .page-arquitetos #arquivos .pool-dl-v2__title-text--phone {
        display: block !important;
        width: max-content;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        text-align: center;
    }

    .page-arquitetos #arquivos .pool-dl-v2__subtitle {
        display: none;
    }

    .page-arquitetos #cores.arq-cores {
        padding-top: 2.6rem;
        padding-bottom: 2.5rem;
    }

    .page-arquitetos #cores .container {
        padding-left: 1.35rem;
        padding-right: 1.35rem;
    }

    .page-arquitetos #cores .arq-cores__title:not(.arq-cores__title--phone) {
        display: none !important;
    }

    .page-arquitetos #cores .arq-cores__title--phone {
        display: block !important;
        width: max-content;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        font-size: clamp(2.2rem, 9.6vw, 2.7rem) !important;
        line-height: 1.08;
        letter-spacing: -0.03em;
        text-align: center;
    }

    .page-arquitetos #cores .arq-cores__intro--phone {
        display: block !important;
        max-width: 22rem;
        margin: 1.05rem auto 0;
        font-size: 1.02rem;
        line-height: 1.45;
        text-align: center;
    }

    .page-arquitetos #cores .arq-cores__stage,
    .page-arquitetos #cores .arq-cores__caption:not(.arq-cores__caption--phone) {
        display: none !important;
    }

    .page-arquitetos #cores .arq-cores__phone {
        display: block !important;
        margin-top: 1.4rem;
    }

    .page-arquitetos #cores .arq-cores__scene,
    .page-arquitetos #cores .arq-cores__swatch {
        position: relative;
        overflow: hidden;
        border-radius: 1.25rem;
    }

    .page-arquitetos #cores .arq-cores__scene {
        aspect-ratio: 5 / 5.7;
    }

    .page-arquitetos #cores .arq-cores__scene-img,
    .page-arquitetos #cores .arq-cores__slide--phone {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        margin: 0;
        opacity: 0;
        transition: opacity 0.45s ease;
    }

    .page-arquitetos #cores .arq-cores__scene-img {
        object-fit: cover;
        object-position: center 78%;
    }

    .page-arquitetos #cores .arq-cores__scene-img.is-active,
    .page-arquitetos #cores .arq-cores__slide--phone.is-active {
        opacity: 1;
        z-index: 1;
    }

    .page-arquitetos #cores .arq-cores__caption--phone {
        display: block !important;
        max-width: 16.5rem;
        margin-top: 1.75rem !important;
        margin-bottom: 1.75rem !important;
        margin-left: auto;
        margin-right: auto;
        font-size: 1.02rem;
        line-height: 1.4;
        text-align: center;
    }

    .page-arquitetos #cores .arq-cores__swatch {
        aspect-ratio: 1 / 1;
    }

    .page-arquitetos #cores .arq-cores__swatch .arq-cores__name {
        font-size: 1.28rem;
        bottom: 8%;
    }

    .page-arquitetos #cores .arq-cores__swatch .arq-cores__prev {
        left: 0.15rem;
    }

    .page-arquitetos #cores .arq-cores__swatch .arq-cores__next {
        right: 0.15rem;
    }

    .page-arquitetos #para-arquitetos .arq-program__media {
        aspect-ratio: 763 / 1350;
    }

    .page-arquitetos #para-arquitetos .arq-program__overlay,
    .page-arquitetos #para-arquitetos .arq-program__inner {
        align-items: flex-start;
    }

    .page-arquitetos #para-arquitetos .arq-program__inner {
        width: 100%;
        max-width: none;
        padding: 50% 8% 0 10%;
    }

    .page-arquitetos #para-arquitetos .arq-program__copy {
        max-width: 16.5rem;
    }

    .page-arquitetos #para-arquitetos .arq-program__title {
        max-width: 7.2em;
        font-size: clamp(2.2rem, 9.4vw, 2.65rem) !important;
        line-height: 1.02;
        letter-spacing: -0.03em;
    }

    .page-arquitetos #para-arquitetos .arq-program__body--phone {
        display: block !important;
        max-width: 13.2rem;
        margin-top: 3.1rem;
        font-size: 0.92rem;
        line-height: 1.32;
    }

    .page-arquitetos #para-arquitetos .arq-program__cta {
        margin-top: 4.6rem;
        padding: 0.58rem 1.15rem;
        font-size: 0.95rem;
    }

    .page-arquitetos #alternativa.arq-alt {
        padding-top: 2.6rem;
        padding-bottom: 2.5rem;
    }

    .page-arquitetos #alternativa .container {
        padding-left: 1.35rem;
        padding-right: 1.35rem;
    }

    .page-arquitetos #alternativa .arq-alt__title:not(.arq-alt__title--phone) {
        display: none !important;
    }

    .page-arquitetos #alternativa .arq-alt__title--phone {
        display: block !important;
        width: max-content;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        font-size: clamp(2.15rem, 9.2vw, 2.6rem) !important;
        line-height: 1.08;
        letter-spacing: -0.03em;
        text-align: center;
    }

    .page-arquitetos #alternativa .arq-alt__intro--phone,
    .page-arquitetos #alternativa .arq-alt__footer--phone {
        display: block !important;
        max-width: 22rem;
        margin-left: auto;
        margin-right: auto;
        font-size: 1.02rem;
        line-height: 1.45;
        text-align: center;
    }

    .page-arquitetos #alternativa .arq-alt__intro--phone {
        margin-top: 1.05rem;
    }

    .page-arquitetos #alternativa .arq-alt__gallery {
        grid-template-columns: 1fr;
        gap: 2.25rem;
        margin-top: 1.6rem;
    }

    .page-arquitetos #alternativa .arq-alt__card {
        aspect-ratio: 768 / 900;
        border-radius: 1.35rem;
    }

    .page-arquitetos #alternativa .arq-alt__label {
        font-size: 1.2rem;
        bottom: 7%;
    }

    .page-arquitetos #alternativa .arq-alt__card:nth-child(2) .arq-alt__label-text:not(.arq-alt__label-text--phone) {
        display: none !important;
    }

    .page-arquitetos #alternativa .arq-alt__label-text--phone {
        display: inline !important;
    }

    .page-arquitetos #alternativa .arq-alt__footer--phone {
        margin-top: 2.75rem !important;
    }

    .page-arquitetos #form.arq-form {
        padding-top: clamp(1.5rem, 4vw, 2.4rem);
        padding-bottom: clamp(2.5rem, 7vw, 3.5rem);
    }

    .page-arquitetos #form .container {
        padding-left: 1.35rem;
        padding-right: 1.35rem;
    }

    .page-arquitetos #form .arq-form__header,
    .page-arquitetos #form .arq-form__panel {
        max-width: 22rem;
        margin-left: auto;
        margin-right: auto;
    }

    .page-arquitetos #form .arq-form__title:not(.arq-form__title--phone),
    .page-arquitetos #form .arq-form__heading:not(.arq-form__heading--phone) {
        display: none !important;
    }

    .page-arquitetos #form .arq-form__title--phone,
    .page-arquitetos #form .arq-form__heading--phone {
        display: block !important;
        width: max-content;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        text-align: center;
    }

    .page-arquitetos #form .arq-form__title--phone {
        font-size: var(--pf-section-title-size-mobile, 2.3rem) !important;
        line-height: 1.12;
    }

    .page-arquitetos #form .arq-form__heading--phone {
        font-size: clamp(2rem, 8.4vw, 2.4rem) !important;
        line-height: 1.08;
    }

    .page-arquitetos #form .arq-form__intro--phone,
    .page-arquitetos #form .arq-form__lead--phone {
        display: block !important;
        max-width: 20rem;
        margin-left: auto;
        margin-right: auto;
        font-size: var(--font-size-home-hero-description-mobile, 1.02rem);
        line-height: 1.45;
        text-align: center;
    }

    .page-arquitetos #form .arq-form__intro--phone {
        margin-top: 1rem;
    }

    .page-arquitetos #form .arq-form__lead--phone {
        margin-top: 1rem;
    }

    .page-arquitetos #form .arq-form__form {
        display: flex;
        flex-direction: column;
        gap: 0.65rem;
        margin-top: 1.6rem;
    }

    .page-arquitetos #form .arq-form__form > .row {
        display: contents;
    }

    .page-arquitetos #form .arq-form__field,
    .page-arquitetos #form .arq-form__place,
    .page-arquitetos #form .arq-form__pills,
    .page-arquitetos #form .arq-form__actions {
        width: 100%;
        max-width: 100%;
        margin-top: 0;
        padding-left: 0;
        padding-right: 0;
    }

    .page-arquitetos #form .arq-form__field--name { order: 1; }
    .page-arquitetos #form .arq-form__place { order: 2; }
    .page-arquitetos #form .arq-form__field--phone { order: 3; }
    .page-arquitetos #form .arq-form__field--email { order: 4; }
    .page-arquitetos #form .arq-form__pills { order: 5; }
    .page-arquitetos #form .arq-form__actions { order: 6; }

    .page-arquitetos #form .arq-form__field--office,
    .page-arquitetos #form .arq-form__demand {
        display: none !important;
    }

    .page-arquitetos #form .arq-form__place {
        display: flex;
        gap: 0.65rem;
    }

    .page-arquitetos #form .arq-form__place > [class*="col-"] {
        min-width: 0;
        padding: 0;
        margin: 0;
    }

    .page-arquitetos #form .arq-form__place > .col-8 {
        flex: 1 1 auto;
        width: auto;
    }

    .page-arquitetos #form .arq-form__place > .col-4 {
        flex: 0 0 5.6rem;
        width: 5.6rem;
    }

    .page-arquitetos #form .arq-form__input:not(textarea),
    .page-arquitetos #form .arq-form__select {
        height: 48px;
        font-size: 0.9rem;
        padding: 0 14px;
    }

    .page-arquitetos #form .arq-form__select {
        font-size: 0.82rem;
        padding-left: 10px;
        padding-right: 1.75rem;
        background-position: right 0.65rem center;
        background-size: 11px;
    }

    .page-arquitetos #form .arq-form__field--phone {
        position: relative;
    }

    .page-arquitetos #form .arq-form__phone-icon {
        display: block !important;
        top: 14px;
        left: 14px;
        z-index: 2;
        pointer-events: none;
    }

    .page-arquitetos #form .arq-form__field--phone .arq-form__input {
        padding-left: 40px;
    }

    .page-arquitetos #form .arq-form__pills {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0.65rem;
        padding: 0.75rem 0.85rem;
        border-radius: 1.25rem;
        background: #fff;
    }

    .page-arquitetos #form .arq-form__legend {
        margin: 0;
        font-size: 0.9rem;
        line-height: 1.25;
    }

    .page-arquitetos #form .arq-form__pill-group {
        width: 100%;
        gap: 0.2rem;
        justify-content: flex-start;
    }

    .page-arquitetos #form .arq-form__pill {
        flex: 1 1 calc(50% - 0.2rem);
        max-width: calc(50% - 0.2rem);
        min-width: 0;
        height: 1.9rem;
        padding: 0 0.55rem;
        font-size: 0.78rem;
    }

    .page-arquitetos #form .arq-form__actions {
        align-items: stretch;
        margin-top: 1.15rem;
    }

    .page-arquitetos #form .arq-form__submit {
        width: 100%;
        max-width: 100%;
        height: 52px;
        font-size: 1.05rem;
    }
}

/* -------------------------------------------------------------------------- */
/* Reveal                                                                     */
/* -------------------------------------------------------------------------- */
.page-arquitetos .arq-reveal-up {
    opacity: 0;
    transform: translate3d(0, 24px, 0);
    transition: opacity 0.6s ease, transform 0.6s ease;
    transition-delay: var(--arq-reveal-delay, 0ms);
    will-change: opacity, transform;
}

.page-arquitetos .arq-reveal-up.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
    .page-arquitetos .arq-reveal-up {
        opacity: 1;
        transform: none;
        transition: none;
    }
}
