/* "Questions?" bubble and contact modal (Phase I1, founder 2026-10-27; P-208 2026-11-13): resources/views/partials/questions-pill.blade.php. */
.qp{position:fixed;right:20px;bottom:20px;z-index:60;font-family:'Hanken Grotesk',system-ui,sans-serif;transition:bottom .2s,opacity .18s,visibility .18s}
/* P-208: a little larger and easier to tap; same style. */
.qp-pill{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 18px;border-radius:999px;border:1px solid rgba(7,20,36,.14);background:#fff;color:#071424;font:inherit;font-size:15px;font-weight:600;line-height:1;box-shadow:0 6px 20px rgba(7,20,36,.14);cursor:pointer}
.qp-pill:hover{border-color:#326FE6;color:#1f57c4}.qp-pill:focus-visible,.qp button:focus-visible,.qp a:focus-visible{outline:2px solid #326FE6;outline-offset:2px}
.qp.qp-away:not(.qp-open){opacity:0;visibility:hidden;pointer-events:none}
.qp-scrim{position:fixed;inset:0;background:rgba(7,20,36,.28);opacity:0;transition:opacity .18s}
.qp-panel{position:absolute;right:0;bottom:58px;width:340px;max-width:calc(100vw - 32px);max-height:calc(100vh - 120px);overflow:auto;overscroll-behavior:contain;background:#fff;color:#071424;border:1px solid #DCE4EE;border-radius:16px;box-shadow:0 18px 50px rgba(7,20,36,.22);padding:14px 16px 16px;opacity:0;transform:translateY(8px);transition:opacity .18s,transform .18s}
.qp.qp-show .qp-panel,.qp.qp-show .qp-scrim{opacity:1;transform:none}
.qp-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px}.qp-head h2{font-size:17px;line-height:1.25;margin:0;font-weight:700}
.qp-x{flex:none;border:0;background:none;font-size:26px;line-height:1;color:#46546b;cursor:pointer;width:44px;height:44px;border-radius:10px}.qp-x:hover{background:#F2F5F9}
.qp-opt{border-top:1px solid #E6EBF2;padding-top:14px;margin-top:14px}.qp-opt:first-child{border-top:0;margin-top:0;padding-top:4px}
.qp-opt h3{font-size:15px;margin:0 0 4px;font-weight:700}
.qp-line{margin:0 0 10px;font-size:14px;line-height:1.45;color:#46546b}
.qp-mail{display:flex;gap:8px;align-items:center;background:#F5F8FC;border:1px solid #DCE4EE;border-radius:10px;padding:6px 6px 6px 12px;min-height:44px;box-sizing:border-box}
.qp-addr{flex:1;font-size:15px;user-select:all;word-break:break-all}.qp-num{font-weight:700;font-variant-numeric:tabular-nums;word-break:normal}
.qp-copy{border:1px solid #C9D3E0;background:#fff;border-radius:8px;padding:0 12px;min-height:44px;font:inherit;font-size:14px;font-weight:600;color:#071424;cursor:pointer;white-space:nowrap}
.qp-go{display:flex;align-items:center;justify-content:center;gap:6px;min-height:50px;margin-top:10px;border-radius:12px;background:#326FE6;color:#fff;font-size:16px;font-weight:700;text-decoration:none;padding:0 16px}
.qp-go:hover{background:#1f57c4}
.qp-book .qp-go{margin-top:0}
.qp-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-top:4px;font-size:15px;font-weight:600;color:#1f57c4}
.qp-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* P-208: texting: the sms: button on touch phones; on desktop the number with Copy instead. */
.qp-touch{display:none}
@media (hover:none) and (pointer:coarse){.qp-touch{display:flex}.qp-desk{display:none}}
/* P-159 (founder, 2026-11-08): on phones a round icon (52 px since P-208); the label stays for screen readers. questions-pill.js
   hides it while the page scrolls or the keyboard is open, and wherever it would cover text, a button or the sticky bar. The page
   keeps room at the end so the last content is never under it. The modal is a bottom sheet that scrolls inside. */
@media (max-width:640px){.qp{right:12px;bottom:calc(14px + env(safe-area-inset-bottom,0px))}.qp-pill{width:52px;height:52px;min-height:52px;padding:0;justify-content:center;border-radius:50%}.qp-pill svg{width:24px;height:24px}.qp-lbl{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.qp-panel{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));width:auto;max-width:none;max-height:calc(100dvh - 24px - env(safe-area-inset-bottom,0px));z-index:61;padding:14px 16px 18px}html.qp-room body{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}}
@media (prefers-reduced-motion:reduce){.qp,.qp-panel,.qp-scrim{transition:none}}
@media print{.qp{display:none}}
