/* Floating WhatsApp button, shared by the homepage and the Archives pages.
   Dark glass pill, gold hairline, green icon. Rests as a circle, opens to a label on hover and once on arrival. */
.wa{position:fixed;right:clamp(14px,2.4vw,32px);bottom:calc(clamp(14px,2.4vw,32px) + env(safe-area-inset-bottom,0px));z-index:90;
  display:flex;align-items:center;height:64px;padding:4px;border-radius:999px;color:#f5f3ef;text-decoration:none;
  background:linear-gradient(135deg,rgba(30,27,22,.92),rgba(10,9,8,.94));
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border:1px solid rgba(201,150,42,.55);
  box-shadow:0 22px 50px -14px rgba(0,0,0,.75),0 0 38px rgba(201,150,42,.16),inset 0 1px 0 rgba(255,255,255,.09);
  transition:transform .6s cubic-bezier(.22,1,.36,1),border-color .4s,box-shadow .5s}
.wa:hover,.wa:focus-visible{transform:translateY(-3px);border-color:#c9962a;box-shadow:0 26px 56px -14px rgba(0,0,0,.8),0 0 56px rgba(201,150,42,.3),inset 0 1px 0 rgba(255,255,255,.12)}
.wa:focus-visible{outline:2px solid #c9962a;outline-offset:4px}
.wa-i{position:relative;flex:none;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;color:#fff;
  background:radial-gradient(circle at 30% 25%,#5cf09b,#25d366 45%,#0f9a4a);box-shadow:0 8px 20px -6px rgba(37,211,102,.7),inset 0 1px 0 rgba(255,255,255,.35)}
.wa-i svg{width:28px;height:28px;fill:currentColor;display:block}
.wa-i::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid rgba(37,211,102,.7);opacity:0;animation:wa-ping 3.8s ease-out 2s infinite}
.wa-t{max-width:0;overflow:hidden;white-space:nowrap;opacity:0;font-family:inherit;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.17em;
  transition:max-width .6s cubic-bezier(.22,1,.36,1),opacity .4s,padding .6s cubic-bezier(.22,1,.36,1)}
.wa:hover .wa-t,.wa:focus-visible .wa-t{max-width:190px;opacity:1;padding:0 20px 0 16px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.wa .wa-t{animation:wa-peek 6.5s cubic-bezier(.22,1,.36,1) 3s 1 both}}
@keyframes wa-peek{0%{max-width:0;opacity:0;padding:0}12%,78%{max-width:190px;opacity:1;padding:0 20px 0 16px}100%{max-width:0;opacity:0;padding:0}}
@keyframes wa-ping{0%{transform:scale(1);opacity:.75}70%,100%{transform:scale(1.65);opacity:0}}
@media(prefers-reduced-motion:reduce){.wa-i::after{animation:none}.wa{transition:none}}
@media(max-width:620px){.wa{height:58px}.wa-i{width:48px;height:48px}.wa-i svg{width:25px;height:25px}}
@media print{.wa{display:none}}
