/* In normal flow as the first element of the page: it can never cover content, whatever the header, language direction or width. */
.contact-open{display:block;width:fit-content;max-width:calc(100% - 32px);margin:8px 16px 0;min-height:44px;padding:10px 18px;border:0;border-radius:999px;background:#096963;color:#fff;font:600 .95rem/1.2 inherit;box-shadow:0 8px 24px #0a2f3a33;cursor:pointer}
.contact-open:hover{background:#0b7c75}.contact-open:focus-visible,.contact-send:focus-visible,.contact-close:focus-visible,.contact-message:focus-visible,.contact-reply:focus-visible,.contact-mailto:focus-visible{outline:3px solid #f2b84b;outline-offset:2px}
.contact-overlay{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:16px;background:#0a2f3a99}
.contact-overlay[hidden]{display:none}
.contact-panel{width:100%;max-width:520px;max-height:100%;overflow:auto;padding:22px;border-radius:16px;background:#fff;color:#142f3b;box-shadow:0 24px 64px #0a2f3a55}
.contact-title{margin:0 0 8px;font-size:1.25rem}.contact-intro{margin:0 0 14px;color:#51646a}.contact-address{color:#142f3b;overflow-wrap:anywhere}
.contact-label{display:block;margin:0 0 12px}.contact-label-text{display:block;margin-block-end:4px;font-weight:600}
.contact-message,.contact-reply{box-sizing:border-box;width:100%;padding:10px 12px;border:1px solid #b9c7c2;border-radius:10px;font:inherit;color:inherit;background:#fff}
.contact-message{min-height:120px;resize:vertical}
.contact-hp{position:absolute!important;inset-inline-start:-10000px;width:1px;height:1px;opacity:0;pointer-events:none}
.contact-note{margin:6px 0;font-size:.85rem;color:#51646a}.contact-status{min-height:1.3em;margin:6px 0;font-weight:600}.contact-status[data-state="sent"]{color:#14604d}
.contact-status[data-state="failed"],.contact-status[data-state="limit"],.contact-status[data-state="offline"],.contact-status[data-state="tooShort"],.contact-status[data-state="badEmail"],.contact-status[data-state="check"]{color:#9a3412}
.contact-row{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}.contact-send,.contact-close{min-height:44px;padding:10px 20px;border-radius:10px;border:1px solid #096963;font:600 1rem/1.2 inherit;cursor:pointer}
.contact-send{background:#096963;color:#fff}.contact-send[disabled]{opacity:.6;cursor:progress}.contact-close{background:#fff;color:#096963}
.contact-mailto{display:inline-block;margin-top:4px;color:#096963;text-decoration:underline}
@media (max-width:480px){.contact-panel{padding:16px;border-radius:12px}.contact-open{margin:6px 12px 0;padding:8px 14px}}
@media (prefers-reduced-motion:no-preference){.contact-open{transition:background .15s}}

