/* Persistent public-site trial entry. Keep the existing analysis flow. */
body.nf-trial-page {
  --nf-trial-reserve: 112px;
  padding-bottom: var(--nf-trial-reserve) !important;
}
body.nf-trial-page :focus-visible { scroll-margin-bottom: calc(var(--nf-trial-reserve) + 16px); }
html body .nf-sticky-trial,
html body #altCta.nf-sticky-trial {
  position: fixed;
  inset: auto 0 calc(18px + env(safe-area-inset-bottom, 0px));
  z-index: 50;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  width: min(1080px, calc(100% - 48px));
  max-width: none;
  height: auto;
  margin: 0 auto;
  padding: 0;
  background: none;
  transform: none !important;
  transition: none;
  color: #f1f9f7;
  font-family: Manrope, system-ui, sans-serif;
  text-align: left;
}
.nf-sticky-trial *, .nf-sticky-trial *::before, .nf-sticky-trial *::after { box-sizing: border-box; }
.nf-sticky-trial__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  min-height: 80px;
  padding: 12px 14px 12px 28px;
  border: 1px solid rgba(123, 222, 211, .25);
  border-radius: 28px;
  background: rgba(12, 33, 36, .97);
  box-shadow: 0 14px 48px #0006, inset 0 1px 0 #ffffff0b;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.nf-sticky-trial__copy { display: grid; gap: 5px; min-width: 0; margin: 0; }
.nf-sticky-trial__headline { font-size: 17px; font-weight: 650; line-height: 1.4; letter-spacing: -.025em; color: #f1f9f7; }
.nf-sticky-trial__detail { font-size: 13px; line-height: 1.5; color: #a5c7c1; }
.nf-sticky-trial .nf-sticky-trial__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  gap: 18px;
  min-height: 52px;
  padding: 14px 24px;
  border: 1px solid #7cf3e9;
  border-radius: 18px;
  background: #65ece3;
  color: #062c2d;
  font: 750 15px/1.4 Manrope, system-ui, sans-serif;
  letter-spacing: -.02em;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: inset 0 1px 0 #ffffff59;
  transition: background-color .18s ease, box-shadow .18s ease;
  -webkit-tap-highlight-color: transparent;
}
.nf-sticky-trial__button svg { display: block; width: 18px; height: 18px; flex: 0 0 18px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.nf-sticky-trial .nf-sticky-trial__button:hover { background: #94f6ee; box-shadow: 0 0 0 4px #65ece315; }
.nf-sticky-trial .nf-sticky-trial__button:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
/* Entry remains available over the intro and language choice. Form dialogs
   retain their existing higher layer so the CTA cannot cover form actions. */
html:is(.nf-boot, .ilk) body #altCta.nf-sticky-trial { z-index: 100; }
body:has(#dilSec:not([hidden])) #altCta.nf-sticky-trial { z-index: 100; }
@media (max-width: 1280px) {
  body.nf-trial-page #nf-analytics-open { bottom: calc(var(--nf-trial-reserve) + 4px) !important; }
}
body.nf-trial-page #nf-analytics-choice {
  bottom: calc(var(--nf-trial-reserve) + 4px) !important;
  max-height: calc(100dvh - var(--nf-trial-reserve) - 28px);
  overflow-y: auto;
}
@media (max-width: 700px) {
  body.nf-trial-page { --nf-trial-reserve: 98px; }
  html body .nf-sticky-trial, html body #altCta.nf-sticky-trial {
    width: calc(100% - 24px);
    bottom: calc(10px + env(safe-area-inset-bottom, 0px));
  }
  .nf-sticky-trial__inner { min-height: 70px; padding: 10px 10px 10px 16px; gap: 12px; border-radius: 22px; }
  .nf-sticky-trial__headline { display: none; }
  .nf-sticky-trial__detail { display: block; max-width: 130px; color: #c2dcd7; font-size: 12px; line-height: 1.45; }
  .nf-sticky-trial .nf-sticky-trial__button { min-height: 48px; gap: 9px; padding: 12px 15px; font-size: 13px; border-radius: 14px; }
  .nf-sticky-trial__button svg { width: 16px; height: 16px; flex-basis: 16px; }
}
@media (max-width: 350px) {
  .nf-sticky-trial__inner { padding-left: 12px; gap: 8px; }
  .nf-sticky-trial .nf-sticky-trial__button { padding-inline: 12px; gap: 6px; font-size: 12px; }
  .nf-sticky-trial__detail { font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) { .nf-sticky-trial .nf-sticky-trial__button { transition: none; } }
