/* Saltmarsh B, price-lock offer modal + inline step 1. Navy #0e2240, offer red #c8102e, Inter bold,
   10px radii on controls. Loads after pr.css. */
.fb-modal,.fb-sec{--fb-ink:#0e2240;--fb-red:#c8102e;--fb-red-h:#a50d25;--fb-mute:#5f6673;--fb-bg2:#f5f5f7;--fb-rule:rgba(17,24,39,.1);--fb-rule2:rgba(17,24,39,.2);--fb-ok:#1d7a4c;--fb-err:#b3261e;font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.006em}
html.fm-lock,body.fm-lock{overflow:hidden}
.fm-lock .mbar{transform:translateY(140%)!important}
.fm-lock .dock,.fm-lock .chat-tease,.fm-lock .rc-sample,.fm-lock .demo{opacity:0;pointer-events:none}

/* ---------- shell ---------- */
.fb-modal{position:fixed;inset:0;z-index:400;display:grid;place-items:center;padding:24px}
.fb-modal[hidden]{display:none}
.fb-scrim{position:absolute;inset:0;background:rgba(8,22,43,.62);opacity:0;transition:opacity .3s ease}
.fb-box{position:relative;width:min(680px,100%);max-height:min(860px,calc(100dvh - 48px));display:flex;flex-direction:column;background:#fff;border-radius:18px;overflow:hidden;color:var(--fb-ink);box-shadow:0 40px 100px -30px rgba(8,22,43,.6);opacity:0;transform:translateY(18px) scale(.985);transition:opacity .3s ease,transform .45s cubic-bezier(.16,1,.3,1)}
.fb-modal.open .fb-scrim{opacity:1}
.fb-modal.open .fb-box{opacity:1;transform:none}
.fb-ribbon{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--fb-red);color:#fff;font-size:14px;font-weight:500;padding:11px 56px;text-align:center;line-height:1.35;flex:none}
.fb-ribbon svg{width:17px;height:17px;flex:none}
.fb-ribbon b{font-weight:750;margin-right:4px}
.fb-top{display:flex;align-items:center;justify-content:space-between;padding:18px 26px 0;flex:none}
.fb-logo{height:30px;width:auto}
.fb-x{width:40px;height:40px;border-radius:10px;border:0;background:var(--fb-bg2);color:var(--fb-ink);display:grid;place-items:center;cursor:pointer;transition:background .2s}
.fb-x svg{width:18px;height:18px}.fb-x:hover{background:#e8e8ed}

/* progress */
.fb-prog{padding:20px 26px 0;flex:none}
.fb-prog ol{list-style:none;margin:0 0 12px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.fb-prog li{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:600;color:#9ca3af}
.fb-prog li i{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:12.5px;font-weight:700;background:var(--fb-bg2);color:#9ca3af;flex:none}
.fb-prog li i svg{width:13px;height:13px}
.fb-prog li.on{color:var(--fb-ink)}.fb-prog li.on i{background:var(--fb-ink);color:#fff}
.fb-prog li.done{color:var(--fb-ink)}.fb-prog li.done i{background:var(--fb-red);color:#fff}
.fb-bar{height:4px;border-radius:4px;background:var(--fb-bg2);overflow:hidden}
.fb-bar b{display:block;height:100%;background:var(--fb-red);border-radius:4px;transition:width .5s cubic-bezier(.16,1,.3,1)}

.fb-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:26px 26px 8px}
.fb-modal .fb-title{font-size:32px!important;font-weight:750;letter-spacing:-.025em;line-height:1.1;margin:0 0 22px;color:var(--fb-ink)}
.fb-title:focus{outline:0}
#fbStep.enter{animation:fbIn .45s cubic-bezier(.16,1,.3,1) both}
@keyframes fbIn{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
.fb-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 26px 22px;border-top:1px solid var(--fb-rule);flex:none;background:#fff}
.fb-foot[hidden]{display:none}
.fb-back{display:inline-flex;align-items:center;gap:8px;height:52px;padding:0 18px;border:0;border-radius:10px;background:none;color:var(--fb-ink);font:inherit;font-size:15.5px;font-weight:600;cursor:pointer;transition:background .2s}
.fb-back svg{width:16px;height:16px}.fb-back:hover{background:var(--fb-bg2)}
.fb-back[hidden]{visibility:hidden;display:inline-flex}
.fb-next{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:54px;padding:0 26px;border:0;border-radius:10px;background:var(--fb-red);color:#fff;font:inherit;font-size:16px;font-weight:650;cursor:pointer;transition:background .2s,transform .2s;box-shadow:0 8px 18px -10px rgba(200,16,46,.7)}
.fb-next svg{width:16px;height:16px;transition:transform .25s}
.fb-next:hover{background:var(--fb-red-h)}.fb-next:hover svg{transform:translateX(3px)}
.fb-modal :focus-visible,.fb-sec :focus-visible{outline:3px solid rgba(14,34,64,.45);outline-offset:2px}

/* ---------- questions ---------- */
.fb-q{margin-bottom:26px}
.fb-q h3{font-size:18px;font-weight:700;letter-spacing:-.015em;margin:0 0 12px;color:var(--fb-ink)}
.fb-chips{display:grid;gap:10px}
.fb-chip{position:relative;font:inherit;color:var(--fb-ink);background:#fff;border:1.5px solid var(--fb-rule2);border-radius:10px;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s;text-align:left}
.fb-chip:hover{border-color:var(--fb-ink)}
.fb-chip.on{border-color:var(--fb-red);background:#fff5f6;box-shadow:inset 0 0 0 1px var(--fb-red)}
.fb-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}
.fb-tiles .fb-chip{display:grid;justify-items:center;gap:10px;padding:20px 10px 16px;text-align:center;font-size:14.5px;font-weight:650;line-height:1.25}
.fb-ic{width:42px;height:42px;color:var(--fb-ink)}
.fb-chip.on .fb-ic{color:var(--fb-red)}
.fb-dot{position:absolute;top:8px;right:8px;width:20px;height:20px;border-radius:50%;background:var(--fb-red);color:#fff;display:grid;place-items:center;opacity:0;transform:scale(.6);transition:opacity .2s,transform .25s}
.fb-dot svg{width:12px;height:12px}
.fb-chip.on .fb-dot{opacity:1;transform:none}
.fb-ranges{grid-template-columns:repeat(4,minmax(0,1fr))}
.fb-ranges.fb-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.fb-ranges.fb-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.fb-ranges .fb-chip{min-height:50px;padding:10px 12px;font-size:15px;font-weight:650;text-align:center;display:grid;place-items:center}
.fb-win .fb-chip{min-height:62px}
.fb-chip small{display:block;font-size:12.5px;font-weight:500;color:var(--fb-mute);margin-top:2px}
.fb-note{margin:10px 0 0;font-size:13.5px;color:var(--fb-mute)}
.fb-err{margin:8px 0 0;font-size:13.5px;font-weight:550;color:var(--fb-err)}
.fb-err:empty{display:none}
.fb-q.bad .fb-chip,.fb-q.bad .fb-day{border-color:rgba(179,38,30,.55)}

/* fields */
.fb-grid{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:14px}
.fb-grid.fb-g2{grid-template-columns:1fr 1fr}
.fb-f{display:grid;gap:6px;min-width:0}
.fb-f label{font-size:13.5px;font-weight:600;color:var(--fb-ink)}
.fb-f input{width:100%;height:52px;padding:0 14px;font:inherit;font-size:16px;color:var(--fb-ink);background:#fff;border:1.5px solid var(--fb-rule2);border-radius:10px;outline:0;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}
.fb-f input::placeholder{color:#a3a9b3}
.fb-f input:hover{border-color:#8a909b}
.fb-f input:focus{border-color:var(--fb-ink);box-shadow:0 0 0 3px rgba(14,34,64,.14)}
.fb-f.bad input{border-color:var(--fb-err)}
.fb-f .fb-err{margin:0}
.fb-zipm{min-height:0}
.fb-zip{display:flex;gap:8px;align-items:flex-start;margin:12px 0 0;padding:12px 14px;border-radius:10px;font-size:14px;line-height:1.45;font-weight:500}
.fb-zip svg{width:16px;height:16px;flex:none;margin-top:1px}
.fb-zip.ok{background:#eef7f1;color:var(--fb-ok)}
.fb-zip.out{background:var(--fb-bg2);color:var(--fb-ink)}
.fb-zip.out a{color:var(--fb-red);font-weight:650;white-space:nowrap}
.fb-legal{margin:14px 0 0;font-size:12.5px;color:var(--fb-mute);line-height:1.5}

/* dates */
.fb-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.fb-day{display:grid;justify-items:center;gap:1px;padding:10px 4px 9px;font:inherit;color:var(--fb-ink);background:#fff;border:1.5px solid var(--fb-rule2);border-radius:10px;cursor:pointer;transition:border-color .2s,background .2s,color .2s}
.fb-day span,.fb-day small{font-size:12px;font-weight:600;color:var(--fb-mute)}
.fb-day b{font-size:21px;font-weight:750;letter-spacing:-.02em;line-height:1.15}
.fb-day:hover{border-color:var(--fb-ink)}
.fb-day.on{background:var(--fb-ink);border-color:var(--fb-ink);color:#fff}
.fb-day.on span,.fb-day.on small{color:rgba(255,255,255,.75)}

/* ---------- confirmation ---------- */
.fb-modal.is-done .fb-prog ol{display:none}
.fb-done{text-align:center;outline:0;padding:8px 0 18px}
.fb-check{width:84px;height:84px;margin:6px auto 20px;border-radius:50%;background:var(--fb-red);color:#fff;display:grid;place-items:center;box-shadow:0 0 0 10px #fde8eb}
.fb-check svg{width:46px;height:46px}
.fb-check path{stroke-dasharray:40;stroke-dashoffset:40;animation:fbDraw .6s .2s cubic-bezier(.65,0,.35,1) forwards}
@keyframes fbDraw{to{stroke-dashoffset:0}}
.fb-modal .fb-dh{font-size:clamp(28px,4vw,36px)!important;font-weight:750;letter-spacing:-.028em;line-height:1.1;margin:0 auto 10px;max-width:15em;color:var(--fb-ink)}
.fb-dl{margin:0 auto 24px;font-size:16px;color:var(--fb-mute);max-width:30em}
.fb-sum{text-align:left;margin:0 0 18px;background:var(--fb-bg2);border-radius:14px;padding:6px 18px}
.fb-sum div{display:grid;grid-template-columns:130px 1fr;gap:12px;padding:13px 0;border-bottom:1px solid var(--fb-rule)}
.fb-sum div:last-child{border-bottom:0}
.fb-sum dt{font-size:13.5px;font-weight:600;color:var(--fb-mute)}
.fb-sum dd{margin:0;font-size:15px;color:var(--fb-ink);overflow-wrap:anywhere}
.fb-sum dd b{font-weight:700}
.fb-muted{color:var(--fb-mute)}
.fb-ready{text-align:left;border:1.5px solid var(--fb-rule);border-radius:14px;padding:16px 18px;margin-bottom:18px}
.fb-ready h3{font-size:16px;font-weight:700;margin:0 0 8px}
.fb-ready ul{margin:0;padding:0;list-style:none;display:grid;gap:7px}
.fb-ready li{position:relative;padding-left:22px;font-size:14.5px;color:var(--fb-ink);line-height:1.45}
.fb-ready li::before{content:"";position:absolute;left:3px;top:6px;width:9px;height:5px;border-left:2px solid var(--fb-red);border-bottom:2px solid var(--fb-red);transform:rotate(-45deg)}
.fb-dphone{margin:0 0 18px;font-size:14.5px;color:var(--fb-mute)}
.fb-dphone a{color:var(--fb-ink);font-weight:700;white-space:nowrap}
.fb-act .fb-next{min-width:200px}
.fb-sample{margin:14px 0 0;font-size:12.5px;color:#8a909b}

/* ---------- inline step 1 ---------- */
.fb-sec{background:var(--fb-bg2)}
.fb-wrapg{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(36px,5vw,80px);align-items:center}
.fb-copy .fb-tag{display:inline-flex;align-items:center;gap:8px;background:var(--fb-red);color:#fff;font-size:13.5px;font-weight:650;padding:7px 12px;border-radius:999px;margin:0 0 20px}
.fb-copy h2{margin:0 0 16px}
.fb-copy>p{font-size:17.5px;line-height:1.55;color:var(--fb-mute);margin:0 0 22px;max-width:30em}
.fb-ticks{list-style:none;margin:0 0 28px;padding:0;display:grid;gap:10px}
.fb-ticks li{position:relative;padding-left:30px;font-size:16px;font-weight:550;color:var(--fb-ink)}
.fb-ticks li::before{content:"";position:absolute;left:4px;top:5px;width:11px;height:6px;border-left:2.4px solid var(--fb-red);border-bottom:2.4px solid var(--fb-red);transform:rotate(-45deg)}
.fb-phone{display:grid;gap:2px}
.fb-phone small{font-size:13.5px;color:var(--fb-mute);font-weight:500}
.fb-phone a{font-size:28px;font-weight:750;letter-spacing:-.02em;color:var(--fb-ink)}
.fb-phone a:hover{color:var(--fb-red)}
.fb-card{background:#fff;border-radius:20px;box-shadow:0 1px 2px rgba(17,24,39,.04),0 24px 60px -24px rgba(17,24,39,.22);overflow:hidden}
.fb-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:18px 24px 14px}
.fb-pill{display:inline-flex;align-items:center;gap:7px;color:var(--fb-red);font-size:13.5px;font-weight:700}
.fb-pill svg{width:16px;height:16px}
.fb-of{font-size:13.5px;font-weight:600;color:var(--fb-mute)}
.fb-card>.fb-bar{margin:0 24px;border-radius:4px}
.fb-in-body{padding:24px 24px 26px}
.fb-in-act{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:4px}
.fb-in-act p{margin:0;font-size:13.5px;color:var(--fb-mute)}

@media (max-width:900px){.fb-wrapg{grid-template-columns:1fr}}
@media (max-width:640px){
  .fb-modal{padding:0;place-items:stretch}
  .fb-box{width:100%;max-height:none;height:100dvh;border-radius:0;transform:translateY(24px)}
  .fb-ribbon{padding:10px 16px;font-size:13px;justify-content:flex-start;text-align:left}
  .fb-top{padding:14px 16px 0}.fb-logo{height:26px}
  .fb-prog{padding:16px 16px 0}
  .fb-prog li{font-size:12.5px;gap:6px}.fb-prog li i{width:22px;height:22px;font-size:11.5px}
  .fb-body{padding:22px 16px 8px}
  .fb-modal .fb-title{font-size:26px!important;margin-bottom:18px}
  .fb-foot{padding:12px 16px calc(14px + env(safe-area-inset-bottom))}
  .fb-foot .fb-next{flex:1}
  .fb-tiles,.fb-ranges{grid-template-columns:1fr 1fr}
  .fb-ranges.fb-3{grid-template-columns:1fr}
  .fb-ranges.fb-3 .fb-chip{min-height:48px}
  .fb-tiles .fb-chip{padding:16px 8px 14px}
  .fb-days{grid-template-columns:repeat(4,minmax(0,1fr))}
  .fb-grid,.fb-grid.fb-g2{grid-template-columns:1fr}
  .fb-sum div{grid-template-columns:1fr;gap:2px}
  .fb-card-top{padding:16px 18px 12px}.fb-card>.fb-bar{margin:0 18px}.fb-in-body{padding:20px 18px 22px}
  .fb-in-act .fb-next{width:100%}
  .fb-act .fb-next{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .fb-scrim,.fb-box,.fb-bar b,.fb-dot{transition:none}
  #fbStep.enter{animation:none}
  .fb-check path{animation:none;stroke-dashoffset:0}
}
