/* Floating "Your rate" button and its calculator dialog (public/js/float-calc.js). Small and quiet: it sits in the bottom
   corner, never in the middle of a side. Tokens are repeated here so it looks the same on every page, whatever the page defines. */
.fc-btn,.fc-ov{--fc-navy:#0B1F4B;--fc-paper:#FFFDF8;--fc-line:#D6CDB9;--fc-ink:#1F2430}
.fc-btn{position:fixed;z-index:40;right:max(12px,env(safe-area-inset-right));bottom:calc(max(12px,env(safe-area-inset-bottom)) + var(--fc-up,0px));display:inline-flex;align-items:center;gap:8px;min-height:44px;min-width:44px;padding:0 15px 0 12px;margin:0;border:1.5px solid var(--fc-navy);border-radius:999px;background:var(--fc-paper);color:var(--fc-navy);font:600 14px/1 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:.005em;cursor:pointer;box-shadow:0 6px 18px -8px rgba(11,31,75,.45);-webkit-tap-highlight-color:transparent}
.fc-btn:hover{background:#F7F3EA}
.fc-btn:focus-visible,.fc-x:focus-visible{outline:3px solid var(--fc-navy);outline-offset:2px}
.fc-btn svg{flex:none}
@media (prefers-reduced-motion:no-preference){.fc-btn{transition:bottom .25s ease,background .15s}}
@media (min-width:1024px){.fc-btn{right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom))}}

.fc-ov[hidden]{display:none}
.fc-ov{position:fixed;inset:0;z-index:70;display:flex;align-items:flex-end;justify-content:center;background:rgba(31,36,48,.5);padding:0;overscroll-behavior:contain}
.fc-dlg{position:relative;display:flex;flex-direction:column;width:100%;max-width:100%;max-height:94vh;max-height:94dvh;background:#F4F1EA;color:var(--fc-ink);border-radius:18px 18px 0 0;box-shadow:0 -10px 40px rgba(11,31,75,.3);outline:0;overflow:hidden;font:400 17px/1.55 Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
.fc-hd{flex:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 8px 10px 18px;background:#FFFDF8;border-bottom:1px solid #E3DCCD}
.fc-hd h2{margin:0;font:600 20px/1.25 "STIX Two Text",Georgia,"Times New Roman",serif;color:var(--fc-navy)}
.fc-x{flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;padding:0;border:0;border-radius:10px;background:transparent;color:var(--fc-navy);cursor:pointer}
.fc-x:hover{background:#F0EBDD}
.fc-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:14px 12px calc(18px + env(safe-area-inset-bottom,0px))}
.fc-load{margin:6px 6px 0;font:500 16px/1.5 Inter,system-ui,sans-serif;color:#5F6470}
.fc-load[hidden]{display:none}
.fc-host{display:none;min-width:0}
.fc-ready .fc-host{display:block}
html.fc-lock{overflow:hidden}
@media (min-width:700px){
  .fc-ov{align-items:center;padding:20px}
  .fc-dlg{max-width:980px;max-height:90vh;max-height:90dvh;border-radius:18px;box-shadow:0 24px 70px rgba(11,31,75,.4)}
  .fc-hd{padding:12px 12px 12px 24px}
  .fc-hd h2{font-size:24px}
  .fc-body{padding:20px 22px 22px}
}
@media (prefers-reduced-motion:no-preference){
  .fc-ov{opacity:0;transition:opacity .18s ease}
  .fc-ov.fc-in{opacity:1}
  .fc-dlg{transform:translateY(24px);transition:transform .22s ease}
  .fc-ov.fc-in .fc-dlg{transform:none}
}

/* the calculator inside the dialog: the Calculate Your Rate page's own styles (equity.css), set to fit a dialog */
.fc-dlg{--navy:#0B1F4B;--navy-2:#13306E;--gold:#E8A020;--gold-soft:#FBF1DC;--paper:#FFFDF8;--paper-deep:#F7F3EA;--white:#FFFFFF;--line:#E3DCCD;--line-strong:#D6CDB9;--ink:#1F2430;--ink-soft:#3A3F4B;--muted:#5F6470;--bad:#A3322A;--bad-soft:#FBEDEA;--read:'STIX Two Text',Georgia,'Times New Roman',serif;--ui:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif}
.fc-dlg *,.fc-dlg *::before,.fc-dlg *::after{box-sizing:border-box}
.fc-dlg .btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;border-radius:10px;background:var(--navy);color:var(--white);font:600 17px/1.2 var(--ui);text-decoration:none;text-align:center;border:0;cursor:pointer}
.fc-dlg .btn:hover{background:var(--navy-2)}
.fc-dlg .btn.ghost{background:transparent;color:var(--navy);box-shadow:inset 0 0 0 2px var(--navy)}
.fc-dlg .eq-calc{border:0;box-shadow:none;background:transparent;padding:0}
.fc-dlg .eq-form,.fc-dlg .eq-side{min-width:0}
.fc-dlg .eq-side{position:static!important}
.fc-dlg .eq-grid{gap:22px}
.fc-dlg .eq-lad{max-height:320px}
.fc-dlg .eq-rate{font-size:56px}
.fc-dlg select,.fc-dlg input[type=text]{max-width:100%}
@media (max-width:420px){.fc-dlg .eq-rate{font-size:50px}}
@media print{.fc-btn,.fc-ov{display:none!important}}
