/**
 * Home — Amanda Ramirez
 * Medidas conferidas no site em produção (viewport de 1905px).
 */

.ar-home {
    overflow-x: hidden;
}

.ar-inner {
    max-width: 1140px;
    margin: 0 auto;
}

.ar-home section[id] {
    scroll-margin-top: 120px;
}

/* ==========================================================================
   Hero
   ========================================================================== */
.ar-hero {
    position: relative;
    min-height: 90vh;
    overflow: hidden;
    background-color: #2b161b;
}

.ar-hero-slides,
.ar-hero-slide,
.ar-hero-overlay {
    position: absolute;
    inset: 0;
}

.ar-hero-slide {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    opacity: 0;
    transition: opacity 1.2s ease-in-out;
    will-change: opacity, transform;
}

.ar-hero-slide.is-active {
    opacity: 1;
    animation: ar-ken-burns 12s ease-out forwards;
}

/* efeito Ken Burns, como no slideshow do Elementor */
@keyframes ar-ken-burns {
    from { transform: scale(1); }
    to   { transform: scale(1.12); }
}

.ar-hero-overlay {
    background-color: rgba(0, 0, 0, 0.15);
    pointer-events: none;
}

@media (max-width: 1024px) {
    .ar-hero { min-height: 600px; }
}

@media (max-width: 767px) {
    .ar-hero { min-height: 230px; }
}

@media (prefers-reduced-motion: reduce) {
    .ar-hero-slide.is-active { animation: none; }
    .ar-hero-slide { transition: none; }
}

/* ==========================================================================
   Sobre
   ========================================================================== */
.ar-sobre {
    position: relative;
    background-color: #f3f3f3;
}

.ar-sobre::before {
    content: "";
    position: absolute;
    top: 170px;
    left: 200px;
    width: 300px;
    height: 283px;
    background-image: var(--ar-sobre-marca, none);
    background-repeat: no-repeat;
    background-size: contain;
    pointer-events: none;
}

.ar-sobre-inner {
    position: relative;
    display: flex;
    align-items: stretch;
    gap: 0;
}

.ar-sobre-texto {
    width: 50%;
    padding: 50px 80px 50px 0;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.ar-sobre-texto p {
    font-size: 18px;
    line-height: 1.8;
    color: var(--ar-text);
    margin: 0 0 20px;
}

.ar-sobre-texto ul {
    font-size: 18px;
    line-height: 1.8;
    color: var(--ar-text);
    margin: 0 0 20px;
    padding-left: 22px;
}

.ar-sobre-texto strong {
    font-weight: 700;
}

.ar-eyebrow {
    font-size: 18px;
    font-weight: 600;
    text-transform: uppercase;
    color: #2b161b;
    margin: 0 0 10px;
}

.ar-nome {
    font-size: 36px;
    font-weight: 500;
    text-transform: uppercase;
    color: #2b161b;
    margin: 0 0 20px;
    line-height: 1.2;
}

.ar-subtitulo {
    font-size: 18px;
    font-weight: 500;
    text-transform: uppercase;
    color: #2b161b;
    margin: 10px 0 15px;
}

.ar-citacao {
    font-size: 21px !important;
    font-style: italic;
    margin-bottom: 0 !important;
}

/* Carrossel */
.ar-sobre-galeria {
    width: 50%;
    display: flex;
    align-items: center;
}

.ar-carousel {
    position: relative;
    width: 100%;
    aspect-ratio: 3 / 4;
}

.ar-carousel-slide {
    position: absolute;
    inset: 0;
    margin: 0;
    opacity: 0;
    transition: opacity 0.6s ease-in-out;
}

.ar-carousel-slide.is-active {
    opacity: 1;
}

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

@media (max-width: 1024px) {
    .ar-sobre-inner { padding: 0 20px; }
    .ar-sobre-texto { padding: 40px 30px 40px 0; }
}

@media (max-width: 767px) {
    .ar-sobre-inner {
        flex-direction: column;
        padding: 30px;
    }

    .ar-sobre-texto,
    .ar-sobre-galeria {
        width: 100%;
        padding: 20px 10px 10px;
    }

    .ar-sobre::before { display: none; }
    .ar-carousel { aspect-ratio: 4 / 3; }
}

/* ==========================================================================
   Carrossel expansível de projetos
   Quatro painéis por vez; o carrossel vai trazendo os outros projetos.
   A expansão é só no hover — CSS puro, sem depender do JS.
   ========================================================================== */
.ar-showcase {
    position: relative;
    overflow: hidden;
    height: 400px;
}

.ar-showcase-track {
    display: flex;
    height: 100%;
    width: 100%;
    will-change: transform;
}

.ar-showcase-track.is-animating {
    transition: transform 0.9s cubic-bezier(0.4, 0, 0.2, 1);
}

.ar-showcase-item {
    position: relative;
    display: block;
    flex: 0 0 25%;
    min-width: 0;
    height: 100%;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    text-decoration: none;
    transition: flex-basis 0.8s cubic-bezier(0.25, 0.8, 0.25, 1);
}

/* abre só com o mouse em cima */
.ar-showcase-track:hover .ar-showcase-item {
    flex-basis: 16.6667%;
}

.ar-showcase-track .ar-showcase-item:hover,
.ar-showcase-track .ar-showcase-item:focus-visible {
    flex-basis: 50%;
}

.ar-showcase-overlay {
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.28);
    transition: background-color 0.8s ease;
}

.ar-showcase-item:hover .ar-showcase-overlay,
.ar-showcase-item:focus-visible .ar-showcase-overlay {
    background-color: rgba(0, 0, 0, 0.45);
}

