
.bz-page .section{padding:36px 0 60px}@media(min-width:900px){.bz-page .section{padding:56px 0 80px}}
.bz-hero p{max-width:40em}.bz-contact{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:18px}.bz-contact span{font-family:var(--label);text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;color:var(--copper-l);width:100%}.bz-contact .btn{font-size:.78rem;padding:.7em 1em;min-height:44px}
.bz-wrap{display:grid;gap:28px}@media(min-width:1000px){.bz-wrap{grid-template-columns:minmax(0,1fr) 340px;align-items:start}}
.bz-side{display:none}@media(min-width:1000px){.bz-side{display:block;position:sticky;top:18px;background:var(--char) var(--grain);color:var(--cream);border-radius:var(--r);padding:22px;max-height:calc(100vh - 36px);overflow:auto;border:1px solid rgba(192,122,68,.4)}.bz-side h3{color:var(--cream);font-size:1.2rem}.bz-side .bz-bd li{border-color:rgba(242,232,213,.14)}.bz-side .bz-bd small,.bz-side .fine{color:#cbbfab}.bz-side h4{color:var(--copper-l)}}
.bz{min-width:0}.bz h2{font-size:clamp(1.6rem,4vw,2.3rem);outline:none}.bz-sub{color:var(--muted);margin-top:-.3em}
.bz-steps{list-style:none;padding:0;margin:0 0 22px;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.bz-steps::-webkit-scrollbar{display:none}.bz-steps li{flex:none}.bz-steps li>*{display:flex;align-items:center;gap:6px;font:500 .74rem var(--label);text-transform:uppercase;letter-spacing:.1em;padding:7px 10px;border-radius:99px;border:1px solid var(--line);background:#fff;color:var(--muted)}.bz-steps button{cursor:pointer}.bz-steps b{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--cream2);color:var(--ink);font-size:.7rem}.bz-steps em{font-style:normal}.bz-steps li.on>*{background:var(--char);color:var(--cream);border-color:var(--char)}.bz-steps li.on b{background:var(--copper);color:var(--char)}.bz-steps li.done>*{color:var(--forest);border-color:rgba(30,53,41,.4)}.bz-steps li.done b{background:var(--forest);color:var(--cream)}
@media(max-width:699px){.bz-steps li:not(.on) em{display:none}}
.bz-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media(min-width:600px){.bz-tiles{grid-template-columns:repeat(4,1fr)}}@media(min-width:1000px){.bz-tiles{grid-template-columns:repeat(6,1fr)}}
.bz-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:96px;padding:12px 6px;border:1.5px solid #c9bba5;border-radius:var(--r);background:#fff;cursor:pointer;font:500 .78rem var(--label);text-transform:uppercase;letter-spacing:.06em;color:var(--ink);text-align:center;line-height:1.2;transition:transform .12s,border-color .12s,background .12s}.bz-tile svg{width:34px;height:34px;color:var(--brown)}.bz-tile:hover{transform:translateY(-1px);border-color:var(--copper)}.bz-tile.sel{background:var(--forest);border-color:var(--forest);color:var(--cream)}.bz-tile.sel svg{color:var(--copper-l)}.bz-count{position:absolute;top:6px;right:6px;min-width:22px;height:22px;border-radius:11px;background:var(--copper);color:var(--char);font:600 .75rem var(--sans);display:grid;place-items:center;font-style:normal}
.bz-picked{margin-top:20px}.bz-picked h3{font-size:1.15rem}.bz-picked ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.bz-picked li{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:8px 10px}.bz-pi svg{width:26px;height:26px;color:var(--copper-d)}.bz-picked li>span:nth-child(2){font-weight:600;flex:1;min-width:150px}.bz-nick{flex:1 1 160px;font:inherit;font-size:16px;padding:8px 10px;border:1.5px solid #b9ab97;border-radius:var(--r);min-height:42px}
.bz-x{border:0;background:transparent;font-size:1.6rem;line-height:1;width:40px;height:40px;cursor:pointer;color:var(--muted);border-radius:50%}.bz-x:hover{background:var(--cream2);color:var(--ink)}
.bz-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px;margin:0 0 18px;box-shadow:0 14px 30px -26px rgba(28,26,24,.5)}@media(min-width:700px){.bz-card{padding:24px}}.bz-card h3{display:flex;align-items:center;gap:10px;font-size:1.25rem}.bz-card h3 svg{width:28px;height:28px;color:var(--copper-d);flex:none}
.bz-yns,.bz-chks{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.bz-yn,.bz-chk{display:flex;align-items:center;gap:8px;border:1.5px solid #c9bba5;border-radius:99px;padding:8px 14px;background:#fff;cursor:pointer;font-size:.95rem;min-height:44px}.bz-yn input,.bz-chk input{width:18px;height:18px;accent-color:var(--forest);margin:0}.bz-chk.sel{background:#e9efe7;border-color:var(--forest)}
.bz-pkgs{display:grid;gap:10px}@media(min-width:700px){.bz-pkgs{grid-template-columns:1fr 1fr}}.bz-pkg{display:flex;gap:12px;align-items:flex-start;border:1.5px solid #c9bba5;border-radius:var(--r);padding:14px;cursor:pointer;background:#fff;transition:border-color .12s,background .12s}.bz-pkg input{width:22px;height:22px;margin-top:2px;accent-color:var(--copper-d);flex:none}.bz-pkg b{display:block;font-family:var(--serif);font-size:1.08rem}.bz-pkg small{display:block;color:var(--muted);font-size:.88rem;line-height:1.45;margin:2px 0 6px}.bz-pkg em{font-style:normal;font:500 .74rem var(--label);text-transform:uppercase;letter-spacing:.1em;color:var(--copper-d)}.bz-pkg.sel{border-color:var(--copper);background:#fdf6ee;box-shadow:inset 0 0 0 1px var(--copper)}
.bz-sub2{margin-top:14px;align-items:end}
.bz-mode{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.bz-mode label{display:flex;gap:8px;align-items:center;border:1.5px solid #c9bba5;border-radius:var(--r);padding:10px 14px;cursor:pointer;background:#fff;font-weight:600;min-height:46px}.bz-mode label.sel{background:var(--char);color:var(--cream);border-color:var(--char)}.bz-mode input{accent-color:var(--copper)}
.bz-rooms{display:grid;gap:12px}@media(min-width:760px){.bz-rooms{grid-template-columns:1fr 1fr}}.bz-room{border:1px solid var(--line);border-radius:var(--r);padding:12px;background:var(--cream3)}.bz-rh{display:flex;align-items:center;gap:8px;margin-bottom:8px}.bz-rh b{font-family:var(--serif);font-size:1.1rem;flex:1}
.bz-mini{border:1px solid #b9ab97;background:#fff;border-radius:99px;padding:6px 12px;font:500 .72rem var(--label);text-transform:uppercase;letter-spacing:.1em;cursor:pointer;min-height:36px;color:var(--ink)}.bz-mini:hover{border-color:var(--copper)}
.bz-tasks{display:flex;flex-wrap:wrap;gap:6px}.bz-task{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;border:1.5px solid #c9bba5;border-radius:99px;padding:6px 12px;background:#fff;cursor:pointer;font-size:.9rem;min-height:40px}.bz-task input{width:17px;height:17px;margin:0;accent-color:var(--forest)}.bz-task.sel{background:#e9efe7;border-color:var(--forest)}.bz-task.spec{border-style:dashed}
.tag{font-style:normal;font:500 .66rem var(--label);text-transform:uppercase;letter-spacing:.06em;padding:2px 7px;border-radius:99px}.tag.add{background:#f6e3d1;color:#6e3c16}.tag.inc{background:var(--forest);color:var(--cream)}.tag.spec{background:#efe2bf;color:#5b3e2c}
.bz-qty{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;margin:0 6px 0 0}.bz-qty input{width:64px;font:inherit;font-size:16px;padding:6px;border:1.5px solid #b9ab97;border-radius:var(--r)}
.bz-rnote{width:100%;margin-top:8px;font:inherit;font-size:16px;padding:8px 10px;border:1px solid #c9bba5;border-radius:var(--r);background:#fff}
.bz-addroom{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:14px 0 10px}.bz-addroom span{font:500 .78rem var(--label);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);width:100%}.bz-chip{border:1.5px dashed var(--copper);background:#fff;border-radius:99px;padding:7px 12px;cursor:pointer;font-size:.88rem;min-height:40px;color:var(--copper-d);font-weight:600}.bz-chip:hover{background:#fdf6ee}
.bz-levels{display:grid;gap:8px}@media(min-width:700px){.bz-levels{grid-template-columns:1fr 1fr}}.bz-levels label{display:flex;gap:10px;align-items:flex-start;border:1.5px solid #c9bba5;border-radius:var(--r);padding:12px;cursor:pointer;background:#fff;text-transform:none;letter-spacing:0;font:inherit;font-size:.98rem;margin:0}.bz-levels label.sel{border-color:var(--copper);background:#fdf6ee}.bz-levels small{display:block;color:var(--muted);font-size:.82rem}.bz-levels input{accent-color:var(--copper-d);margin-top:4px}
.bz-supply{display:grid;gap:14px;margin-bottom:14px}@media(min-width:760px){.bz-supply{grid-template-columns:1fr 1fr}}.bz-scard{position:relative;display:flex;flex-direction:column;gap:8px;border:2px solid #c9bba5;border-radius:var(--r);padding:18px 18px 16px;background:#fff;cursor:pointer;transition:border-color .12s,box-shadow .12s}.bz-scard input{position:absolute;top:18px;right:18px;width:22px;height:22px;accent-color:var(--copper-d)}.bz-sh{font-family:var(--serif);font-size:1.25rem;font-weight:600;padding-right:30px}.bz-scard ul{margin:0;padding-left:1.15em;font-size:.93rem;color:var(--ink)}.bz-scard small{color:var(--muted);font-size:.82rem}.bz-scard.sel{border-color:var(--copper);box-shadow:0 0 0 3px rgba(192,122,68,.22)}.bz-scard.green{background:linear-gradient(180deg,#f3f7f1,#fff)}.bz-badge{font:500 .78rem var(--label);text-transform:uppercase;letter-spacing:.1em;background:var(--char);color:var(--cream);padding:7px 10px;border-radius:var(--r);align-self:flex-start}.bz-scard.green .bz-badge{background:var(--forest)}
.bz-upbtns{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:6px}.bz-upbtns .btn{font-size:.8rem;padding:.8em 1.1em;cursor:pointer}.bz-upbtns label.btn:focus-within{outline:3px solid var(--copper);outline-offset:2px}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.bz-ups{list-style:none;padding:0;margin:14px 0;display:grid;gap:10px}.bz-ups li{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px}.bz-ups li.error{border-color:#d9a093;background:#fdf1ee}.bz-uh{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.bz-uh b{flex:1;min-width:0;word-break:break-all}.bz-ups progress{width:100%;height:10px;accent-color:var(--copper)}.bz-uerr{color:#8f1d12;margin:.4em 0 0;font-size:.92rem}.bz-ok{color:var(--forest);font-weight:600;margin:.4em 0 0;font-size:.9rem}
.bz-cal{margin-top:18px}.bz-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;max-width:520px}.bz-days b{font:500 .7rem var(--label);text-transform:uppercase;text-align:center;color:var(--muted)}.bz-days button{position:relative;aspect-ratio:1;min-height:42px;border:1.5px solid #c9bba5;border-radius:var(--r);background:#fff;font:600 1rem var(--sans);cursor:pointer;color:var(--ink)}.bz-days button i{position:absolute;top:1px;left:0;right:0;font:500 .55rem var(--label);text-transform:uppercase;font-style:normal;color:var(--copper-d)}.bz-days button:disabled{background:transparent;border-style:dashed;color:#b3a593;cursor:not-allowed;text-decoration:line-through}.bz-days button.sel{background:var(--copper);border-color:var(--copper-d);color:var(--char)}.bz-days .pad{display:block}
.bz-cal h3{font-size:1.15rem;margin-top:18px}.bz-wins{display:flex;flex-wrap:wrap;gap:8px}.bz-wins label{display:flex;gap:8px;align-items:center;border:1.5px solid #c9bba5;border-radius:var(--r);padding:12px 16px;background:#fff;cursor:pointer;font-weight:600;min-height:48px}.bz-wins label.sel{background:var(--forest);color:var(--cream);border-color:var(--forest)}.bz-wins label.off{opacity:.55;cursor:not-allowed;font-weight:400}
.bz-total{display:flex;flex-direction:column;gap:2px;background:var(--forest) var(--grain);color:var(--cream);border-radius:var(--r);padding:16px 18px;margin-bottom:14px}.bz-total span{font:500 .78rem var(--label);text-transform:uppercase;letter-spacing:.12em;color:var(--copper-l)}.bz-total b{font-family:var(--serif);font-size:2.1rem;line-height:1.1}.bz-total small{color:#d8ccb8}.bz-total.rev{background:var(--brown) var(--grain)}
.bz-bd h4{font:500 .82rem var(--label);text-transform:uppercase;letter-spacing:.1em;color:var(--copper-d);margin:14px 0 6px}.bz-bd ul{list-style:none;margin:0;padding:0}.bz-bd li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--line);font-size:.93rem}.bz-bd li b{white-space:nowrap;font-variant-numeric:tabular-nums}.bz-bd small{display:block;color:var(--muted);font-size:.78rem}.bz-bd li.k-review b{color:#8f4b14;font-family:var(--label);text-transform:uppercase;font-size:.75rem;letter-spacing:.08em}.bz-bd li.k-covered b{color:var(--forest);font-size:.8rem}
.bz-sum{display:grid;gap:12px;margin:16px 0}@media(min-width:700px){.bz-sum{grid-template-columns:1fr 1fr}}.bz-sum>div{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px 14px}.bz-sum h4{font:500 .78rem var(--label);text-transform:uppercase;letter-spacing:.1em;color:var(--copper-d);margin:0 0 4px}.bz-sum p{margin:0;font-size:.93rem}
.bz-terms p{font-size:.93rem;margin:0 0 .6em}.bz-pay{display:grid;gap:10px}@media(min-width:700px){.bz-pay{grid-template-columns:1fr 1fr}}.bz-pay label{display:flex;gap:10px;align-items:flex-start;border:2px solid #c9bba5;border-radius:var(--r);padding:14px;cursor:pointer;background:#fff;text-transform:none;letter-spacing:0;font:inherit;margin:0}.bz-pay label.sel{border-color:var(--copper);background:#fdf6ee}.bz-pay b{display:block;font-size:1.05rem}.bz-pay small{color:var(--muted)}.bz-pay input{accent-color:var(--copper-d);width:20px;height:20px;margin-top:3px}
.bz-go{width:100%;margin-top:10px;font-size:1.02rem;min-height:56px}.bz-go:disabled{opacity:.7;cursor:wait}
.bz-nav{display:flex;justify-content:space-between;gap:12px;margin-top:22px}.bz-nav .btn{flex:0 1 auto}.bz-nav .btn-copper{flex:1 1 auto;max-width:360px;margin-left:auto}.bz-err{color:#8f1d12;font-weight:600;min-height:1.2em;margin-top:12px}.bz-err:empty{display:none}
.bz-bar{position:fixed;left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom));z-index:59;padding:0 10px 8px;pointer-events:none}@media(min-width:900px){.bz-bar{bottom:0;padding:0 20px 14px}}@media(min-width:1000px){.bz-bar{display:none}}.bz-barbtn{pointer-events:auto;width:100%;max-width:640px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--forest);color:var(--cream);border:1px solid rgba(217,162,113,.6);border-radius:10px;padding:10px 16px;box-shadow:0 10px 30px -8px rgba(0,0,0,.45);cursor:pointer;text-align:left}.bz-barbtn b{display:block;font-family:var(--serif);font-size:1.3rem;line-height:1.15}.bz-barbtn small{display:block;color:#d8ccb8;font-size:.78rem}.bz-barbtn em{font-style:normal;font:500 .74rem var(--label);text-transform:uppercase;letter-spacing:.1em;color:var(--copper-l)}
.bz-page{padding-bottom:70px}@media(min-width:1000px){.bz-page{padding-bottom:0}}
.bz-sheet{position:fixed;inset:0;z-index:80;background:rgba(18,16,14,.55);display:flex;align-items:flex-end}.bz-sheet[hidden]{display:none}.bz-sheet-in{position:relative;background:var(--cream3);width:100%;max-height:82vh;overflow:auto;border-radius:14px 14px 0 0;padding:20px 18px calc(24px + env(safe-area-inset-bottom))}.bz-close{position:absolute;top:8px;right:8px}.bz-noscroll{overflow:hidden}
.bk-banner{border-radius:var(--r);padding:20px;margin-bottom:18px;background:var(--forest) var(--grain);color:var(--cream)}.bk-banner h2{color:var(--cream);font-size:1.7rem;margin:0 0 .3em}.bk-banner p{margin:0;color:#e2d8c6}.bk-banner.warn{background:var(--brown) var(--grain)}.bk-banner.bad{background:#7a2a1c}.bk-ref{font:500 .82rem var(--label);letter-spacing:.14em;text-transform:uppercase;color:var(--copper-l)}
.bk dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0}.bk dt{font:500 .78rem var(--label);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding-top:3px}.bk dd{margin:0;word-break:break-word}@media(max-width:520px){.bk dl{grid-template-columns:1fr}.bk dt{padding-top:8px}}
.bk-grid{display:grid;gap:18px}@media(min-width:900px){.bk-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.bk-thumbs{display:flex;flex-wrap:wrap;gap:8px}.bk-thumbs img,.bk-thumbs .doc{width:96px;height:96px;object-fit:cover;border-radius:var(--r);border:1px solid var(--line);background:#fff}.bk-thumbs .doc{display:grid;place-items:center;font-size:.72rem;text-align:center;padding:6px;word-break:break-all}
.bk-save{display:flex;flex-wrap:wrap;gap:8px}.bk-save .btn{font-size:.78rem;padding:.7em 1em;min-height:44px}

/* v2.0.1 legibility pass (Nikko 10:23 PM Nov 9): dark text on light cards, nothing important under 14px */
.bz-scard,.bz-scard.nat{color:var(--ink)}.bz-scard.nat{background:#f1f6ef}.bz-scard.nat .bz-badge{background:var(--forest);color:#fff}.bz-sh{color:var(--char)}.bz-scard>span:not(.bz-sh):not(.bz-badge){color:var(--ink);font-size:16px}.bz-scard small{color:#463b33;font-size:14px}.bz-scard ul{font-size:15px}
.bz .field label,.bz label.lbl,.bz legend{font-size:15px;color:var(--ink)}.bz-sub{color:#463b33}
.bz-steps li>*{font-size:14px}.bz-steps b{font-size:13px;width:22px;height:22px}
.bz-tile{font-size:14px}.bz-mini{font-size:14px;min-height:38px}.bz-pkg em{font-size:14px;font-weight:600}.bz-pkg small{font-size:15px;color:#463b33}
.tag{font-size:14px;letter-spacing:.03em;padding:2px 8px}.tag.add{background:#f6e3d1;color:#5e3110;font-weight:600}
.bz-yn,.bz-chk{font-size:15px}.bz-chk{align-items:flex-start;border-radius:14px;text-align:left;line-height:1.35;padding:10px 14px}.bz-chk input{flex:none;margin-top:1px}.bz-chk span{flex:1;min-width:0}
.bz-task{font-size:15px;flex-wrap:nowrap}.bz-qty{font-size:15px}.bz-addroom span{font-size:14px;color:#463b33}.bz-chip{font-size:15px}
.bz-levels small{font-size:14px;color:#463b33}.bz-days b{font-size:14px;color:#463b33}.bz-days button i{font-size:11px;font-weight:600}
.bz-bd li{font-size:15px}.bz-bd small{font-size:14px;color:#463b33}.bz-bd li.k-review b{font-size:14px}.bz-bd li.k-covered b{font-size:14px}.bz-side .bz-bd small,.bz-side .fine{color:#e0d5c2}
.bz-sum p,.bz-terms p{font-size:15px}.bz-sum h4{font-size:14px}.bz-pay small{color:#463b33;font-size:14px}.bz-total small{color:#efe6d6;font-size:14px}
.bz-barbtn small{font-size:14px;color:#efe6d6}.bz-barbtn em{font-size:14px}.bz-contact span{font-size:14px}.bz-upbtns .btn{font-size:14px}
.bk dt{font-size:14px;color:#463b33}.bk-thumbs .doc{font-size:13px}
.bz-steps b{font-size:14px;width:24px;height:24px}.bz .field .opt,.field .opt{font-size:14px;color:#463b33}.bz-badge{font-size:14px}.bz-days button i{font-size:14px;line-height:1}
.bz-total span{font-size:14px;color:#f0c79d}.bz-total.rev span{color:#f6d3ad}.bz-sum h4{font-size:15px}.freeq{font-size:14px}
.bz h4{font-size:15px}
.bz .bz-chks label.bz-chk,.bz label.bz-chk{display:flex;flex-direction:row;align-items:flex-start;gap:10px;font-family:var(--sans);text-transform:none;letter-spacing:0;font-size:15px;font-weight:500;color:var(--ink);margin:0}
.bz label.bz-yn{text-transform:none;letter-spacing:0;font-family:var(--sans)}
.bz-pkg small,.bz-pkg p,.bz-sub,.bz .fine{color:#3f352d}.bz .fine{font-size:15px}

/* ===== v2.1 compact, low-stress builder (Nikko 10:21 PM Nov 9) ===== */
.bz-page .page-hero.bz-hero{padding:22px 0 18px}.bz-hero h1{font-size:clamp(1.7rem,6vw,2.6rem);margin-bottom:.25em}.bz-hero p{font-size:16px;margin-bottom:.4em}@media(max-width:899px){.bz-hero .lede,.bz-hero p:not(.eyebrow){display:none}.bz-hero .bz-contact{margin-top:8px}.bz-contact span{display:none}}
.bz-page .section.bz-sec{padding:14px 0 40px}@media(min-width:900px){.bz-page .section.bz-sec{padding:28px 0 64px}}
.bz-prog{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px 8px;margin:0 0 14px;box-shadow:0 1px 0 rgba(0,0,0,.03)}
.bz-prog-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bz-prog-n{font:600 15px var(--sans);color:var(--char)}.bz-prog-name{font:600 15px var(--sans);color:var(--copper-d)}.bz-prog-name::before{content:"·";margin-right:8px;color:#8a7d70}
.bz-prog-all{margin-left:auto;background:none;border:1px solid var(--line);border-radius:99px;font:500 14px var(--sans);color:var(--ink);padding:4px 12px;min-height:34px;cursor:pointer}
.bz-prog-bar{height:10px;background:#efe6d6;border-radius:99px;overflow:hidden;margin:8px 0 6px}.bz-prog-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--copper-d),var(--copper));border-radius:99px;transition:width .35s ease}
.bz-steplist{list-style:none;margin:8px 0 4px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 10px}.bz-steplist li{font-size:15px;color:#5f5348}.bz-steplist li.on{font-weight:700;color:var(--char)}.bz-steplist li.done button{background:none;border:0;padding:4px 0;font:inherit;color:var(--copper-d);text-decoration:underline;cursor:pointer;min-height:32px;text-align:left}
.bz-saved{margin:0;font-size:14px;color:#463b33}.bz-saved-t::before{content:"✓ ";color:#2f6b45;font-weight:700}.bz-link{background:none;border:0;padding:6px 0;font:600 14px var(--sans);color:var(--copper-d);text-decoration:underline;cursor:pointer;min-height:32px}
.bz-step h2{font-size:clamp(1.45rem,5vw,2rem);margin:2px 0 4px}.bz-sub{font-size:16px;margin:0 0 12px}
.bz-card{padding:14px 14px;margin:0 0 12px;border-radius:10px}.bz-card h3{font-size:1.1rem;margin:0 0 8px;display:flex;align-items:center;gap:8px}.bz-card h3 svg{width:22px;height:22px}
details.bz-pcard>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;min-height:40px}details.bz-pcard>summary::-webkit-details-marker{display:none}details.bz-pcard>summary h3{margin:0;flex:1}details.bz-pcard:not([open]){padding-bottom:10px}details.bz-pcard[open]>summary{margin-bottom:8px}
.bz-chev{width:12px;height:12px;border-right:2px solid var(--copper-d);border-bottom:2px solid var(--copper-d);transform:rotate(45deg);margin:0 6px 4px 0;transition:transform .2s}details[open]>summary .bz-chev{transform:rotate(-135deg);margin-bottom:-4px}
.bz-coll{border:1px solid var(--line);border-radius:10px;margin:10px 0;background:#fffdf9}.bz-coll>summary{cursor:pointer;list-style:none;padding:11px 40px 11px 14px;font:600 16px var(--sans);color:var(--char);position:relative;min-height:46px}.bz-coll>summary::-webkit-details-marker{display:none}
.bz-coll>summary::after{content:"";position:absolute;right:16px;top:50%;width:9px;height:9px;border-right:2px solid var(--copper-d);border-bottom:2px solid var(--copper-d);transform:translateY(-70%) rotate(45deg);transition:transform .2s}.bz-coll[open]>summary::after{transform:translateY(-30%) rotate(-135deg)}
.bz-coll-in{padding:0 14px 12px}.bz-cnt{display:inline-block;font:500 14px var(--sans);color:#5a4e44;margin-left:6px}.bz-coll.bz-card{padding:0}
.bz-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.bz-tile{padding:10px 6px;min-height:84px;border-radius:10px}.bz-tile svg{width:28px;height:28px}@media(min-width:700px){.bz-tiles{grid-template-columns:repeat(6,minmax(0,1fr))}}
.bz-pkgs{gap:8px}.bz-pkg{padding:10px 12px;border-radius:10px}.bz-pkg:not(.sel) small{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.bz-room{border:1px solid var(--line);border-radius:10px;margin:0 0 8px;background:#fff}.bz-room>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:10px 38px 10px 12px;position:relative;min-height:46px;font-size:16px}.bz-room>summary::-webkit-details-marker{display:none}
.bz-room>summary::after{content:"";position:absolute;right:14px;top:50%;width:8px;height:8px;border-right:2px solid var(--copper-d);border-bottom:2px solid var(--copper-d);transform:translateY(-70%) rotate(45deg)}.bz-room[open]>summary::after{transform:translateY(-30%) rotate(-135deg)}.bz-room>summary .bz-cnt{margin-left:auto}
.bz-room .bz-rh{display:flex;gap:8px;padding:0 12px 6px;justify-content:flex-start}.bz-room .bz-tasks,.bz-room .bz-rnote{margin-left:12px;margin-right:12px}.bz-room .bz-rnote{margin-bottom:12px;width:calc(100% - 24px)}.bz-rmx{color:#8a2d1e}
.bz-addcoll .bz-addroom{display:flex;flex-wrap:wrap;gap:6px}
.bz-levels{gap:6px}.bz-levels label{padding:9px 12px}
.bz-supply{gap:10px}.bz-scard{padding:14px;border-radius:12px}.bz-scard ul{margin:6px 0 0}.bz-inc>summary{cursor:pointer;font:600 15px var(--sans);color:var(--copper-d);margin-top:6px;min-height:32px}.bz-badge{margin-top:8px}
.bz-furn{border-top:1px dashed var(--line);margin-top:10px;padding-top:10px}.bz-price{font-weight:700;color:var(--copper-d);white-space:nowrap}
.bz-upbtns{display:grid;grid-template-columns:1fr 1fr;gap:8px}.bz-upbtns .btn{min-height:46px;padding:.6em .7em;font-size:14px;letter-spacing:.06em}.bz-upbtns label:last-child{grid-column:1/-1}
.bz-nav{margin-top:14px}
@media(max-width:999px){.bz-nav .bz-next-inline{display:none}.bz-nav{justify-content:flex-start}}
@media(max-width:999px){.bz-bar{display:flex;align-items:stretch;gap:8px}}.bz-bar .bz-barbtn{flex:1;min-width:0}.bz-barnext{pointer-events:auto;flex:none;min-width:104px;min-height:52px;font-size:16px;border-radius:10px;box-shadow:0 6px 18px rgba(0,0,0,.25)}
.bz-resume{background:#fff;border:2px solid var(--copper);border-radius:14px;padding:18px 16px;margin:4px 0 16px}.bz-resume-k{font:600 14px var(--label);letter-spacing:.14em;text-transform:uppercase;color:var(--copper-d);margin:0 0 4px}.bz-resume h2{margin:0 0 8px}.bz-resume p{font-size:16px}.bz-resume-sum{color:#463b33;font-size:15px!important}.bz-resume-btns{display:flex;flex-wrap:wrap;gap:10px}
.bz-later{position:fixed;inset:0;z-index:200;background:rgba(20,18,16,.55);display:flex;align-items:flex-end;justify-content:center}.bz-later[hidden]{display:none}.bz-later-in{background:#fff;color:var(--ink);width:100%;max-width:520px;border-radius:16px 16px 0 0;padding:20px 18px calc(20px + env(safe-area-inset-bottom));position:relative;max-height:90vh;overflow:auto}@media(min-width:700px){.bz-later{align-items:center}.bz-later-in{border-radius:16px}}
.bz-later-in h3{margin:0 0 6px;font-size:1.35rem}.bz-later-in p{font-size:16px}.bz-later-x{position:absolute;right:10px;top:10px}.bz-linkbox{display:flex;gap:8px;margin:10px 0}.bz-linkbox input{flex:1;min-width:0;font-size:15px;padding:10px;border:1px solid #b9ab97;border-radius:8px}
.bk-late{margin:8px 0}

.bz-steplist[hidden]{display:none!important}
@media(max-width:699px){.bz-pkgs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.bz-pkg{padding:9px 10px}.bz-pkg b{font-size:15px;line-height:1.25}.bz-pkg small{font-size:14px;-webkit-line-clamp:2!important}.bz-pkg em{font-size:14px;letter-spacing:.02em}.bz-pkg input{margin-top:2px}}
.bz-levels{display:grid;grid-template-columns:1fr 1fr;gap:6px}.bz-levels label{padding:8px 10px;min-height:0}.bz-levels label span{font-size:15px}.bz-levels label small{font-size:14px;display:block}
.bz-scard{gap:4px}.bz-scard .bz-sh{font-size:1.05rem}.bz-supply .bz-badge{padding:6px 10px;font-size:14px}
@media(max-width:699px){.bz-pkg:not(.sel) small{display:none}.bz-pkg em{line-height:1.3}}
.bz-terms-txt{max-height:190px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:6px 10px;margin-bottom:10px;background:#fffdf9}.bz-terms-txt p{font-size:15px;margin:.4em 0}.bz-terms-txt:focus{outline:3px solid var(--copper)}
.bz-step[data-step=review] .bz-coll .bz-bd{margin:0}
.bz-step [data-sub=contact] .radios{display:flex;flex-wrap:wrap;gap:6px 14px}.bz-step [data-sub=contact] .fgrid{gap:10px 12px}.bz-step .bz-coll .field{margin-bottom:8px}
@media(max-width:699px){.bz-pay{display:grid;grid-template-columns:1fr 1fr;gap:8px}.bz-pay label{padding:10px;margin:0}.bz-pay label b{font-size:15px}.bz-pay label small{font-size:14px}.bz-terms-txt{max-height:140px}.bz-step[data-step=review]~.bz-nav{margin-top:8px}}
@media(max-width:699px){.bz-terms-txt{max-height:110px}.bz-step[data-step=review] .bz-total{padding:12px 14px}.bz-step[data-step=review] .bz-total b{font-size:1.9rem}.bz-terms h3{margin-bottom:6px}}

/* ---- v2.2: 5 steps (merged sections) ---- */
.bz-step .bz-subh{font-size:1.12rem;margin:0 0 6px;color:var(--ink)}
.bz-step .bz-subn{font-size:15px;margin:0 0 8px}
.bz-step>p.bz-sub{font-size:15px;margin-bottom:6px}
.bz-part{margin-top:12px}
.bz-part + .bz-part{padding-top:12px;border-top:1px solid var(--line)}
.bz-part .bz-card{padding:12px;margin:0 0 10px}
.bz-part .bz-card>h3{font-size:1.05rem;margin:0 0 8px}
.bz-part .bz-coll{margin:6px 0}
.bz-part .bz-coll>summary{padding-top:9px;padding-bottom:9px;min-height:44px}
.bz-part .bz-picked{margin-top:0}
.bz-part .bz-picked ul{margin:0}
.bz-mini-h{font:600 14px var(--label);text-transform:uppercase;letter-spacing:.1em;color:#5a4e44;margin:10px 0 4px}
.bz-pkinfo{margin:0}.bz-pkinfo dt{font-weight:700;margin-top:8px}.bz-pkinfo dt span{font-weight:500;color:var(--copper-d);font-size:14px}.bz-pkinfo dd{margin:2px 0 0;font-size:15px;color:#463b33}
.bz-rem{margin:0 0 8px}.bz-auto{margin:0 0 8px;font-weight:600;color:#463b33}
.bz-part[data-sub=supplies] .bz-scard{padding:10px 12px}
.bz-part[data-sub=supplies] .bz-scard>span:not(.bz-sh){font-size:15px;line-height:1.4}
.bz-part[data-sub=supplies] .bz-badge{margin-top:4px;align-self:flex-start}
.bz-part[data-sub=supplies] .bz-inc>summary{margin-top:2px}
.bz-part[data-sub=supplies]>p.fine{font-size:14px;line-height:1.4}
@media(max-width:699px){
  .bz-g2{grid-template-columns:1fr 1fr!important}
  .bz-g2 .field.full{grid-column:1/-1}
  .bz-cgrid{grid-template-columns:1fr 1fr!important}
  .bz-cgrid .field.full,.bz-cgrid .bz-addr{grid-column:1/-1}
  .bz-step .field{margin-bottom:0}
}

/* v2.2: deselect controls (steppers, ×, clear all); every control is a 44px target */
.bz-tile.sel{cursor:default;padding:8px 4px 6px;justify-content:flex-start;gap:4px}
.bz-tile.sel>span{padding:0 18px}
.bz-tx{position:absolute;top:0;right:0;width:44px;height:44px;border:0;background:transparent;cursor:pointer;font:700 20px/1 var(--sans);color:#6b2a1b;display:flex;align-items:flex-start;justify-content:flex-end;padding:5px 7px}
.bz-tx:hover,.bz-tx:focus-visible{color:#3d1409}
.bz-tq{display:flex;align-items:center;justify-content:center;gap:2px;margin-top:2px}
.bz-qb{min-width:44px;min-height:44px;border:1.5px solid #b9ab97;border-radius:10px;background:#fff;color:var(--ink);font:700 20px/1 var(--sans);cursor:pointer;padding:0}
.bz-qb:disabled{opacity:.45;cursor:not-allowed}
.bz-qb:focus-visible,.bz-tx:focus-visible{outline:3px solid var(--copper);outline-offset:1px}
.bz-tile.sel .bz-qb{min-width:40px;width:44px}
.bz-tq .bz-count,.bz-rq b{position:static;display:inline-block;min-width:22px;text-align:center;font:700 16px var(--sans);color:var(--ink);background:none;box-shadow:none;width:auto;height:auto;border-radius:0;transform:none}
.bz-qs{display:inline-flex;align-items:center;gap:6px}
.bz-qs input{width:64px!important;min-height:44px;text-align:center}
.bz-rq{display:inline-flex;align-items:center;gap:4px;padding:2px 2px 2px 10px}
.bz-chk{position:relative}
.bz-chx{font-style:normal;font-weight:700;margin-left:6px;color:#6b2a1b}
.bz-clr{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;font-weight:600}
.bz-picked{position:relative}.bz-picked>.bz-clr{position:absolute;right:0;top:-8px}
.bz-picked .bz-x{min-width:44px;min-height:44px}

.bz-solo{padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important}
.bz-part .bz-pkgs-c .bz-pkg{padding:8px 10px;min-height:56px}
.bz-part .bz-pkgs-c .bz-pkg em{font-size:14px;letter-spacing:.02em;line-height:1.3}
.bz-part[data-sub=condition] .bz-levels{grid-template-columns:1fr}
.bz-part[data-sub=condition] .bz-levels label{display:flex;align-items:center;gap:10px;padding:6px 10px;min-height:44px}
.bz-part[data-sub=condition] .bz-levels label input{width:20px;height:20px;flex:none;margin:0}
.bz-part[data-sub=condition] .bz-levels label span{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 8px;font-size:15px;line-height:1.3}
.bz-part[data-sub=condition] .bz-levels label small{display:inline!important}
.bz-part[data-sub=supplies] .bz-scard:not(.sel) .bz-badge{display:none}

.bz-supply-c{gap:8px;margin-bottom:6px}
.bz-srow{flex-direction:row!important;flex-wrap:wrap;align-items:center;gap:2px 10px!important;padding:8px 12px!important;min-height:52px}
.bz-srow input{width:20px;height:20px;margin:0;flex:none}
.bz-srow .bz-sh{flex:1;min-width:0}
.bz-srow .bz-sb{flex-basis:100%;padding-left:30px;font-size:14px;color:#463b33;font-weight:600}
.bz-supinfo h4{margin:10px 0 2px;font-size:1rem}.bz-supinfo p,.bz-supinfo li{font-size:15px}.bz-supinfo ul{margin:4px 0 6px;padding-left:20px}

.bz-part .bz-coll{margin:4px 0}
.bz-part[data-sub=condition] .bz-levels label{padding:4px 10px}
.bz-calmore{margin:6px 0 2px}
.bz-part{margin-top:8px}.bz-part + .bz-part{padding-top:8px}

@media(max-width:699px){.bz-prog{margin-bottom:10px}.bz-step h2{font-size:1.4rem;margin:0 0 2px}.bz-step>p.bz-sub{margin-bottom:4px}
.bz-part[data-sub=condition] .bz-levels label{min-height:44px;padding:2px 10px}
.bz-part .bz-coll.bz-card>summary{padding-top:8px;padding-bottom:8px}}
.bz-tile.sel .bz-tx{color:#fff}.bz-tile.sel .bz-tx:hover,.bz-tile.sel .bz-tx:focus-visible{color:#ffe9d2}
.bz-tile.sel .bz-tq .bz-count{color:#fff}
.bz-tile.sel{padding-left:1px;padding-right:1px;overflow:hidden}.bz-tq{gap:0}.bz-tq .bz-count{min-width:18px}
.bz-tile.sel .bz-qb{width:44px;min-width:44px;border-radius:9px}

/* v2.2: edit & remove on the review page */
.bz-eline{flex-wrap:wrap}
.bz-lctl{display:flex;align-items:center;gap:6px;flex-basis:100%;justify-content:flex-end;margin:2px 0 4px}
.bz-rmx2{min-width:44px;min-height:44px;border:1.5px solid #c9a99a;border-radius:10px;background:#fff;color:#7a2416;font:700 20px/1 var(--sans);cursor:pointer}
.bz-rmx2:focus-visible,.bz-edit:focus-visible{outline:3px solid var(--copper);outline-offset:1px}
.bz-edit{min-height:44px;min-width:44px;padding:0 10px;border:0;background:none;color:var(--copper-d);font:600 15px var(--sans);text-decoration:underline;cursor:pointer}
.bz-bd h4 .bz-edit,.bz-sum h4 .bz-edit{min-height:36px;padding:0 6px;font-size:14px;text-transform:none;letter-spacing:0}
.bz-lctl .bz-qs input{width:52px!important}
.bz-toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(84px + env(safe-area-inset-bottom));z-index:120;background:var(--char);color:var(--cream);border-radius:12px;padding:6px 8px 6px 14px;display:flex;align-items:center;gap:10px;box-shadow:0 10px 30px rgba(0,0,0,.35);max-width:calc(100% - 24px);font-size:15px}
.bz-toast[hidden]{display:none}
.bz-toast .bz-link{color:#ffd9b0;font-weight:700;min-height:44px;padding:0 8px;text-decoration:underline;background:none;border:0;cursor:pointer;font-size:15px}
@media(min-width:1000px){.bz-toast{bottom:24px}}
.bz-backrev{margin-left:auto}

/* v2.2 rounded corners: builder, review, booking page, dialogs */
.bz-tile,.bz-picked li,.bz-nick,.bz-mode label,.bz-qty input,.bz-levels label,.bz-days button,.bz-wins label,.bz-pay label,.bz-qb,.bz-tile.sel .bz-qb,.bz-barnext,.bz-barbtn,.bz-linkbox input,.bz-rmx2,.bz-tx,.bz-link,.bz-clr,.bz-edit,.bz-main input,.bz-main select,.bz-main textarea,.bk-thumbs img,.bk-thumbs .doc{border-radius:var(--r-ctl,12px)}
.bz-card,.bz-pkg,.bz-room,.bz-rnote,.bz-scard,.bz-ups li,.bz-total,.bz-sum>div,.bk-banner,.bz-coll,.bz-resume,.bz-toast,.bz-terms-txt,.bz-later-in,.bz-prog{border-radius:var(--r-card,18px)}
.bz-badge{border-radius:var(--r-pill,999px)}
@media(min-width:1000px){.bz-side{border-radius:var(--r-card,18px)}}
.bz-sheet-in{border-radius:20px 20px 0 0}
@media(max-width:699px){.bz-later-in{border-radius:20px 20px 0 0}}
