/* Contato — coluna única centralizada: identificação, título, texto e formulário levemente elevado.
   Tipografia e cores vêm de tokens.css / type.css; esta folha cuida só da composição e do formulário. */
.ct-page{padding:var(--hero-top) 0 var(--section-y)}
.ct-col{width:min(600px,var(--container));margin:0 auto}
.ct-col h1{margin-top:var(--kicker-gap)}

/* Superfície do formulário: branco sobre Gallery White, filete Veil e sombra quase imperceptível */
.ct-form{margin-top:var(--s-7);background:#FFFFFF;border:1px solid var(--veil);border-radius:2px;
 box-shadow:0 1px 2px rgba(23,24,26,.04),0 18px 40px -28px rgba(23,24,26,.18);padding:var(--s-6) var(--s-6) var(--s-5)}
.ct-field{display:block;padding:0 0 var(--s-4);margin:0 0 var(--s-5);border-bottom:var(--rule);transition:border-color .2s}
.ct-field:focus-within{border-bottom-color:var(--alpine-ink)}
.ct-field>span{display:block;font-size:var(--t-meta);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--graphite);margin-bottom:var(--s-3)}
.ct-field input,.ct-field textarea{display:block;width:100%;border:0;padding:8px 0;background:transparent;font:400 16px/1.5 var(--font-sans);color:var(--alpine-ink);outline:none;border-radius:0;-webkit-appearance:none;appearance:none}
.ct-field textarea{min-height:120px;resize:vertical}
.ct-field input::placeholder,.ct-field textarea::placeholder{color:var(--stone);opacity:1}
.ct-field .ct-error{display:block;min-height:0;margin-top:var(--s-2);font-size:var(--t-meta);line-height:1.4;color:#8A443E}
.ct-field .ct-error:empty{display:none}
.ct-field.is-invalid{border-bottom-color:#8A443E}

/* Campo-isca contra spam: fora da tela para pessoas, visível para robôs */
.ct-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}

.ct-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3) var(--s-4);margin-top:var(--s-6)}
.ct-send{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 var(--s-4);border:1px solid var(--alpine-ink);border-radius:2px;background:var(--alpine-ink);color:var(--gallery-white);font:500 14px/1 var(--font-sans);letter-spacing:.01em;cursor:pointer;transition:background-color .2s,border-color .2s}
.ct-send:hover{background:var(--graphite);border-color:var(--graphite)}
.ct-send:focus-visible{outline:1.5px solid var(--alpine-ink);outline-offset:3px}
.ct-send[disabled]{cursor:default;opacity:.55}
.ct-status{font-size:var(--t-body);line-height:1.5;color:var(--graphite);margin:0}
.ct-status.is-ok{color:#315F4E}
.ct-status.is-error{color:#8A443E}

@media (max-width:600px){
 .ct-form{margin-top:var(--s-6);padding:var(--s-5) var(--s-4) var(--s-4)}
 .ct-field{margin-bottom:var(--s-4)}
 .ct-send{width:100%;justify-content:center}
}

/* V1: canal de contato por e-mail (o formulário fica oculto até a V2) */
.ct-mail{margin-top:var(--s-7);padding-top:var(--s-4);border-top:var(--rule-open)}
.ct-mail span{display:block;font-size:var(--t-kicker);font-weight:400;letter-spacing:.16em;text-transform:uppercase;line-height:1.6;color:var(--graphite);margin-bottom:var(--s-3)}
.ct-mail a{font-size:var(--t-lede);font-weight:300;line-height:1.4;color:var(--alpine-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;overflow-wrap:anywhere}
.ct-mail a:hover{text-decoration-thickness:2px}
.ct-form[hidden]{display:none}
@media (max-width:600px){.ct-mail{margin-top:var(--s-6)}}