.ar-showcase-titulo {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    box-sizing: border-box;
    font-family: var(--ar-font);
    font-size: 41px;
    font-weight: 400;
    line-height: 1.2;
    color: #ffffff;
    text-align: center;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 0.6s ease 0.15s, transform 0.6s ease 0.15s;
}

.ar-showcase-item:hover .ar-showcase-titulo,
.ar-showcase-item:focus-visible .ar-showcase-titulo {
    opacity: 1;
    transform: translateY(0);
}

/* Sem mouse (toque): dois por vez, com o título sempre visível. */
@media (hover: none) {
    .ar-showcase-item {
        flex-basis: 50%;
    }

    .ar-showcase-titulo {
        opacity: 1;
        transform: none;
        font-size: 26px;
    }
}

@media (max-width: 1024px) {
    .ar-showcase { height: 320px; }
    .ar-showcase-titulo { font-size: 32px; }
}

@media (max-width: 767px) {
    .ar-showcase { height: 240px; }

    .ar-showcase-item { flex-basis: 50%; }

    .ar-showcase-track:hover .ar-showcase-item,
    .ar-showcase-track .ar-showcase-item:hover { flex-basis: 50%; }

    .ar-showcase-titulo { font-size: 24px; opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
    .ar-showcase-track.is-animating { transition: none; }
    .ar-showcase-item { transition: none; }
}

/* ==========================================================================
   Mosaico de projetos — cards brancos encaixando em masonry
   ========================================================================== */
.ar-projetos {
    background-color: #f3f3f3;
}

.ar-projetos .ar-inner {
    padding: 80px 0 100px;
}

.ar-mosaico {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 26px;
    row-gap: 26px;
    align-items: start;
}

/* modo masonry: o JS calcula quantas linhas de 1px cada card ocupa */
.ar-mosaico.is-masonry {
    grid-auto-rows: 1px;
    row-gap: 0;
}

.ar-card {
    min-width: 0;
}

.ar-card-link {
    display: block;
    text-decoration: none;
    color: inherit;
    background-color: #ffffff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.07);
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.ar-card-link:hover,
.ar-card-link:focus-visible {
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.12);
    transform: translateY(-2px);
}

.ar-card-media {
    position: relative;
    line-height: 0;
    background-color: #e8e8e8;
}

/* proporção natural da foto — é o que faz o mosaico encaixar */
.ar-card-img {
    width: 100%;
    height: auto;
    display: block;
}

.ar-card-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    background-color: rgba(0, 0, 0, 0.42);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.ar-card-link:hover .ar-card-overlay,
.ar-card-link:focus-visible .ar-card-overlay {
    opacity: 1;
}

.ar-card-titulo {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.4;
    color: #2b161b;
    margin: 0;
    padding: 16px 18px 20px;
}

@media (max-width: 1024px) {
    .ar-projetos .ar-inner { padding: 60px 20px 80px; }
    .ar-mosaico { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 767px) {
    .ar-mosaico { grid-template-columns: 1fr; }
    .ar-projetos .ar-inner { padding: 30px; }
}

/* ==========================================================================
   Contato
   ========================================================================== */
.ar-contato {
    background-color: #ffffff;
}

.ar-contato-inner {
    max-width: 575px;
    margin: 0 auto;
    padding: 150px 0;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.ar-contato-titulo {
    font-size: 41px;
    font-weight: 500;
    letter-spacing: 4.92px;
    text-transform: uppercase;
    color: #2b161b;
    text-align: center;
    margin: 0;
    line-height: 1.3;
}

.ar-contato-lista {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px 25px;
    font-size: 19px;
    color: var(--ar-text);
}

.ar-contato-lista li {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ar-contato-lista a {
    color: inherit;
    text-decoration: none;
}

.ar-contato-lista a:hover {
    color: #2b161b;
}

/* Chamada para o WhatsApp (no lugar do formulário) */
.ar-cta {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    margin-top: 10px;
}

.ar-cta-botao {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-family: var(--ar-font);
    font-size: 20px;
    letter-spacing: 3px;
    text-transform: uppercase;
    text-decoration: none;
    color: #ffffff;
    background-color: #54595f;
    padding: 18px 42px;
    transition: background-color 0.3s ease, transform 0.3s ease;
}

.ar-cta-botao:hover,
.ar-cta-botao:focus-visible {
    background-color: #2b161b;
    color: #ffffff;
    transform: translateY(-2px);
}

.ar-cta-icone {
    flex: 0 0 auto;
}

.ar-cta-apoio {
    margin: 0;
    font-size: 16px;
    color: var(--ar-text);
    text-align: center;
}

/* Redes */
.ar-contato-social {
    display: flex;
    justify-content: center;
    margin-top: 10px;
}

.ar-contato-social .rezeta-social-icons {
    gap: 5px;
}

.ar-contato-social .rezeta-social-icon {
    width: 44px;
    height: 44px;
    color: #7a7a7a;
    border-radius: 0;
}

.ar-contato-social .rezeta-social-icon svg {
    width: 24px;
    height: 24px;
}

.ar-contato-social .rezeta-social-icon:hover {
    background-color: transparent;
    color: var(--ar-text);
}

@media (max-width: 767px) {
    .ar-contato-inner {
        padding: 30px;
        max-width: none;
    }

    .ar-contato-titulo {
        font-size: 35px;
        letter-spacing: 3px;
    }

    .ar-cta-botao {
        width: 100%;
        justify-content: center;
        font-size: 17px;
        letter-spacing: 2px;
        padding: 16px 20px;
        box-sizing: border-box;
    }
}
