figure,figcaption,svg{margin:0}

svg{display:block;inline-size:100%;block-size:auto}

body{margin:0}

h1,h2,h3{margin:0 0 .45rem}

dl,dd{margin:0}

:root{
  --lvp-bg:#f0ece1;
  --lvp-ink:#1d2419;
  --lvp-accent:#c04a45;
  --lvp-accent2:#16283a;
  --lvp-surface:#ded4bd;
  --lvp-rule:rgba(29,36,25,.28);
  --lvp-faint:rgba(29,36,25,.09);
  --lvp-measure:34rem;
}

body{
  background-color:var(--lvp-bg);
  background-image:
    repeating-linear-gradient(to right,var(--lvp-faint) 0 1px,transparent 1px 44px),
    repeating-linear-gradient(to bottom,var(--lvp-faint) 0 1px,transparent 1px 44px);
  color:var(--lvp-ink);
  font-family:Vollkorn,"Iowan Old Style",Georgia,serif;
  font-size:1.0625rem;
  line-height:1.62;
  padding:0 1.1rem 3rem;
  overflow-wrap:break-word;
}

h1,h2{
  font-family:Chivo,"Arial Black","Helvetica Neue",sans-serif;
  font-weight:900;
  letter-spacing:-.012em;
  line-height:1.16;
}

h1{font-size:1.72rem;color:var(--lvp-accent2)}

p{margin:0 0 .95rem;max-inline-size:var(--lvp-measure)}

a{color:var(--lvp-accent);text-underline-offset:.14em}

a:hover{color:var(--lvp-accent2)}

a:focus-visible{outline:2px solid var(--lvp-accent);outline-offset:3px}

#lvp-main{
  counter-reset:lvp 1;
  max-inline-size:60rem;
  margin:0 auto;
  padding-block-start:1.4rem;
}

#lvp-main section{
  border-block-start:1px solid var(--lvp-rule);
  padding-block:1.5rem 1.1rem;
}

#lvp-main h1,
#lvp-main h2{margin-block-end:.7rem}

#lvp-main h2{font-size:1.18rem;color:var(--lvp-accent2)}

#lvp-office h1::before,
#lvp-main h2::before{
  counter-increment:lvp;
  content:counter(lvp,decimal-leading-zero) "  ";
  color:var(--lvp-accent);
  font-size:.72em;
  letter-spacing:.06em;
  vertical-align:.14em;
}

#lvp-main #lvp-drawing{border-block-start:0;padding-block-start:.9rem}

#lvp-drawing figure{
  box-sizing:border-box;
  border:1px solid var(--lvp-rule);
  background:var(--lvp-bg);
  padding:.7rem .6rem .55rem;
}

#lvp-drawing figcaption{
  max-inline-size:var(--lvp-measure);
  font-size:.86rem;
  line-height:1.5;
  color:var(--lvp-accent2);
  border-block-start:1px solid var(--lvp-rule);
  margin-block-start:.5rem;
  padding-block-start:.5rem;
}

#lvp-drawing figcaption::before{
  content:"01  ";
  color:var(--lvp-accent);
  font-family:Chivo,"Arial Black",sans-serif;
  font-weight:900;
  font-size:.8em;
  letter-spacing:.06em;
}

#lvp-elevation{max-block-size:64vh}

#lvp-elevation a{cursor:pointer}

#lvp-elevation text{
  font-family:Chivo,"Arial Black","Helvetica Neue",sans-serif;
  font-weight:900;
  font-size:19px;
  fill:var(--lvp-accent2);
  opacity:.55;
  transform:translate(0,5px);
  transition:opacity 160ms linear,transform 160ms linear;
}

#lvp-groundline path{stroke-width:1.9}

#lvp-foundations:hover path,
#lvp-structure:hover path,
#lvp-fitout:hover path,
#lvp-roof:hover path{stroke:var(--lvp-accent);stroke-width:2.6}

