/* astra1 2026-11-03 — quiet slide-out contact controls. */
.contact-tabs{position:fixed;right:0;top:43%;z-index:60;display:grid;gap:10px;pointer-events:none}.contact-tab{pointer-events:auto;display:flex;align-items:center;gap:16px;width:205px;min-height:56px;padding:14px 18px;border:1px solid #ff24396b;border-right:0;border-radius:18px 0 0 18px;background:#0b241deb;box-shadow:0 8px 25px #0006;color:#e5eee7;transform:translateX(145px);transition:transform .25s ease,background .25s ease}.contact-tab:hover,.contact-tab:focus-visible,.contact-tab[aria-expanded=true]{transform:translateX(0);background:#761025}.contact-tab>span{width:24px;font-size:25px;flex:none;color:#ff3447}.contact-tab b{font-size:14px;font-weight:500;white-space:nowrap}.contact-drawer{position:fixed;right:75px;top:36%;width:min(390px,calc(100vw - 100px));z-index:61;background:#092019;border:1px solid #ff24396b;border-radius:24px;padding:40px 28px;box-shadow:0 25px 80px #000b;color:#dce9df}.contact-drawer[hidden],.contact-drawer [hidden]{display:none}.contact-drawer h2{font-size:46px;margin:24px 0}.contact-drawer i{color:#ff2424}.contact-drawer p{font-size:16px}.contact-drawer .eyebrow{font-size:9px}.contact-drawer a{display:inline-block;margin-top:24px;padding:12px 20px;border:1px solid #ff2439;border-radius:30px;font-size:14px}.contact-drawer small{display:block;color:#b0c3b6;font-size:12px;margin-top:18px}.contact-close{position:absolute;top:8px;right:10px;font-size:28px;min-width:44px;min-height:44px}@media(max-width:650px){.contact-tabs{top:auto;bottom:110px}.contact-drawer{top:auto;bottom:110px;padding:30px 20px}.contact-drawer h2{font-size:36px}}@media(prefers-reduced-motion:reduce){.contact-tab{transition:none}}
.contact-tab>span svg{width:23px;height:23px;display:block}@media(max-width:650px){.contact-tab{width:185px;transform:translateX(145px);min-height:45px;padding:10px 9px;gap:14px;border-radius:12px 0 0 12px}.contact-tab>span{width:22px}.contact-tab:hover,.contact-tab:focus-visible,.contact-tab[aria-expanded=true]{transform:translateX(0)}}
/* astra1 2026-11-03 — drawer clears the expanded rail, including narrow screens. */
@media(min-width:651px){.contact-drawer{right:220px;width:min(390px,calc(100vw - 245px))}}
@media(max-width:650px){.contact-drawer{right:16px;bottom:220px;width:calc(100vw - 32px);max-height:calc(100svh - 245px);overflow-y:auto}}
/* astra1 2026-11-03 — Dave: larger live-chat and call buttons, including touch targets. */
.contact-tabs{gap:14px}
.contact-tab{width:270px;min-height:80px;padding:20px 23px;gap:20px;transform:translateX(190px);border-radius:22px 0 0 22px}
.contact-tab>span{width:32px}
.contact-tab>span svg{width:32px;height:32px}
.contact-tab b{font-size:19px}
.contact-tab:hover,.contact-tab:focus-visible,.contact-tab[aria-expanded=true]{transform:translateX(0)}
@media(min-width:651px){.contact-drawer{right:286px;width:min(390px,calc(100vw - 310px))}}
@media(max-width:650px){
 .contact-tabs{gap:12px}
 .contact-tab{width:230px;min-height:66px;padding:16px 18px;gap:16px;transform:translateX(164px);border-radius:18px 0 0 18px}
 .contact-tab>span,.contact-tab>span svg{width:29px;height:29px}
 .contact-tab b{font-size:17px}
 .contact-tab:hover,.contact-tab:focus-visible,.contact-tab[aria-expanded=true]{transform:translateX(0)}
 .contact-drawer{bottom:270px;max-height:calc(100svh - 295px)}
}
.no-motion .contact-tab{transition:none}
/* astra1 2026-11-03 — alternating half-out / full-out invitations, continuously. */
.contact-tab{--contact-tuck:190px;--contact-half:95px}
@keyframes contact-attention{
 0%,22%,49%,100%{transform:translateX(var(--contact-tuck))}
 10%,13%{transform:translateX(var(--contact-half))}
 34%,39%{transform:translateX(0)}
}
.js-motion .contact-tab{animation:contact-attention 8s cubic-bezier(.45,0,.2,1) infinite;translate:0 0}
.js-motion .contact-tab:nth-child(2){animation-delay:4s}
.js-motion .contact-tabs:has(.contact-tab:hover) .contact-tab,
.js-motion .contact-tabs:has(.contact-tab:focus-visible) .contact-tab,
.js-motion .contact-tabs:has(.contact-tab[aria-expanded=true]) .contact-tab{animation:none}
.js-motion .contact-tab:hover,.js-motion .contact-tab:focus-visible,.js-motion .contact-tab[aria-expanded=true]{transform:translateX(0)}
.no-motion .contact-tab{animation:none;translate:0 0}
@media(max-width:650px){.contact-tab{--contact-tuck:164px;--contact-half:82px}}
@media(prefers-reduced-motion:reduce){.contact-tab{animation:none!important;translate:0 0}}
