.floating-tools [hidden]{display:none!important}
.float-button{display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--ink);cursor:pointer;transition:transform .2s,background .2s}
.floating-tools svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.float-stack{position:fixed;right:var(--gutter);bottom:calc(20px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:12px;z-index:70}
.float-chat{width:56px;height:56px;border:1px solid rgba(255,255,255,.22);background:rgba(13,38,33,.72);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);box-shadow:0 14px 30px -14px rgba(0,0,0,.5);color:var(--paper)}
.float-chat svg{width:24px;height:24px}
.float-chat:hover,.float-chat[aria-expanded=true]{background:var(--forest)}
.float-button:hover{transform:translateY(-2px)}
.floating-tools :focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.float-contact{position:fixed;right:var(--gutter);bottom:calc(88px + env(safe-area-inset-bottom));width:min(360px,calc(100vw - 2*var(--gutter)));max-height:calc(100dvh - 130px);overflow:auto;z-index:71;border:1px solid rgba(255,255,255,.8);border-radius:var(--r-lg);background:rgba(251,250,244,.9);backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3);box-shadow:var(--overlay-shadow);animation:contact-appear .2s ease-out;color:var(--ink)}
.float-contact-heading{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 12px 24px}
.float-contact-heading h2{font-size:22px;line-height:1.5;margin:5px 0 0}
.float-contact-heading button{border:0;border-radius:50%;background:var(--bone);color:var(--ink);font-size:26px;width:36px;height:36px;padding:0;cursor:pointer}
.float-contact-links{display:grid;gap:4px;padding:4px 12px 12px}
.float-contact-links a{display:flex;align-items:center;gap:12px;padding:12px;border-radius:var(--r-md);text-decoration:none;color:inherit;transition:background-color .2s}
.float-contact-links a:hover{background:var(--white)}
.contact-symbol{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:50%;background:var(--bone);color:var(--stone);font:700 13px var(--display)}
.float-contact-links strong{display:block;font-size:16px;font-weight:600}
.float-contact-links small{display:block;font-size:13px;color:var(--stone);overflow-wrap:anywhere}
.float-contact-links a>span:nth-child(2){min-width:0;flex:1}
.float-contact-links .contact-chevron{width:18px;height:18px;flex:0 0 18px;margin-left:auto;color:var(--stone);stroke-width:1.6}
body:has(#cookie-banner:not([hidden])) .floating-tools{visibility:hidden}
@keyframes contact-appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
 .float-contact{animation:none}
 .float-button{transition:none}
}
