:root{
  --bordo:#3B0B12; --bordo-fundo:#26070C; --vinho:#54131C; --vinho-claro:#70202A;
  --ouro:#D6A12F; --ouro-claro:#E8C568; --ouro-escuro:#A97218;
  --creme:#F6F0E6; --branco-quente:#FFFDF8;
  --txt:#F7F2EA; --txt-2:#D9CBC3;
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;font-family:var(--sans);color:var(--txt);background:var(--bordo-fundo);
  -webkit-font-smoothing:antialiased;line-height:1.55;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

.pagina{
  position:relative;min-height:100vh;overflow:hidden;
  background:
    radial-gradient(1100px 700px at 78% 22%, rgba(112,32,42,.55) 0%, transparent 62%),
    radial-gradient(900px 620px at 12% 12%, rgba(84,19,28,.42) 0%, transparent 60%),
    linear-gradient(150deg,#3B0B12 0%,#2C0810 46%,#1F050A 100%);
}
/* textura sutil, so CSS, sem imagem externa */
.pagina::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.05;
  background-image:
    radial-gradient(circle at 20% 30%,#fff .6px,transparent .6px),
    radial-gradient(circle at 70% 60%,#fff .6px,transparent .6px);
  background-size:3px 3px,4px 4px;
}
.mapa-fundo{
  position:absolute;top:-6%;right:-8%;width:62%;height:78%;z-index:0;pointer-events:none;opacity:.16;
  background:
    radial-gradient(closest-side,rgba(214,161,47,.55),transparent 72%) 62% 38%/48% 52% no-repeat,
    radial-gradient(closest-side,rgba(214,161,47,.32),transparent 70%) 34% 62%/40% 44% no-repeat;
  filter:blur(2px);
}

/* ── topo ─────────────────────────────────────────── */
.topo{
  position:relative;z-index:2;display:flex;align-items:center;gap:36px;
  padding:34px clamp(20px,4vw,68px) 0;
}
.marca img{width:clamp(190px,17vw,272px);height:auto}
.valores{
  margin:0;font-size:12px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--ouro-claro);font-weight:500;
}
.valores span{opacity:.55;margin:0 4px}

/* ── layout ───────────────────────────────────────── */
.conteudo{
  position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(24px,3vw,56px);align-items:start;
  padding:clamp(18px,2.4vw,34px) clamp(20px,4vw,68px) clamp(28px,4vw,56px);
}
.coluna-texto{min-width:0}

.eyebrow{
  margin:0 0 14px;font-size:12.5px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--ouro);font-weight:600;
}
h1{
  margin:0;font-family:var(--serif);font-weight:600;
  font-size:clamp(38px,5.4vw,72px);line-height:1.06;letter-spacing:.005em;
  color:var(--branco-quente);text-wrap:balance;
}
h1 em{font-style:normal;color:var(--ouro-claro)}
h1 .ponto{color:var(--ouro)}
.regua{width:92px;height:2px;margin:26px 0 24px;background:linear-gradient(90deg,var(--ouro),transparent)}

.lead{margin:0 0 14px;max-width:62ch;font-size:clamp(15px,1.12vw,17px);color:var(--txt-2)}

.aviso-canais{
  display:flex;align-items:center;gap:11px;margin:22px 0 20px;
  font-size:clamp(14.5px,1.1vw,16.5px);font-weight:600;color:var(--ouro-claro);
}
.ic-check{width:23px;height:23px;flex:0 0 auto;color:var(--ouro)}

/* ── cards de contato ─────────────────────────────── */
.cards-contato{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:26px;max-width:760px}
.card-contato{
  display:flex;align-items:center;gap:15px;padding:16px 18px;text-decoration:none;
  border:1px solid rgba(214,161,47,.32);border-radius:12px;
  background:linear-gradient(135deg,rgba(112,32,42,.42),rgba(59,11,18,.30));
  transition:border-color .2s,transform .2s,background .2s;
}
.card-contato:hover{border-color:rgba(232,197,104,.7);transform:translateY(-2px);background:linear-gradient(135deg,rgba(112,32,42,.58),rgba(59,11,18,.42))}
.card-contato:focus-visible{outline:2px solid var(--ouro-claro);outline-offset:3px}
.ic-quadro{
  display:grid;place-items:center;width:46px;height:46px;flex:0 0 auto;border-radius:10px;
  border:1px solid rgba(214,161,47,.42);color:var(--ouro-claro);
}
.ic-quadro svg{width:23px;height:23px}
.txt-contato{display:flex;flex-direction:column;gap:2px;min-width:0}
.txt-contato strong{font-size:14.5px;font-weight:600;color:var(--branco-quente)}
.txt-contato .valor{font-size:14px;color:var(--ouro-claro);word-break:break-word}
.txt-contato .dica{font-size:12px;color:var(--txt-2);opacity:.72}

/* ── bloco do formulario ──────────────────────────── */
.bloco-form{
  display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(20px,2.4vw,38px);
  padding:clamp(22px,2.4vw,32px);border-radius:16px;
  background:linear-gradient(160deg,rgba(246,240,230,.97),rgba(238,229,214,.94));
  color:#3B0B12;box-shadow:0 26px 60px -28px rgba(0,0,0,.7);
}
.form-esquerda{min-width:0}
.ic-pessoas{
  display:grid;place-items:center;width:44px;height:44px;border-radius:50%;
  background:var(--vinho);color:var(--creme);margin-bottom:14px;
}
.ic-pessoas svg{width:23px;height:23px}
.bloco-form h2{
  margin:0 0 8px;font-family:var(--serif);font-weight:600;
  font-size:clamp(22px,2vw,29px);line-height:1.16;color:#3B0B12;text-wrap:balance;
}
.tranquilo{margin:0 0 12px;font-weight:600;color:var(--ouro-escuro)}
.form-esquerda p{margin:0 0 11px;font-size:14px;line-height:1.6;color:#5A3B33}

.form-direita{min-width:0;display:flex;flex-direction:column;justify-content:center}
.linha{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.campo{display:flex;flex-direction:column;margin-bottom:12px;min-width:0}
/* label visivel só pra leitor de tela: o placeholder faz o papel visual */
.campo label{
  position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0;
}
.campo input,.campo textarea{
  width:100%;padding:13px 14px;font-family:inherit;font-size:14.5px;color:#3B0B12;
  background:#FFFDF8;border:1px solid rgba(59,11,18,.20);border-radius:9px;
  transition:border-color .18s,box-shadow .18s;
}
.campo textarea{resize:vertical;min-height:88px}
.campo input::placeholder,.campo textarea::placeholder{color:#9C7F76}
.campo input:focus,.campo textarea:focus{
  outline:none;border-color:var(--ouro);box-shadow:0 0 0 3px rgba(214,161,47,.22);
}
.campo input[aria-invalid="true"],.campo textarea[aria-invalid="true"]{
  border-color:#B3261E;box-shadow:0 0 0 3px rgba(179,38,30,.14);
}
.campo-oculto{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.campo-telefone{display:flex;gap:8px}
.campo-telefone select{
  flex:0 0 auto;padding:13px 8px;font-family:inherit;font-size:14.5px;color:#3B0B12;
  background:#FFFDF8;border:1px solid rgba(59,11,18,.20);border-radius:9px;cursor:pointer;
}
.campo-telefone select:focus{outline:none;border-color:var(--ouro);box-shadow:0 0 0 3px rgba(214,161,47,.22)}
.campo-telefone input{flex:1;min-width:0}

#btn-enviar{
  display:flex;align-items:center;justify-content:center;gap:10px;width:100%;
  margin-top:4px;padding:15px 20px;font-family:inherit;font-size:15.5px;font-weight:700;
  color:#3B0B12;background:linear-gradient(135deg,var(--ouro-claro),var(--ouro) 55%,var(--ouro-escuro));
  border:none;border-radius:9px;cursor:pointer;letter-spacing:.01em;
  transition:filter .18s,transform .18s,opacity .18s;
}
#btn-enviar:hover:not(:disabled){filter:brightness(1.07);transform:translateY(-1px)}
#btn-enviar:focus-visible{outline:2px solid #3B0B12;outline-offset:2px}
#btn-enviar:disabled{opacity:.62;cursor:not-allowed}
.ic-aviao{width:19px;height:19px}

.nota-form{
  display:flex;align-items:center;justify-content:center;gap:7px;
  margin:11px 0 0;font-size:12.5px;color:#7A5A50;
}
.ic-cadeado{width:14px;height:14px}
.privacidade{margin:9px 0 0;font-size:11.5px;line-height:1.5;color:#8A6A60;text-align:center}

.retorno{
  padding:22px;border-radius:12px;font-size:15px;line-height:1.6;
  background:rgba(59,11,18,.06);border:1px solid rgba(214,161,47,.4);color:#3B0B12;
  animation:aparece .3s ease;
}
.retorno h3{margin:0 0 10px;font-family:var(--serif);font-size:22px;color:#3B0B12}
.retorno .protocolo{
  display:inline-block;margin-top:14px;padding:9px 16px;border-radius:8px;
  background:var(--vinho);color:var(--creme);font-weight:700;letter-spacing:.06em;
}
.retorno.erro{border-color:#B3261E;background:rgba(179,38,30,.07)}
@keyframes aparece{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ── coluna visual ────────────────────────────────── */
.coluna-visual{position:relative;min-width:0;padding-top:8px}
.bloco-internacional{max-width:290px;margin:0 0 8px auto;text-align:right}
.rotulo-int{
  margin:0 0 6px;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ouro-claro);font-weight:600;
}
.txt-int{margin:0;font-size:14px;line-height:1.6;color:var(--txt-2)}
.arte-devices{width:100%;height:auto;margin-top:6px}

/* ── faixa de pilares ─────────────────────────────── */
.faixa-pilares{
  position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);
  gap:clamp(16px,2vw,34px);padding:clamp(22px,2.6vw,32px) clamp(20px,4vw,68px);
  background:linear-gradient(180deg,var(--creme),#EFE7DA);color:#3B0B12;
}
.pilar{display:flex;align-items:flex-start;gap:13px;min-width:0}
.pilar+.pilar{border-left:1px solid rgba(59,11,18,.14);padding-left:clamp(16px,2vw,34px)}
.pilar svg{width:33px;height:33px;flex:0 0 auto;color:var(--vinho);stroke-width:1.4}
.pilar h3{
  margin:0 0 4px;font-size:13px;font-weight:700;letter-spacing:.055em;
  text-transform:uppercase;color:#3B0B12;line-height:1.3;
}
.pilar p{margin:0;font-size:13px;line-height:1.5;color:#6B4A42}

/* ── responsivo ───────────────────────────────────── */
@media (max-width:1180px){
  .conteudo{grid-template-columns:1fr;gap:30px}
  .coluna-visual{order:2;max-width:680px;margin:0 auto}
  .bloco-internacional{margin:0 auto 10px;text-align:center;max-width:100%}
  .mapa-fundo{width:100%;right:-20%;opacity:.11}
}
@media (max-width:900px){
  .bloco-form{grid-template-columns:1fr;gap:22px}
  .faixa-pilares{grid-template-columns:1fr 1fr;gap:22px}
  .pilar+.pilar{border-left:none;padding-left:0}
  .pilar:nth-child(n+3){border-top:1px solid rgba(59,11,18,.14);padding-top:20px}
}
@media (max-width:680px){
  .topo{flex-direction:column;align-items:flex-start;gap:12px;padding-top:26px}
  .valores{font-size:10.5px;letter-spacing:.16em}
  .cards-contato{grid-template-columns:1fr}
  .linha{grid-template-columns:1fr;gap:0}
  h1{font-size:clamp(34px,9vw,44px)}
  .faixa-pilares{grid-template-columns:1fr}
  .pilar:nth-child(n+2){border-top:1px solid rgba(59,11,18,.14);padding-top:18px}
  .pilar:nth-child(n+3){border-top:1px solid rgba(59,11,18,.14)}
}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
