.finder-launcher { position:fixed; bottom:22px; left:22px; z-index:500; border:1px solid var(--soft-taupe); background:var(--cream); color:var(--black); padding:14px 20px; font-family:var(--font-body); font-size:12px; letter-spacing:.04em; cursor:pointer; box-shadow:0 3px 16px rgba(0,0,0,.12); }
.finder-launcher:hover { background:var(--cream-darker); }
.finder-dialog { position:fixed; inset:0; margin:auto; width:min(580px,calc(100% - 28px)); max-height:calc(100svh - 28px); overflow:auto; border:1px solid var(--soft-taupe); background:var(--cream); color:var(--black); padding:0; }
.finder-dialog::backdrop { background:rgba(0,0,0,.62); }
.finder-body { padding:42px 34px 28px; }
.finder-close { position:absolute; top:10px; right:12px; padding:6px 10px; font:inherit; font-size:28px; line-height:1; border:0; background:none; color:var(--black); cursor:pointer; }
.finder-kicker,.finder-step { font-family:var(--font-body); font-size:10px; letter-spacing:.15em; text-transform:uppercase; color:#514B44; margin-bottom:12px; }
.finder-kicker { margin-bottom:24px; }
.finder-dialog h2 { font-family:var(--font-display); font-size:clamp(30px,4vw,42px); line-height:1.12; margin:0 0 16px; letter-spacing:-.025em; font-weight:400; }
.finder-dialog h2:focus { outline:none; }
.finder-intro { font-size:15px; line-height:1.75; margin-bottom:24px; }
.finder-options { display:grid; gap:10px; margin:24px 0; }
.finder-goals { grid-template-columns:repeat(2,minmax(0,1fr)); }
.finder-options button { background:transparent; border:1px solid var(--soft-taupe); color:var(--black); font-family:var(--font-body); font-weight:400; font-size:14px; line-height:1.5; padding:16px; cursor:pointer; text-align:left; min-height:58px; }
.finder-options button:hover { background:var(--cream-darker); border-color:var(--warm-gray); }
.finder-options small { display:block; font-size:12px; color:#514B44; margin-top:4px; font-weight:300; }
.finder-price { font-size:16px; margin-bottom:18px; }
.finder-book { display:block; text-align:center; width:100%; margin:24px 0 16px; white-space:normal; }
.finder-secondary,.finder-chat { display:block; color:var(--black); text-align:center; text-underline-offset:4px; font-size:13px; line-height:1.7; margin:14px 0; }
.finder-note { color:#514B44; font-size:11px; text-align:center; line-height:1.7; margin:20px 0 14px; }
.finder-back,.finder-restart { background:none; border:0; color:var(--black); font:inherit; font-size:12px; padding:0; cursor:pointer; text-decoration:underline; text-underline-offset:4px; }
.finder-back { margin-bottom:22px; }
.finder-restart { display:block; margin:18px auto 0; }
@media(max-width:480px) { .finder-body { padding:42px 22px 24px; } .finder-options button { padding:13px; font-size:13px; } .finder-launcher { left:14px; bottom:18px; padding:12px 15px; font-size:11px; } }
/* Keep the chat shortcut separate from the quiz launcher. */
body:has(.finder-launcher) #f2f-sms-btn { left:auto; right:22px; }
body.finder-is-open #f2f-sms-btn,
body.finder-is-open .finder-launcher,
body:has(#treatmentFinder[open]) #f2f-sms-btn,
body:has(#treatmentFinder[open]) .finder-launcher { display:none !important; }
@media(max-width:480px) { body:has(.finder-launcher) #f2f-sms-btn { left:auto; right:14px; } }