#lvp-foundations:focus-visible path,
#lvp-structure:focus-visible path,
#lvp-fitout:focus-visible path,
#lvp-roof:focus-visible path{stroke:var(--lvp-accent);stroke-width:2.6}

#lvp-foundations:hover text,
#lvp-structure:hover text,
#lvp-fitout:hover text,
#lvp-roof:hover text{opacity:1;fill:var(--lvp-accent);transform:translate(0,0)}

#lvp-foundations:focus-visible text,
#lvp-structure:focus-visible text,
#lvp-fitout:focus-visible text,
#lvp-roof:focus-visible text{opacity:1;fill:var(--lvp-accent);transform:translate(0,0)}

#lvp-elevation a:focus-visible{outline:2px solid var(--lvp-accent);outline-offset:2px}

#lvp-levels{
  box-sizing:border-box;
  border:1px solid var(--lvp-rule);
  background:var(--lvp-surface);
  padding:1rem .9rem .7rem;
  margin-block:1.1rem;
  max-inline-size:38rem;
}

#lvp-levels fieldset{
  box-sizing:border-box;
  border:0;
  border-block-start:1px solid var(--lvp-rule);
  margin:0 0 .7rem;
  padding:.6rem 0 0;
}

#lvp-levels legend{
  font-family:Chivo,"Arial Black",sans-serif;
  font-weight:900;
  font-size:.76rem;
  letter-spacing:.02em;
  color:var(--lvp-accent2);
  padding:0 .4rem 0 0;
}

#lvp-levels fieldset p{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:.45rem;
  justify-content:space-between;
  margin:0 0 .38rem;
  max-inline-size:none;
}

#lvp-levels label{font-size:.94rem}

#lvp-levels input{
  box-sizing:border-box;
  inline-size:7.2rem;
  font-family:Chivo,"Arial Black",sans-serif;
  font-weight:900;
  font-size:.95rem;
  color:var(--lvp-ink);
  background:var(--lvp-bg);
  border:1px solid var(--lvp-rule);
  border-radius:0;
  padding:.3rem .4rem;
  text-align:end;
}

#lvp-levels input:focus-visible{outline:2px solid var(--lvp-accent);outline-offset:1px}

#lvp-working{
  border-block-start:1px solid var(--lvp-rule);
  padding-block-start:.7rem;
  margin-block-start:.2rem;
}

#lvp-working dt{
  font-size:.9rem;
  color:var(--lvp-accent2);
  margin-block-start:.35rem;
}

#lvp-working dd{
  padding-block-end:.32rem;
  border-block-end:1px dotted var(--lvp-rule);
}

#lvp-levels output{
  font-family:Chivo,"Arial Black",sans-serif;
  font-weight:900;
  font-size:1rem;
  color:var(--lvp-ink);
  font-variant-numeric:tabular-nums;
}

#lvp-working #lvp-depth-term{
  color:var(--lvp-accent);
  font-weight:600;
  margin-block-start:.75rem;
}

#lvp-levels #lvp-caveat{
  font-size:.86rem;
  line-height:1.5;
  margin:.85rem 0 .2rem;
  padding-block-start:.6rem;
  border-block-start:1px solid var(--lvp-rule);
  max-inline-size:none;
}

#lvp-foot{
  max-inline-size:60rem;
  margin:0 auto;
  border-block-start:3px solid var(--lvp-accent2);
  padding-block-start:1.3rem;
}

#lvp-foot h2{
  font-family:Chivo,"Arial Black",sans-serif;
  font-weight:900;
  font-size:.95rem;
  letter-spacing:.01em;
  color:var(--lvp-accent2);
}

#lvp-block address{
  font-style:normal;
  line-height:1.45;
  margin-block-end:.8rem;
}

#lvp-block p{margin:0 0 .4rem;font-size:.94rem}

#lvp-reg{color:var(--lvp-accent2);font-weight:600}

