/* Comparison sign-up pop-up (top-right). Not a modal: no overlay, page stays usable.
   Sits under the floating nav (nav is 20px + 56px tall on desktop) so it never covers it, and
   opposite the Second opinion pill (bottom-left). Phones: a compact bar under the nav. */
.hx-cp{--cp-ink:#110a33;--cp-gold:#ffc61e;--cp-ease:cubic-bezier(.23,1,.32,1);--cp-nav:56px;
	position:fixed;top:calc(var(--cp-nav) + 16px);right:16px;z-index:890;width:344px;max-width:calc(100vw - 32px);
	padding:24px 24px 20px;border-radius:24px;background:var(--cp-ink);color:#ffffff;
	border:1px solid rgba(255,255,255,.08);box-shadow:0 32px 64px -24px rgba(17,10,51,.35);
	font-family:Manrope,Arial,Helvetica,sans-serif;box-sizing:border-box;
	opacity:0;visibility:hidden;transform:translateY(-12px);
	transition:opacity .24s var(--cp-ease),transform .24s var(--cp-ease),visibility .24s,translate .35s cubic-bezier(.2,.7,.2,1)}
.hx-cp *{box-sizing:border-box}
.hx-cp[hidden]{display:none}
.hx-cp.is-in{opacity:1;visibility:visible;transform:none}
/* The nav slides away on scroll down; the card follows it up instead of leaving a gap. */
body:has(.hx-nav.hx-hide) .hx-cp{translate:0 calc(-1 * var(--cp-nav) + 4px)}
.hx-cp-copy{padding-right:28px}
.hx-cp-t{margin:0 0 8px;font:700 22px/1.2 "Cabinet Grotesk",Manrope,Arial,sans-serif;letter-spacing:-.02em;color:#ffffff;text-wrap:balance}
.hx-cp-s{margin:0 0 20px;font:500 15px/1.5 Manrope,Arial,sans-serif;color:rgba(255,255,255,.78)}
.hx-cp-go{display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border-radius:999px;background:var(--cp-gold);color:var(--cp-ink);
	font:800 15px/1.2 Manrope,Arial,sans-serif;text-align:center;text-decoration:none;touch-action:manipulation;
	transition:transform .16s var(--cp-ease),box-shadow .16s var(--cp-ease)}
.hx-cp-go:active{transform:scale(.96)}
.hx-cp-x{position:absolute;top:14px;right:14px;width:32px;height:32px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;
	background:rgba(255,255,255,.1);color:rgba(255,255,255,.78);cursor:pointer;transition:background-color .15s,color .15s}
.hx-cp-x::before{content:"";position:absolute;inset:-6px}   /* 44px hit area */
.hx-cp :focus-visible{outline:2px solid #ffffff;outline-offset:2px}
.hx-cp-go:focus-visible{outline-offset:3px}
@media (hover:hover) and (pointer:fine){
	.hx-cp-go:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(255,198,30,.3)}
	.hx-cp-x:hover{background:rgba(255,255,255,.2);color:#ffffff}
}
/* Phones: compact bar under the nav (nav is 12px + 58px tall, 10px + 58px below 400px). */
@media (max-width:640px){
	.hx-cp{--cp-nav:50px;top:calc(var(--cp-nav) + 8px);left:12px;right:12px;width:auto;max-width:none;padding:14px 16px 16px;border-radius:24px;
		display:grid;grid-template-columns:1fr;gap:12px}
	.hx-cp[hidden]{display:none}
	.hx-cp-copy{padding-right:44px}
	.hx-cp-t{margin:0;font-size:18px;line-height:1.2}
	.hx-cp-s{margin:4px 0 0;font-size:14px;line-height:1.4}
	.hx-cp-go{min-height:44px;padding:10px 16px;font-size:14px}
	.hx-cp-x{top:8px;right:8px;width:44px;height:44px}
	.hx-cp-x::before{inset:0}
}
@media (max-width:400px){.hx-cp{--cp-nav:50px}}
/* Short phones in landscape: keep it from eating the screen. */
@media (max-height:480px){.hx-cp-s{display:none}.hx-cp-t{margin-bottom:12px}}
@media (prefers-reduced-motion:reduce){
	.hx-cp{transform:none;transition:opacity .15s,visibility .15s}
	body:has(.hx-nav.hx-hide) .hx-cp{translate:none}
	.hx-cp-go,.hx-cp-go:active{transition:none;transform:none}
}
@media print{.hx-cp{display:none}}
