.contato-wrap {
    padding: var(--esp-lg);
}
.contato-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, .85fr);
    gap: var(--esp-lg);
    margin-bottom: var(--esp-xl);
}
.contato-intro {
    padding: clamp(24px, 4vw, 40px);
    border-radius: var(--raio-lg);
    border: 1px solid rgba(59, 130, 246, .18);
    background:
        radial-gradient(circle at top left, rgba(59, 130, 246, .18), transparent 36%),
        linear-gradient(135deg, #111827, #0f172a);
    box-shadow: var(--sombra-lg);
}
.contato-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: var(--esp-md);
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(59, 130, 246, .12);
    color: #93c5fd;
    font-size: var(--t-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.contato-titulo {
    margin: 0 0 var(--esp-sm);
    color: #f8fafc;
    font-family: var(--fonte-titulo);
    font-size: clamp(2rem, 3.6vw, 3rem);
    line-height: 1.05;
}
.contato-sub {
    margin: 0;
    color: #cbd5e1;
    line-height: 1.75;
    max-width: 60ch;
}
.contato-resumo {
    display: grid;
    gap: var(--esp-md);
}
.contato-stat {
    padding: var(--esp-lg);
    background: var(--card);
    border: 1px solid var(--borda);
    border-radius: var(--raio-lg);
}
.contato-stat-valor {
    display: block;
    margin-bottom: 6px;
    color: var(--texto);
    font-family: var(--fonte-titulo);
    font-size: clamp(2rem, 4vw, 2.6rem);
    line-height: 1;
}
.contato-stat-label {
    color: var(--texto-muted);
    font-size: var(--t-sm);
}
.contato-grid {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) minmax(420px, 2fr);
    gap: var(--esp-lg);
    margin-bottom: var(--esp-lg);
}
.contato-card,
.redes-card {
    background: var(--card);
    border: 1px solid var(--borda);
    border-radius: var(--raio-lg);
    box-shadow: var(--sombra-sm);
    padding: var(--esp-lg);
}
.contato-card-titulo,
.redes-card-titulo {
    margin: 0 0 var(--esp-md);
    color: var(--texto);
    font-family: var(--fonte-titulo);
    font-size: clamp(1.3rem, 2vw, 1.7rem);
}
.contato-subsecao {
    margin-top: var(--esp-lg);
    padding-top: var(--esp-lg);
    border-top: 1px solid var(--borda);
}
.contato-subsecao-titulo {
    margin: 0 0 var(--esp-md);
    color: var(--texto);
    font-family: var(--fonte-titulo);
    font-size: clamp(1.05rem, 1.6vw, 1.3rem);
}
.contato-lista,
.redes-lista {
    display: grid;
    gap: var(--esp-md);
}
.contato-item {
    padding: var(--esp-md);
    border: 1px solid var(--borda);
    border-radius: var(--raio-md);
    background: rgba(148, 163, 184, .06);
}
.contato-item-titulo {
    margin: 0 0 6px;
    color: var(--texto);
    font-weight: 700;
}
.contato-item-valor,
.contato-item-valor a {
    margin: 0;
    color: var(--texto-muted);
    line-height: 1.7;
    text-decoration: none;
}
.contato-item-valor a:hover {
    color: var(--texto);
}
.rede-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border-radius: var(--raio-md);
    border: 1px solid var(--borda);
    background: rgba(148, 163, 184, .06);
    color: var(--texto);
    text-decoration: none;
}
.rede-item:hover {
    border-color: rgba(59, 130, 246, .35);
    background: rgba(59, 130, 246, .08);
}
.rede-logo {
    width: 32px;
    height: 32px;
    object-fit: contain;
    display: block;
    flex: 0 0 32px;
}
.rede-logo-placeholder {
    width: 32px;
    height: 32px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(59, 130, 246, .14);
    color: #93c5fd;
    font-weight: 700;
    flex: 0 0 32px;
}
.contato-vazio {
    padding: var(--esp-xl);
    background: var(--card);
    border: 1px dashed var(--borda);
    border-radius: var(--raio-lg);
    color: var(--texto-muted);
    text-align: center;
}
.contato-card-mapa {
    display: grid;
    gap: var(--esp-md);
    align-content: start;
}
.contato-mapa-endereco {
    margin: 0;
    color: var(--texto-muted);
    line-height: 1.65;
}
.contato-mapa-frame {
    border-radius: var(--raio-md);
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, .18);
    background: rgba(148, 163, 184, .08);
    min-height: 420px;
}
.contato-mapa-frame iframe {
    width: 100%;
    min-height: 420px;
    border: 0;
    display: block;
}
.contato-links-mapa {
    margin: 0;
}
.contato-rota-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: end;
}
.contato-rota-campo {
    display: grid;
    gap: 8px;
}
.contato-rota-campo span {
    color: var(--texto);
    font-size: var(--t-sm);
    font-weight: 700;
}
.contato-rota-form .form-input {
    min-height: 46px;
}
.contato-mapa-card {
    display: grid;
    gap: var(--esp-md);
    align-content: start;
}
.contato-mapa-topo {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--esp-md);
}
.contato-mapa-sub {
    margin: 6px 0 0;
    color: var(--texto-muted);
    line-height: 1.55;
}
.contato-mapa-embed {
    border-radius: var(--raio-md);
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, .18);
    background: rgba(148, 163, 184, .08);
    min-height: 340px;
}
.contato-mapa-embed iframe {
    width: 100%;
    min-height: 340px;
    border: 0;
    display: block;
}
@media (max-width: 920px) {
    .contato-hero,
    .contato-grid {
        grid-template-columns: 1fr;
    }

    .contato-rota-form {
        grid-template-columns: 1fr;
    }

    .contato-mapa-topo {
        flex-direction: column;
        align-items: stretch;
    }
}
@media (max-width: 640px) {
    .contato-wrap {
        padding: var(--esp-md);
    }
}
