/* v92 — the customer booking system (bk-). One look for /book/, /book/<trade>/, /booked/, /offices/,
 * /realtors/, /homes/ and the vendor pages. Loaded after /styles.css (footer, tokens). Every class
 * here carries the bk- prefix — grep styles.css before adding anything without it. */
.bk-body{background:var(--paper,#F5F3EE);color:var(--bk-ink,#0D2D42);font-variant-numeric:lining-nums}
.bk-body .site-header{display:none}
.bk-top{background:var(--bk-navy,#0e1d31)}
.bk-top .bk-wrap{display:flex;align-items:center;justify-content:space-between;height:68px}
.bk-wrap{max-width:1180px;margin:0 auto;padding:0 28px}
.bk-logo{font-family:var(--font-display,"Playfair Display",serif);font-weight:700;font-size:24px;display:inline-flex;align-items:center;gap:10px;color:#fff;text-decoration:none}
.bk-logo i{width:13px;height:13px;background:var(--gold,#C8A96E);transform:rotate(45deg);display:inline-block;border-radius:2px}
.bk-toplink{font-size:14px;color:#9fb0bf;text-decoration:none}
.bk-toplink b{color:var(--gold-light,#F0DBA8);font-weight:600}
.bk-toplink:hover b{text-decoration:underline}

/* hero: navy to paper, the card straddles the seam on desktop */
.bk-hero{background:linear-gradient(180deg,var(--bk-navy,#0e1d31) 0,var(--bk-ink,#0D2D42) 100%);color:#fff;position:relative}
.bk-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;background:var(--paper,#F5F3EE);z-index:0}
.bk-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 470px;gap:56px;padding-top:40px;padding-bottom:0;align-items:start}
.bk-l{padding-top:26px;min-width:0;padding-bottom:160px}
@media(min-width:901px){.bk-l{position:sticky;top:24px;align-self:start}}
.bk-eb{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold,#C8A96E);font-weight:600;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bk-eb select{appearance:none;-webkit-appearance:none;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5' fill='none' stroke='%23C8A96E' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") right center/14px no-repeat;border:0;border-bottom:1px solid rgba(200,169,110,.5);color:var(--gold,#C8A96E);font:600 13px/1.4 var(--font-body,Sora,sans-serif);letter-spacing:.14em;text-transform:uppercase;padding:2px 18px 2px 0;cursor:pointer;min-height:28px}
.bk-eb select:focus{outline:2px solid rgba(200,169,110,.5);outline-offset:2px;border-radius:4px}
.bk-h1{font-family:var(--font-display,"Playfair Display",serif);font-weight:700;font-size:58px;line-height:1.04;margin:14px 0 16px;letter-spacing:-.01em;color:#fff}
.bk-h1 em{color:var(--gold,#C8A96E);font-style:italic}
.bk-h1 .bk-h1-sm{display:block;font-family:var(--font-body,Sora,sans-serif);font-weight:500;font-size:17px;letter-spacing:0;color:#b9c6d1;margin-bottom:10px;line-height:1.4}
.bk-sub{color:#b9c6d1;font-size:17px;line-height:1.6;max-width:470px;margin:0}
.bk-cats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:24px;max-width:520px}
.bk-cat{border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:14px 8px;text-align:center;color:#dbe4ea;font-size:13.5px;display:flex;flex-direction:column;align-items:center;gap:7px;text-decoration:none;min-height:44px;transition:background .15s,border-color .15s,transform .15s}
.bk-cat svg{color:var(--gold,#C8A96E);width:22px;height:22px}
.bk-cat:hover{border-color:rgba(200,169,110,.6);transform:translateY(-1px)}
.bk-cat.on{background:var(--gold,#C8A96E);color:var(--bk-navy,#0e1d31);border-color:var(--gold,#C8A96E);font-weight:600}
.bk-cat.on svg{color:var(--bk-navy,#0e1d31)}
.bk-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;position:relative}
.bk-chips[hidden]{display:none}
.bk-chip{border:1px solid rgba(255,255,255,.18);color:#dbe4ea;border-radius:999px;padding:9px 15px;font-size:14px;text-decoration:none;white-space:nowrap;min-height:38px;display:inline-flex;align-items:center;transition:border-color .15s,background .15s}
.bk-chip:hover{border-color:rgba(200,169,110,.7)}
.bk-chip.on{background:var(--gold,#C8A96E);border-color:var(--gold,#C8A96E);color:var(--bk-navy,#0e1d31);font-weight:600}
.bk-chip.bk-quote{border-style:dashed}
.bk-ticks{margin-top:34px;display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;max-width:470px}
.bk-tick{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:#dbe4ea}
.bk-tick::before{content:"";width:18px;height:18px;border-radius:50%;flex:none;background:var(--green,#16803C) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='white' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") center/12px no-repeat}
.bk-ticks a{color:#fff;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--gold,#C8A96E)}

/* the card */
.bk-card-slot{min-width:0;position:relative}.bk-card-slot>span[id]{position:absolute;top:-90px;height:0;width:0}
.bk-card{background:#fff;border-radius:22px;box-shadow:0 30px 80px -25px rgba(0,0,0,.55);overflow:clip;color:var(--bk-ink,#0D2D42);position:relative}
.bk-prog{height:4px;background:var(--paper,#F5F3EE)}
.bk-prog i{display:block;height:100%;width:33%;background:var(--gold,#C8A96E);transition:width .35s ease}
.bk-ch{padding:22px 24px 6px;display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.bk-ch h2{font-family:var(--font-display,"Playfair Display",serif);font-size:24px;margin:0;font-weight:700;letter-spacing:-.01em}
.bk-ch span{font-size:13px;color:var(--steel,#6A7A8A);white-space:nowrap}
.bk-q{padding:12px 24px}
.bk-q>label,.bk-lbl{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--steel,#6A7A8A);display:block;margin-bottom:8px}
.bk-q .bk-note{font-size:12.5px;color:var(--steel,#6A7A8A);margin:6px 0 0}
.bk-seg{display:flex;flex-wrap:wrap;background:var(--paper,#F5F3EE);border-radius:12px;padding:4px;gap:4px}
.bk-seg button{flex:1 1 auto;min-width:0;text-align:center;padding:10px 8px;border-radius:9px;font:500 14.5px/1.2 var(--font-body,Sora,sans-serif);color:var(--bk-ink,#0D2D42);background:transparent;border:0;cursor:pointer;min-height:44px;transition:background .15s,box-shadow .15s}
.bk-seg button.on{background:#fff;box-shadow:0 2px 8px rgba(13,45,66,.15);font-weight:600}
.bk-seg button:focus-visible{outline:2px solid var(--gold,#C8A96E);outline-offset:-2px}
.bk-seg.bk-seg-5 button{flex-basis:calc(20% - 4px);font-size:13.5px;padding:10px 4px}
.bk-seg.bk-seg-wrap button{flex-basis:calc(50% - 4px)}
.bk-seg.bk-seg-5.bk-seg-wrap button{flex-basis:calc(33.33% - 4px)}
.bk-price{margin:14px 24px 0;padding:20px;border-radius:16px;background:var(--bk-navy,#0e1d31);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:14px}
.bk-price small{display:block;font-size:12px;color:#9fb0bf;letter-spacing:.05em;text-transform:uppercase}
.bk-price b{font-family:var(--font-display,"Playfair Display",serif);font-size:46px;line-height:1;color:#fff;font-weight:700;display:block;margin-top:4px;transition:opacity .2s}
.bk-price b.bk-tick-anim{animation:bkPop .35s ease}
@keyframes bkPop{0%{transform:translateY(4px);opacity:.6}100%{transform:none;opacity:1}}
.bk-price i{font-style:normal;font-size:12.5px;color:var(--gold-light,#F0DBA8);text-align:right;line-height:1.5;max-width:44%}
.bk-price.bk-quoteblk{display:block}
.bk-price.bk-quoteblk b{font-size:24px;line-height:1.25}
.bk-price .bk-lines{margin:12px 0 0;padding:12px 0 0;border-top:1px solid rgba(255,255,255,.12);font-size:13px;color:#dbe4ea;list-style:none}
.bk-price .bk-lines li{display:flex;justify-content:space-between;gap:12px;padding:3px 0}
.bk-foot{padding:18px 24px 24px}
.bk-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 17px var(--font-body,Sora,sans-serif);border:0;border-radius:12px;padding:18px 26px;cursor:pointer;background:var(--gold,#C8A96E);color:var(--bk-navy,#0e1d31);width:100%;min-height:52px;transition:background .15s,transform .15s}
.bk-btn:hover{background:var(--gold-deep,#AE8D50)}
.bk-btn:active{transform:translateY(1px)}
.bk-btn[disabled]{opacity:.6;cursor:wait}
.bk-btn.bk-ghost{background:transparent;color:var(--bk-ink,#0D2D42);border:1px solid var(--line,#e3ded3);width:auto;padding:10px 16px;font-size:14px;min-height:40px}
.bk-fine{font-size:12.5px;color:var(--steel,#6A7A8A);text-align:center;margin-top:10px}
.bk-fine a{color:inherit}
.bk-back{background:none;border:0;color:var(--steel,#6A7A8A);font:500 13px var(--font-body,Sora,sans-serif);cursor:pointer;padding:6px 0;min-height:32px}
.bk-back:hover{color:var(--bk-ink,#0D2D42)}
.bk-in{width:100%;border:1px solid var(--line,#e3ded3);border-radius:12px;padding:13px 14px;font:400 15.5px var(--font-body,Sora,sans-serif);color:var(--bk-ink,#0D2D42);background:#fff;min-height:48px}
.bk-in:focus{outline:2px solid var(--gold,#C8A96E);outline-offset:0;border-color:var(--gold,#C8A96E)}
.bk-in.bk-bad{border-color:#8C2F2F}
.bk-msg{font-size:12.5px;color:#8C2F2F;margin:6px 0 0}
textarea.bk-in{min-height:84px;resize:vertical}
.bk-row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bk-tasks input{margin-bottom:8px}
.bk-photos{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.bk-photo{width:64px;height:64px;border-radius:10px;object-fit:cover;border:1px solid var(--line,#e3ded3);background:var(--paper,#F5F3EE)}
.bk-photo-add{width:64px;height:64px;border-radius:10px;border:1px dashed var(--steel,#6A7A8A);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--steel,#6A7A8A);font-size:22px;background:#fff}
.bk-photo-add input{display:none}
.bk-windows{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bk-windows button{border:1px solid var(--line,#e3ded3);border-radius:12px;background:#fff;padding:12px;font:500 14.5px var(--font-body,Sora,sans-serif);color:var(--bk-ink,#0D2D42);cursor:pointer;min-height:48px}
.bk-windows button.on{border-color:var(--bk-ink,#0D2D42);background:var(--bk-ink,#0D2D42);color:#fff;font-weight:600}
.bk-legal{font-size:12px;color:var(--steel,#6A7A8A);line-height:1.6;margin:12px 0 0}
.bk-legal a{color:inherit}
.bk-next{margin:14px 24px 0;padding:0 0 0 20px;font-size:13.5px;line-height:1.7;color:var(--bk-ink,#0D2D42)}
.bk-err{margin:0 24px;padding:12px 14px;border-radius:10px;background:#FBEAEA;color:#8C2F2F;font-size:13.5px}
.bk-sum{margin:0 24px;padding:12px 14px;border-radius:12px;background:var(--paper,#F5F3EE);font-size:13.5px;line-height:1.5}
.bk-sum b{display:block;font-size:15px}
.bk-step{animation:bkIn .3s ease}
@keyframes bkIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* below the fold */
.bk-below{padding:0 0 60px}
.bk-sec{padding:44px 0 0}
.bk-sec h2{font-family:var(--font-display,"Playfair Display",serif);font-size:34px;line-height:1.15;margin:8px 0 14px;font-weight:700;letter-spacing:-.01em}
.bk-sec h3{font-family:var(--font-display,"Playfair Display",serif);font-size:22px;margin:0 0 12px;font-weight:700}
.bk-eb2{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep,#AE8D50);font-weight:600}
.bk-two{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:start}
.bk-p{color:var(--bk-ink,#0D2D42);font-size:15.5px;line-height:1.7;max-width:68ch}
.bk-p a,.bk-box a,.bk-city a{color:var(--gold-deep,#AE8D50);text-decoration:underline;text-underline-offset:3px}
.bk-table{width:100%;border-collapse:collapse;font-size:15px;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 0 0 1px var(--line,#e3ded3)}
.bk-table th{background:var(--bk-navy,#0e1d31);color:#fff;text-align:left;padding:12px 16px;font-weight:600}
.bk-table td{padding:12px 16px}
.bk-table tr:nth-child(odd) td{background:var(--paper,#F5F3EE)}
.bk-table td b{font-weight:700}
.bk-src{font-size:12.5px;color:var(--steel,#6A7A8A);margin-top:10px;line-height:1.6}
.bk-box{background:#fff;border-radius:18px;padding:26px;box-shadow:0 0 0 1px var(--line,#e3ded3)}
.bk-box ol,.bk-box ul{margin:0;padding-left:20px;font-size:14.5px;line-height:1.75}
.bk-box p{font-size:14.5px;line-height:1.7;margin:0}
.bk-moves{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:16px}
.bk-moves div{background:#fff;border-radius:14px;padding:16px;box-shadow:0 0 0 1px var(--line,#e3ded3);font-size:14px;line-height:1.55}
.bk-moves b{display:block;margin-bottom:4px}
.bk-incl{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:16px}
.bk-incl ul{margin:0;padding-left:20px;font-size:14.5px;line-height:1.7}
.bk-citynav{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0}
.bk-citynav a{display:inline-block;padding:8px 14px;border-radius:99px;border:1px solid var(--line,#e3ded3);color:var(--bk-ink,#0D2D42);text-decoration:none;font-size:14px;background:#fff;min-height:36px}
.bk-city{padding:22px 0 0;border-top:1px solid var(--line,#e3ded3);margin-top:22px}
.bk-city p{font-size:15px;line-height:1.7;margin:0 0 8px;max-width:72ch}
.bk-faq details{background:#fff;border-radius:12px;padding:14px 16px;margin-bottom:10px;box-shadow:0 0 0 1px var(--line,#e3ded3)}
.bk-faq summary{cursor:pointer;font-weight:600;min-height:28px}
.bk-faq p{margin:10px 0 0;font-size:14.5px;line-height:1.7}
.bk-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.bk-links a{display:inline-block;padding:9px 15px;border-radius:999px;border:1px solid var(--line,#e3ded3);background:#fff;color:var(--bk-ink,#0D2D42);text-decoration:none;font-size:14px}
.bk-links a:hover{border-color:var(--gold,#C8A96E)}
.bk-menu{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:16px}
.bk-menu a{display:flex;justify-content:space-between;gap:10px;align-items:baseline;background:#fff;border-radius:14px;padding:16px 18px;text-decoration:none;color:var(--bk-ink,#0D2D42);box-shadow:0 0 0 1px var(--line,#e3ded3);transition:transform .15s,box-shadow .15s}
.bk-menu a:hover{transform:translateY(-2px);box-shadow:0 0 0 1px var(--gold,#C8A96E)}
.bk-menu b{font-size:16px}.bk-menu span{font-size:13.5px;color:var(--steel,#6A7A8A);white-space:nowrap}

/* booked page */
.bk-done{background:linear-gradient(180deg,var(--bk-navy,#0e1d31) 0,var(--bk-ink,#0D2D42) 100%);color:#fff;padding:60px 0 80px;position:relative}
.bk-done .bk-grid{padding-top:0;grid-template-columns:1fr 590px;align-items:center}
.bk-done .bk-l{padding-bottom:0}
.bk-done-ok{width:56px;height:56px;border-radius:50%;background:var(--green,#16803C);display:flex;align-items:center;justify-content:center;font-size:26px;margin-bottom:22px}
.bk-done h1{font-family:var(--font-display,"Playfair Display",serif);font-size:56px;line-height:1.04;margin:0 0 12px;color:#fff}
.bk-done .bk-sub{font-size:16px}
.bk-up{background:#fff;border-radius:22px;padding:28px;color:var(--bk-ink,#0D2D42);box-shadow:0 30px 80px -25px rgba(0,0,0,.55)}
.bk-up h2{font-family:var(--font-display,"Playfair Display",serif);font-size:26px;margin:0 0 4px}
.bk-up>p{font-size:14px;color:var(--steel,#6A7A8A);margin:0 0 18px}
.bk-offers{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bk-offer{border:1px solid var(--line,#e3ded3);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:8px}
.bk-offer .bk-ico{width:52px;height:52px;border-radius:12px;background:var(--paper,#F5F3EE);display:flex;align-items:center;justify-content:center;color:var(--gold-deep,#AE8D50)}
.bk-offer b{font-size:15.5px}
.bk-offer span{font-size:13.5px;color:var(--steel,#6A7A8A);line-height:1.5}
.bk-offer .bk-btn{width:auto;align-self:flex-start;background:#fff;color:var(--bk-ink,#0D2D42);border:1px solid var(--bk-ink,#0D2D42);padding:9px 16px;font-size:14px;min-height:40px;margin-top:auto}
.bk-offer .bk-btn:hover{background:var(--bk-ink,#0D2D42);color:#fff}
.bk-offer.bk-added{border-color:var(--green,#16803C)}
.bk-offer.bk-added .bk-btn{background:var(--green,#16803C);color:#fff;border-color:var(--green,#16803C)}
.bk-allset{display:block;text-align:center;margin-top:16px;font-size:14px;color:var(--steel,#6A7A8A)}
.bk-total{margin-top:18px;padding-top:14px;border-top:1px solid var(--line,#e3ded3);display:flex;justify-content:space-between;font-size:14.5px}
.bk-total b{font-size:18px}

@media(max-width:900px){
  .bk-wrap{padding:0 18px}
  .bk-top .bk-wrap{height:58px}.bk-logo{font-size:21px}
  .bk-hide-m{display:none!important}
  .bk-hero::after{height:0}
  .bk-grid{grid-template-columns:1fr;gap:18px;padding-top:14px;padding-bottom:0}
  .bk-l{padding-top:4px;padding-bottom:0}
  .bk-h1{font-size:36px}.bk-h1 .bk-h1-sm{font-size:14px}
  .bk-sub{font-size:15px}
  .bk-cats{gap:8px;margin-top:16px;max-width:none}.bk-cat{padding:11px 4px;font-size:12.5px}
  .bk-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-right:36px;margin-right:-18px;padding-bottom:2px}
  .bk-chips::-webkit-scrollbar{display:none}
  .bk-chips-fade::after{content:"";position:absolute;right:0;top:0;bottom:0;width:48px;background:linear-gradient(90deg,rgba(13,45,66,0),var(--bk-ink,#0D2D42));pointer-events:none}
  .bk-ticks{display:none}
  .bk-ticks-m{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;margin:18px 0 0}
  .bk-ticks-m .bk-tick{color:#dbe4ea}
  .bk-ticks-m .bk-tick a{color:#fff;text-decoration-color:var(--gold,#C8A96E)}
  .bk-card{border-radius:22px 22px 0 0;margin:0 -18px;box-shadow:0 -10px 40px -20px rgba(0,0,0,.4)}
  .bk-price b{font-size:38px}
  .bk-seg.bk-seg-5 button{flex-basis:calc(33.33% - 4px)}
  .bk-seg.bk-seg-5.bk-seg-wrap button{flex-basis:calc(50% - 4px)}
  .bk-two{grid-template-columns:minmax(0,1fr);gap:28px}
  .bk-two>*{min-width:0;max-width:100%}
  .bk-sec h2{font-size:27px}
  .bk-incl{grid-template-columns:1fr}
  .bk-done{padding:34px 0 50px}
  .bk-done .bk-grid{grid-template-columns:1fr}
  .bk-done h1{font-size:40px}
  .bk-offers{grid-template-columns:1fr}
  .bk-up{padding:22px}
}
@media(min-width:901px){.bk-ticks-m{display:none}}
@media(prefers-reduced-motion:reduce){.bk-step,.bk-price b.bk-tick-anim{animation:none}.bk-prog i{transition:none}}
/* v92 — vendor calendar inside the card, and the in-card offers */
.bk-cal{background:var(--paper,#F5F3EE);border-radius:12px;padding:10px}
.bk-calhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:14px}
.bk-dow{display:grid;grid-template-columns:repeat(7,1fr);font-size:11px;color:var(--steel,#6A7A8A);text-align:center;letter-spacing:.04em}
.bk-grid7{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.bk-cell{aspect-ratio:1/1;border:0;border-radius:8px;background:transparent;font:500 13.5px var(--font-body,Sora,sans-serif);color:var(--bk-ink,#0D2D42);cursor:pointer;min-height:36px}
.bk-cell:disabled{color:var(--steel,#6A7A8A);opacity:.35;cursor:not-allowed}
.bk-cell.bk-free{background:#fff;box-shadow:0 0 0 1px var(--line,#e3ded3)}
.bk-cell.on{background:var(--bk-ink,#0D2D42);color:#fff;font-weight:700}
.bk-card .bk-offers{grid-template-columns:1fr}
.bk-tick.bk-link::before{display:none}
/* v92 — referral cards */
.bk-ref{margin-top:14px}
.bk-done .bk-grid>div:last-child{display:grid;gap:14px}
.rf-mine{background:var(--paper,#F5F3EE);border-radius:12px;padding:14px 16px;margin-top:8px}
.rf-mine code{display:block;font-size:14px;word-break:break-all;background:#fff;padding:10px 12px;border-radius:8px;margin:0 0 8px}
.rf-list{list-style:none;margin:12px 0 0;padding:0;font-size:14px}
.rf-list li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--line,#e3ded3)}
.bk-total[hidden],.bk-up[hidden],.bk-ref[hidden]{display:none}
/* v93 */
.bk-chk{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--steel,#6A7A8A);line-height:1.5;margin-top:8px}
.bk-chk input{margin-top:3px;width:18px;height:18px;accent-color:var(--gold-deep,#AE8D50);flex:none}
.bk-modes{display:flex;background:rgba(255,255,255,.08);border-radius:12px;padding:4px;gap:4px;margin:18px 0 0;max-width:560px}
.bk-modes a{flex:1 1 auto;text-align:center;padding:10px 6px;border-radius:9px;font-size:13.5px;color:#dbe4ea;text-decoration:none;min-height:40px;display:flex;align-items:center;justify-content:center}
.bk-modes a.on{background:#fff;color:var(--bk-ink,#0D2D42);font-weight:600}
.bk-warn{background:#FBEAEA;color:#8C2F2F;border-radius:10px;padding:10px 12px;font-size:13px;margin-top:8px}
.bk-quotelist{background:var(--paper,#F5F3EE);border-radius:12px;padding:12px 14px;font-size:13.5px;line-height:1.55;margin-top:10px}
.bk-quotelist b{display:block;margin-bottom:4px}
@media(max-width:600px){.bk-modes{flex-wrap:wrap}.bk-modes a{flex-basis:calc(50% - 4px)}}
.bk-card .bk-modes{background:var(--paper,#F5F3EE);margin:0;max-width:none}
.bk-card .bk-modes a{color:var(--bk-ink,#0D2D42)}
.bk-card .bk-modes a.on{box-shadow:0 2px 8px rgba(13,45,66,.15)}

/* v94 — the whole quote form on one card: numbered groups, toggle chips with their own delta,
 * "or type it" square footage, and a price dock that stays in view while you answer. */
.bk-grp{padding:6px 0 4px;border-top:1px solid var(--line,#ece8df)}
.bk-grp:first-of-type{border-top:0}
.bk-grp-t{margin:14px 24px 2px;font:600 12.5px/1.3 var(--font-body,Sora,sans-serif);letter-spacing:.1em;text-transform:uppercase;color:var(--steel,#6A7A8A);display:flex;align-items:center;gap:10px}
.bk-grp-t i{font-style:normal;width:22px;height:22px;border-radius:50%;background:var(--paper,#F5F3EE);color:var(--bk-ink,#0D2D42);display:inline-flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:700;letter-spacing:0}
.bk-q label small{font-weight:400;color:var(--steel,#6A7A8A);text-transform:none;letter-spacing:0;font-size:12px;margin-left:4px}
.bk-chipset{display:flex;flex-wrap:wrap;gap:8px}
.bk-chip-t{display:inline-flex;align-items:center;gap:8px;padding:9px 12px 9px 14px;border-radius:999px;border:1.5px solid var(--line,#e3ded3);background:#fff;color:var(--bk-ink,#0D2D42);font:500 13.5px/1.2 var(--font-body,Sora,sans-serif);cursor:pointer;min-height:40px;transition:border-color .15s,background .15s,transform .15s}
.bk-chip-t em{font-style:normal;font-size:12px;color:var(--steel,#6A7A8A);font-weight:600}
.bk-chip-t::before{content:"+";width:16px;height:16px;border-radius:50%;border:1.5px solid var(--line,#cfc9bc);display:inline-flex;align-items:center;justify-content:center;font-size:12px;line-height:1;color:var(--steel,#6A7A8A);margin-right:-2px}
.bk-chip-t.on{border-color:var(--bk-ink,#0D2D42);background:var(--bk-ink,#0D2D42);color:#fff}
.bk-chip-t.on em{color:var(--gold-light,#F0DBA8)}
.bk-chip-t.on::before{content:"✓";background:var(--gold,#C8A96E);border-color:var(--gold,#C8A96E);color:var(--bk-ink,#0D2D42)}
.bk-chip-t:focus-visible{outline:2px solid var(--gold,#C8A96E);outline-offset:2px}
.bk-sqft{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:12.5px;color:var(--steel,#6A7A8A)}
.bk-sqft .bk-in{width:120px;min-height:40px;padding:8px 10px;font-size:14px;-moz-appearance:textfield}
.bk-sqft .bk-in::-webkit-outer-spin-button,.bk-sqft .bk-in::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.bk-dock{position:sticky;bottom:0;z-index:3;background:#fff;padding-top:6px;margin-top:8px;box-shadow:0 -16px 24px -18px rgba(13,45,66,.35)}
.bk-dock .bk-price{margin-top:8px}
.bk-dock .bk-foot{padding-top:14px}
@media(max-width:900px){.bk-dock{display:flex;align-items:stretch;gap:10px;padding:10px 16px 12px}.bk-dock .bk-price{flex:1 1 40%;margin:0;padding:10px 14px;border-radius:14px;display:block;min-width:0}.bk-dock .bk-price b{font-size:26px;margin-top:2px}.bk-dock .bk-price i{display:block;text-align:left;max-width:none;font-size:11px;margin-top:4px;line-height:1.3}.bk-dock .bk-price i br{display:none}.bk-dock .bk-foot{flex:1 1 40%;padding:0;display:flex;flex-direction:column;justify-content:center}.bk-dock .bk-fine{font-size:11px;margin-top:6px}}
.bk-price.bk-range{display:block}
.bk-price.bk-range i{display:block;max-width:none;text-align:left;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.12);color:#dbe4ea;font-size:12.5px}
.bk-price.bk-range i b{font-family:var(--font-body,Sora,sans-serif);font-size:13px;display:inline;margin:0;color:#fff}
select.bk-in{appearance:none;-webkit-appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5' fill='none' stroke='%230D2D42' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") right 12px center/16px no-repeat;padding-right:36px;font-weight:600}

.bk-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:14px}
.bk-tablewrap .bk-table{min-width:360px}

/* v95 — fun to complete: tiles, the little house, one group at a time, receipt, toast, confetti */
.bk-ch{align-items:flex-start}
.bk-ch>div:first-child{display:flex;flex-direction:column;gap:2px;min-width:0}
.bk-avatar{flex:0 0 auto;width:118px;height:88px;margin:-6px -4px -10px 0}
.bk-avatar .bk-house{width:100%;height:100%;display:block}
.bk-avatar.bk-pop .bk-house{animation:bkPopIn .45s cubic-bezier(.34,1.56,.64,1)}
@keyframes bkPopIn{0%{transform:scale(.92);opacity:.6}100%{transform:scale(1);opacity:1}}
.bk-h-ground{stroke:#d9d2c3;stroke-width:2;stroke-linecap:round}
.bk-h-body{fill:#fff;stroke:var(--bk-ink,#0D2D42);stroke-width:2}
.bk-h-win{fill:var(--gold-light,#F0DBA8);stroke:var(--bk-ink,#0D2D42);stroke-width:1.2}
.bk-h-door{fill:var(--gold,#C8A96E);stroke:var(--bk-ink,#0D2D42);stroke-width:1.2}
.bk-h-roof{fill:var(--bk-ink,#0D2D42)}
.bk-h-roofline{fill:var(--bk-ink,#0D2D42)}
.bk-h-chim{fill:var(--gold,#C8A96E)}
.bk-h-tree{fill:#9cc7a9;stroke:var(--green,#16803C);stroke-width:1.5}
.bk-h-trunk{stroke:var(--green,#16803C);stroke-width:2;stroke-linecap:round}
.bk-tiles button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px 9px}
.bk-tiles .bk-ico{width:26px;height:26px;transition:transform .15s,opacity .15s;opacity:.75}
.bk-tiles button.on .bk-ico{transform:translateY(-1px);opacity:1}
.bk-ico .duo{fill:var(--gold-light,#F0DBA8);stroke:var(--bk-ink,#0D2D42);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}
.bk-ico .duo2{fill:var(--gold,#C8A96E);stroke:var(--bk-ink,#0D2D42);stroke-width:1.5;stroke-linejoin:round}
.bk-ico .ln{fill:none;stroke:var(--bk-ink,#0D2D42);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.bk-seg button.bk-num span{font-family:var(--font-display,"Playfair Display",serif);font-size:19px;font-weight:700;line-height:1.1}
.bk-tiles button span{font-size:13px;line-height:1.2}
.bk-tiles.bk-seg-5 button{flex-basis:calc(20% - 4px)}
@media(max-width:900px){.bk-tiles.bk-seg-5 button{flex-basis:calc(33.33% - 4px)}}
.bk-grp.bk-open{animation:bkSlide .38s cubic-bezier(.22,1,.36,1)}
@keyframes bkSlide{0%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:none}}
.bk-grp-t .bk-of{margin-left:auto;font-weight:500;letter-spacing:0;text-transform:none;font-size:12px;color:var(--steel,#6A7A8A)}
.bk-grp.bk-gdone{padding:6px 0 10px;background:linear-gradient(180deg,#fff,#faf8f3)}
.bk-grp.bk-gdone .bk-grp-t{margin-bottom:0;color:var(--bk-ink,#0D2D42)}
.bk-grp.bk-gdone .bk-grp-t i.bk-ok,.bk-ok{background:var(--green,#16803C);color:#fff;font-size:11px}
.bk-embed-done .bk-ok{display:inline-flex;width:20px;height:20px;border-radius:50%;align-items:center;justify-content:center;margin-right:6px}
.bk-edit{margin-left:auto;background:transparent;border:1px solid var(--line,#e3ded3);border-radius:999px;padding:3px 10px;font:600 11.5px var(--font-body,Sora,sans-serif);color:var(--bk-ink,#0D2D42);cursor:pointer;letter-spacing:0;text-transform:none}
.bk-edit:hover{border-color:var(--gold,#C8A96E)}
.bk-sum2{margin:4px 24px 0 56px;font-size:13.5px;color:var(--bk-ink,#0D2D42);line-height:1.45}
.bk-react{margin:3px 24px 0 56px;font-size:12.5px;color:var(--gold-deep,#AE8D50);font-style:italic;line-height:1.4;animation:bkFade .5s ease .1s both}
@keyframes bkFade{0%{opacity:0}100%{opacity:1}}
.bk-receipt{margin:0 24px;padding:12px 14px;background:var(--paper,#F5F3EE);border-radius:12px;animation:bkFade .25s ease}
.bk-receipt ul{list-style:none;margin:0;padding:0;font-size:13px}
.bk-receipt li{display:flex;justify-content:space-between;gap:12px;padding:3px 0;border-bottom:1px dashed rgba(13,45,66,.12)}
.bk-receipt li:last-child{border-bottom:0}
.bk-receipt li.bk-r-base{font-weight:600}
.bk-receipt li b{font-family:var(--font-body,Sora,sans-serif);font-weight:600;white-space:nowrap}
.bk-receipt .bk-note{margin:8px 0 0;font-size:11.5px;color:var(--steel,#6A7A8A)}
.bk-rtog{display:block;margin:8px 24px 0 auto;background:transparent;border:0;color:var(--steel,#6A7A8A);font:500 12.5px var(--font-body,Sora,sans-serif);text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:2px 0}
.bk-dock{position:relative}
.bk-toast{position:absolute;left:50%;top:-14px;transform:translate(-50%,8px);background:var(--bk-ink,#0D2D42);color:#fff;font-size:12.5px;padding:6px 12px;border-radius:999px;box-shadow:0 8px 24px -8px rgba(13,45,66,.5);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;white-space:nowrap;max-width:90%;overflow:hidden;text-overflow:ellipsis;z-index:4}
.bk-toast b{color:var(--gold-light,#F0DBA8);font-weight:700;margin-right:2px}
.bk-toast.on{opacity:1;transform:translate(-50%,-4px)}
.bk-foot-in{padding:8px 24px 18px;position:relative}
.bk-confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:5}
.bk-confetti i{position:absolute;top:38%;width:8px;height:12px;border-radius:2px;opacity:0;animation:bkConf 1.5s cubic-bezier(.2,.7,.3,1) forwards}
@keyframes bkConf{0%{opacity:1;transform:translate(0,0) rotate(0)}70%{opacity:1}100%{opacity:0;transform:translate(var(--x),calc(var(--y) + 160px)) rotate(var(--r))}}
@media(prefers-reduced-motion:reduce){.bk-grp.bk-open,.bk-react,.bk-avatar.bk-pop .bk-house,.bk-confetti i{animation:none}.bk-toast{transition:none}}
@media(max-width:900px){.bk-avatar{width:92px;height:70px;margin-right:-2px}.bk-sum2,.bk-react{margin-left:24px}}
/* v95 — realtor pieces: a checklist where each ticked piece opens its own form */
.bk-pieces{display:grid;gap:10px}
.bk-piece{border:1.5px solid var(--line,#e3ded3);border-radius:14px;background:#fff;overflow:clip;transition:border-color .15s,box-shadow .15s}
.bk-piece.on{border-color:var(--bk-ink,#0D2D42)}
.bk-piece.done{border-color:var(--green,#16803C);box-shadow:0 0 0 3px rgba(22,128,60,.08)}
.bk-piece .bk-job{border:0;border-radius:0;margin:0}
.bk-piece-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 14px;background:var(--paper,#F5F3EE);font-size:12.5px;color:var(--steel,#6A7A8A)}
.bk-piece.done .bk-piece-bar{color:var(--green,#16803C);font-weight:600}
.bk-piece-bar .bk-edit{margin-left:0}
.bk-embed{border-top:1px solid var(--line,#ece8df);background:#fff}
.bk-embed .bk-grp:first-of-type{border-top:0}
.bk-embed .bk-q{padding:10px 16px}
.bk-embed .bk-grp-t{margin-left:16px;margin-right:16px}
.bk-embed .bk-sum2,.bk-embed .bk-react{margin-left:48px;margin-right:16px}
.bk-embed .bk-foot-in{padding:6px 16px 16px}
.bk-embed .bk-embed-done{padding:12px 16px;color:var(--green,#16803C);font-weight:600}
@media(max-width:900px){.bk-dock{flex-wrap:wrap}.bk-dock .bk-receipt{flex:0 0 100%;order:-1;margin:0 0 8px}.bk-dock .bk-rtog{flex:0 0 100%;order:3;margin:6px 0 0;text-align:right}.bk-dock .bk-toast{top:-10px}}
/* v96 — realtor plan: piece tiles + a dated timeline of stops, each with an embedded card */
.bk-ptiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.bk-ptile{background:var(--paper,#F5F3EE);border:1.5px solid transparent;border-radius:14px;padding:12px 6px 10px;text-align:center;font:500 12.5px/1.2 var(--font-body,Sora,sans-serif);color:var(--bk-ink,#0D2D42);position:relative;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:5px;min-height:84px;transition:border-color .15s,background .15s,transform .15s}
.bk-ptile .bk-ico{width:28px;height:28px;opacity:.8}
.bk-ptile em{font-style:normal;font-size:11px;color:var(--steel,#6A7A8A)}
.bk-ptile.on{background:#fff;border-color:var(--bk-ink,#0D2D42);box-shadow:0 4px 14px -8px rgba(13,45,66,.4)}
.bk-ptile.on .bk-ico{opacity:1}
.bk-ptile.on::after{content:"✓";position:absolute;top:6px;right:8px;width:16px;height:16px;border-radius:50%;background:var(--green,#16803C);color:#fff;font-size:10px;display:flex;align-items:center;justify-content:center}
.bk-ptile.quote{border-style:dashed;border-color:var(--line,#e3ded3)}
.bk-ptile:disabled{opacity:.9;cursor:default}
.bk-ptile:focus-visible{outline:2px solid var(--gold,#C8A96E);outline-offset:2px}
.bk-tl{margin:4px 24px 8px;position:relative;padding-left:26px}
.bk-tl::before{content:"";position:absolute;left:9px;top:10px;bottom:16px;width:2px;background:var(--line,#e3ded3)}
.bk-stop{position:relative;background:#fff;border:1.5px solid var(--bk-ink,#0D2D42);border-radius:14px;padding:10px 12px;margin-bottom:8px}
.bk-stop::before{content:"";position:absolute;left:-23px;top:14px;width:12px;height:12px;border-radius:50%;background:var(--gold,#C8A96E);border:2.5px solid var(--gold,#C8A96E)}
.bk-stop.exact{border-color:var(--green,#16803C)}.bk-stop.exact::before{background:var(--green,#16803C);border-color:var(--green,#16803C)}
.bk-stop-d{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-deep,#AE8D50);font-weight:600}
.bk-stop-t{display:flex;align-items:center;gap:8px;margin-top:2px}
.bk-stop-t .bk-ico{width:24px;height:24px;flex:none}
.bk-stop-t b{font-size:14.5px;flex:1;min-width:0}.bk-stop-t em{font-style:normal;font-weight:700;font-size:15px}
.bk-stop-s{font-size:12px;color:var(--steel,#6A7A8A);margin-top:2px;padding-left:32px;line-height:1.45}
.bk-stop.exact .bk-stop-s{color:var(--green,#16803C)}
.bk-stop-a{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px;padding-left:32px;align-items:center}
.bk-pill{font-size:11.5px;padding:5px 9px;border-radius:999px;background:var(--bk-ink,#0D2D42);color:#fff;font-weight:600}
.bk-pill.ok{background:var(--green,#16803C)}
.bk-stop .bk-edit{margin-left:0}
.bk-stop .bk-react{margin:6px 0 0 32px}
.bk-stop .bk-embed{margin:10px -12px -10px;border-top:1px dashed var(--line,#e3ded3);border-radius:0 0 12px 12px}
.bk-embed .bk-grp:first-of-type{border-top:0}
@media(max-width:900px){.bk-tl{margin:4px 18px 8px}.bk-ptiles{gap:6px}.bk-ptile{padding:10px 4px 8px;font-size:12px}.bk-stop-s,.bk-stop-a,.bk-stop .bk-react{padding-left:0;margin-left:0}}
.bk-card .bk-row2 .bk-seg{margin-top:0}

/* v97 — stops, alerts, notices, per-option notes */
.bk-stopbar{margin:0 24px 10px;padding:12px 14px;border-radius:12px;background:#FBEFEA;border:1px solid #E8C5B8;color:#5A2A1A;font-size:13.5px;line-height:1.5}
.bk-stopbar b{display:block;margin-bottom:2px}
.bk-stopbar a{color:#0D2D42;font-weight:600}
.bk-alertbar{margin:0 24px 10px;padding:12px 14px;border-radius:12px;background:var(--bk-navy,#0e1d31);color:#fff;font-size:13.5px;line-height:1.5}
.bk-callnow{display:inline-flex;width:auto;margin-top:8px;padding:9px 14px;font-size:13.5px;text-decoration:none}
.bk-notice{margin:0;padding:10px 12px;border-left:3px solid var(--gold,#C8A96E);background:var(--paper,#F5F3EE);font-size:13px;line-height:1.5;color:var(--bk-ink,#0D2D42);border-radius:0 10px 10px 0}
.bk-onote:empty{display:none}
.bk-btn.bk-btn-off{opacity:.45;cursor:not-allowed}
@media(max-width:900px){.bk-dock .bk-stopbar,.bk-dock .bk-alertbar,.bk-dock #bk-banner{flex:0 0 100%;margin:0 0 8px}.bk-dock #bk-banner:empty{display:none}}
