/* ── Welcome tour (Oct 2026) ── */
.gt-root { position: fixed; inset: 0; z-index: 1500; pointer-events: none; }
.gt-root[hidden] { display: none; }
.gt-shade { position: absolute; inset: 0; background: rgba(10, 30, 40, .55); pointer-events: auto; opacity: 0; transition: opacity .2s; }
.gt-root.gt-centered .gt-shade { opacity: 1; }
.gt-root:not(.gt-centered) .gt-shade { opacity: 0; background: transparent; }
.gt-spot { position: fixed; border-radius: 12px; box-shadow: 0 0 0 9999px rgba(10, 30, 40, .55), 0 0 0 3px var(--teal, #0f766e); pointer-events: none; transition: left .25s, top .25s, width .25s, height .25s; }
.gt-card { position: fixed; pointer-events: auto; width: min(400px, calc(100vw - 32px)); max-height: calc(100vh - 32px); overflow: auto; background: var(--panel, #fff); color: var(--ink, #162025); border: 1px solid var(--line, #d9e0e3); border-radius: 16px; padding: 22px 22px 18px; box-shadow: 0 24px 60px rgba(10, 30, 40, .28); }
.gt-root.gt-centered .gt-card { left: 50% !important; top: 50% !important; transform: translate(-50%, -50%); width: min(480px, calc(100vw - 32px)); }
.gt-x { position: absolute; top: 10px; right: 10px; width: 36px; height: 36px; border: 0; border-radius: 50%; background: transparent; color: var(--muted, #61717a); font-size: 16px; cursor: pointer; }
.gt-x:hover, .gt-x:focus-visible { background: var(--surface, #f3f6f7); color: var(--ink, #162025); }
.gt-eyebrow { margin: 0 0 6px; font-size: 11.5px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--teal, #0f766e); }
.gt-card h2 { margin: 0 34px 8px 0; font-size: 20px; line-height: 1.25; }
.gt-card p { margin: 0 0 10px; line-height: 1.55; color: var(--ink-soft, var(--ink, #3d4c53)); }
.gt-points { margin: 4px 0 12px; padding: 0; list-style: none; display: grid; gap: 6px; }
.gt-points li { position: relative; padding-left: 24px; }
.gt-points li::before { content: "✓"; position: absolute; left: 0; color: var(--teal, #0f766e); font-weight: 800; }
.gt-cta-row { margin-top: 12px; }
.gt-cta-row .step-btn-next { display: inline-flex; text-decoration: none; }
.gt-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 14px; flex-wrap: wrap; }
.gt-dots { display: flex; gap: 5px; }
.gt-dots i { width: 7px; height: 7px; border-radius: 50%; background: var(--line, #d9e0e3); }
.gt-dots i.on { background: var(--teal, #0f766e); width: 18px; border-radius: 4px; }
.gt-btns { display: flex; gap: 8px; margin-left: auto; }
.gt-btns [hidden] { display: none !important; }
.gt-btns button { min-height: 40px; }
body.gt-open { overscroll-behavior: contain; }
/* Phones: bottom sheet */
@media (max-width: 600px) {
  .gt-root:not(.gt-centered) .gt-card { left: 8px !important; right: 8px; top: auto !important; bottom: 8px; width: auto; border-radius: 16px; padding-bottom: calc(16px + env(safe-area-inset-bottom)); }
  .gt-btns { width: 100%; }
  .gt-btns .gt-next { flex: 1; }
}
@media (prefers-reduced-motion: reduce) { .gt-spot, .gt-shade { transition: none; } }
