.contact-companion{--companion-width:21rem;--companion-action:3.5rem;position:fixed;z-index:65;top:50%;right:0;display:flex;align-items:flex-start;transform:translateY(-50%);font-family:Geist,system-ui,sans-serif}
.contact-companion-panel{position:absolute;top:0;right:var(--companion-action);width:var(--companion-width);min-height:calc(var(--companion-action)*4);padding:2rem;border:1px solid var(--color-border);border-right:0;border-radius:1rem 0 0 1rem;background:color-mix(in srgb,var(--color-background) 96%,transparent);color:var(--color-foreground);box-shadow:0 1.5rem 4rem rgba(0,0,0,.28);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);opacity:0;visibility:hidden;transform:translateX(1rem);transition:opacity .22s ease,transform .28s cubic-bezier(.16,1,.3,1),visibility .22s}
.contact-companion.is-open .contact-companion-panel{opacity:1;visibility:visible;transform:translateX(0)}
.contact-companion-close{position:absolute;top:.75rem;right:.75rem;width:2.25rem;height:2.25rem;display:grid;place-items:center;border:0;border-radius:999px;background:transparent;color:var(--color-muted-foreground);cursor:pointer}
.contact-companion-close:hover,.contact-companion-close:focus-visible{background:var(--color-muted);color:var(--color-foreground)}
.contact-companion-close svg,.contact-companion-action svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.contact-companion-close svg{width:1rem;height:1rem}
.contact-companion-kicker{margin:0 0 .5rem;color:#e21d2f;font-size:.7rem;font-weight:650;letter-spacing:.14em;text-transform:uppercase}
.contact-companion-panel h2{margin:0 0 1rem;font-size:1.55rem;line-height:1.1;letter-spacing:-.025em}
.contact-companion-panel>p:not(.contact-companion-kicker){margin:0;color:var(--color-muted-foreground);font-size:.92rem;line-height:1.6}
.contact-companion-details{display:grid;gap:.85rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--color-border)}
.contact-companion-details a{color:var(--color-foreground);font-size:.91rem;text-decoration:none}
.contact-companion-details a:hover,.contact-companion-details a:focus-visible{color:#e21d2f}
.contact-companion-details span{display:block;margin-bottom:.16rem;color:var(--color-muted-foreground);font-size:.68rem;font-weight:650;letter-spacing:.1em;text-transform:uppercase}
.contact-companion-actions{position:relative;z-index:2;display:flex;flex-direction:column;overflow:visible;border-radius:.85rem 0 0 .85rem;box-shadow:0 .8rem 2.5rem rgba(0,0,0,.24)}
.contact-companion-action{position:relative;width:var(--companion-action);height:var(--companion-action);display:grid;place-items:center;border:0;border-bottom:1px solid rgba(255,255,255,.13);background:#111;color:#fff;text-decoration:none;cursor:pointer}
.contact-companion-action:first-child{border-radius:.85rem 0 0 0}
.contact-companion-action:last-child{border-bottom:0;border-radius:0 0 0 .85rem}
.contact-companion-action:hover,.contact-companion-action:focus-visible,.contact-companion-action[aria-expanded=true]{background:#e21d2f}
.contact-companion-action svg{width:1.45rem;height:1.45rem}
.contact-companion-action>span{position:absolute;top:50%;right:calc(100% + .5rem);padding:.42rem .68rem;border-radius:.4rem;background:#111;color:#fff;font-size:.75rem;font-weight:600;white-space:nowrap;opacity:0;visibility:hidden;transform:translate(.35rem,-50%);transition:opacity .16s ease,transform .2s ease,visibility .16s;pointer-events:none}
.contact-companion-action:hover>span,.contact-companion-action:focus-visible>span{opacity:1;visibility:visible;transform:translate(0,-50%)}
@media(max-width:640px){.contact-companion{--companion-width:calc(100vw - var(--companion-action) - .75rem);--companion-action:3.25rem}.contact-companion-panel{max-height:min(28rem,calc(100svh - 2rem));padding:1.5rem;overflow-y:auto}.contact-companion-action>span{display:none}}
@media(prefers-reduced-motion:reduce){.contact-companion-panel,.contact-companion-action>span{transition:none}}
