/* Contato: acabamentos da marca, foco acessível e movimento com propósito. */
body.contact-open{overflow:hidden}
.contact{color:var(--ink);background:var(--ivory);border:1px solid var(--line-gold);border-radius:22px;width:min(540px,calc(100% - 40px));max-width:100%;max-height:calc(100dvh - 40px);margin:auto;padding:0;box-shadow:0 32px 100px rgba(22,16,12,.3);overflow:auto;overscroll-behavior:contain}
.contact::backdrop{background:rgba(35,28,23,.64);backdrop-filter:blur(7px)}
.contact[open]{animation:contact-enter .38s var(--ease) both}
.contact[open]::backdrop{animation:contact-fade .3s ease both}
.contact.is-closing{animation:contact-exit .18s ease both}
.contact__inner{padding:24px 38px 20px;background:radial-gradient(ellipse at top right,rgba(230,214,189,.55),transparent 60%)}
.contact__close{position:absolute;right:16px;top:16px;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;font-size:16px;transition:background .2s,transform .2s}
.contact__close:hover{background:var(--cream);transform:rotate(8deg)}
.contact__brand{font-family:var(--caps);font-size:26px;line-height:1.1;color:var(--gold-deep);display:flex;align-items:center;gap:12px;margin-bottom:17px}
.contact__brand span{font-size:8px;letter-spacing:.22em;color:var(--ink-soft);max-width:100px}
.contact .eyebrow{font-size:9px;letter-spacing:.22em}
.contact h2{font-family:var(--serif);font-weight:500;font-size:clamp(30px,4vw,35px);line-height:1.08;margin:11px 0}
.contact h2:focus{outline:none}
.contact h2 em{color:var(--gold-deep);font-weight:400}
#contactIntro{font-size:12.5px;line-height:1.65;color:var(--ink-soft);margin-bottom:12px}
.contact fieldset{border:0;min-width:0;display:grid;gap:7px}
.contact label{font-size:11px;font-weight:600;letter-spacing:.025em;margin-top:8px}
.contact label span{color:var(--gold-deep)}
.contact input,.contact select{box-sizing:border-box;width:100%;min-width:0;min-height:48px;padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.65);color:var(--ink);font:400 16px var(--sans);transition:border-color .2s,box-shadow .2s}
.contact input::placeholder,.contact select:invalid{color:var(--ink-faint);font-size:13px}
.contact input:focus,.contact select:focus{outline:none;border-color:var(--gold-deep);box-shadow:0 0 0 3px rgba(196,154,54,.12)}
.contact :focus-visible{outline:2px solid var(--gold-deep);outline-offset:4px}
.contact__privacy{font-size:11px;color:var(--ink-soft);line-height:1.6;margin-top:16px}
.contact__privacy summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.contact__privacy p{margin-top:8px;overflow-wrap:anywhere}
.contact__note{font-size:10px;line-height:1.6;color:var(--ink-soft);margin-top:8px}
.contact__protection{margin:12px 0;min-height:0}
.contact__submit{width:100%;gap:9px;padding:15px 12px;font-size:11.5px;letter-spacing:.015em;min-height:50px;white-space:normal;background-size:200% 100%}
.contact__submit b{font-size:19px;font-weight:400}
.contact__submit:disabled{cursor:wait;opacity:.8;transform:none}
.contact__submit i{display:none;width:15px;height:15px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;flex-shrink:0}
.contact__submit.is-loading i{display:block;animation:contact-spin .8s linear infinite}
.contact__submit.is-loading b{display:none}
.contact__status{font-size:12px;line-height:1.6;color:var(--ink-soft);margin-top:10px}
.contact__status:empty{display:none}
.contact__fallback{display:block;font-size:12px;color:var(--gold-deep);text-align:center;text-decoration:underline;margin-top:12px}
.contact [hidden]{display:none!important}
.contact__signature{text-align:center;font-family:var(--serif);font-style:italic;font-size:16px;color:var(--ink-faint);margin-top:18px}
.contact__sr,.contact__trap{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.contact--floating{margin:0;left:auto;top:auto;right:24px;bottom:100px;width:390px;max-height:calc(100dvh - 125px)}
.contact--floating .contact__inner{padding:26px 26px 18px}
.contact--floating .contact__brand{margin-bottom:14px}
.contact--floating h2{font-size:31px}
.contact--floating::backdrop{background:rgba(35,28,23,.24);backdrop-filter:blur(2px)}
@keyframes contact-enter{from{opacity:0;transform:translateY(22px) scale(.98)}to{opacity:1;transform:none}}
@keyframes contact-exit{to{opacity:0;transform:translateY(12px)}}
@keyframes contact-fade{from{opacity:0}to{opacity:1}}
@keyframes contact-spin{to{transform:rotate(360deg)}}
@media(max-width:600px){
 .contact,.contact--floating{width:calc(100% - 20px);max-height:calc(100dvh - 24px);margin:auto;inset:0;border-radius:18px}
 .contact__inner,.contact--floating .contact__inner{padding:25px 22px 20px}
 .contact__brand{margin-bottom:17px}
 .contact--floating{margin:0;top:auto;bottom:0;left:0;right:0;width:100%;max-height:92dvh;border-radius:22px 22px 0 0;padding-bottom:env(safe-area-inset-bottom)}
 .contact h2,.contact--floating h2{font-size:32px}
 .contact__submit{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.contact,.contact::backdrop,.contact *{animation:none!important;transition:none!important}}
