@scope (.kbf-doc){
  :scope *{box-sizing:border-box}
  :scope p,:scope li{margin:0 0 1em}
  :scope h1,:scope h2{margin:0 0 .4em;text-transform:uppercase}
  :scope h3,:scope h4{margin:1.4rem 0 .4rem}
  :scope ol,:scope ul{margin:0 0 1em;padding-left:1.2rem}
  :scope dl{margin:0}
  :scope table{border-collapse:collapse}
  :scope figure{margin:0}
  :scope svg{display:block;max-width:100%}
  :scope button,:scope select,:scope input{font:inherit}
}

.kbf-doc{
  --kbf-bg:#0b3a3f;
  --kbf-ink:#a8c7bd;
  --kbf-surface:#14524f;
  --kbf-rule:#2f6f66;
  --kbf-accent:#8f6fe0;
  --kbf-gold:#bfa26b;
  --kbf-paper:#dfeee7;
  --kbf-deep:#07292d;
  margin:0;
  padding:0 0 2rem;
  background:var(--kbf-bg);
  color:var(--kbf-ink);
  font-family:"PT Sans",Segoe UI,Arial,sans-serif;
  font-size:17px;
  line-height:1.55;
  -webkit-text-size-adjust:100%;
  overflow-x:hidden;
}

.kbf-main{max-width:64rem;margin:0 auto;padding:1.2rem 1.1rem 0}

.kbf-doc h1,.kbf-doc h2,.kbf-doc h3,.kbf-doc h4,.kbf-doc .kbf-room-n,.kbf-doc .kbf-lab,
.kbf-doc .kbf-fname,.kbf-doc .kbf-tab,.kbf-doc .kbf-dock-k,.kbf-doc .kbf-stage-n,
.kbf-doc .kbf-panel-k{
  font-family:"Fjalla One",Impact,Haettenschweiler,sans-serif;
  font-weight:400;
  letter-spacing:.02em;
}
.kbf-doc h1{font-size:2.2rem;line-height:1.02}
.kbf-doc h2{font-size:1.7rem;line-height:1.06}
.kbf-doc h3{font-size:1.12rem;line-height:1.2;color:var(--kbf-paper);text-transform:none}
.kbf-doc h4{font-size:1rem;line-height:1.24;color:var(--kbf-gold);text-transform:uppercase;letter-spacing:.06em}

.kbf-doc a{color:var(--kbf-accent);text-underline-offset:.18em}
.kbf-doc a:hover{color:var(--kbf-paper)}
.kbf-doc strong{color:var(--kbf-paper);font-weight:700}
.kbf-doc sup{line-height:0}

.kbf-head{
  border-bottom:3px solid var(--kbf-rule);
  background:var(--kbf-deep);
  padding:.9rem 1.1rem .1rem;
  transition:border-color 400ms ease;
}
.kbf-head-in{max-width:64rem;margin:0 auto}
.kbf-strap{
  margin:0 0 .1rem;
  font-size:.76rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--kbf-gold);
}
.kbf-doc .kbf-wordmark{
  margin:0 0 .15rem;
  font-size:1.6rem;
  line-height:1;
  color:var(--kbf-paper);
}
.kbf-wordmark a{color:inherit;text-decoration:none}
.kbf-wordmark a:hover{color:var(--kbf-accent)}
.kbf-head-line{margin:0 0 .7rem;font-size:.92rem;max-width:34rem}

.kbf-tabs{display:flex;flex-wrap:wrap;gap:.25rem;margin:0;padding:0;list-style:none}
.kbf-tabs li{margin:0}
.kbf-tab{
  display:block;
  padding:.36rem .7rem;
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.05em;
  text-decoration:none;
  color:var(--kbf-ink);
  background:var(--kbf-bg);
  border:1px solid var(--kbf-rule);
  border-bottom:0;
  transition:background-color 300ms ease,color 300ms ease,transform 220ms ease;
}
.kbf-tab:hover{transform:translateY(-2px);color:var(--kbf-paper)}
.kbf-tab-on{background:var(--kbf-surface);color:var(--kbf-gold);border-color:var(--kbf-gold)}

