/* AI receptionist, styled with SummitMedia's own tokens from styles.css */
.sm-stack{display:grid;gap:22px}
.sm-callme{background:var(--navy);color:#fff;padding:34px 36px 30px;position:relative;overflow:hidden}
.sm-callme::after{content:"";position:absolute;right:-30px;top:-20%;bottom:-20%;width:46px;background:var(--gray);transform:skewX(-14deg);opacity:.35;pointer-events:none}
.sm-callme-head{position:relative;z-index:1;margin-bottom:18px}
.sm-callme .h-md{color:#fff;margin:10px 0 8px}
.sm-callme .h-md .navy{color:#c9d3e8}
.sm-callme-head p{color:#c9d3e8;font-size:.95rem;max-width:520px}
.sm-badge{display:inline-block;font-family:var(--cond);font-size:.75rem;letter-spacing:.24em;text-transform:uppercase;background:#fff;color:var(--navy);padding:5px 14px 5px 10px;clip-path:polygon(0 0,100% 0,calc(100% - 8px) 100%,0 100%)}
.sm-callme-form{display:grid;grid-template-columns:1fr;gap:16px;position:relative;z-index:1}
.sm-callme-form .full{grid-column:1/-1}
.sm-callme-form label{display:block;font-family:var(--cond);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:#c9d3e8;margin-bottom:6px}
.sm-callme-form input:not([type=checkbox]),.sm-callme-form select{width:100%;font:inherit;font-size:1rem;padding:13px 14px;border:1px solid transparent;background:#fff;color:var(--ink);border-radius:0}
.sm-callme-form input:focus-visible,.sm-callme-form select:focus-visible{outline:3px solid #c9d3e8;outline-offset:1px}
.sm-callme-form [aria-invalid=true]{border-color:#ffb4a8;box-shadow:0 0 0 2px #ffb4a8}
.sm-callme .sm-consent{display:flex;gap:10px;align-items:flex-start;font-family:var(--body);font-size:.78rem;letter-spacing:0;text-transform:none;color:#c9d3e8;line-height:1.5;margin:0}
.sm-consent input{width:18px;height:18px;flex:none;margin-top:2px;accent-color:#fff}
.sm-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.sm-callme .btn{background:#fff;color:var(--navy)}
.sm-callme .btn:hover{background:var(--tint)}
.sm-callme .btn[disabled]{opacity:.6;cursor:progress;transform:none}
.sm-status{font-size:.92rem;color:#fff;min-height:1.4em;flex:1 1 220px}
.sm-status.err{color:#ffd2ca}
.sm-or{display:flex;align-items:center;gap:14px;font-family:var(--cond);font-size:.85rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gray-text)}
.sm-or::before,.sm-or::after{content:"";flex:1;height:1px;background:var(--line)}
.sm-talk{display:inline-flex;align-items:center;gap:10px}
.sm-dot{width:10px;height:10px;border-radius:50%;background:#2fb56a;box-shadow:0 0 0 0 rgba(47,181,106,.6);animation:sm-pulse 2s infinite}
@keyframes sm-pulse{70%{box-shadow:0 0 0 10px rgba(47,181,106,0)}100%{box-shadow:0 0 0 0 rgba(47,181,106,0)}}
.sm-talk-wrap{margin-top:30px}
.sm-talk-wrap p{font-size:.9rem;margin-top:10px}
/* floating launcher + call panel */
.sm-fab{position:fixed;right:22px;bottom:22px;z-index:60;display:inline-flex;align-items:center;gap:10px;font-family:var(--cond);font-weight:500;font-size:.95rem;letter-spacing:.14em;text-transform:uppercase;padding:16px 34px 16px 22px;background:var(--navy);color:#fff;border:0;cursor:pointer;clip-path:polygon(0 0,100% 0,calc(100% - 14px) 100%,0 100%);box-shadow:0 10px 30px rgba(22,45,92,.35);transition:background .2s,transform .2s}
.sm-fab:hover{background:var(--navy-dark);transform:translateY(-2px)}
.sm-fab[hidden]{display:none}
.sm-panel{position:fixed;right:22px;bottom:22px;z-index:61;width:min(360px,calc(100vw - 32px));background:#fff;border-top:4px solid var(--navy);box-shadow:0 18px 50px rgba(26,29,36,.28);padding:22px 22px 20px;font-family:var(--body)}
.sm-panel[hidden]{display:none}
.sm-panel .eyebrow{margin-bottom:6px;font-size:.75rem}
.sm-panel h4{font-family:var(--display);font-weight:400;font-size:2rem;line-height:1;color:var(--ink)}
.sm-panel .sm-live{display:flex;align-items:center;gap:10px;margin:14px 0;color:var(--text);font-size:.95rem}
.sm-bars{display:flex;gap:3px;align-items:flex-end;height:22px;flex:none}
.sm-bars i{width:4px;background:var(--navy);height:30%;transition:height .12s}
.sm-panel .sm-ctrls{display:flex;gap:10px;flex-wrap:wrap}
.sm-panel .sm-ctrls [hidden]{display:none}
.sm-panel .sm-ctrls .btn{padding:13px 28px 13px 20px;font-size:.85rem}
.sm-panel .sm-ctrls .btn.ghost{padding:11px 18px}
.sm-panel .sm-note{font-size:.75rem;color:var(--gray-text);margin-top:12px;line-height:1.5}
.sm-x{position:absolute;right:10px;top:8px;background:none;border:0;font-size:1.5rem;line-height:1;color:var(--gray-text);cursor:pointer;padding:4px 8px}
@media (max-width:640px){
  .sm-callme{padding:26px 20px 24px}
  .sm-fab{right:16px;bottom:16px;padding:14px 28px 14px 18px}
  .sm-panel{right:16px;bottom:16px}
}
@media (prefers-reduced-motion:reduce){.sm-dot{animation:none}.sm-fab,.sm-bars i{transition:none}}
