/* Mural Photo · Real Estate booking (rd redesign, staged flow). Reuses site rd-* styles; bk-* is page-local. */
#bk-root{background:#FAF9F6;color:#14120F;min-height:100vh}

/* ——— top bar ——— */
.bk-top{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:20px;background:rgba(250,249,246,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 1px #E7E3DA;padding:16px 40px}
.bk-brand{display:inline-flex;flex-direction:column;align-items:center;text-decoration:none;color:#947F75}
.bk-lgword{font-family:Montserrat,'Avenir Next','Segoe UI',Inter,sans-serif;font-weight:700;font-size:17px;letter-spacing:.05em;text-transform:uppercase;line-height:1;white-space:nowrap}
.bk-lgrule{align-self:stretch;height:1.5px;margin:6px 0 5px;background:currentColor}
.bk-lgsub{font-family:Montserrat,'Avenir Next','Segoe UI',Inter,sans-serif;font-weight:600;font-size:8.6px;letter-spacing:.015em;line-height:1;white-space:nowrap}
.bk-brand-c{margin:0 auto 28px}
.bk-mail{color:#14120F;opacity:.8;font-family:Inter,sans-serif;font-size:11.5px;letter-spacing:.06em;text-decoration:none;white-space:nowrap}
.bk-mail:hover{color:#8A6553;opacity:1}
.bk-mail:focus-visible{outline:2px solid #A8875A;outline-offset:3px}

/* ——— progress ——— */
.bk-progwrap{max-width:800px;margin:34px auto 0;padding:0 24px}
.bk-prog{height:2px;background:#E9E5DC;overflow:hidden}
.bk-prog span{display:block;height:100%;width:0;background:#8A6553;transition:width .45s ease}

/* ——— stage / steps ——— */
.bk-stage{max-width:800px;margin:0 auto;padding:46px 24px 180px}
.bk-step{display:none}
.bk-step.on{display:block;animation:bkin .42s ease}
@keyframes bkin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.bk-shead{text-align:center;max-width:52ch;margin:0 auto 42px}
.bk-kick{color:#8A6553;letter-spacing:.24em;text-transform:uppercase;font-family:Inter,sans-serif;font-size:10.5px;font-weight:500;margin-bottom:16px}
.bk-h1{font-family:Gambarino,serif;font-size:clamp(30px,4.4vw,46px);font-weight:400;line-height:1.08;letter-spacing:.004em;margin:0}
.bk-lede{color:#77726A;font-family:Inter,sans-serif;font-size:15px;line-height:1.7;margin:14px auto 0;max-width:46ch}
.bk-hint{color:#77726A;font-family:Inter,sans-serif;font-size:12.5px;line-height:1.6;margin:10px 0 0}
.bk-opt{color:#A8875A;font-size:9px;letter-spacing:.18em;margin-left:8px}

/* ——— sqft ——— */
.bk-sqftwrap{max-width:320px;margin:0 auto 44px;text-align:center}
.bk-sqftwrap .rd-flab{text-align:center}
#bk-root input.bk-sqft{text-align:center;font-size:21px}

/* ——— selectable cards (services, finishes) ——— */
.bk-svcgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:6px}
.bk-card{display:flex;flex-direction:column;align-items:stretch;text-align:left;background:transparent;border:1px solid #E7E3DA;border-radius:0;padding:24px 26px 20px;cursor:pointer;transition:border-color .25s;font-family:inherit}
.bk-card.on{border-color:#8A6553}
@media (hover:hover){.bk-card:hover{border-color:#8A6553}}
.bk-card:focus-visible{outline:2px solid #A8875A;outline-offset:3px}
.bk-card-name{font-family:Gambarino,serif;font-size:22px;line-height:1.2;color:#14120F;transition:color .2s}
.bk-card-desc{color:#77726A;font-family:Inter,sans-serif;font-size:13.5px;line-height:1.6;margin:10px 0 20px}
.bk-card-price{margin-top:auto;font-family:Gambarino,serif;font-size:18px;color:#14120F;transition:color .2s}
.bk-card.on .bk-card-name,.bk-card.on .bk-card-price{color:#8A6553}
.bk-svcgrid.bk-invalid .bk-card{border-color:#A4432A}

/* ——— finish step (compare slider + two finish cards) ——— */
#bk-root .bk-cmp{margin:0 auto;min-height:0;width:min(100%,calc(52vh*1.7778))}
.bk-fins{display:grid;grid-template-columns:1fr 1fr;gap:14px;width:min(100%,calc(52vh*1.7778));margin:14px auto 0}
.bk-fins.bk-invalid .bk-card{border-color:#A4432A}

/* ——— add-on groups & chips ——— */
.bk-agroup{border-top:1px solid #E7E3DA;padding:24px 0 8px;display:none}
.bk-agroup.show{display:block}
.bk-agroup:first-child{border-top:none;padding-top:0}
.bk-acap{color:#A8875A;letter-spacing:.22em;text-transform:uppercase;font-family:Inter,sans-serif;font-size:10px;font-weight:500;margin-bottom:14px}
.bk-chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}
.bk-chip{font-family:Inter,sans-serif;font-size:12px;letter-spacing:.02em;color:#14120F;background:transparent;border:1px solid #DAD5CB;border-radius:99px;padding:10px 18px;cursor:pointer;transition:color .2s,border-color .2s}
.bk-chip small{color:#77726A;font-size:11px;margin-left:7px;transition:color .2s}
.bk-chip.on{color:#8A6553;border-color:#8A6553}
.bk-chip.on small{color:#8A6553}
@media (hover:hover){.bk-chip:hover{border-color:#8A6553;color:#8A6553}}
.bk-chip:focus-visible{outline:2px solid #A8875A;outline-offset:3px}
.bk-pacecap{color:#77726A;letter-spacing:.18em;text-transform:uppercase;font-family:Inter,sans-serif;font-size:10px;font-weight:500;margin:6px 0 10px;display:block}
.bk-music{max-width:520px;margin-bottom:8px}

/* ——— fields ——— */
#bk-root .bk-grid3{display:grid;grid-template-columns:2fr 1fr 1fr;column-gap:40px;row-gap:30px}
#bk-root input.rd-fin,#bk-root select.rd-fin{height:auto;line-height:1.5;min-height:0}
#bk-root textarea.rd-ftxt{line-height:1.6;min-height:0}
#bk-root input.bk-datein,#bk-root input.bk-datein[readonly]{cursor:pointer;caret-color:transparent;background-color:transparent;background-image:none}

/* ——— calendar panel ——— */
.bk-dwrap{position:relative}
.bk-cal{display:none;position:absolute;top:calc(100% + 10px);left:0;z-index:30;width:296px;max-width:calc(100vw - 44px);background:#FAF9F6;border:1px solid #E7E3DA;box-shadow:0 24px 60px rgba(20,18,15,.13);padding:18px}
.bk-cal.open{display:block;animation:bkin .25s ease}
.bk-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.bk-cal-m{font-family:Gambarino,serif;font-size:16.5px}
.bk-cal-nav{background:none;border:none;cursor:pointer;color:#14120F;font-size:17px;line-height:1;padding:4px 10px;transition:color .2s}
.bk-cal-nav:hover{color:#8A6553}
.bk-cal-nav:disabled{color:#C9C4BA;cursor:default}
.bk-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);row-gap:2px;text-align:center}
.bk-cal-w{color:#A8875A;letter-spacing:.14em;text-transform:uppercase;font-family:Inter,sans-serif;font-size:8.5px;font-weight:500;padding:6px 0 8px}
.bk-cday{background:none;border:1px solid transparent;border-radius:99px;cursor:pointer;font-family:Inter,sans-serif;font-size:12.5px;color:#14120F;padding:7px 0;transition:color .15s,border-color .15s}
.bk-cday:hover{color:#8A6553}
.bk-cday.sel{color:#8A6553;border-color:#8A6553}
.bk-cday.off{color:#C9C4BA;cursor:default}
.bk-cday.off:hover{color:#C9C4BA}
.bk-cday:focus-visible,.bk-cal-nav:focus-visible,.bk-cal-clear:focus-visible{outline:2px solid #A8875A;outline-offset:2px}
.bk-cal-clear{background:none;border:none;cursor:pointer;margin-top:10px;padding:4px 0;color:#77726A;font-family:Inter,sans-serif;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.bk-cal-clear:hover{color:#8A6553}
.bk-field{margin-top:28px}
.bk-field:first-of-type{margin-top:0}
#bk-root .rd-qpair{grid-row-gap:28px}

/* ——— notes / summary / agreement ——— */
.bk-note{border-left:2px solid #E7CD9C;padding:2px 0 2px 18px;color:#77726A;font-family:Inter,sans-serif;font-size:13px;line-height:1.7;margin:30px auto 0;max-width:56ch}
.bk-sum{border-top:1px solid #E7E3DA;margin-top:38px;padding-top:24px}
.bk-sum-cap{color:#8A6553;letter-spacing:.22em;text-transform:uppercase;font-family:Inter,sans-serif;font-size:10px;font-weight:500;margin-bottom:12px}
.bk-ritem{display:flex;justify-content:space-between;gap:14px;padding:7px 0;border-bottom:1px solid #F0EDE6;font-family:Inter,sans-serif;font-size:13.5px}
.bk-ritem .n{color:#3F3B34}
.bk-ritem .p{color:#14120F;white-space:nowrap}
.bk-ritem.sub .n,.bk-ritem.sub .p{color:#77726A;font-size:12.5px}
.bk-sum-tot{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-top:16px}
.bk-sum-tot span{color:#8A6553;letter-spacing:.2em;text-transform:uppercase;font-family:Inter,sans-serif;font-size:10px;font-weight:500}
.bk-sum-tot b{font-family:Gambarino,serif;font-size:27px;font-weight:400}
.bk-sum-note{color:#77726A;font-family:Inter,sans-serif;font-size:12.5px;line-height:1.65;margin-top:12px}
.bk-agree{border-top:1px solid #E7E3DA;padding-top:28px;margin-top:34px}
.bk-agree:first-of-type{border-top:none;padding-top:0;margin-top:0}
.bk-agree h4{font-family:Gambarino,serif;font-size:19px;font-weight:400;margin:0 0 12px}
.bk-agree h5{font-family:Inter,sans-serif;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#8A6553;font-weight:500;margin:20px 0 6px}
.bk-agree p{color:#3F3B34;font-family:Inter,sans-serif;font-size:13.5px;line-height:1.75;margin:0 0 10px;max-width:64ch}
.bk-pill{display:inline-block;color:#14120F;letter-spacing:.18em;text-transform:uppercase;border:1px solid #14120F;border-radius:99px;padding:12px 26px;font-family:Inter,sans-serif;font-size:10.5px;text-decoration:none;background:transparent;transition:color .2s,border-color .2s;margin:8px 0 6px;white-space:nowrap}
@media (hover:hover){.bk-pill:hover{color:#8A6553;border-color:#8A6553}}
.bk-sig{max-width:420px;margin-top:22px}
.bk-sig input{font-family:Gambarino,serif;font-size:21px}
.bk-signed{color:#A8875A;letter-spacing:.18em;text-transform:uppercase;font-family:Inter,sans-serif;font-size:10px;margin-top:8px;opacity:0;transition:opacity .3s}
.bk-agree.signed .bk-signed{opacity:1}

/* ——— errors ——— */
.bk-err{color:#A4432A;font-family:Inter,sans-serif;font-size:13px;text-align:center;margin:22px 0 0;min-height:18px}
.bk-invalid input,.bk-invalid select,.bk-invalid textarea,#bk-root .bk-invalid .rd-fin{border-bottom-color:#A4432A!important}
.bk-invalid .rd-flab{color:#A4432A}

/* ——— bottom bar ——— */
.bk-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;background:rgba(250,249,246,.93);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid #E7E3DA}
.bk-bar-in{max-width:800px;margin:0 auto;padding:13px 24px;display:flex;align-items:center;gap:18px}
.bk-bar-lbl{color:#8A6553;letter-spacing:.18em;text-transform:uppercase;font-family:Inter,sans-serif;font-size:9.5px;font-weight:500;display:block;margin-bottom:2px}
.bk-bar-amt{font-family:Gambarino,serif;font-size:22px;font-weight:400;line-height:1}
.bk-nav{margin-left:auto;display:flex;align-items:center;gap:22px}
.bk-back{background:none;border:none;cursor:pointer;color:#14120F;opacity:.75;font-family:Inter,sans-serif;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px;padding:6px 0}
.bk-back:hover{color:#8A6553;opacity:1}
.bk-next{color:#14120F;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;background:transparent;border:1px solid #14120F;border-radius:99px;padding:14px 30px;font-family:Inter,sans-serif;font-size:11px;white-space:nowrap;transition:color .25s,border-color .25s}
.bk-next:hover{background:transparent;color:#8A6553;border-color:#8A6553}
.bk-back:focus-visible,.bk-next:focus-visible{outline:2px solid #A8875A;outline-offset:3px}

/* ——— success ——— */
.bk-success{display:none;min-height:72vh;align-items:center;justify-content:center;text-align:center;padding:140px 30px 120px}
.bk-success.show{display:flex;animation:bkin .5s ease}
.bk-success .in{max-width:620px}
.bk-success .bk-scap{color:#8A6553;letter-spacing:.26em;text-transform:uppercase;font-family:Inter,sans-serif;font-size:11px;font-weight:500;margin-bottom:22px}
.bk-success h1{font-family:Gambarino,serif;font-size:clamp(34px,4.6vw,56px);font-weight:400;line-height:1.06;margin:0}
.bk-success p{color:#3F3B34;font-family:Inter,sans-serif;font-size:15.5px;line-height:1.75;margin:20px auto 34px;max-width:48ch}

/* ——— responsive ——— */
@media (max-width:991px){
  .bk-top{padding:14px 26px}
  #bk-root .bk-grid3{grid-template-columns:1fr 1fr}
}
@media (max-width:767px){
  .bk-progwrap{margin-top:24px}
  .bk-stage{padding:34px 20px 170px}
  .bk-shead{margin-bottom:32px}
  .bk-svcgrid{grid-template-columns:1fr;gap:12px}
  .bk-fins{grid-template-columns:1fr;gap:12px;width:100%}
  .bk-card{padding:20px 20px 18px}
  #bk-root .bk-grid3{grid-template-columns:1fr;row-gap:26px}
  #bk-root .rd-qpair{grid-template-columns:1fr}
  #bk-root .bk-cmp{width:100%;aspect-ratio:4/3}
  .bk-bar-in{padding:11px 18px;gap:12px}
  .bk-next{padding:12px 22px}
  .bk-nav{gap:14px}
}
@media (prefers-reduced-motion:reduce){
  .bk-step.on,.bk-success.show,.bk-cal.open{animation:none}
  .bk-card,.bk-card *,.bk-chip,.bk-signed,.bk-pill,.bk-prog span,.bk-cday{transition:none!important}
}

/* ——— travel note ——— */
.bk-travel{margin-top:18px;max-width:56ch}
p.bk-hint.bk-travel{color:#8A6553}