.kbf-sec{
  position:relative;
  margin:0 0 2.2rem;
  padding:1.3rem 1.1rem;
  border-top:3px solid var(--kbf-rule);
  border-bottom:1px solid var(--kbf-rule);
  transition:border-color 400ms ease,background-color 400ms ease;
}
.kbf-t-surface{background:var(--kbf-surface)}
.kbf-t-accent{color:var(--kbf-accent);transition:color 400ms ease}
.kbf-t-gold{color:var(--kbf-gold)}
.kbf-t-rule{border-color:var(--kbf-rule);transition:border-color 400ms ease,color 400ms ease}
.kbf-t-paper{color:var(--kbf-paper)}
.kbf-lede{max-width:40rem;color:var(--kbf-paper)}
.kbf-sec p{max-width:42rem}
.kbf-open{
  max-width:44rem;
  margin:.3rem 0 1.8rem;
  font-size:1.1rem;
  line-height:1.6;
  color:var(--kbf-paper);
}

.kbf-dock{
  display:grid;
  grid-template-columns:1fr;
  margin:1rem 0 .4rem;
  border:1px solid var(--kbf-rule);
  transition:border-color 400ms ease;
}
.kbf-dock-cell{
  padding:.6rem .8rem;
  border-bottom:1px dashed var(--kbf-rule);
  transition:border-color 400ms ease;
}
.kbf-dock-cell:last-child{border-bottom:0}
.kbf-dock-k{
  display:block;
  font-size:.76rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--kbf-gold);
}
.kbf-dock-v{display:block;color:var(--kbf-paper);font-size:.98rem}

.kbf-plan-set{display:grid;grid-template-columns:1fr;gap:1.1rem;margin-top:1rem}
.kbf-plan-fig{
  padding:.7rem;
  border:1px solid var(--kbf-rule);
  background:rgba(0,0,0,.22);
  transition:border-color 400ms ease;
}
.kbf-plan-svg{width:100%;height:auto}
.kbf-plan-wall{fill:none;stroke:var(--kbf-gold);stroke-width:2.4;stroke-linejoin:round;--kbf-chalk-len:980}
.kbf-plan-part{fill:none;stroke:var(--kbf-rule);stroke-width:1.6;transition:stroke 400ms ease;--kbf-chalk-len:880}
.kbf-plan-part.kbf-chalk{animation-delay:820ms}
.kbf-plan-cell{fill:rgba(168,199,189,.07);stroke:none;transition:fill 320ms ease}
.kbf-plan-svg a:hover .kbf-plan-cell{fill:rgba(143,111,224,.3)}
.kbf-plan-svg a:focus-visible .kbf-plan-cell{fill:rgba(191,162,107,.36)}
.kbf-plan-lab{
  fill:var(--kbf-ink);
  font-family:"PT Sans",Arial,sans-serif;
  font-size:9px;
  letter-spacing:.04em;
  pointer-events:none;
}
.kbf-plan-door{fill:none;stroke:var(--kbf-accent);stroke-width:1.4;stroke-dasharray:3 3}
.kbf-chalk{
  stroke-dasharray:var(--kbf-chalk-len,900);
  stroke-dashoffset:0;
  animation:kbf-chalk 1200ms ease-out 120ms backwards;
}
.kbf-plan-keys{display:flex;flex-wrap:wrap;gap:.3rem;margin:.7rem 0 0;padding:0;list-style:none}
.kbf-plan-keys li{margin:0}
.kbf-plan-key{
  display:block;
  padding:.28rem .6rem;
  font-size:.8rem;
  text-decoration:none;
  color:var(--kbf-ink);
  border:1px solid var(--kbf-rule);
  border-radius:2px;
  transition:background-color 300ms ease,border-color 300ms ease,color 300ms ease;
}
.kbf-plan-key:hover{background:var(--kbf-bg);color:var(--kbf-paper);border-color:var(--kbf-accent)}

