@font-face { font-family: 'Montserrat'; src: url('../fontes/Montserrat-Regular.ttf') format('truetype'); font-weight: 400; }
@font-face { font-family: 'Montserrat'; src: url('../fontes/Montserrat-Medium.ttf') format('truetype'); font-weight: 500; }
@font-face { font-family: 'Montserrat'; src: url('../fontes/Montserrat-Bold.ttf') format('truetype'); font-weight: 700; }

:root { color-scheme: dark; }
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; color: #fff; background: #080808; font-family: Montserrat, Arial, sans-serif; }
body::before { content: ''; position: fixed; inset: 0; z-index: -2; background: linear-gradient(115deg, rgba(0,0,0,.88), rgba(9,9,9,.7)), url('../img/fundo-home.jpg') center/cover; }
body::after { content: ''; position: fixed; inset: 0; z-index: -1; background: radial-gradient(circle at 14% 20%, rgba(164,111,49,.18), transparent 30%), radial-gradient(circle at 82% 75%, rgba(255,255,255,.08), transparent 28%); }
a { color: inherit; text-decoration: none; }
.contato-cabecalho { width: min(1160px, 90%); min-height: 94px; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid rgba(255,255,255,.15); }
.marca { display: flex; align-items: center; }
.marca img { display: block; width: auto; height: 62px; }
.marca:not(:has(img)) { width: 62px; height: 62px; background: url('../img/logo.png') center / contain no-repeat; font-size: 0; }
.voltar { color: rgba(255,255,255,.78); font-size: .8rem; transition: color .2s ease; }
.voltar:hover, .voltar:focus-visible { color: #fff; }
.contato-principal { width: min(1160px, 90%); min-height: calc(100vh - 170px); margin: auto; padding: 62px 0; display: grid; grid-template-columns: .88fr 1.12fr; align-items: center; gap: clamp(42px, 8vw, 120px); }
.institucional { animation: surgir .65s ease both; }
.sobretitulo { margin: 0 0 18px; color: #d7b47d; letter-spacing: .18em; font-size: .7rem; font-weight: 700; }
h1 { max-width: 500px; margin: 0; font-size: clamp(2.3rem, 5vw, 4.8rem); line-height: .98; letter-spacing: -.06em; }
.destaque { display: block; color: rgba(255,255,255,.5); font-weight: 400; }
.descricao { max-width: 470px; margin: 28px 0 0; color: rgba(255,255,255,.75); font-size: .96rem; line-height: 1.8; }
.canal { display: inline-block; margin-top: 28px; padding-bottom: 8px; border-bottom: 1px solid #d7b47d; color: #d7b47d; font-size: .72rem; letter-spacing: .1em; }
.formulario-painel { padding: clamp(24px, 4vw, 46px); border: 1px solid rgba(255,255,255,.18); border-radius: 3px; background: rgba(18,18,18,.72); box-shadow: 0 24px 60px rgba(0,0,0,.3); backdrop-filter: blur(13px); animation: surgir .65s .12s ease both; }
.formulario-painel h2 { margin: 0 0 28px; font-size: 1.15rem; letter-spacing: .08em; }
.campos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.campo-total { grid-column: 1 / -1; }
label { display: block; margin-bottom: 8px; color: rgba(255,255,255,.74); font-size: .72rem; letter-spacing: .04em; }
input, select, textarea { width: 100%; padding: 12px 0; border: 0; border-bottom: 1px solid rgba(255,255,255,.3); border-radius: 0; outline: none; color: #fff; background: transparent; font: inherit; font-size: .88rem; transition: border-color .2s, background .2s; }
select option { color: #111; } textarea { min-height: 112px; resize: vertical; }
input:focus, select:focus, textarea:focus { border-color: #d7b47d; background: rgba(255,255,255,.035); }
.erro { min-height: 17px; margin: 5px 0 0; color: #f2aaa1; font-size: .69rem; }
.mensagem-formulario { display: none; margin: 22px 0 0; padding: 13px 15px; border-left: 2px solid #d7b47d; background: rgba(215,180,125,.11); color: rgba(255,255,255,.9); font-size: .82rem; line-height: 1.55; }
.mensagem-formulario.visivel { display: block; }.mensagem-formulario.erro-envio { border-color: #f2aaa1; background: rgba(242,170,161,.1); }
.enviar { width: 100%; margin-top: 10px; padding: 16px; border: 1px solid #d7b47d; color: #121212; background: #d7b47d; cursor: pointer; font: 700 .74rem Montserrat, sans-serif; letter-spacing: .12em; transition: transform .2s, background .2s; }
.enviar:hover { transform: translateY(-2px); background: #f0d09a; }.enviar:disabled { cursor: wait; opacity: .68; transform: none; }
.anti-spam { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.rodape-contato { width: min(1160px, 90%); margin: auto; padding: 20px 0 30px; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.48); font-size: .72rem; }
.materiais { margin-top: 34px; }.materiais h2 { font-size: .74rem; letter-spacing: .12em; }.materiais span { display: inline-block; margin: 6px 7px 0 0; padding: 8px 10px; border: 1px solid rgba(255,255,255,.18); color: rgba(255,255,255,.52); font-size: .62rem; letter-spacing: .07em; }
@keyframes surgir { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 760px) { .contato-cabecalho { min-height: 76px; } .marca img { height: 52px; } .marca:not(:has(img)) { width: 52px; height: 52px; } .contato-principal { grid-template-columns: 1fr; gap: 40px; padding: 46px 0; } .campos { grid-template-columns: 1fr; }.campo-total { grid-column: auto; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }
