/* ---------- Página "Contato" ---------- */
.page-head .hl{color:var(--hi)}
.ct-body{max-width:var(--maxw);margin:0 auto;padding:32px var(--pad) 88px}
.ct-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:20px;align-items:stretch}
.ct-channels{display:grid;grid-template-columns:1fr 1fr;gap:12px;grid-auto-rows:min-content}
.ct-wa{grid-column:1/-1;background:var(--hi);color:#1E0A2B;border-radius:28px;padding:32px;display:flex;flex-direction:column;gap:14px;min-height:240px;justify-content:flex-end;transition:transform .2s}
.ct-wa:hover{transform:translateY(-3px)}
.ct-wa small{font:600 13px 'Montserrat',monospace;letter-spacing:.06em;text-transform:uppercase;opacity:.7}
.ct-wa strong{font:900 clamp(30px,3.6vw,52px)/1 'Lilita One';letter-spacing:-.05em}
.ct-card{background:var(--bg2);border-radius:24px;padding:24px;display:grid;gap:10px;align-content:start}
a.ct-card:hover{background:rgba(246,238,220,.09)}
.ct-card small{font:500 12px 'Montserrat',monospace;text-transform:uppercase;letter-spacing:.06em;opacity:.55}
.ct-card b{font-size:18px;line-height:1.35}
.ct-form{border:1px solid var(--line);border-radius:28px;padding:32px;display:grid;gap:16px;align-content:start}
.ct-form h2{font-size:clamp(24px,2.6vw,34px);font-weight:800}
.ct-hint{color:var(--soft);font-size:15px;margin-top:-6px}
.ct-form label{display:grid;gap:8px;font-size:14px;font-weight:700}
.ct-form input,.ct-form select,.ct-form textarea{padding:14px 16px;border-radius:14px;border:1.5px solid rgba(246,238,220,.2);background:rgba(246,238,220,.06);font:inherit;font-weight:500;color:var(--ink);width:100%}
.ct-form select option{color:#1E0A2B}
.ct-form textarea{resize:vertical;min-height:120px}
.ct-form input:focus-visible,.ct-form select:focus-visible,.ct-form textarea:focus-visible{outline:2px solid var(--hi);outline-offset:1px}
.ct-err{color:#ffb3b3;font-weight:600;font-size:14px}
.ct-err[hidden]{display:none}
.ct-form .btn-b{border:none;cursor:pointer;font-family:inherit;background:var(--hi);color:#1E0A2B}
.ct-form .btn-b:hover{background:var(--ink)}
.page-contact footer{margin-top:0}
.page-contact .foot-row{background:none;color:var(--ink);border-top:1px solid var(--line)}

@media (max-width:1000px){.ct-grid{grid-template-columns:1fr}}
@media (max-width:820px){
  .ct-body{padding:20px 16px 64px}
  .ct-wa{padding:24px;border-radius:24px;min-height:190px}
  .ct-channels{gap:8px}
  .ct-card{padding:18px;border-radius:20px}
  .ct-card b{font-size:15px}
  .ct-form{padding:22px 18px;border-radius:24px}
}
