/* Shared public palette, background and homepage footer. Also loaded by static documents. */
:where(.audience-landing, .public-page, .al-footer) {
  --al-paper:#fff; --al-ink:#101112; --al-muted:#626971; --al-mist:#edf2f5;
  --al-soft:#f7f8fa; --al-line:#e2e6e9; --al-blue:#086cde; --al-blue-soft:#eaf2ff;
  --al-green:#20754e; --al-yellow:#f7df83; --al-card:#fff;
}
.dark :where(.audience-landing, .public-page, .al-footer) {
  --al-paper:#202529; --al-ink:#e2e3df; --al-muted:#abb2b4; --al-mist:#283238;
  --al-soft:#262d31; --al-line:#3d464b; --al-blue:#9bbbd7; --al-blue-soft:#2e414e;
  --al-green:#9dc8b0; --al-yellow:#756337; --al-card:#282e32;
}
.al-page-gradient {
  position: relative;
  isolation: isolate;
  background: var(--al-paper);
}
.al-gradient-backdrop {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  /* Clip only the decorative layer, so content and popovers remain free. */
  clip-path: inset(0);
}
.al-gradient-backdrop::before {
  content: '';
  position: fixed;
  inset: -32px -32px auto;
  height: calc(100vh + 64px);
  height: calc(100lvh + 64px);
  background:
    radial-gradient(ellipse 58% 64% at 12% 12%, color-mix(in srgb, var(--al-blue) 13%, transparent), transparent 74%),
    radial-gradient(ellipse 52% 60% at 90% 18%, color-mix(in srgb, var(--al-blue-soft) 85%, transparent), transparent 76%),
    radial-gradient(ellipse 42% 48% at 58% 72%, color-mix(in srgb, var(--al-blue) 7%, transparent), transparent 78%),
    linear-gradient(160deg, var(--al-paper), color-mix(in srgb, var(--al-mist) 55%, var(--al-paper)));
}
.al-page-gradient > .al-soft { background-color: color-mix(in srgb, var(--al-soft) 55%, transparent); }
.al-page-gradient > .cr-setup { background-color: transparent; }

@media (prefers-reduced-motion: no-preference) {
  .al-gradient-backdrop::before { animation: al-cloud-drift 32s ease-in-out infinite alternate; }
  @keyframes al-cloud-drift {
    from { transform: translate3d(-.5%, 0, 0) scale(1); }
    to { transform: translate3d(1%, -.75%, 0) scale(1.02); }
  }
  @supports (animation-timeline: scroll(root block)) {
    .al-gradient-backdrop::before {
      animation: al-cloud-drift 32s ease-in-out infinite alternate, al-cloud-scroll 1ms linear both;
      animation-timeline: auto, scroll(root block);
    }
    @keyframes al-cloud-scroll {
      from { translate: 0 -8px; }
      to { translate: 0 8px; }
    }
  }
}

