/* === ATLAS STICKY CTA PILL ===
   Used by sections/atlas-cta-pill.liquid.
   Forensic source: sunday.ai bottom-pill (see CTA_PILL_REPORT.md).
   Dependency: @keyframes ac-blink defined in atlas-header.min.css (loaded globally).

   Threshold-based slide:
     The pill stays fixed visible. When scrollY crosses the threshold
     (just past the hero video — see atlas-cta-pill.min.js), JS adds
     the .is-hidden class which slides the pill down via a CSS
     transition. Scrolling back above the threshold removes the class
     and slides it back up. It is NOT a scroll-tied scrub: the animation
     plays at its own pace once triggered.

   Hide offset (two-layer defense — see "Coral-strip bug" below):
     1. transform uses calc(100% + 24px) so the wrap moves down by its
        own full height plus a 24px safety buffer.
     2. visibility flips to hidden after the 450ms transform animation
        completes (transition-delay 450ms on visibility). After that
        flip the wrap is not rendered at all — no compositing layer,
        no GPU paint, no possible peek.

   Coral-strip bug (iOS Safari ≥15 only — Chrome unaffected):
     iOS Safari renders the bottom URL bar as a translucent overlay
     ON TOP of the page. position:fixed; bottom:0 anchors to the
     LAYOUT viewport bottom, which extends UNDER the URL bar. The
     coral pill thus sits behind the URL bar and Safari's blurred
     chrome bleeds the coral through, producing the visible
     coral/peach strip around the URL bar that the user reported.

     Fix: bottom: calc(100lvh - 100dvh) lifts the wrap by exactly
     the URL bar height when the bar is shown (lvh = layout viewport
     = full screen, dvh = dynamic = visible viewport = full minus
     bar), so the pill sits directly above the URL bar instead of
     behind it. When the URL bar collapses, lvh == dvh, the calc
     returns 0, and the pill drops back to bottom:0 naturally.

     Chrome desktop & mobile: lvh == dvh always, so calc returns 0
     and the pill stays at bottom:0. No regression.

     env(safe-area-inset-bottom) added to also clear the iPhone
     home indicator zone when viewport-fit=cover is in effect. */
.ac-cta-pill-wrap{position:fixed;bottom:0;bottom:calc(100lvh - 100dvh + env(safe-area-inset-bottom, 0px));left:0;right:0;z-index:90;display:flex;justify-content:center;padding:0 24px 24px;pointer-events:none;visibility:visible;transform:translateY(0);transition:transform 450ms cubic-bezier(0.65,0,0.35,1),visibility 0s 0s;will-change:transform}.ac-cta-pill-wrap.is-hidden{transform:translateY(calc(100% + 24px));visibility:hidden;transition:transform 450ms cubic-bezier(0.65,0,0.35,1),visibility 0s 450ms}@media (max-width:640px){.ac-cta-pill-wrap{padding:0 24px 16px}}.ac-cta-pill{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;width:400px;max-width:100%;min-height:48px;padding:16px 20px;border:0;border-radius:9999px;background:var(--ac-coral,#FF6A4D);color:var(--ac-ink,#1A1A1A);font-family:"Geist Mono",ui-monospace,"JetBrains Mono",monospace;font-size:14px;font-weight:400;letter-spacing:0.025em;line-height:16px;text-decoration:none;cursor:pointer;transition:transform 200ms cubic-bezier(0.25,1,0.5,1),box-shadow 200ms ease,background 200ms ease}@media (max-width:640px){.ac-cta-pill{width:100%;font-size:12px;letter-spacing:0.025em;padding:16px 20px;min-height:48px}}.ac-cta-pill:hover,.ac-cta-pill:focus-visible{transform:translateY(-1px);box-shadow:0 6px 24px rgba(255,106,77,0.25);outline:none}.ac-cta-pill:focus-visible{outline:2px solid var(--ac-ink,#1A1A1A);outline-offset:3px}.ac-cta-pill__left{color:var(--ac-ink,#1A1A1A)}.ac-cta-pill__right{display:inline-flex;align-items:center;gap:6px;color:rgba(26,26,26,0.63)}.ac-cta-pill__right-text{font-weight:400}.ac-cta-pill__dot{display:inline-block;width:8px;height:8px;border-radius:999px;background:var(--ac-ink,#1A1A1A);animation:ac-blink 0.75s ease-in-out infinite;transform:translateY(1px)}@media (max-width:640px){.ac-cta-pill__dot{display:none}}@media (prefers-reduced-motion:reduce){.ac-cta-pill__dot{animation:none}.ac-cta-pill,.ac-cta-pill-wrap{transition:none}.ac-cta-pill:hover,.ac-cta-pill:focus-visible{transform:none}}
