/* Really chat (shared by both variations). Light by default; <html data-chat-dark> gives the dark skin. */
.rc { --rc-accent:#0D70DA; --rc-accent-2:#2F8BEE; --rc-ink:#0E1435; --rc-bg:#fff; --rc-wash:#F4F7FD; --rc-text:#0E1435; --rc-muted:#6B7090;
      --rc-line:#E3E8F2; --rc-me:#0E1435; --rc-me-t:#fff; --rc-bot:#fff; --rc-bot-line:#E3E8F2; --rc-card:#fff; --rc-chip:#fff; --rc-chip-line:#CFDAEE;
      position:fixed; right:22px; bottom:22px; z-index:90; font-family:Inter,ui-sans-serif,system-ui,sans-serif; color:var(--rc-text);
      display:flex; flex-direction:column; align-items:flex-end; gap:14px; -webkit-font-smoothing:antialiased; }
.rc.rc-dark { --rc-bg:#0C1233; --rc-wash:#0A0F2B; --rc-text:#EEF2FF; --rc-muted:#97A0C6; --rc-line:rgba(255,255,255,.09); --rc-me:#0D70DA; --rc-me-t:#fff;
      --rc-bot:#151C45; --rc-bot-line:rgba(255,255,255,.07); --rc-card:#151C45; --rc-chip:transparent; --rc-chip-line:rgba(143,194,255,.35); }
.rc *, .rc *::before, .rc *::after { box-sizing:border-box; }
:where(.rc) button { font:inherit; color:inherit; cursor:pointer; }
.rc [hidden] { display:none !important; }

/* dock: book-a-demo + launcher */
.rc-dock { display:flex; align-items:center; gap:12px; }
.rc-bookfab { display:flex; align-items:center; gap:10px; border:0; background:none; padding:0; }
.rc-tip { font-family:'Plus Jakarta Sans',sans-serif; font-weight:600; font-size:.92rem; line-height:1; color:#fff; background:#0E1435;
          padding:12px 16px; border-radius:12px; white-space:nowrap; box-shadow:0 14px 30px -14px rgba(14,20,53,.6); }
.rc-dark .rc-tip { background:#fff; color:#0E1435; }
.rc-cal { position:relative; width:52px; height:52px; border-radius:50%; background:#fff; color:#0E1435; border:2px solid #0E1435; display:grid; place-items:center;
          box-shadow:0 12px 28px -10px rgba(14,20,53,.45); transition:transform .2s; }
.rc-cal i { position:absolute; top:-2px; right:-2px; width:13px; height:13px; border-radius:50%; background:#F2552C; border:2px solid #fff; }
.rc-bookfab:hover .rc-cal { transform:translateY(-2px) scale(1.04); }
.rc-open .rc-bookfab { display:none; }
.rc-launch { position:relative; width:60px; height:60px; border-radius:50%; border:0; background:var(--rc-accent); color:#fff; display:grid; place-items:center;
             box-shadow:0 18px 36px -12px rgba(13,112,218,.75); transition:transform .25s cubic-bezier(.2,.8,.2,1), background .2s; }
.rc-launch:hover { transform:translateY(-2px) scale(1.04); background:#0B62C2; }
.rc-ic { position:absolute; inset:0; display:grid; place-items:center; transition:transform .35s cubic-bezier(.2,.8,.2,1), opacity .25s; }
.rc-ic-x { opacity:0; transform:rotate(-90deg) scale(.6); }
.rc-open .rc-ic-chat { opacity:0; transform:rotate(90deg) scale(.6); }
.rc-open .rc-ic-x { opacity:1; transform:none; }
.rc-ping { position:absolute; inset:0; border-radius:50%; box-shadow:0 0 0 0 rgba(13,112,218,.55); animation:rcPing 2.6s ease-out 2s infinite; }
.rc-open .rc-ping { display:none; }
@keyframes rcPing { 0% { box-shadow:0 0 0 0 rgba(13,112,218,.5); } 70%,100% { box-shadow:0 0 0 18px rgba(13,112,218,0); } }

/* teaser */
.rc-teaser { position:relative; max-width:282px; background:var(--rc-bg); color:var(--rc-text); border:1px solid var(--rc-line); border-radius:18px 18px 6px 18px;
             padding:14px 34px 14px 16px; box-shadow:0 24px 50px -22px rgba(14,20,53,.45); cursor:pointer; animation:rcPop .5s cubic-bezier(.2,.9,.25,1.2) both; }
.rc-teaser-t { margin:0; font-size:.92rem; line-height:1.4rem; }
.rc-teaser-t b { font-weight:600; }
.rc-teaser-x { position:absolute; top:6px; right:6px; width:26px; height:26px; border:0; background:none; border-radius:50%; display:grid; place-items:center; color:var(--rc-muted); }
.rc-teaser-x svg { width:14px; height:14px; }
@keyframes rcPop { from { opacity:0; transform:translateY(10px) scale(.94); transform-origin:100% 100%; } to { opacity:1; transform:none; } }

/* panel */
.rc-panel { width:400px; height:min(640px, calc(100vh - 120px)); height:min(640px, calc(100dvh - 120px)); background:var(--rc-wash); border:1px solid var(--rc-line);
            border-radius:24px; overflow:hidden; display:flex; flex-direction:column; box-shadow:0 40px 90px -30px rgba(14,20,53,.55);
            transform-origin:100% 100%; animation:rcIn .38s cubic-bezier(.2,.9,.25,1) both; }
@keyframes rcIn { from { opacity:0; transform:translateY(16px) scale(.96); } to { opacity:1; transform:none; } }
.rc-head { display:flex; align-items:center; gap:12px; padding:16px 14px 14px 18px; background:var(--rc-bg); border-bottom:1px solid var(--rc-line); }
.rc-av { width:40px; height:40px; border-radius:12px; background:linear-gradient(145deg,#2F8BEE,#0D70DA); display:grid; place-items:center; flex:none; }
.rc-av img { width:22px; height:22px; }
.rc-who { flex:1; min-width:0; display:flex; flex-direction:column; }
.rc-who b { font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; font-size:1rem; line-height:1.2; letter-spacing:-.01em; }
.rc-who small { display:flex; align-items:center; gap:6px; font-size:.78rem; color:var(--rc-muted); margin-top:2px; }
.rc-who small i { width:7px; height:7px; border-radius:50%; background:#22B573; box-shadow:0 0 0 3px rgba(34,181,115,.18); }
.rc-hbtn { width:36px; height:36px; border-radius:50%; border:0; background:transparent; display:grid; place-items:center; color:var(--rc-muted); transition:background .15s, color .15s; }
.rc-hbtn:hover { background:var(--rc-wash); color:var(--rc-text); }
.rc-hbtn svg { width:18px; height:18px; }
.rc-log { flex:1; min-height:0; overflow-y:auto; padding:18px 16px 8px; display:flex; flex-direction:column; gap:8px; scrollbar-width:thin; overscroll-behavior:contain; }
.rc-b { max-width:86%; padding:10px 14px; font-size:.93rem; line-height:1.45rem; border-radius:18px; word-wrap:break-word; animation:rcMsg .3s ease both; }
.rc-b b { font-weight:650; }
.rc-bot { align-self:flex-start; background:var(--rc-bot); border:1px solid var(--rc-bot-line); border-bottom-left-radius:6px; }
.rc-me { align-self:flex-end; background:var(--rc-me); color:var(--rc-me-t); border-bottom-right-radius:6px; }
@keyframes rcMsg { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:none; } }
.rc-dots { display:flex; gap:4px; padding:14px 16px; }
.rc-dots i { width:7px; height:7px; border-radius:50%; background:var(--rc-muted); opacity:.5; animation:rcDot 1.1s infinite ease-in-out; }
.rc-dots i:nth-child(2) { animation-delay:.15s; } .rc-dots i:nth-child(3) { animation-delay:.3s; }
@keyframes rcDot { 0%,80%,100% { transform:translateY(0); opacity:.4; } 40% { transform:translateY(-4px); opacity:1; } }
.rc-chips { display:flex; flex-wrap:wrap; gap:6px; padding:4px 16px 12px; }
.rc-chip { border:1px solid var(--rc-chip-line); background:var(--rc-chip); color:var(--rc-accent); border-radius:999px; padding:7px 13px; font-size:.82rem; font-weight:500; line-height:1.1;
           transition:background .15s, border-color .15s; animation:rcMsg .35s ease both; }
.rc-dark .rc-chip { color:#9CC8FF; }
.rc-chip:hover { background:var(--rc-accent); border-color:var(--rc-accent); color:#fff; }
.rc-form { display:flex; align-items:center; gap:8px; padding:10px 10px 10px 16px; margin:0 12px; background:var(--rc-bg); border:1px solid var(--rc-line); border-radius:16px; }
.rc-form:focus-within { border-color:var(--rc-accent); box-shadow:0 0 0 3px rgba(13,112,218,.14); }
.rc-in { flex:1; min-width:0; border:0; outline:0; background:transparent; color:var(--rc-text); font:inherit; font-size:.95rem; padding:4px 0; }
.rc-in::placeholder { color:var(--rc-muted); }
.rc-send { width:38px; height:38px; flex:none; border:0; border-radius:12px; background:var(--rc-accent); color:#fff !important; display:grid; place-items:center; }
.rc-foot { margin:0; padding:8px 16px 12px; text-align:center; font-size:.72rem; line-height:1rem; color:var(--rc-muted); }

/* cards */
.rc-cardwrap { align-self:stretch; animation:rcMsg .35s ease both; }
.rc-card { background:var(--rc-card); border:1px solid var(--rc-bot-line); border-radius:18px; padding:12px; }
.rc-steps { display:flex; flex-direction:column; gap:2px; padding:8px 12px; }
.rc-step { display:flex; gap:12px; padding:8px 0; }
.rc-step + .rc-step { border-top:1px dashed var(--rc-line); }
.rc-step span { flex:none; font-family:'Plus Jakarta Sans',sans-serif; font-weight:800; font-size:.8rem; color:var(--rc-accent); width:26px; padding-top:2px; }
.rc-dark .rc-step span { color:#8FC2FF; }
.rc-step b { display:block; font-family:'Plus Jakarta Sans',sans-serif; font-size:.9rem; font-weight:700; line-height:1.3; }
.rc-step p { margin:3px 0 0; font-size:.82rem; line-height:1.25rem; color:var(--rc-muted); }
.rc-svcs { display:grid; grid-template-columns:1fr 1fr; gap:6px; padding:8px; }
.rc-svc { text-align:left; border:1px solid var(--rc-line); background:var(--rc-wash); border-radius:12px; padding:10px; font-size:.8rem; line-height:1.15rem; font-weight:600; transition:border-color .15s; }
.rc-svc span { display:block; font-family:'Plus Jakarta Sans',sans-serif; font-size:.68rem; font-weight:800; color:var(--rc-accent); margin-bottom:4px; letter-spacing:.06em; }
.rc-dark .rc-svc span { color:#8FC2FF; }
.rc-svc:hover { border-color:var(--rc-accent); }
.rc-work { display:flex; gap:8px; overflow-x:auto; padding:8px; scrollbar-width:none; scroll-snap-type:x mandatory; }
.rc-wk { flex:0 0 46%; scroll-snap-align:start; text-align:left; border:1px solid var(--rc-line); background:var(--rc-wash); border-radius:12px; padding:6px 6px 8px; transition:border-color .15s; }
.rc-wk:hover { border-color:var(--rc-accent); }
.rc-wk img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; object-position:top; border-radius:8px; margin-bottom:7px; }
.rc-wk b { display:block; font-size:.8rem; line-height:1.1rem; padding:0 3px; }
.rc-wk small { display:block; font-size:.72rem; color:var(--rc-muted); padding:0 3px; }
.rc-case { padding:0; overflow:hidden; }
.rc-case img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; object-position:top; }
.rc-case > div { padding:12px 14px 14px; }
.rc-case b { display:block; font-family:'Plus Jakarta Sans',sans-serif; font-size:.95rem; }
.rc-case small { display:block; font-size:.76rem; color:var(--rc-muted); margin-top:1px; }
.rc-case ul, .rc-feats { list-style:none; margin:10px 0 0; padding:0; display:flex; flex-direction:column; gap:7px; }
.rc-case li { display:flex; gap:8px; font-size:.82rem; line-height:1.2rem; }
.rc-case li svg { flex:none; margin-top:3px; color:var(--rc-accent); }
.rc-feats { margin:0; padding:12px 14px; gap:10px; }
.rc-feats > div { display:flex; gap:10px; }
.rc-feats span { flex:none; width:22px; height:22px; border-radius:50%; background:rgba(13,112,218,.12); color:var(--rc-accent); display:grid; place-items:center; }
.rc-dark .rc-feats span { color:#8FC2FF; background:rgba(143,194,255,.12); }
.rc-feats p { margin:0; font-size:.82rem; line-height:1.25rem; color:var(--rc-muted); }
.rc-feats p b { display:block; color:var(--rc-text); font-weight:600; }
.rc-john { display:flex; align-items:center; gap:12px; }
.rc-john img { width:46px; height:46px; border-radius:50%; object-fit:cover; flex:none; }
.rc-john > div { flex:1; min-width:0; }
.rc-john b { display:block; font-family:'Plus Jakarta Sans',sans-serif; font-size:.95rem; }
.rc-john small { font-size:.76rem; color:var(--rc-muted); }
.rc-pill { border:0; background:var(--rc-accent); color:#fff !important; border-radius:999px; padding:10px 16px; font-family:'Plus Jakarta Sans',sans-serif !important; font-weight:600; font-size:.84rem; white-space:nowrap; transition:background .15s; }
.rc-pill:hover { background:#0B62C2; }
.rc-pill[disabled] { opacity:.6; }
.rc-offer { display:flex; flex-direction:column; gap:8px; padding:14px; background:linear-gradient(150deg,#0E1435,#14296B 70%,#1157B8); border:0; color:#fff; }
.rc-offer-t { margin:0; font-family:'Caveat',cursive; font-weight:700; font-size:1.5rem; line-height:1; color:#FFB59E; }
.rc-offer-s { margin:0 0 4px; font-size:.82rem; line-height:1.25rem; color:rgba(255,255,255,.78); }
.rc-offer input { width:100%; border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.08); color:#fff; border-radius:11px; padding:10px 12px; font:inherit; font-size:.9rem; outline:0; }
.rc-offer input::placeholder { color:rgba(255,255,255,.5); }
.rc-offer input:focus { border-color:#8FC2FF; background:rgba(255,255,255,.12); }
.rc-offer .rc-pill { background:#fff; color:#0E1435 !important; margin-top:2px; }
.rc-offer .rc-pill:hover { background:#E8F0FF; }
.rc-offer-m { margin:0; font-size:.78rem; color:#FFB59E; min-height:0; }
.rc-offer-m:empty { display:none; }

@media (max-width:640px) {
  .rc { right:14px; bottom:14px; }
  .rc-tip { display:none; }
  .rc-panel { position:fixed; inset:0; width:auto; height:100%; height:100dvh; border-radius:0; border:0; z-index:2; }
  .rc-open .rc-dock { display:none; }
  .rc-teaser { max-width:240px; }
  .rc-in { font-size:16px; }
  .rc-offer input { font-size:16px; }
}
html.rc-lock, html.rc-lock body { overflow:hidden; }
@media (prefers-reduced-motion:reduce) { .rc *, .rc { animation:none !important; transition:none !important; } }
.rc-in:focus, .rc-in:focus-visible { outline:none; box-shadow:none; }

/* 123 Submit: text mark in the chat avatar until the logo is picked */
.rc-mono { color:#fff; font-weight:800; font-size:13px; letter-spacing:-.02em; }
