.contact-launch{position:fixed;right:20px;bottom:20px;z-index:40;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:12px 20px;border:2px solid var(--relo-theme-border,#fff);border-radius:12px;background:var(--relo-theme-primary,#102f4c);color:var(--relo-theme-on-primary,#fff);font:600 17px/1.4 Inter,Arial,sans-serif;box-shadow:0 3px 14px #102f4c30;cursor:pointer}
.contact-launch[data-inline]{position:static;max-width:100%;box-shadow:none}
.contact-launch svg{width:24px;height:24px;flex-shrink:0}.contact-launch:hover,.contact-submit:hover{background:var(--relo-theme-primary-hover,#1c4a72)}
.contact-dialog{position:fixed;inset:auto 20px var(--contact-bottom,20px) auto;margin:0;width:min(440px,calc(100% - 24px));max-height:calc(100dvh - var(--contact-bottom,20px) - 16px);padding:0;border:1px solid var(--relo-theme-border,#6f8294);border-radius:16px;background:var(--relo-theme-surface,#fff);color:var(--relo-theme-text,#102f4c);font:17px/1.55 Inter,Arial,sans-serif;overflow-y:auto;box-sizing:border-box}
.contact-dialog::backdrop{background:#071c3380}.contact-dialog[open]{display:block}body:has(.contact-dialog[open]){overflow:hidden}
.contact-dialog-header{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:12px;padding:20px;background:var(--relo-theme-primary,#102f4c);color:var(--relo-theme-on-primary,#fff)}.contact-dialog-header>div{min-width:0;flex:1}.contact-dialog h2{font:700 21px/1.3 'Plus Jakarta Sans',Inter,Arial,sans-serif;margin:0}.contact-dialog-header p{font-size:16px;margin:4px 0 0}
.contact-avatar{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border:1px solid currentColor;border-radius:50%;font-weight:700}
.contact-close{border:1px solid var(--relo-theme-border,#6f8294);border-radius:8px;min-height:48px;padding:10px 12px;background:var(--relo-theme-surface,#fff);color:var(--relo-theme-text,#102f4c);font:inherit;cursor:pointer}.contact-dialog-header .contact-close{font-size:16px;flex-shrink:0}
.contact-greeting{margin:20px 20px 0;padding:16px;border-radius:4px 14px 14px 14px;background:var(--relo-theme-tint,#eef3f7)}.contact-greeting>strong{font-size:16px}.contact-intro{color:var(--relo-theme-muted,#44576b);margin:4px 0 0}
.contact-form{display:grid;gap:16px;padding:20px}.contact-form[hidden],.contact-greeting[hidden],.contact-identity[hidden],.contact-compose[hidden]{display:none}.contact-form label{display:grid;gap:6px;font-size:16px;font-weight:600}.contact-step{margin:0;font-size:16px;font-weight:600;color:var(--relo-theme-muted,#44576b)}
.contact-identity,.contact-compose{display:grid;gap:16px;border:0;padding:0;margin:0;min-width:0}.contact-legend{font-size:18px;font-weight:700;padding:0 0 12px}.contact-identity-summary{margin:0;font-size:16px;overflow-wrap:anywhere}.contact-edit{justify-self:start;border:0;padding:0;background:transparent;color:var(--relo-theme-text,#102f4c);font:600 16px/1.4 Inter,Arial,sans-serif;min-height:44px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.contact-form :is(input:not([type=checkbox]),textarea){box-sizing:border-box;min-width:0;width:100%;min-height:52px;border:1px solid var(--relo-theme-border,#6f8294);border-radius:8px;background:var(--relo-theme-surface,#fff);color:var(--relo-theme-text,#102f4c);padding:10px 12px;font:400 18px/1.5 Inter,Arial,sans-serif}
.contact-form textarea{resize:vertical;min-height:120px}.contact-form .contact-consent{display:flex;align-items:flex-start;gap:12px;font-size:16px;line-height:1.55;font-weight:400;padding:8px 0}
.contact-consent input{width:24px;height:24px;flex-shrink:0;margin:2px 0;accent-color:var(--relo-theme-focus,#102f4c)}.contact-submit{min-height:54px;border:2px solid var(--relo-theme-border-strong,#102f4c);border-radius:8px;background:var(--relo-theme-primary,#102f4c);color:var(--relo-theme-on-primary,#fff);padding:12px 18px;font:600 18px/1.4 Inter,Arial,sans-serif;cursor:pointer}
.contact-submit:disabled{background:var(--relo-theme-tint,#e2e8ef);color:var(--relo-theme-muted,#40556b);border-color:var(--relo-theme-border,#a0adbb);cursor:wait}.contact-status{margin:0;color:var(--relo-theme-text,#263b4d);font-size:16px;overflow-wrap:anywhere}.contact-status:empty{display:none}.contact-form .contact-honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.contact-success{display:grid;gap:16px;padding:20px;overflow-wrap:anywhere}.contact-success h3{font-size:22px;margin:0 0 8px}.contact-success p{font-size:17px;margin:0 0 12px}.contact-success .contact-sent-message{margin-left:24px;border-radius:14px 4px 14px 14px;padding:16px;background:var(--relo-theme-primary,#102f4c);color:var(--relo-theme-on-primary,#fff);white-space:pre-wrap}.contact-receipt{padding:16px;border-radius:4px 14px 14px 14px;background:var(--relo-theme-tint,#eef3f7)}
.contact-dialog :focus-visible,.contact-launch:focus-visible{outline:3px solid var(--relo-theme-focus,#005fcc);outline-offset:3px}.contact-dialog-header :focus-visible{outline-color:var(--relo-theme-accent,#c79e4b)}
@media(max-width:600px){.contact-launch{right:12px;font-size:16px;min-height:48px;padding:10px 14px}.contact-dialog{right:8px;width:calc(100% - 16px)}.contact-dialog-header{padding:16px;gap:8px}.contact-dialog h2{font-size:20px}.contact-avatar{width:40px;height:40px}.contact-form,.contact-success{padding:16px}.contact-greeting{margin:16px 16px 0}}
.contact-inbox-detail{padding-block:16px}.contact-inbox-message{white-space:pre-wrap;overflow-wrap:anywhere}.contact-inbox-status{font-size:14px;font-weight:600}.contact-inbox-detail .actions{flex-wrap:wrap}.contact-inbox-detail a{min-height:44px;display:inline-flex;align-items:center;text-underline-offset:4px}
