:root{--bg:var(--leo-bg);--paper:var(--leo-text);--muted:var(--leo-muted);--line:var(--leo-line);--gold:var(--leo-editorial-on-surface);font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--paper);min-height:100svh}a{color:var(--leo-action-on-card);text-underline-offset:5px}.contact-header{max-width:1320px;margin:auto;padding:34px 48px;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.contact-header a:first-child{font:italic 28px Georgia,serif;text-decoration:none}.contact-header a:last-child{font-size:14px;align-self:center}main{max-width:1320px;margin:auto;padding:82px 48px 90px;display:grid;grid-template-columns:.85fr 1.15fr;gap:76px}.eyebrow{font-size:11px;letter-spacing:.2em;color:var(--gold);margin:0 0 28px}h1{font:normal clamp(44px,5.6vw,76px)/1.04 Georgia,serif;letter-spacing:-.035em;margin:0 0 30px}h1 span{color:var(--leo-text)}.contact-intro>p:not(.eyebrow){font-size:17px;line-height:1.7;max-width:350px;color:var(--muted)}.contact-intro .contact-note{margin-top:36px;font-size:14px!important}.contact-card{border:1px solid var(--line);border-radius:6px;background:var(--leo-surface);padding:36px;min-width:0}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:10px;margin-bottom:24px;min-width:0}label{font-size:14px}input,textarea{width:100%;min-width:0;background:var(--leo-card);border:1px solid var(--leo-control-border);border-radius:4px;padding:14px;color:var(--paper);font:16px/1.5 Arial,Helvetica,sans-serif}textarea{resize:vertical;min-height:150px;max-height:500px}input::placeholder,textarea::placeholder{color:var(--leo-muted);font-size:14px}input:user-invalid,textarea:user-invalid{border-color:var(--leo-error)}.field-hint{font-size:12px;line-height:1.6;color:var(--muted)}button{border:0;border-radius:4px;background:var(--leo-action-fill);color:var(--leo-on-action);font:600 15px Arial,Helvetica,sans-serif;min-height:52px;padding:16px 20px;width:100%;display:flex;justify-content:space-between;gap:20px;cursor:pointer}button:hover{background:var(--leo-action-hover)}button:disabled{cursor:wait;opacity:.7}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--leo-focus);outline-offset:4px}.contact-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#contact-status{font-size:14px;line-height:1.6;color:var(--leo-error);margin:0 0 18px}#contact-status:empty{display:none}#contact-success{padding:25px 0;outline:none}#contact-success h2{font:normal 36px/1.15 Georgia,serif;margin:24px 0}#contact-success>p:not(.eyebrow){color:var(--muted);line-height:1.7}.success-mark{display:block;color:var(--leo-success);font-size:40px;margin-bottom:36px}.back-link{display:inline-block;margin-top:24px}footer{max-width:1224px;margin:auto;padding:26px 0;border-top:1px solid var(--line);font-size:11px;letter-spacing:.13em;color:var(--muted)}[hidden]{display:none!important}@media(max-width:800px){.contact-header{padding:24px}.contact-header a:last-child{font-size:12px}main{padding:44px 24px;grid-template-columns:1fr;gap:28px}.contact-intro>p:not(.eyebrow){max-width:100%}.contact-intro .contact-note{margin-top:16px}.contact-card{padding:24px}footer{margin:0 24px}.eyebrow{margin-bottom:20px}h1{margin-bottom:22px}h1 br{display:none}}@media(max-width:480px){.field-row{grid-template-columns:1fr;gap:0}.contact-card{padding:22px 18px}.contact-header a:first-child{font-size:24px}}

/* The shared header adds a local-link row after its module loads. Reserve that
   final height in the first render so the contact form stays in place. */
body[data-leo-ui="page"][data-leo-page="contato"] > .contact-header { min-height:134px; }
@media (max-width:760px) {
  body[data-leo-ui="page"][data-leo-page="contato"] > .contact-header { min-height:126px; }
}
