.contact-popup-open{overflow:hidden}
#contact-popup{width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:32px;border:1px solid var(--line);border-radius:22px;background:var(--cream);box-shadow:0 24px 90px #092a4266;overscroll-behavior:contain}
#contact-popup::backdrop{background:#092a42b3;backdrop-filter:blur(4px)}
#contact-popup .popup-close{position:absolute;right:12px;top:12px;width:44px;height:44px;display:grid;place-items:center;border:0;background:transparent;color:var(--ink);font-size:28px;line-height:1;border-radius:50%}
#contact-popup .popup-close:hover{background:#102b430a}
#popup-title{font-size:26px;line-height:1.2;letter-spacing:-.025em;color:var(--green);padding-right:24px;outline:none;margin:0 0 24px}
#contact-popup .popup-fields{display:grid;gap:16px}
#contact-popup .popup-fields label{display:grid;gap:6px;font-size:11px;font-weight:750;letter-spacing:.06em}
#contact-popup input:not([type=checkbox]){width:100%;min-height:48px;border:1px solid #a9b7bc;border-radius:8px;background:white;padding:11px 13px;color:var(--ink);font-size:16px;letter-spacing:normal;font-weight:400}
#contact-popup input:focus{outline:2px solid var(--green);outline-offset:2px}
#contact-popup .phone-help{color:var(--muted);font-size:11px;line-height:1.5;letter-spacing:normal;font-weight:400}
#contact-popup .consent{margin:20px 0 0;line-height:1.55;font-size:11px;align-items:start}
#contact-popup .consent input{flex-shrink:0;margin-top:3px;accent-color:var(--green)}
#contact-popup .form-error{font-size:13px;line-height:1.4;margin:12px 0;color:#aa2631}
#contact-popup .form-error:empty{display:none}
#contact-popup .submit{width:100%;margin-top:20px;min-height:52px}
#popup-success{padding:24px 0 12px;text-align:center;outline:none}
#popup-success h3{font-size:25px;margin-top:20px;line-height:1.25}
#popup-success p{font-size:16px;color:var(--muted);line-height:1.6}
#popup-invitation,#popup-compact{position:fixed;z-index:40;right:max(20px,env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));box-shadow:0 4px 24px #092a4226}
#popup-invitation{width:min(340px,calc(100% - 32px));padding:18px;background:var(--cream);border:1px solid #bdcfc3;border-radius:16px;max-height:calc(100dvh - 32px);overflow:auto}
#popup-invitation-title{font-size:14px;line-height:1.35;letter-spacing:.015em;color:var(--green);padding-right:26px}
#popup-invitation p{margin:9px 0 13px;font-size:13px;line-height:1.55;color:var(--muted)}
#popup-invitation .invitation-minimize{position:absolute;right:4px;top:4px;display:grid;place-items:center;width:44px;height:44px;border:0;background:transparent;border-radius:50%;color:var(--ink);font-size:24px}
#popup-invitation .invitation-minimize:hover{background:#102b430a}
#popup-launcher{display:flex;align-items:center;justify-content:center;gap:16px;width:100%;min-height:44px;padding:9px 15px;border:0;border-radius:8px;background:#b83e32;color:#fff;font-size:13px;font-weight:750}
#popup-compact{display:flex;align-items:center;gap:9px;min-height:48px;padding:11px 17px;border:1px solid #a73429;border-radius:28px;color:#fff;background:#b83e32;font-size:13px;font-weight:750}
#popup-launcher,#popup-compact{animation:contact-invite-bounce 8s ease-in-out infinite}
#popup-launcher:hover,#popup-compact:hover{background:#982c25;animation:none}
#popup-launcher:focus-visible,#popup-compact:focus-visible{animation:none}
@keyframes contact-invite-bounce{0%,6%,12%,100%{transform:translateY(0)}3%,9%{transform:translateY(-4px)}}
@media(prefers-reduced-motion:reduce){#popup-launcher,#popup-compact{animation:none}}
.contact-popup-minimized .mobile-contact,.contact-request-sent .mobile-contact{display:none!important}
/* The cookie choice and the contact invitation never compete for the bottom of a small screen. */
body:has(#measurement-consent:not([hidden])) :is(#popup-invitation,#popup-compact){display:none}
@media(max-width:520px){#contact-popup{padding:28px 22px;border-radius:18px}#popup-title{font-size:23px;margin-bottom:20px}#contact-popup .popup-fields{gap:13px}#popup-invitation,#popup-compact{right:max(12px,env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom))}#popup-invitation{width:min(340px,calc(100% - 24px));padding:14px}#popup-invitation-title{font-size:12px}#popup-invitation p{font-size:12px;line-height:1.45;margin:7px 0 10px}#popup-compact{min-height:46px;padding:10px 14px;font-size:12px}}