#lvp-area{
  color:var(--lvp-accent2);
  font-size:.88rem;
  padding-block-start:.5rem;
  border-block-start:1px solid var(--lvp-rule);
  margin-block-start:.7rem;
}

#lvp-legal{padding-block-start:.2rem}

#lvp-sections{
  margin-block-start:1.5rem;
  padding-block-start:1rem;
  border-block-start:1px solid var(--lvp-rule);
}

#lvp-sections ol{
  margin:0;
  padding-inline-start:0;
  list-style:none;
  counter-reset:lvpnav;
}

#lvp-sections li{
  border-block-end:1px dotted var(--lvp-rule);
  padding-block:.28rem;
  font-size:.92rem;
}

#lvp-sections li::before{
  counter-increment:lvpnav;
  content:counter(lvpnav,decimal-leading-zero) "  ";
  font-family:Chivo,"Arial Black",sans-serif;
  font-weight:900;
  font-size:.78em;
  color:var(--lvp-accent);
}

#lvp-sections a{color:var(--lvp-ink);text-decoration:none}

#lvp-sections a:hover{color:var(--lvp-accent);text-decoration:underline}

#lvp-paper{
  max-inline-size:52rem;
  margin:0 auto;
  padding-block-start:1.6rem;
}

#lvp-paper h1{font-size:1.5rem;margin-block-end:.9rem}

#lvp-paper h2{
  font-family:Chivo,"Arial Black",sans-serif;
  font-weight:900;
  font-size:1.05rem;
  color:var(--lvp-accent2);
  margin-block:1.5rem .5rem;
}

#lvp-whosees{
  inline-size:100%;
  border-collapse:collapse;
  font-size:.88rem;
  margin-block:.7rem 1.1rem;
}

#lvp-whosees caption{
  text-align:start;
  font-size:.85rem;
  color:var(--lvp-accent2);
  padding-block-end:.5rem;
}

#lvp-whosees th,
#lvp-whosees td{
  border:1px solid var(--lvp-rule);
  padding:.45rem .5rem;
  text-align:start;
  vertical-align:top;
}

#lvp-whosees thead th{
  background:var(--lvp-surface);
  font-family:Chivo,"Arial Black",sans-serif;
  font-weight:900;
  font-size:.8rem;
  line-height:1.3;
}

#lvp-whosees tbody th{
  background:var(--lvp-surface);
  font-weight:600;
  inline-size:9rem;
}

#lvp-whosees b{
  font-family:Chivo,"Arial Black",sans-serif;
  font-weight:900;
  font-size:.82rem;
  color:var(--lvp-accent2);
  display:block;
}

#lvp-return{
  margin-block-start:2rem;
  padding-block-start:.9rem;
  border-block-start:3px solid var(--lvp-accent2);
  font-family:Chivo,"Arial Black",sans-serif;
  font-weight:900;
  font-size:.92rem;
}

@media (min-width:46rem){
  body{padding:0 2rem 4rem;font-size:1.1rem}
  h1{font-size:2.15rem}
  #lvp-main h2{font-size:1.34rem}
  #lvp-main section{padding-block:2rem 1.5rem}
  #lvp-drawing figure{padding:1.1rem 1rem .8rem}
  #lvp-levels{padding:1.3rem 1.2rem .9rem}
  #lvp-levels label{font-size:1rem}
  #lvp-foot{display:grid;grid-template-columns:1fr 1fr;gap:2.2rem}
  #lvp-sections{margin-block-start:0;padding-block-start:0;border-block-start:0}
  #lvp-whosees{font-size:.92rem}
}

@media (min-width:66rem){
  #lvp-main{padding-block-start:2.2rem}
  #lvp-working dt{font-size:.95rem}
}

@media (prefers-reduced-motion:reduce){
  #lvp-elevation path{stroke-dashoffset:0 !important;stroke-dasharray:none !important;transition:none !important}
  #lvp-elevation text{transition:none;transform:translate(0,0);opacity:.72}
}
