.lead-capture-root,
.lead-form { font-family:inherit; }

.lead-float-button {
  position:fixed; right:22px; bottom:24px; z-index:80;
  display:flex; align-items:center; gap:.75rem; min-width:158px;
  padding:.78rem 1rem; border:1px solid rgba(255,255,255,.24); border-radius:18px;
  color:#fff; background:linear-gradient(135deg,var(--terracotta,#a0522d),#7f351f);
  box-shadow:0 14px 40px rgba(88,38,22,.3); cursor:pointer;
  transition:transform .25s ease,box-shadow .25s ease;
}
.lead-float-button:hover { transform:translateY(-3px); box-shadow:0 18px 48px rgba(88,38,22,.4); }
.lead-float-button:focus-visible,
.lead-close:focus-visible,
.lead-submit:focus-visible,
.lead-success-close:focus-visible,
.lead-field input:focus-visible,
.lead-field select:focus-visible,
.lead-field textarea:focus-visible { outline:3px solid rgba(201,168,108,.6); outline-offset:3px; }
.lead-float-button b,.lead-float-button small { display:block; text-align:left; }
.lead-float-button b { font-size:.96rem; }
.lead-float-button small { margin-top:.08rem; font-size:.68rem; opacity:.78; }
.lead-float-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.16); color:var(--sand-light,#ead5ad); }

.lead-modal[hidden] { display:none; }
.lead-modal { position:fixed; inset:0; z-index:1200; display:grid; place-items:center; padding:24px; opacity:0; transition:opacity .18s ease; }
.lead-modal.is-open { opacity:1; }
.lead-backdrop { position:absolute; inset:0; background:rgba(5,17,30,.72); backdrop-filter:blur(6px); }
.lead-dialog {
  position:relative; z-index:1; width:min(680px,100%); max-height:calc(100vh - 48px); overflow:auto;
  border:1px solid rgba(201,168,108,.36); border-radius:24px; background:var(--paper,#faf9f6);
  box-shadow:0 30px 90px rgba(5,17,30,.4); transform:translateY(18px) scale(.985);
  transition:transform .22s ease;
}
.lead-modal.is-open .lead-dialog { transform:none; }
.lead-modal-open { overflow:hidden; }
.lead-close { position:absolute; top:14px; right:14px; z-index:2; width:38px; height:38px; border:0; border-radius:50%; color:#fff; background:rgba(255,255,255,.14); font-size:1.7rem; line-height:1; cursor:pointer; }
.lead-dialog-intro { padding:30px 62px 26px 30px; color:#fff; background:linear-gradient(135deg,var(--ink,#0f2744),#173f67); }
.lead-dialog-intro span,.lead-page-eyebrow { color:var(--sand-light,#ead5ad); font-size:.76rem; letter-spacing:.08em; }
.lead-dialog-intro h2 { margin:.55rem 0 .4rem; color:#fff; font-size:1.75rem; }
.lead-dialog-intro p { margin:0; opacity:.8; }

.lead-form { padding:26px 30px 28px; color:var(--ink,#0f2744); }
.lead-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.lead-field { display:grid; gap:7px; min-width:0; }
.lead-field-full { grid-column:1/-1; }
.lead-field>span { font-size:.86rem; font-weight:700; }
.lead-field b,.lead-consent b,.lead-form-heading b { color:var(--terracotta,#a0522d); }
.lead-field input,.lead-field select,.lead-field textarea {
  width:100%; min-width:0; border:1px solid #d8d5ce; border-radius:10px; padding:.78rem .85rem;
  color:var(--ink,#0f2744); background:#fff; font:inherit; transition:border-color .2s,box-shadow .2s;
}
.lead-field textarea { resize:vertical; }
.lead-field input:focus,.lead-field select:focus,.lead-field textarea:focus { border-color:var(--sand,#c9a86c); box-shadow:0 0 0 3px rgba(201,168,108,.16); outline:0; }
.lead-consent { display:flex; align-items:flex-start; gap:.65rem; margin:18px 0 10px; font-size:.78rem; line-height:1.55; color:#596575; }
.lead-consent input { width:17px; height:17px; margin-top:2px; accent-color:var(--terracotta,#a0522d); flex:0 0 auto; }
.lead-submit,.lead-success-close,.lead-success-phone {
  display:flex; align-items:center; justify-content:center; width:100%; border:0; border-radius:12px; padding:.9rem 1rem;
  color:#fff; background:var(--terracotta,#a0522d); font-weight:800; text-decoration:none; cursor:pointer;
}
.lead-submit:disabled { opacity:.62; cursor:wait; }
.lead-form-note { margin:.75rem 0 0; text-align:center; color:#738091; font-size:.75rem; }
.lead-form-note a { color:var(--terracotta,#a0522d); font-weight:700; }
.lead-form-status { min-height:1.3em; margin:.4rem 0 .7rem; font-size:.8rem; }
.lead-form-status.is-error { color:#a3342c; }
.lead-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }

.lead-form-success { padding:52px 34px 38px; text-align:center; }
.lead-success-mark { display:grid; place-items:center; width:64px; height:64px; margin:0 auto 1rem; border-radius:50%; color:#fff; background:#3a8d62; font-size:2rem; font-weight:900; }
.lead-form-success h2 { margin:0 0 .6rem; color:var(--ink,#0f2744); }
.lead-form-success p { color:#657284; }
.lead-success-phone { margin:1.25rem 0 .75rem; }
.lead-success-close { margin-top:1.2rem; color:var(--ink,#0f2744); background:#ebe5d9; }

.lead-page-main { min-height:80vh; background:var(--paper,#faf9f6); }
.lead-page-intro { padding:145px 0 65px; color:#fff; text-align:center; background:linear-gradient(135deg,var(--ink,#0f2744),#235074); }
.lead-page-intro h1 { max-width:850px; margin:.65rem auto 1rem; color:#fff; font-size:clamp(2rem,5vw,3.3rem); line-height:1.18; }
.lead-page-intro p { max-width:680px; margin:auto; opacity:.82; }
.lead-page-form-section { padding:65px 0 80px; }
.lead-page-grid { display:grid; grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr); gap:36px; align-items:start; }
.lead-page-guide { padding:26px; border-left:4px solid var(--terracotta,#a0522d); background:#fff; box-shadow:0 10px 32px rgba(15,39,68,.07); }
.lead-page-guide ul { padding-left:1.2rem; line-height:1.9; }
.lead-page-guide a { color:var(--terracotta,#a0522d); }
.lead-form-static { border:1px solid #e2ded5; border-radius:18px; background:#fff; box-shadow:0 15px 45px rgba(15,39,68,.08); }
.lead-form-heading { margin-bottom:20px; }
.lead-form-heading>span { color:var(--terracotta,#a0522d); font-size:.75rem; font-weight:800; letter-spacing:.12em; }
.lead-form-heading h2 { margin:.35rem 0; }
.lead-form-heading p { margin:0; color:#748091; font-size:.78rem; }

.lead-success-page { min-height:100vh; display:grid; place-items:center; padding:24px; background:linear-gradient(135deg,var(--ink,#0f2744),#285a7e); }
.lead-success-card { width:min(620px,100%); padding:46px 34px; border-radius:24px; text-align:center; background:var(--paper,#faf9f6); box-shadow:0 28px 80px rgba(0,0,0,.28); }
.lead-success-card h1 { margin:.6rem 0; color:var(--ink,#0f2744); }
.lead-success-actions { display:flex; justify-content:center; gap:12px; margin:1.5rem 0 1rem; }
.lead-back-home { color:var(--ink,#0f2744)!important; border-color:#cfc8ba!important; }
.lead-success-wechat { color:#657284; font-size:.86rem; }

@media (max-width:768px) {
  .lead-float-button { right:14px; bottom:14px; min-width:0; border-radius:16px; }
  .lead-modal { padding:10px; align-items:end; }
  .lead-dialog { max-height:calc(100vh - 20px); border-radius:20px 20px 14px 14px; }
  .lead-dialog-intro { padding:24px 52px 21px 20px; }
  .lead-dialog-intro h2 { font-size:1.35rem; }
  .lead-form { padding:20px; }
  .lead-form-grid,.lead-page-grid { grid-template-columns:1fr; }
  .lead-page-intro { padding:120px 0 50px; }
  .lead-page-form-section { padding:42px 0 60px; }
  .lead-success-actions { flex-direction:column; }
}

@media (max-width:420px) {
  .lead-float-button small { display:none; }
  .lead-float-button { padding:.7rem .85rem; }
  .lead-float-icon { width:30px; height:30px; }
  .lead-dialog-intro p { font-size:.84rem; }
}

@media (prefers-reduced-motion:reduce) {
  .lead-float-button,.lead-modal,.lead-dialog { transition:none; }
}

@media print {
  .lead-float-button,.lead-modal { display:none!important; }
}
