/* Contact page upgrade: a blue highlight that glides to the option under the pointer (and rests on the chosen one),
   the same glide on the form tabs, a live "enquiry ready" meter, an online badge and a hero reply chip. */
.ch-grid.has-glide{position:relative}
.ch-glide{position:absolute;z-index:0;left:0;top:0;border-radius:18px;background:linear-gradient(135deg,#016FC0,#0159A3);box-shadow:0 22px 46px -16px #016fc0a6;pointer-events:none;transition:transform .5s cubic-bezier(.22,.8,.24,1),width .5s cubic-bezier(.22,.8,.24,1),height .5s cubic-bezier(.22,.8,.24,1),opacity .3s}
.ch-grid.has-glide .ch-card{position:relative;z-index:1;background:#ffffffb3!important;transform:none!important;transition:color .35s,border-color .35s,background .35s!important}
.ch-grid.has-glide .ch-card.is-primary{background:#ffffffb3!important;color:var(--ink)!important;border-color:var(--line)!important}
.ch-grid.has-glide .ch-card.is-primary small{color:var(--muted)!important}
.ch-grid.has-glide .ch-card.is-primary svg{background:#016fc014!important}.ch-grid.has-glide .ch-card.is-primary svg.s{stroke:#016FC0!important}
.ch-grid.has-glide .ch-card.is-lit{background:transparent!important;border-color:transparent!important;color:#fff!important}
.ch-grid.has-glide .ch-card.is-lit small{color:#d6ebfb!important}
.ch-grid.has-glide .ch-card.is-lit svg{background:#ffffff26!important}.ch-grid.has-glide .ch-card.is-lit svg.s{stroke:#fff!important}
.ch-grid.has-glide .ch-card svg{transition:background .35s,transform .45s cubic-bezier(.34,1.56,.64,1)}
.ch-grid.has-glide .ch-card.is-lit svg{transform:scale(1.08) rotate(-4deg)}
.ch-grid.has-glide .ch-card::after{content:"→";position:absolute;right:18px;top:20px;font-weight:700;opacity:0;transform:translateX(-6px);transition:opacity .3s,transform .3s}
.ch-grid.has-glide .ch-card.is-lit::after{opacity:1;transform:none}

.contact .contact-tabs.has-glide{position:relative}
.tab-glide{position:absolute;z-index:0;top:5px;left:0;height:calc(100% - 10px);border-radius:999px;background:#016FC0;box-shadow:0 8px 18px #016fc040;transition:transform .45s cubic-bezier(.22,.8,.24,1),width .45s cubic-bezier(.22,.8,.24,1)}
.contact .contact-tabs.has-glide a{position:relative;z-index:1;transition:color .3s}
.contact .contact-tabs.has-glide a[aria-current=true]{background:transparent!important;box-shadow:none!important}

/* enquiry readiness meter */
.fx-meter{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding:12px 14px;border-radius:14px;background:#f3f8fd;border:1px solid #dbe6f1}
.fx-meter-bar{flex:1;height:8px;border-radius:8px;background:#016fc01f;overflow:hidden}
.fx-meter-bar i{display:block;height:100%;width:100%;border-radius:8px;background:linear-gradient(90deg,#016FC0,#4EAEFC);transform-origin:left;transform:scaleX(var(--r,0));transition:transform .5s cubic-bezier(.22,.8,.24,1)}
.fx-meter b{font:800 15px/1 Inter,sans-serif;color:#016FC0;font-variant-numeric:tabular-nums;min-width:42px;text-align:right}
.fx-meter small{font-size:13px;color:#4b5563;white-space:nowrap}
.fx-meter.is-full{background:#ecfdf3;border-color:#a7f3d0}
.fx-meter.is-full i{background:linear-gradient(90deg,#16a34a,#22c55e)}
.fx-meter.is-full b{color:#16a34a}

/* person card: portrait + online */
.cp-head{display:flex;align-items:center;gap:14px;margin-bottom:6px}
.cp-ava{position:relative;flex:none;width:64px;height:64px}
.cp-ava img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:center 22%;border:3px solid #fff;box-shadow:0 10px 24px -10px #0b162280}
.cp-ava::after{content:"";position:absolute;right:2px;bottom:2px;width:14px;height:14px;border-radius:50%;background:#22c55e;border:2px solid #fff;animation:cpOn 2s ease-in-out infinite}
@keyframes cpOn{50%{box-shadow:0 0 0 6px #22c55e33}}
.cp-status{display:inline-flex;align-items:center;gap:6px;margin:2px 0 0;font-size:12.5px;font-weight:600;color:#16a34a}

/* hero reply chip */
.pg-live{display:inline-flex;align-items:center;gap:10px;margin-top:22px;padding:10px 16px 10px 12px;border-radius:999px;background:#ffffff1f;border:1px solid #ffffff40;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;font-size:14px;font-weight:600}
.pg-live i{width:10px;height:10px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 0 #22c55e99;animation:pgLive 1.8s ease-out infinite}
@keyframes pgLive{to{box-shadow:0 0 0 12px #22c55e00}}
.pg-live b{color:#E5B85C}
@media (prefers-reduced-motion:reduce){.ch-glide,.tab-glide{transition:none}.cp-ava::after,.pg-live i{animation:none}}
