.drawer{position:fixed;top:0;right:0;bottom:0;width:372px;max-width:88vw;background:var(--paper);
  border-left:1px solid var(--ink);z-index:120;transform:translateX(101%);
  transition:transform .42s cubic-bezier(.22,1,.28,1);display:flex;flex-direction:column}
.drawer.open{transform:none}
.drawer-h{padding:22px 24px 16px;border-bottom:1px solid var(--rule);display:flex;
  justify-content:space-between;align-items:flex-start}
.drawer-h h3{font-size:var(--head-sm)}
.drawer-h .sub{font-family:var(--sans);font-size:var(--label-sm);letter-spacing:var(--track-sm);text-transform:uppercase;
  color:var(--muted);margin-top:3px}
.xbtn{background:transparent;border:0;font-size:var(--head-md);line-height:1;cursor:pointer;color:var(--muted)}
.xbtn:hover{color:var(--ink)}
.drawer-b{flex:1;overflow-y:auto;padding:0 24px}
.dempty{color:var(--muted);padding:26px 0;font-style:italic}
.dline{display:flex;justify-content:space-between;gap:12px;padding:13px 0;
  border-bottom:1px solid var(--rule);font-size:var(--text-base);align-items:flex-start}
.dline .rm{background:transparent;border:0;color:var(--muted);cursor:pointer;font-size:var(--text-sm);
  padding:0 0 0 8px}
.dline .rm:hover{color:var(--coral)}
.dline.detached{color:var(--coral);font-style:italic;font-size:var(--text-sm)}
.upsell{margin:16px 0;padding:15px;border:1px solid var(--coral);
  border-left-width:3px}
.upsell p{margin:0 0 11px;font-size:var(--text-sm);line-height:1.42}
.upsell strong{font-family:var(--serif);font-style:italic}
.upsell button{font-family:var(--sans);font-size:var(--label-sm);letter-spacing:var(--track-sm);text-transform:uppercase;
  padding:9px 13px;background:var(--coral);color:#fff;border:0;cursor:pointer}
.drawer-f{border-top:1px solid var(--rule);padding:18px 24px 24px}
.totals{display:flex;justify-content:space-between;font-family:var(--serif);font-size:var(--head-sm);
  padding-bottom:14px}
.scrim{position:fixed;inset:0;background:rgba(17,17,17,.32);z-index:110;opacity:0;
  pointer-events:none;transition:opacity .35s}
.scrim.on{opacity:1;pointer-events:auto}
.binder-btn{cursor:pointer;transition:background .2s,color .2s}
.binder-btn:hover{background:var(--ink);color:#fff}
.binder-btn:hover .n{color:#fff}
.capbox{border-top:1px solid var(--rule);padding:16px 0 4px;margin-bottom:14px}
.capbox label{display:block;font-family:var(--serif);font-size:var(--text-md);line-height:1.25;
  margin-bottom:9px}
.caprow{position:relative}
.caprow input{width:100%;padding:12px 38px 12px 13px;border:1px solid var(--rule);
  font-family:var(--text);font-size:var(--text-base);outline:none;background:transparent;
  transition:border-color .25s,box-shadow .25s}
.caprow input:focus{border-color:var(--jade);box-shadow:0 0 0 3px rgba(15,122,110,.10)}
.captick{position:absolute;right:12px;top:50%;transform:translateY(-50%) scale(.6);
  color:var(--jade);font-size:var(--text-sm);opacity:0;transition:opacity .3s,transform .35s cubic-bezier(.34,1.4,.64,1)}
.capbox.done .caprow input{border-color:var(--jade)}
.capbox.done .captick{opacity:1;transform:translateY(-50%) scale(1)}
.cofail{display:none;margin:10px 0 0;font-family:var(--sans);font-size:var(--label-sm);
  line-height:1.45;color:var(--coral);letter-spacing:.02em}
.cofail.on{display:block}
.co-scrim{position:fixed;inset:0;background:rgba(20,20,19,.55);opacity:0;visibility:hidden;
  transition:opacity .22s ease,visibility .22s ease;z-index:130}
.co-scrim.on{opacity:1;visibility:visible}
.co-panel{position:fixed;left:50%;top:50%;transform:translate(-50%,-48%);width:min(560px,94vw);
  max-height:92vh;background:var(--paper);border:1px solid var(--ink);z-index:131;
  display:flex;flex-direction:column;opacity:0;visibility:hidden;
  transition:opacity .22s ease,visibility .22s ease,transform .22s ease}
.co-panel.on{opacity:1;visibility:visible;transform:translate(-50%,-50%)}
.co-head{display:flex;justify-content:space-between;align-items:center;
  padding:16px 20px;border-bottom:1px solid var(--rule)}
.co-head b{font-family:var(--sans);font-size:var(--label-xs);letter-spacing:.18em;text-transform:uppercase}
.co-mount{flex:1;overflow-y:auto;padding:8px 12px 16px;min-height:340px}

.rail h2{font-size:var(--label-md);letter-spacing:var(--track-md)}