/* No-JS fallback is a normal link after the footer. Fixed only once initialized. */
.floating-simulation{padding:16px 24px;background:#071d35;display:flex;justify-content:flex-end}
.floating-simulation-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 18px;min-height:48px;border:1px solid var(--lime);border-radius:14px;background:var(--lime);color:var(--night);text-decoration:none;font-size:14px;font-weight:700;line-height:1.4;box-shadow:0 6px 22px #00162b33;transition:opacity 350ms ease,transform 350ms cubic-bezier(.22,1,.36,1),background-color 200ms ease}
.floating-simulation.is-ready{position:fixed;z-index:25;right:max(24px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));padding:0;background:none;transform:translateY(calc(-1 * var(--footer-lift,0px)));pointer-events:none}
.floating-simulation.is-ready .floating-simulation-link{opacity:0;visibility:hidden;transform:translateY(12px);pointer-events:none;transition:opacity 350ms ease,transform 350ms cubic-bezier(.22,1,.36,1),visibility 350ms}
.floating-simulation.is-ready.is-visible .floating-simulation-link{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition-delay:0s}
.floating-simulation-link:focus-visible{outline:3px solid #004c97;outline-offset:4px}
@media(hover:hover) and (pointer:fine){.floating-simulation-link:hover{background:#c8e878}}
@media(max-width:600px){.floating-simulation.is-ready{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));max-width:calc(100vw - 24px)}.floating-simulation-link{padding:12px 14px;font-size:12px;gap:8px}}
@media(prefers-reduced-motion:reduce){.floating-simulation-link,.floating-simulation.is-ready .floating-simulation-link{transition:none;transform:none}}
@media print{.floating-simulation{display:none}}
.floating-simulation-link span{white-space:nowrap}
.floating-simulation-link svg{flex:0 0 20px;stroke:var(--night)}
