/* Fultz Visibility — AI Assistant (beta) widget styles.
   Public name: "AI Assistant". Filename and .fvg- class prefix are internal, unchanged.
   Uses the site's design tokens (styles.css is loaded site-wide).
   Scoped under .fvg- to avoid touching site styles. */
.fvg-launcher{position:fixed;right:20px;bottom:20px;z-index:2147483000;display:inline-flex;align-items:center;gap:9px;padding:12px 16px;border:none;border-radius:999px;background:var(--navy-900,#131b32);color:#fff;font-family:var(--font-heading,'Archivo',sans-serif);font-weight:600;font-size:15px;cursor:pointer;box-shadow:0 6px 22px rgba(19,27,50,.28);transition:transform .16s cubic-bezier(.22,.61,.36,1),box-shadow .16s}
.fvg-launcher:hover{transform:translateY(-1px);box-shadow:0 10px 28px rgba(19,27,50,.34)}
.fvg-launcher:focus-visible{outline:3px solid var(--cyan-400,#44cbfa);outline-offset:2px}
.fvg-launcher svg{width:20px;height:20px}
.fvg-launcher .fvg-beta{font-family:var(--font-mono,'IBM Plex Mono',monospace);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;background:var(--cyan-400,#44cbfa);color:var(--navy-900,#131b32);border-radius:5px;padding:2px 6px;font-weight:600}
.fvg-panel{position:fixed;right:20px;bottom:20px;z-index:2147483001;width:400px;max-width:calc(100vw - 32px);height:600px;max-height:calc(100vh - 32px);display:flex;flex-direction:column;background:#fff;border:1px solid var(--border-subtle,#e3e7ef);border-radius:16px;box-shadow:0 18px 60px rgba(19,27,50,.32);overflow:hidden;opacity:0;transform:translateY(10px) scale(.99);pointer-events:none;transition:opacity .18s,transform .18s cubic-bezier(.22,.61,.36,1)}
.fvg-panel.fvg-open{opacity:1;transform:none;pointer-events:auto}
.fvg-head{background:var(--navy-900,#131b32);color:#fff;padding:14px 16px;display:flex;align-items:flex-start;gap:10px}
.fvg-head h2{font-family:var(--font-heading,'Archivo',sans-serif);font-size:16px;font-weight:600;margin:0;line-height:1.2}
.fvg-head .fvg-sub{font-size:12px;color:#c7cede;margin:3px 0 0;line-height:1.4}
.fvg-head .fvg-beta{font-family:var(--font-mono,'IBM Plex Mono',monospace);font-size:9px;letter-spacing:.1em;text-transform:uppercase;background:var(--cyan-400,#44cbfa);color:var(--navy-900,#131b32);border-radius:5px;padding:2px 6px;font-weight:600;margin-left:2px}
.fvg-x{margin-left:auto;background:transparent;border:none;color:#c7cede;cursor:pointer;padding:4px;border-radius:6px;line-height:0}
.fvg-x:hover{color:#fff;background:rgba(255,255,255,.1)}.fvg-x:focus-visible{outline:2px solid var(--cyan-400,#44cbfa)}
.fvg-x svg{width:20px;height:20px}
.fvg-disclosure{background:var(--surface-page,#f6f8fc);border-bottom:1px solid var(--border-subtle,#e3e7ef);padding:10px 16px;font-family:var(--font-body,'Source Sans 3',sans-serif);font-size:12px;line-height:1.5;color:var(--text-secondary,#5b6478)}
.fvg-disclosure strong{color:var(--navy-900,#131b32)}
.fvg-log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;background:#fff}
.fvg-msg{max-width:85%;font-family:var(--font-body,'Source Sans 3',sans-serif);font-size:14.5px;line-height:1.55;padding:10px 13px;border-radius:13px}
.fvg-user{align-self:flex-end;background:var(--navy-900,#131b32);color:#fff;border-bottom-right-radius:4px}
.fvg-bot{align-self:flex-start;background:var(--surface-page,#f6f8fc);color:var(--text-primary,#1a2238);border:1px solid var(--border-subtle,#e3e7ef);border-bottom-left-radius:4px}
.fvg-bot.fvg-unavail{background:#fff8ef;border-color:#f0d9b8}
.fvg-sources{margin-top:9px;display:flex;flex-direction:column;gap:5px}
.fvg-sources a{font-family:var(--font-body,'Source Sans 3',sans-serif);font-size:13px;color:var(--text-link,#1763c0);text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.fvg-sources a:hover{text-decoration:underline}
.fvg-action{margin-top:10px}
.fvg-action a{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-heading,'Archivo',sans-serif);font-weight:600;font-size:14px;color:#fff;background:var(--blue-600,#1763c0);padding:9px 14px;border-radius:7px;text-decoration:none}
.fvg-action a:hover{background:var(--navy-900,#131b32)}
.fvg-typing{align-self:flex-start;display:inline-flex;gap:4px;padding:12px 14px}
.fvg-typing span{width:7px;height:7px;border-radius:50%;background:var(--text-secondary,#5b6478);opacity:.4;animation:fvgb 1s infinite}
.fvg-typing span:nth-child(2){animation-delay:.15s}.fvg-typing span:nth-child(3){animation-delay:.3s}
@keyframes fvgb{0%,100%{opacity:.3;transform:translateY(0)}50%{opacity:.9;transform:translateY(-3px)}}
.fvg-foot{border-top:1px solid var(--border-subtle,#e3e7ef);padding:10px 12px;background:#fff}
.fvg-inrow{display:flex;gap:8px;align-items:flex-end}
.fvg-in{flex:1;resize:none;border:1px solid var(--border-subtle,#e3e7ef);border-radius:10px;padding:9px 11px;font-family:var(--font-body,'Source Sans 3',sans-serif);font-size:14.5px;line-height:1.4;max-height:96px;color:var(--text-primary,#1a2238)}
.fvg-in:focus{outline:2px solid var(--cyan-400,#44cbfa);border-color:transparent}
.fvg-send{background:var(--navy-900,#131b32);border:none;border-radius:10px;color:#fff;cursor:pointer;padding:10px;line-height:0}
.fvg-send:disabled{opacity:.4;cursor:default}.fvg-send:focus-visible{outline:2px solid var(--cyan-400,#44cbfa)}
.fvg-send svg{width:18px;height:18px}
.fvg-tools{display:flex;justify-content:space-between;align-items:center;margin-top:7px}
.fvg-tools button{background:transparent;border:none;color:var(--text-secondary,#5b6478);font-family:var(--font-body,'Source Sans 3',sans-serif);font-size:12px;cursor:pointer;padding:2px 4px}
.fvg-tools button:hover{color:var(--navy-900,#131b32);text-decoration:underline}
.fvg-warn{font-family:var(--font-body,'Source Sans 3',sans-serif);font-size:11px;color:var(--text-secondary,#5b6478)}
@media(max-width:560px){
 .fvg-panel{right:0;bottom:0;width:100vw;max-width:100vw;height:92vh;max-height:92vh;border-radius:16px 16px 0 0}
 .fvg-launcher{right:14px;bottom:14px}
}
@media(prefers-reduced-motion:reduce){.fvg-launcher,.fvg-panel{transition:none}.fvg-typing span{animation:none}}

/* AI Assistant on-page invitation (hero panel + homepage scroll-return reminder). */
.fva-open{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-family:var(--font-heading,'Archivo',sans-serif);font-weight:600;font-size:15px;padding:11px 20px;border-radius:999px;border:none;cursor:pointer;background:var(--cyan-400,#44cbfa);color:var(--navy-900,#131b32);transition:background .16s,transform .16s}
.fva-open:hover{background:#fff;transform:translateY(-1px)}
.fva-open:focus-visible{outline:3px solid #fff;outline-offset:2px}
.fva-open svg{width:17px;height:17px}
.fva-remind{position:fixed;right:20px;bottom:84px;z-index:2147482999;width:296px;max-width:calc(100vw - 32px);background:#fff;border:1px solid var(--border-subtle,#e3e7ef);border-left:3px solid var(--cyan-400,#44cbfa);border-radius:12px;box-shadow:0 14px 40px rgba(19,27,50,.24);padding:14px 16px 14px 15px;opacity:0;transform:translateY(8px);transition:opacity .2s,transform .2s cubic-bezier(.22,.61,.36,1)}
.fva-remind.fva-in{opacity:1;transform:none}
.fva-remind::after{content:"";position:absolute;right:26px;bottom:-7px;width:12px;height:12px;background:#fff;border-right:1px solid var(--border-subtle,#e3e7ef);border-bottom:1px solid var(--border-subtle,#e3e7ef);transform:rotate(45deg)}
.fva-remind-t{font-family:var(--font-body,'Source Sans 3',sans-serif);font-size:14px;line-height:1.5;color:var(--text-primary,#1a2238);margin:0 30px 12px 0;text-wrap:pretty}
.fva-remind-go{display:inline-flex;align-items:center;justify-content:center;min-height:44px;font-family:var(--font-heading,'Archivo',sans-serif);font-weight:600;font-size:14px;padding:8px 18px;border-radius:999px;border:none;cursor:pointer;background:var(--navy-900,#131b32);color:#fff}
.fva-remind-go:hover{background:var(--blue-600,#1763c0)}
.fva-remind-go:focus-visible{outline:3px solid var(--cyan-400,#44cbfa);outline-offset:2px}
.fva-remind-x{position:absolute;top:5px;right:5px;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-secondary,#5b6478);cursor:pointer;border-radius:8px;line-height:0}
.fva-remind-x:hover{color:var(--navy-900,#131b32);background:var(--surface-page,#f6f8fc)}
.fva-remind-x:focus-visible{outline:2px solid var(--cyan-400,#44cbfa)}
.fva-remind-x svg{width:16px;height:16px}
@media(max-width:560px){.fva-remind{right:14px;bottom:74px;width:auto;left:14px;max-width:none}.fva-remind::after{right:22px}}
@media(prefers-reduced-motion:reduce){.fva-remind,.fva-open{transition:none}.fva-remind{transform:none}}
