/*! tokens */:root{--brand-primary:#00AEEF;--brand-secondary:#2BB673;--brand-accent:#E8C19A;--brand-ink:#0f172a;--gray-50:#f8fafc;--gray-100:#e2e8f0;--gray-200:#cbd5e1;--gray-300:#94a3b8;--gray-400:#64748b;--gray-500:#475569;--gray-600:#334155;--gray-700:#1f2937;--gray-800:#0f172a;--gray-900:#0b1220;--surface-bg:#0f172a;--surface-elev-1:rgba(255,255,255,.06);--surface-elev-2:rgba(255,255,255,.10);--surface-border:rgba(255,255,255,.10);--text-primary:#fff;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--success:#22c55e;--warning:#f59e0b;--danger:#ef4444;--info:#38bdf8;--grad-brand:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-secondary) 100%);--grad-accent:linear-gradient(135deg,var(--brand-accent) 0%,var(--brand-primary) 100%);--font-sans:"Inter",system-ui,-apple-system,Segoe UI,Roboto,Arial,"Noto Sans","Helvetica Neue",sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-lg:18px;--text-xl:20px;--text-2xl:24px;--text-3xl:30px;--text-4xl:36px;--text-5xl:48px;--leading-tight:1.2;--leading-snug:1.35;--leading-normal:1.5;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--radius-sm:6px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--shadow-sm:0 1px 2px rgba(0,0,0,.25);--shadow-md:0 4px 14px rgba(0,0,0,.25);--shadow-lg:0 10px 30px rgba(0,0,0,.2);--z-nav:50;--z-banner:60;--z-modal:1000}@media (prefers-color-scheme:light){:root{--surface-bg:#fff;--text-primary:#0f172a;--text-secondary:#475569;--surface-elev-1:rgba(0,0,0,.03);--surface-elev-2:rgba(0,0,0,.06);--surface-border:rgba(0,0,0,.08)}}
/* tokenized embeds */.ghl-embed{background:var(--surface-elev-1);border:1px solid var(--surface-border);border-radius:var(--radius-md);padding:16px}.ghl-embed iframe{border-radius:var(--radius-md)}

/* Banner layout fix (global) */
#ticker-banner {
  overflow: hidden;
  white-space: nowrap;
  width: 100%;
  height: 2.5rem;
  background: linear-gradient(135deg,#00AEEF,#2BB673);
  color: #fff;
  display: flex;
  align-items: center;
  font-size: 0.95rem;
}
#ticker-banner .ticker-content {
  display: inline-block;
  animation: scroll 20s linear infinite;
}
@keyframes scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* Remove banner globally */
#ticker-banner { display: none !important; }