.rac-wrap{max-width:860px;margin:32px auto;font-family:Arial,Helvetica,sans-serif;color:#1d2630}.rac-card{background:#fff;border:1px solid #dfe5ea;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.07);overflow:hidden}.rac-head{padding:24px 24px 16px;background:#f5f7f8}.rac-head h2{margin:6px 0 6px;font-size:30px}.rac-head p{margin:0;color:#55616d}.rac-badge{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.rac-chat{padding:20px;max-height:610px;overflow:auto;background:#fff}.rac-msg{max-width:82%;padding:13px 15px;margin:9px 0;border-radius:14px;line-height:1.5}.rac-bot{background:#f1f4f6}.rac-user{background:#1f3a4d;color:#fff;margin-left:auto}.rac-suggestions{display:flex;gap:8px;flex-wrap:wrap;padding:0 20px 14px}.rac-suggestions button{border:1px solid #cfd8df;background:#fff;border-radius:999px;padding:8px 12px;cursor:pointer}.rac-question-form{display:flex;gap:8px;padding:14px 20px 20px;border-top:1px solid #e5e9ed}.rac-question-form input{flex:1;padding:13px;border:1px solid #cfd8df;border-radius:9px}.rac-question-form button,.rac-lead-form button{border:0;background:#1f3a4d;color:#fff;border-radius:9px;padding:12px 18px;font-weight:700;cursor:pointer}.rac-disclaimer{font-size:12px;color:#6d7882;padding:0 20px 16px}.rac-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.rac-cta a{display:inline-block;text-decoration:none;background:#1f3a4d;color:#fff;padding:9px 13px;border-radius:8px}.rac-cta .rac-call{background:#eef2f4;color:#1f3a4d}.rac-lead-card{background:#fbfcfd;border:1px solid #dde4e9;border-radius:12px;padding:16px;margin-top:14px}.rac-lead-form input,.rac-lead-form select,.rac-lead-form textarea{box-sizing:border-box;width:100%;padding:11px;border:1px solid #cfd8df;border-radius:8px;margin:5px 0;background:#fff}.rac-lead-form textarea{min-height:90px}.rac-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.rac-form-note{font-size:12px;color:#6d7882}.rac-success{padding:10px}.rac-faq-list{margin:30px 0}.rac-faq-item{border-bottom:1px solid #dfe5ea;padding:13px 0}.rac-faq-item summary{font-weight:700;cursor:pointer;font-size:18px}.rac-faq-item>div{padding:10px 0;line-height:1.6}@media(max-width:650px){.rac-grid{grid-template-columns:1fr}.rac-question-form{flex-direction:column}.rac-msg{max-width:92%}.rac-head h2{font-size:25px}}


/* v2.0.6 answer-first + thinking animation */
.rac-chat{
  overflow-anchor:none !important;
}
.rac-lead-card,
.rac-lead-form{
  overflow-anchor:none !important;
}
.rac-thinking{
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
}
.rac-thinking-label{
  font-weight:600;
}
.rac-thinking-dots{
  display:inline-flex !important;
  align-items:center !important;
  gap:5px !important;
}
.rac-thinking-dots i{
  display:block !important;
  width:8px !important;
  height:8px !important;
  border-radius:50% !important;
  background:#1f3a4d !important;
  opacity:.25;
  animation:racThinkingPulse 1s infinite ease-in-out !important;
}
.rac-thinking-dots i:nth-child(2){animation-delay:.15s !important}
.rac-thinking-dots i:nth-child(3){animation-delay:.30s !important}

@keyframes racThinkingPulse{
  0%,70%,100%{transform:translateY(0) scale(.82);opacity:.25}
  35%{transform:translateY(-4px) scale(1);opacity:1}
}
@media (prefers-reduced-motion:reduce){
  .rac-thinking-dots i{animation:none !important;opacity:.65}
}


/* v2.0.7 visual polish: handyman mascot + phone icon */
.rac-head{
  padding:20px 22px 18px !important;
  background:linear-gradient(135deg,#f4f7f9 0%,#ffffff 100%) !important;
  border-bottom:1px solid #e1e7eb;
}
.rac-head-inner{
  display:flex;
  align-items:center;
  gap:18px;
}
.rac-mascot-wrap{
  position:relative;
  flex:0 0 92px;
  width:92px;
  height:92px;
  border-radius:50%;
  padding:4px;
  background:#fff;
  box-shadow:0 7px 20px rgba(31,58,77,.16);
  border:2px solid #dbe3e8;
}
.rac-mascot{
  display:block;
  width:100% !important;
  height:100% !important;
  object-fit:cover;
  border-radius:50%;
  margin:0 !important;
}
.rac-mascot-status{
  position:absolute;
  right:3px;
  bottom:7px;
  width:17px;
  height:17px;
  border-radius:50%;
  background:#2cad65;
  border:3px solid #fff;
  box-shadow:0 1px 5px rgba(0,0,0,.15);
}
.rac-head-copy{
  min-width:0;
  flex:1;
}
.rac-head .rac-badge{
  color:#8b2332;
  font-size:11px;
  letter-spacing:.11em;
  margin-bottom:3px;
}
.rac-head h2{
  color:#1f3a4d;
  margin:2px 0 4px !important;
  font-size:29px !important;
  line-height:1.08 !important;
}
.rac-head p{
  margin:0 !important;
  color:#4f5e68 !important;
  line-height:1.45;
}
.rac-head-helper{
  display:inline-block;
  margin-top:8px;
  font-size:12px;
  line-height:1.4;
  color:#65737d;
  background:#edf2f5;
  border-radius:999px;
  padding:5px 10px;
}
.rac-card{
  border-radius:18px !important;
  box-shadow:0 14px 34px rgba(23,43,57,.10) !important;
}
.rac-suggestions button{
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.rac-suggestions button:hover{
  transform:translateY(-1px);
  box-shadow:0 4px 10px rgba(31,58,77,.09);
  border-color:#9eafb9;
}
.rac-question-form input:focus{
  outline:none;
  border-color:#1f3a4d !important;
  box-shadow:0 0 0 3px rgba(31,58,77,.10);
}
.rac-question-form button{
  transition:transform .16s ease,box-shadow .16s ease;
}
.rac-question-form button:hover{
  transform:translateY(-1px);
  box-shadow:0 5px 12px rgba(31,58,77,.18);
}
.rac-cta{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.rac-call,
html body .rac-wrap a.rac-call,
html body .rac-wrap a.rac-call:link,
html body .rac-wrap a.rac-call:visited{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  padding:9px 14px !important;
  border-radius:999px !important;
  background:#1f3a4d !important;
  border:1px solid #1f3a4d !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-decoration:none !important;
  font-weight:700 !important;
  line-height:1 !important;
}
html body .rac-wrap a.rac-call:hover,
html body .rac-wrap a.rac-call:focus{
  background:#152a38 !important;
  border-color:#152a38 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
.rac-phone-icon{
  display:inline-flex;
  width:17px;
  height:17px;
  align-items:center;
  justify-content:center;
  flex:0 0 17px;
}
.rac-phone-icon svg{
  width:17px !important;
  height:17px !important;
  display:block;
  fill:#fff !important;
}
.rac-phone-icon svg path{
  fill:#fff !important;
}

@media (max-width:600px){
  .rac-head-inner{
    align-items:flex-start;
    gap:12px;
  }
  .rac-mascot-wrap{
    flex-basis:68px;
    width:68px;
    height:68px;
  }
  .rac-head h2{
    font-size:23px !important;
  }
  .rac-head-helper{
    border-radius:9px;
  }
}
