/* /binder/build/: the binder builder. Sits on cine.css and plan.css (progress bar, buttons, lock-actions). */
.bb-head { padding-top: 140px; padding-bottom: 28px; }
.bb-head h1 { font: 900 clamp(44px, 5.5vw, 80px)/.9 var(--poster); text-transform: uppercase; margin: 16px 0 14px; }
.bb-lede { color: var(--dim); font-size: clamp(16px, 1.3vw, 19px); max-width: 40em; margin: 0; }
.bb-wrap { padding-bottom: 120px; max-width: 980px; margin-left: 0; }
@media (min-width: 1100px) { .bb-wrap { margin-left: max(0px, calc((100vw - 1320px) / 2)); } }
.bb-panel, .bb-flow { background: var(--night-2); border: 1px solid var(--faint); border-radius: 18px; padding: clamp(22px, 3vw, 36px); display: grid; gap: 14px; }
.bb-panel h2, .bb-step h2 { font: 900 clamp(30px, 3.2vw, 44px)/.95 var(--poster); text-transform: uppercase; margin: 0; }
.bb-panel p { margin: 0; color: var(--dim); max-width: 46em; }
.bb-done { border-color: rgba(255, 210, 122, .55); }
.bb-step { display: grid; gap: 14px; }
.bb-step h3 { font: 800 22px/1 var(--poster); text-transform: uppercase; margin: 12px 0 0; color: var(--lamp); letter-spacing: .02em; }
.bb-step h4 { font: 600 15px/1.2 var(--body, inherit); margin: 0 0 10px; }
.bhint { color: var(--dim); margin: 0; }
.bnote { color: var(--dim); font-size: 14px; margin: 0; }
.bnote a, .bb-panel a.link, .bb-done .link { color: var(--lamp); }
.bgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; }
.bf { display: grid; gap: 6px; font-size: 13.5px; color: var(--dim); }
.bf.wide { grid-column: 1 / -1; }
.bf input { background: var(--night); border: 1px solid var(--faint); color: var(--ink); border-radius: 10px; padding: 11px 13px; font: inherit; font-size: 16px; }
.bf input:focus { outline: 2px solid var(--lamp); outline-offset: 1px; border-color: transparent; }
.bf input::placeholder { color: rgba(167, 178, 174, .55); }
.bcards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.bcard { border: 1px solid var(--faint); border-radius: 14px; padding: 14px; }
.bmore { border-top: 1px solid var(--faint); padding-top: 12px; }
.bmore summary { cursor: pointer; color: var(--lamp); font-weight: 600; margin-bottom: 12px; }
.bb-nav { display: flex; justify-content: space-between; gap: 10px; padding-top: 8px; border-top: 1px solid var(--faint); }
.bb-phone { display: grid; gap: 10px; border-top: 1px solid var(--faint); padding-top: 18px; margin-top: 6px; }
.bb-phone h3 { font: 800 26px/1 var(--poster); text-transform: uppercase; margin: 0; }
.bb-phone p { margin: 0; color: var(--dim); max-width: 46em; }
.bb-how { margin: 4px 0 0; padding-left: 18px; display: grid; gap: 6px; color: var(--ink); font-size: 15px; max-width: 46em; }
.bb-tips { margin: 6px 0 0; padding-left: 20px; color: var(--ink); display: grid; gap: 8px; max-width: 46em; }
.bb-done .link { background: none; border: 0; padding: 0; font: inherit; cursor: pointer; text-decoration: underline; }
.bb-restore, .bb-wait { display: grid; gap: 10px; border-top: 1px solid var(--faint); padding-top: 18px; margin-top: 6px; }
.bb-restore h3, .bb-wait h3 { font: 800 26px/1 var(--poster); text-transform: uppercase; margin: 0; }
.bb-restore p, .bb-wait p { margin: 0; color: var(--dim); max-width: 46em; }
.bb-restore-row { display: flex; flex-wrap: wrap; gap: 10px; align-items: end; }
.bb-restore-row .bf { flex: 1 1 260px; max-width: 420px; }
@media (max-width: 720px) {
  .bb-head { padding-top: 110px; }
  .bgrid, .bcards { grid-template-columns: minmax(0, 1fr); }
}