.kbf-room-panel{
  display:none;
  padding:.9rem 1rem;
  border-left:4px solid var(--kbf-accent);
  background:rgba(0,0,0,.2);
}
#kbf-r-hall{display:block}
.kbf-room-panel:target{display:block}
.kbf-plan-set:has(.kbf-room-panel:target) #kbf-r-hall:not(:target){display:none}
.kbf-plan-set:has(#kbf-r-hall:target) .kbf-plan-hall,
.kbf-plan-set:has(#kbf-r-living:target) .kbf-plan-living,
.kbf-plan-set:has(#kbf-r-kitchen:target) .kbf-plan-kitchen,
.kbf-plan-set:has(#kbf-r-bath:target) .kbf-plan-bath,
.kbf-plan-set:has(#kbf-r-bed:target) .kbf-plan-bed,
.kbf-plan-set:has(#kbf-r-stairs:target) .kbf-plan-stairs{fill:rgba(143,111,224,.42)}
.kbf-plan-set:not(:has(.kbf-room-panel:target)) .kbf-plan-hall{fill:rgba(143,111,224,.42)}
.kbf-room-panel h3{margin-top:0}
.kbf-room-panel p{margin-bottom:.7rem;font-size:.95rem}
.kbf-panel-dl{display:grid;grid-template-columns:1fr;gap:.15rem .9rem;font-size:.93rem}
.kbf-panel-k{
  color:var(--kbf-gold);
  text-transform:uppercase;
  font-size:.82rem;
  letter-spacing:.07em;
  margin-top:.5rem;
}
.kbf-panel-v{margin:0;color:var(--kbf-ink)}

.kbf-lay{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  display:grid;
  grid-template-columns:repeat(6,1fr);
  grid-auto-rows:3.2rem;
  align-content:start;
  pointer-events:none;
}
.kbf-plank{
  align-self:center;
  justify-self:center;
  width:5.4rem;
  height:1.05rem;
  background:var(--kbf-rule);
  border:1px solid rgba(0,0,0,.3);
  border-radius:1px;
  opacity:.3;
  transform:rotate(var(--kbf-lay-a,45deg));
  animation:kbf-lay 820ms cubic-bezier(.2,.72,.3,1) backwards;
  transition:background-color 400ms ease;
}
.kbf-plank:nth-child(1),.kbf-plank:nth-child(3),.kbf-plank:nth-child(5),
.kbf-plank:nth-child(8),.kbf-plank:nth-child(10),.kbf-plank:nth-child(12),
.kbf-plank:nth-child(13),.kbf-plank:nth-child(15),.kbf-plank:nth-child(17),
.kbf-plank:nth-child(20),.kbf-plank:nth-child(22),.kbf-plank:nth-child(24){--kbf-lay-a:45deg}
.kbf-plank:nth-child(2),.kbf-plank:nth-child(4),.kbf-plank:nth-child(6),
.kbf-plank:nth-child(7),.kbf-plank:nth-child(9),.kbf-plank:nth-child(11),
.kbf-plank:nth-child(14),.kbf-plank:nth-child(16),.kbf-plank:nth-child(18),
.kbf-plank:nth-child(19),.kbf-plank:nth-child(21),.kbf-plank:nth-child(23){--kbf-lay-a:-45deg}
.kbf-plank:nth-child(1){animation-delay:0ms}
.kbf-plank:nth-child(2),.kbf-plank:nth-child(7){animation-delay:70ms}
.kbf-plank:nth-child(3),.kbf-plank:nth-child(8),.kbf-plank:nth-child(13){animation-delay:140ms}
.kbf-plank:nth-child(4),.kbf-plank:nth-child(9),.kbf-plank:nth-child(14),.kbf-plank:nth-child(19){animation-delay:210ms}
.kbf-plank:nth-child(5),.kbf-plank:nth-child(10),.kbf-plank:nth-child(15),.kbf-plank:nth-child(20){animation-delay:280ms}
.kbf-plank:nth-child(6),.kbf-plank:nth-child(11),.kbf-plank:nth-child(16),.kbf-plank:nth-child(21){animation-delay:350ms}
.kbf-plank:nth-child(12),.kbf-plank:nth-child(17),.kbf-plank:nth-child(22){animation-delay:420ms}
.kbf-plank:nth-child(18),.kbf-plank:nth-child(23){animation-delay:490ms}
.kbf-plank:nth-child(24){animation-delay:560ms}

@keyframes kbf-lay{
  from{transform:translate3d(-3rem,-2.2rem,0) rotate(0deg) scaleX(.35);opacity:0}
  55%{opacity:.34}
  to{transform:translate3d(0,0,0) rotate(var(--kbf-lay-a,45deg)) scaleX(1);opacity:.3}
}
@keyframes kbf-chalk{
  from{stroke-dashoffset:var(--kbf-chalk-len,900)}
  to{stroke-dashoffset:0}
}
@keyframes kbf-seat{
  from{transform:translateY(-9px);opacity:0}
  to{transform:translateY(0);opacity:1}
}

.kbf-rail-hold{position:relative;z-index:1}
.kbf-rail{
  display:flex;
  gap:.7rem;
  overflow-x:auto;
  padding:.4rem .1rem 1.1rem;
  scroll-snap-type:x proximity;
}
.kbf-swatch{
  flex:0 0 9.6rem;
  scroll-snap-align:start;
  display:block;
  text-align:left;
  padding:.55rem .6rem .7rem;
  background:var(--kbf-bg);
  color:var(--kbf-ink);
  border:1px solid var(--kbf-rule);
  border-radius:2px;
  font:inherit;
  cursor:pointer;
  overflow:hidden;
  transition:transform 220ms ease,box-shadow 220ms ease,border-color 400ms ease;
}
.kbf-chip{
  display:block;
  height:4.2rem;
  border-radius:1px;
  border:1px solid rgba(0,0,0,.35);
}
.kbf-chip-vinyl{background:linear-gradient(150deg,#cfd9cf,#9aa79c 60%,#7f8c84)}
.kbf-chip-lvt{background:repeating-linear-gradient(90deg,#8a6a4c 0 12px,#7a5c41 12px 13px)}
.kbf-chip-laminate{background:repeating-linear-gradient(75deg,#c2a276 0 16px,#b39364 16px 17px)}
.kbf-chip-wood{background:repeating-linear-gradient(105deg,#6f4a2c 0 18px,#835c39 18px 30px)}
.kbf-chip-carpet{background:radial-gradient(circle at 30% 30%,#5d6b74,#3d4a52 70%)}
.kbf-swatch-name{
  display:block;
  margin-top:.5rem;
  font-family:"Fjalla One",Impact,sans-serif;
  text-transform:uppercase;
  font-size:.95rem;
  color:var(--kbf-paper);
  transition:transform 220ms ease;
}
.kbf-swatch-note{
  display:block;
  font-size:.78rem;
  line-height:1.25;
  color:var(--kbf-ink);
  opacity:0;
  transform:translateY(.5rem);
  transition:opacity 220ms ease,transform 220ms ease;
}
.kbf-swatch:hover,.kbf-swatch:focus-visible{
  transform:translateY(-5px);
  box-shadow:0 6px 0 -2px rgba(0,0,0,.45);
}
.kbf-swatch:hover .kbf-swatch-name,.kbf-swatch:focus-visible .kbf-swatch-name{transform:translateY(-2px)}
.kbf-swatch:hover .kbf-swatch-note,.kbf-swatch:focus-visible .kbf-swatch-note{opacity:1;transform:translateY(0)}
.kbf-swatch[aria-pressed="true"]{
  border:2px solid var(--kbf-accent);
  padding:.5rem .55rem .65rem;
}
.kbf-swatch[aria-pressed="true"] .kbf-swatch-name{color:var(--kbf-accent);font-size:1.02rem}

.kbf-tablewrap{overflow-x:auto;margin:.6rem 0 .4rem;position:relative;z-index:1}
.kbf-spec{width:100%;min-width:34rem;font-size:.9rem}
.kbf-cap{
  caption-side:top;
  text-align:left;
  padding:0 0 .6rem;
  color:var(--kbf-paper);
  font-size:.88rem;
}
.kbf-spec th,.kbf-spec td{
  border:1px solid var(--kbf-rule);
  padding:.5rem .6rem;
  vertical-align:top;
  text-align:left;
  transition:border-color 400ms ease,background-color 400ms ease;
}
.kbf-spec thead th{
  font-family:"Fjalla One",Impact,sans-serif;
  font-weight:400;
  text-transform:uppercase;
  color:var(--kbf-paper);
  background:rgba(0,0,0,.18);
}
.kbf-spec tbody th{color:var(--kbf-paper);font-weight:700;white-space:nowrap}
.kbf-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.kbf-spec-row[data-active]{background:rgba(0,0,0,.24)}
.kbf-spec-row[data-active] th,.kbf-spec-row[data-active] td{border-color:var(--kbf-accent)}
.kbf-spec-row[data-active] th{color:var(--kbf-accent)}
.kbf-w-packs{color:var(--kbf-accent);font-weight:700}

.kbf-calc{
  margin:1.1rem 0 1.2rem;
  padding:1rem;
  border:1px solid var(--kbf-rule);
  background:rgba(0,0,0,.2);
  transition:border-color 400ms ease;
}
.kbf-fields{display:grid;grid-template-columns:1fr;gap:.9rem}
.kbf-field{margin:0}
.kbf-lab{display:block;text-transform:uppercase;font-size:1rem;color:var(--kbf-paper)}
.kbf-in{
  box-sizing:border-box;
  display:block;
  font:inherit;
  width:100%;
  max-width:22rem;
  margin:.3rem 0 .25rem;
  padding:.5rem .55rem;
  color:var(--kbf-paper);
  background:var(--kbf-bg);
  border:1px solid var(--kbf-rule);
  border-radius:2px;
  transition:border-color 400ms ease,box-shadow 300ms ease;
}
.kbf-in:hover{border-color:var(--kbf-gold)}
.kbf-help{display:block;font-size:.82rem;color:var(--kbf-gold);max-width:24rem}
.kbf-room{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.4rem .7rem;
  align-items:end;
  padding:.7rem 0;
  border-top:1px dashed var(--kbf-rule);
  transition:border-color 400ms ease;
}
.kbf-room-n{
  grid-column:1 / -1;
  text-transform:uppercase;
  font-size:.9rem;
  color:var(--kbf-gold);
}
.kbf-sub{display:block;font-size:.84rem}
.kbf-room-a{grid-column:1 / -1;font-size:.95rem;color:var(--kbf-paper)}
.kbf-add{
  margin:.4rem 0 1rem;
  padding:.5rem .9rem;
  font:inherit;
  text-transform:uppercase;
  color:var(--kbf-bg);
  background:var(--kbf-accent);
  border:0;
  border-radius:2px;
  cursor:pointer;
  transition:background-color 400ms ease,transform 180ms ease;
}
.kbf-add:hover,.kbf-add:focus-visible{transform:translateY(-2px);background:var(--kbf-gold)}
.kbf-out{
  margin:0 0 1rem;
  display:grid;
  grid-template-columns:1fr auto;
  gap:.25rem .8rem;
  border-top:2px solid var(--kbf-rule);
  padding-top:.7rem;
  transition:border-color 400ms ease;
}
.kbf-out dt{font-size:.92rem}
.kbf-out dd{margin:0;text-align:right;color:var(--kbf-paper);font-size:.98rem}
#kbf-o-packs{color:var(--kbf-accent);font-size:1.25rem}
.kbf-note{font-size:.88rem;margin-bottom:0}
.kbf-guide{
  display:inline-block;
  margin:.2rem 0 .6rem;
  padding:.14rem .5rem;
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--kbf-deep);
  background:var(--kbf-gold);
  border-radius:2px;
}

.kbf-elev{
  margin:1rem 0;
  padding:.8rem;
  border:1px solid var(--kbf-rule);
  background:rgba(0,0,0,.18);
  transition:border-color 400ms ease;
}
.kbf-elev-svg{width:100%;height:auto}
.kbf-elev-base{fill:#123f3d;stroke:var(--kbf-rule);stroke-width:1.4}
.kbf-elev-under{fill:#2f6f66;stroke:var(--kbf-rule);stroke-width:1.2}
.kbf-elev-face{fill:#8f6fe0;stroke:#6f52bd;stroke-width:1.2}
.kbf-elev-door{fill:#bfa26b;stroke:#8e7647;stroke-width:1.2;animation:kbf-seat 700ms ease-out 320ms backwards}
.kbf-elev-lab{fill:var(--kbf-ink);font-family:"PT Sans",Arial,sans-serif;font-size:9px}
.kbf-elev-lead{fill:none;stroke:var(--kbf-ink);stroke-width:.8;stroke-dasharray:2 2}
.kbf-elev-cap{margin:.6rem 0 0;font-size:.84rem}

.kbf-stage{list-style:none;margin:1rem 0;padding:0}
.kbf-stage-item{
  position:relative;
  margin:0 0 .9rem;
  padding:.8rem 1rem .8rem 3.1rem;
  border:1px solid var(--kbf-rule);
  background:rgba(0,0,0,.16);
  transition:border-color 400ms ease,transform 220ms ease;
}
.kbf-stage-item:hover{transform:translateX(4px);border-color:var(--kbf-gold)}
.kbf-stage-n{
  position:absolute;
  left:.85rem;
  top:.7rem;
  font-size:1.5rem;
  line-height:1;
  color:var(--kbf-accent);
}
.kbf-stage-item h3{margin:0 0 .3rem}
.kbf-stage-item p{margin-bottom:0;font-size:.94rem}

.kbf-bars{display:grid;grid-template-columns:1fr;gap:.9rem;margin:1rem 0}
.kbf-bar{
  padding:.8rem;
  border:1px solid var(--kbf-rule);
  background:rgba(0,0,0,.18);
  transition:border-color 400ms ease,background-color 400ms ease;
}
.kbf-bar:hover{border-color:var(--kbf-accent);background:rgba(0,0,0,.3)}
.kbf-bar h3{margin-top:.4rem}
.kbf-bar p{margin-bottom:0;font-size:.92rem}
.kbf-bar-svg{width:100%;height:auto}
.kbf-bar-metal{fill:var(--kbf-gold);stroke:#8e7647;stroke-width:1}
.kbf-bar-left{fill:#2f6f66;stroke:#1d4d47;stroke-width:1}
.kbf-bar-right{fill:#8f6fe0;stroke:#6f52bd;stroke-width:1}
.kbf-bar-sub{fill:#0f4347;stroke:var(--kbf-rule);stroke-width:1.2}

.kbf-props{display:grid;grid-template-columns:1fr;gap:.9rem;margin:1rem 0}
.kbf-prop{
  padding:.9rem 1rem;
  border-left:4px solid var(--kbf-gold);
  background:rgba(0,0,0,.16);
  transition:border-color 400ms ease,transform 220ms ease;
}
.kbf-prop:hover{transform:translateX(4px);border-color:var(--kbf-accent)}
.kbf-prop h3{margin-top:0}
.kbf-prop p{margin-bottom:0;font-size:.94rem}

.kbf-footbar{
  margin:2rem 0 0;
  padding:1rem 1.1rem;
  background:var(--kbf-deep);
  border-top:3px solid var(--kbf-rule);
  font-size:.85rem;
  transition:border-color 400ms ease;
}
.kbf-footbar p{margin:0 0 .25rem}
.kbf-fname{font-size:1.15rem;text-transform:uppercase;color:var(--kbf-paper)}
.kbf-faddr{color:var(--kbf-paper)}
.kbf-fmeta{color:var(--kbf-ink)}

.kbf-doc a:focus-visible,.kbf-doc button:focus-visible,.kbf-doc select:focus-visible,
.kbf-doc input:focus-visible{
  outline:3px solid var(--kbf-gold);
  outline-offset:2px;
}

@media (min-width:640px){
  .kbf-doc{font-size:18px}
  .kbf-main{padding:1.8rem 1.6rem 0}
  .kbf-head{padding:1.1rem 1.6rem .1rem}
  .kbf-sec{padding:1.6rem 1.6rem}
  .kbf-doc h1{font-size:2.9rem}
  .kbf-doc h2{font-size:2rem}
  .kbf-doc .kbf-wordmark{font-size:2.1rem}
  .kbf-open{font-size:1.24rem;margin-bottom:2.4rem}
  .kbf-dock{grid-template-columns:1fr 1fr}
  .kbf-dock-cell:nth-last-child(2){border-bottom:0}
  .kbf-fields{grid-template-columns:1fr 1fr;gap:1.2rem}
  .kbf-room{grid-template-columns:6rem 1fr 1fr 7rem;align-items:center}
  .kbf-room-n{grid-column:auto}
  .kbf-room-a{grid-column:auto;text-align:right}
  .kbf-out{grid-template-columns:1fr 9rem}
  .kbf-panel-dl{grid-template-columns:7rem 1fr;gap:.35rem .9rem}
  .kbf-panel-k{margin-top:0}
  .kbf-bars{grid-template-columns:1fr 1fr}
  .kbf-props{grid-template-columns:1fr 1fr}
}

@media (min-width:1024px){
  .kbf-doc{padding-bottom:9.5rem}
  .kbf-plan-set{grid-template-columns:22rem 1fr;align-items:start}
  .kbf-bars{grid-template-columns:1fr 1fr 1fr}
  .kbf-footbar{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    margin:0;
    display:flex;
    flex-wrap:wrap;
    align-items:baseline;
    gap:.2rem 1.4rem;
    padding:.75rem 1.6rem;
    box-shadow:0 -4px 0 -1px rgba(0,0,0,.4);
    z-index:5;
  }
  .kbf-footbar p{margin:0}
  .kbf-fname{font-size:1.05rem;flex:0 0 100%}
}

@media (prefers-reduced-motion: reduce){
  .kbf-plank,.kbf-chalk,.kbf-elev-door{animation:none}
  .kbf-sec,.kbf-t-accent,.kbf-t-rule,.kbf-spec th,.kbf-spec td,.kbf-calc,.kbf-in,
  .kbf-room,.kbf-out,.kbf-add,.kbf-footbar,.kbf-swatch,.kbf-swatch-name,.kbf-swatch-note,
  .kbf-tab,.kbf-stage-item,.kbf-bar,.kbf-prop,.kbf-plan-cell,.kbf-plan-key,.kbf-dock,
  .kbf-dock-cell,.kbf-plan-fig,.kbf-elev,.kbf-head,.kbf-plank,.kbf-plan-part{
    transition-duration:0ms;
  }
  .kbf-swatch:hover,.kbf-swatch:focus-visible,.kbf-add:hover,.kbf-add:focus-visible,
  .kbf-stage-item:hover,.kbf-prop:hover,.kbf-tab:hover{transform:none}
  .kbf-swatch:hover .kbf-swatch-name,.kbf-swatch:focus-visible .kbf-swatch-name{transform:none}
  .kbf-swatch-note{transform:none}
}

.kbf-pp{max-width:44rem;padding-top:2rem}
.kbf-pp h1,.kbf-pp h2{font-size:1.5rem;line-height:1.12;margin-top:2rem;text-transform:none}
.kbf-pp h1{margin-top:0}
.kbf-pp p{max-width:42rem}
.kbf-pp-lead{color:var(--kbf-paper)}
.kbf-back{margin-top:2.4rem;padding-top:1rem;border-top:2px solid var(--kbf-rule)}
.kbf-doc-pp{padding-bottom:3rem}

@media (min-width:640px){
  .kbf-pp h1,.kbf-pp h2{font-size:1.75rem}
}
