/* ============================================
   Home em portugues — estudio de solucoes com IA.

   Carregado SO por esta pagina (bloco head de home_estudio.html), e todo
   seletor nasce de .page-estudio: o style.css serve o blog, as landings e as
   outras duas homes, e nao pode mudar de aparencia por causa daqui.

   As cores, fontes e o container saem das variaveis de style.css — a pagina e
   nova, o site nao.
   ============================================ */

.page-estudio {
    --es-gap: clamp(3.5rem, 8vw, 6.5rem);
}

.page-estudio .es-rotulo {
    font-family: var(--sans);
    font-size: .75rem;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 1.1rem;
}

.page-estudio .es-secao {
    font-family: var(--serif);
    font-size: clamp(1.7rem, 3.6vw, 2.6rem);
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: -.015em;
    text-wrap: balance;
    margin-bottom: 1.25rem;
}

.page-estudio .es-intro {
    color: var(--text-muted);
    max-width: 46ch;
    font-size: 1.05rem;
}

.page-estudio .es-faixa {
    padding: var(--es-gap) 0;
    border-top: 1px solid var(--border);
}

/* ---------- abertura ---------- */

.page-estudio .es-hero {
    padding: clamp(3.5rem, 9vw, 7rem) 0 var(--es-gap);
}

.page-estudio .es-titulo {
    font-family: var(--serif);
    font-size: clamp(2.4rem, 6.5vw, 4.4rem);
    font-weight: 600;
    line-height: 1.05;
    letter-spacing: -.03em;
    margin-bottom: 1.5rem;
}

.page-estudio .es-titulo em {
    font-style: normal;
    color: var(--accent);
}

.page-estudio .es-linha {
    font-size: clamp(1.05rem, 2vw, 1.25rem);
    color: var(--text-muted);
    max-width: 44ch;
    line-height: 1.55;
    margin-bottom: 2.25rem;
}

.page-estudio .es-acoes {
    display: flex;
    flex-wrap: wrap;
    gap: .85rem;
}

/* ---------- os tres passos ---------- */

.page-estudio .es-passos {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin-top: 2.5rem;
    padding: 0;
}

.page-estudio .es-passos li {
    background: var(--bg-elev);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 1.75rem;
    min-width: 0;
}

.page-estudio .es-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    border: 1px solid var(--accent);
    color: var(--accent);
    font-size: .85rem;
    font-variant-numeric: tabular-nums;
    margin-bottom: 1rem;
}

.page-estudio .es-passos h3 {
    font-family: var(--serif);
    font-size: 1.15rem;
    font-weight: 600;
    margin-bottom: .5rem;
}

.page-estudio .es-passos p {
    color: var(--text-muted);
    font-size: .97rem;
    line-height: 1.55;
}

/* ---------- o que pode sair disso ---------- */

.page-estudio .es-grade {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    margin-top: 2.5rem;
    background: var(--border);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    overflow: hidden;
}

.page-estudio .es-grade article {
    background: var(--bg);
    padding: 1.6rem;
    min-width: 0;
}

.page-estudio .es-grade h3 {
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: .4rem;
}

.page-estudio .es-grade p {
    color: var(--text-muted);
    font-size: .93rem;
    line-height: 1.5;
}

/* Sem barra colorida na lateral: e o tique mais reconhecivel de interface
   gerada por IA, e numa pagina que se apresenta como estudio de IA isso
   trabalha contra. O destaque vem do corpo do texto e da fonte. */
.page-estudio .es-nota {
    margin-top: 2rem;
    font-family: var(--serif);
    font-size: clamp(1.1rem, 2vw, 1.3rem);
    line-height: 1.45;
    color: var(--text-muted);
    max-width: 46ch;
}

.page-estudio .es-nota b {
    color: var(--text);
    font-weight: 600;
}

/* ---------- provas ---------- */

.page-estudio .es-casos {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    margin-top: 2.5rem;
}

.page-estudio .es-caso {
    background: var(--bg-elev);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 1.85rem;
    min-width: 0;
}

.page-estudio .es-caso h3 {
    font-family: var(--serif);
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.25;
    margin-bottom: .7rem;
}

.page-estudio .es-caso p {
    color: var(--text-muted);
    font-size: .97rem;
    line-height: 1.55;
}

.page-estudio .es-caso-meta {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border);
    font-size: .85rem;
    color: var(--text-dim);
}

.page-estudio .es-caso-meta a {
    color: var(--accent);
    border-bottom: 1px solid transparent;
}

.page-estudio .es-caso-meta a:hover,
.page-estudio .es-caso-meta a:focus-visible {
    border-bottom-color: var(--accent);
}

/* ---------- quem faz ---------- */

.page-estudio .es-sobre-grade {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: clamp(1.5rem, 4vw, 3.5rem);
    align-items: start;
}

.page-estudio .es-retrato picture {
    display: block;
}

/* height:auto e obrigatorio aqui: a tag traz width/height (448x560) para
   reservar o espaco antes da imagem chegar, e sem isso o navegador encolhe a
   largura para 100% do slot mas segura a altura em 560px — a foto estica.
   O img global do style.css so define max-width, nao a altura. */
.page-estudio .es-retrato img {
    width: 100%;
    height: auto;
    border-radius: var(--radius-lg);
    border: 1px solid var(--border);
}

.page-estudio .es-sobre p {
    color: var(--text-muted);
    margin-bottom: 1rem;
    max-width: 58ch;
}

.page-estudio .es-assinatura {
    font-family: var(--serif);
    font-size: 1.15rem;
    color: var(--text) !important;
    line-height: 1.4;
    padding-top: 1.25rem;
    border-top: 1px solid var(--border);
    margin-top: 1.5rem;
}

/* ---------- fecho ---------- */

.page-estudio .es-fecho {
    padding: var(--es-gap) 0;
    border-top: 1px solid var(--border);
    text-align: center;
}

.page-estudio .es-fecho h2 {
    font-family: var(--serif);
    font-size: clamp(1.6rem, 4vw, 2.6rem);
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: -.015em;
    text-wrap: balance;
    max-width: 20ch;
    margin: 0 auto 1rem;
}

.page-estudio .es-fecho p {
    color: var(--text-muted);
    max-width: 48ch;
    margin: 0 auto 2rem;
}

.page-estudio .es-fecho-nota {
    margin-top: 1.5rem !important;
    font-size: .9rem;
    color: var(--text-dim);
}

.page-estudio .es-fecho-nota a {
    color: var(--accent);
}

/* ---------- telas estreitas ----------
   Uma coluna so. O min-width:0 nos filhos ja esta em cada bloco: sem ele um
   item de grid nao encolhe abaixo do proprio conteudo e estica a pagina. */

@media (max-width: 900px) {
    .page-estudio .es-passos,
    .page-estudio .es-grade {
        grid-template-columns: 1fr;
    }
    .page-estudio .es-casos {
        grid-template-columns: 1fr;
    }
    .page-estudio .es-sobre-grade {
        grid-template-columns: 1fr;
    }
    .page-estudio .es-retrato {
        max-width: 200px;
    }
}