.public-page { min-height:100vh; color:var(--al-ink); }
.public-page-content > .min-h-screen { background:transparent; }
.al-footer { width:100%; margin-top:auto; border-top:1px solid var(--al-line); background:var(--al-paper); color:var(--al-ink); font:16px/1.5 Geist,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; letter-spacing:-.02em; }
.al-footer *, .al-footer *::before, .al-footer *::after { box-sizing:border-box; }
.al-footer .al-wrap { max-width:1184px;padding:0 28px;margin:0 auto;width:100%; }
.al-footer .al-footer-grid { display:grid;grid-template-columns:1.4fr repeat(3,minmax(0,1fr));gap:36px;padding-top:45px;padding-bottom:36px; }
.al-footer .al-footer-brand p { font-size:14px;line-height:1.5;color:var(--al-muted);max-width:260px;margin:20px 0 16px; }
.al-footer .al-logo { display:inline-flex; }
.al-footer .al-logo img { height:24px;width:auto;display:block; }
.dark .al-footer .al-logo img { filter:invert(.88); }
.al-footer .al-footer-grid h3 { font-size:14px;line-height:1.25;letter-spacing:-.025em;font-weight:600;margin:0 0 14px; }
.al-footer ul { padding:0;margin:0;list-style:none; }
.al-footer li { margin:0;padding:0; }
.al-footer a { text-decoration:none;color:inherit; }
.al-footer li a { display:inline-flex;align-items:center;min-height:36px;font-size:13px;color:var(--al-muted); }
.al-footer a:not(.al-button):hover { color:var(--al-blue); }
.al-footer .al-footer-bottom { border-top:1px solid var(--al-line);padding-top:20px;padding-bottom:24px;display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:12px;color:var(--al-muted); }
.al-footer .al-preferences { display:flex;align-items:center;gap:14px; }
.al-footer .al-languages { display:flex;gap:4px; }
.al-footer .al-languages a { padding:10px 5px; }
.al-footer .al-languages a[aria-current=page] { color:var(--al-ink);font-weight:650; }
.al-footer .al-theme { display:inline-flex;align-items:center;border:1px solid var(--al-line);border-radius:100px;padding:3px; }
.al-footer .al-theme button { display:grid;place-items:center;width:36px;height:36px;border:0;background:transparent;border-radius:50%;color:var(--al-muted);cursor:pointer;padding:0; }
.al-footer .al-theme button:hover { background:var(--al-mist);color:var(--al-ink); }
.al-footer :is(a,button) { touch-action:manipulation; }
.al-footer :is(a,button):focus-visible { outline:2px solid var(--al-blue);outline-offset:3px; }
@media(max-width:900px) {
  .al-footer .al-footer-grid {grid-template-columns:1.2fr 1fr 1fr;gap:24px;}
  .al-footer .al-footer-brand {grid-column:1/-1;}
  .al-footer .al-footer-brand p {max-width:400px;}
}
@media(max-width:600px) {
  .al-footer .al-wrap {padding-left:20px;padding-right:20px;}
  .al-footer .al-footer-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
  .al-footer .al-footer-bottom {flex-direction:column;align-items:flex-start;}
  .al-footer .al-preferences {justify-content:space-between;width:100%;}
}

/* Static pricing and legal documents use their own CSS variable format. */
.dls-static-page {
  --background:var(--al-paper); --foreground:var(--al-ink); --card:var(--al-card);
  --muted:var(--al-soft); --muted-foreground:var(--al-muted); --border:var(--al-line); --accent:var(--al-blue); --green:var(--al-green);
  display:flex; flex-direction:column;
}
.dls-static-page > .container { width:100%;flex:1; }
.dls-static-page :is(.back-link,.dls-legacy-hide), .dls-static-page > .container > .card > div.footer, .dls-static-page > .container > .footer { display:none !important; }
.dls-static-page .card { border:1px solid var(--al-line); }
.dls-static-page .card table { table-layout:fixed;overflow-wrap:anywhere; }
@media(max-width:600px) { .dls-static-page .card :is(th,td) {padding:8px 6px;} }
.dls-static-page .compare thead th, .dls-static-page .compare-card-head, .dls-static-page .billing-toggle { background:var(--al-mist); }
.dls-static-page .compare tbody tr:nth-child(even) { background:var(--al-soft); }
.dls-static-page .billing-toggle button.active { background:var(--al-ink);color:var(--al-paper); }
.dls-static-page .compare-card-head.pro { background:var(--primary);color:#fff; }
.dls-static-page .save-line { color:var(--al-green); }
.dls-static-page .dls-header { position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--al-paper) 75%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--al-line); }
.dls-header-inner { max-width:1100px;margin:0 auto;padding:0 1rem;height:56px;display:flex;align-items:center;justify-content:space-between;gap:1rem; }
.dls-logo-link {display:inline-flex;align-items:center;}
.dls-logo-img {height:28px;width:auto;display:block;}
.dark .dls-logo-img {filter:invert(.88);}
.dls-nav {display:flex;align-items:center;gap:.5rem;}
.dls-btn {display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 .875rem;border-radius:.5rem;font-size:.875rem;font-weight:500;text-decoration:none;}
.dls-btn-ghost {color:var(--al-ink);}
.dls-btn-ghost:hover {background:var(--al-mist);color:var(--al-ink);}
.dls-btn-primary {background:hsl(var(--action-primary));color:#fff;}
.dls-btn-primary:hover {background:hsl(var(--action-hover));color:#fff;}
