.floating-contact {
 position: fixed;
 right: calc(24px + env(safe-area-inset-right, 0px));
 bottom: calc(24px + env(safe-area-inset-bottom, 0px));
 z-index: 40;
 display: grid;
 place-items: center;
 width: 52px;
 height: 52px;
 box-sizing: border-box;
 border: 0;
 border-radius: 2px;
 background: var(--acid, #e8ff00);
 color: var(--blue, #0735b6);
 box-shadow: 0 4px 18px rgb(0 22 75 / 15%);
 text-decoration: none;
 -webkit-tap-highlight-color: transparent;
 transition: transform 160ms ease, box-shadow 160ms ease;
}
.floating-contact svg { display: block; pointer-events: none; }
.floating-contact:focus-visible { outline: 2px solid var(--blue, #0735b6); outline-offset: 4px; }
.floating-contact:active { transform: translateY(0) scale(.96); }
@media (hover: hover) {
 .floating-contact:hover { transform: translateY(-2px); box-shadow: 0 6px 22px rgb(0 22 75 / 22%); }
}
body:has(.floating-contact) .footer { padding-bottom: calc(100px + env(safe-area-inset-bottom, 0px)); }
body:has(.application-menu[open]) .floating-contact { visibility: hidden; }
@media (max-width: 600px) {
 .floating-contact { width: 48px; height: 48px; right: calc(16px + env(safe-area-inset-right, 0px)); bottom: calc(16px + env(safe-area-inset-bottom, 0px)); }
 body:has(.floating-contact) :is(.hero-bottom, .gt-hero-bottom) > .button { max-width: calc(100% - 64px); gap: 16px; }
}
@media (prefers-reduced-motion: reduce) { .floating-contact { transition: none; } }
