.slu_doc{
  & *,& *::before,& *::after{box-sizing:border-box}
  & p,& li{margin-block:0 .9rem}
  & h1,& h2,& h3{margin-block:0 .5rem;line-height:1.12}
}

body{
  margin:0;
  background:var(--slu_bg);
  color:var(--slu_ink);
  font-family:Alegreya,"Iowan Old Style","Palatino Linotype",Georgia,serif;
  font-size:1.02rem;
  line-height:1.55;
  overflow-x:hidden;
}

.slu_doc{
  max-inline-size:63rem;
  margin-inline:auto;
  padding-inline:1rem;
  padding-block-end:3rem;
}

.slu_h1,.slu_h2,.slu_wordmark,.slu_navlist,.slu_layer_label,.slu_rule th,.slu_calc label,.slu_foot_name{
  font-family:"Alegreya Sans","Trebuchet MS","Segoe UI",sans-serif;
  font-weight:800;
}

.slu_band{
  position:sticky;
  inset-block-start:0;
  z-index:5;
  background:var(--slu_bg);
  border-block-end:4px solid var(--slu_ink);
  padding-block:.85rem .6rem;
}

.slu_wordmark{
  margin:0 0 .45rem;
  font-size:1.32rem;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.slu_navlist{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:.15rem .95rem;
  font-size:.76rem;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.slu_navlist a{
  color:var(--slu_ink);
  text-decoration:none;
  border-block-end:2px solid transparent;
  padding-block-end:2px;
  display:inline-block;
}

.slu_navlist a:hover,
.slu_navlist a:focus-visible{border-block-end-color:var(--slu_accent)}

.slu_opening{
  margin-block:1.6rem 2.4rem;
  max-inline-size:40rem;
  font-size:1.06rem;
}

.slu_sec{
  border-block-start:2px solid var(--slu_line);
  padding-block-start:1.5rem;
  margin-block-end:2.6rem;
}

.slu_sec p{max-inline-size:44rem}

.slu_h1{font-size:1.72rem;letter-spacing:-.01em}
.slu_h2{font-size:1.34rem;letter-spacing:-.005em}

.slu_h1,.slu_h2{margin-block-end:.9rem}

a:focus-visible,
input:focus-visible,
select:focus-visible,
button:focus-visible{
  outline:3px solid var(--slu_accent2);
  outline-offset:2px;
}

.slu_stack{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-block-size:min(74vh,37rem);
  border:4px solid var(--slu_ink);
  background:var(--slu_paper);
  padding:.75rem;
  margin-block:1.2rem .6rem;
  overflow:hidden;
}

.slu_layer{
  position:relative;
  overflow:hidden;
  max-block-size:4.1rem;
  border-block:3px solid var(--slu_ink);
  margin-block-start:-3px;
  background:var(--slu_paper);
}

.slu_layer:first-child{margin-block-start:0}

.slu_hatch{
  position:absolute;
  inset:0;
  background-repeat:repeat;
  opacity:.72;
}

.slu_hatch_seal{
  background-image:repeating-linear-gradient(45deg,color-mix(in srgb,var(--slu_accent2) 70%,transparent) 0 3px,transparent 3px 11px);
  background-size:auto 64px;
}
.slu_hatch_finish{
  background-image:repeating-linear-gradient(90deg,color-mix(in srgb,var(--slu_accent) 62%,transparent) 0 2px,transparent 2px 9px);
  background-size:auto 64px;
}
.slu_hatch_primer{
  background-image:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--slu_ink) 34%,transparent) 0 2px,transparent 2px 7px);
  background-size:auto 64px;
}
.slu_hatch_screed{
  background-image:
    repeating-linear-gradient(45deg,color-mix(in srgb,var(--slu_ink) 30%,transparent) 0 2px,transparent 2px 10px),
    repeating-linear-gradient(-45deg,color-mix(in srgb,var(--slu_ink) 22%,transparent) 0 2px,transparent 2px 10px);
  background-size:auto 64px,auto 64px;
}
.slu_hatch_dpm{
  background-image:repeating-linear-gradient(0deg,color-mix(in srgb,var(--slu_ink) 62%,transparent) 0 4px,transparent 4px 12px);
  background-size:auto 64px;
}
.slu_hatch_substrate{
  background-image:
    repeating-linear-gradient(60deg,color-mix(in srgb,var(--slu_ink) 40%,transparent) 0 3px,transparent 3px 13px),
    repeating-linear-gradient(300deg,color-mix(in srgb,var(--slu_surface) 80%,transparent) 0 5px,transparent 5px 17px);
  background-size:auto 64px,auto 64px;
}

.slu_layer_label{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  gap:.6rem;
  min-block-size:calc(4.1rem - 6px);
  padding-inline:.85rem;
  color:var(--slu_ink);
  text-decoration:none;
  font-size:.85rem;
  letter-spacing:.05em;
  text-transform:uppercase;
  background:color-mix(in srgb,var(--slu_paper) 78%,transparent);
}

.slu_lead{
  display:inline-block;
  block-size:3px;
  inline-size:0;
  background:var(--slu_accent);
}

.slu_layer_spec{
  position:relative;
  z-index:2;
  padding:.2rem .95rem 1rem;
  background:color-mix(in srgb,var(--slu_paper) 92%,transparent);
}

.slu_layer_spec p{font-size:.96rem;max-inline-size:38rem}

.slu_layer_close{
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--slu_accent);
}

.slu_layer:target{max-block-size:26rem}

.slu_caption{
  font-size:.8rem;
  font-style:italic;
  color:color-mix(in srgb,var(--slu_ink) 78%,transparent);
}

.slu_address,.slu_foot_addr{
  font-style:normal;
  line-height:1.45;
  border-inline-start:5px solid var(--slu_accent);
  padding-inline-start:.9rem;
  margin-block:1rem;
}

.slu_mail,.slu_foot_mail a,.slu_foot_annex a{
  color:var(--slu_ink);
  text-decoration-thickness:2px;
  text-underline-offset:3px;
}

.slu_sec_write{
  background:color-mix(in srgb,var(--slu_surface) 60%,transparent);
  padding:1.5rem 1.1rem 1rem;
  border:3px solid var(--slu_ink);
  border-block-start-width:4px;
}

.slu_rule{
  border-collapse:collapse;
  inline-size:100%;
  max-inline-size:44rem;
  margin-block:1rem;
  font-size:.9rem;
  background:var(--slu_paper);
}

.slu_rule caption{
  text-align:start;
  font-size:.78rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding-block-end:.4rem;
}

.slu_rule th,.slu_rule td{
  border:2px solid var(--slu_ink);
  padding:.42rem .6rem;
  text-align:start;
  vertical-align:top;
}

.slu_rule th{font-size:.76rem;letter-spacing:.05em;text-transform:uppercase}

.slu_calc{
  display:grid;
  gap:.85rem;
  max-inline-size:44rem;
  margin-block:1.3rem;
  padding:1rem;
  border:3px solid var(--slu_ink);
  background:var(--slu_paper);
}

.slu_field{display:flex;flex-direction:column;gap:.28rem}

.slu_calc label{font-size:.76rem;letter-spacing:.05em;text-transform:uppercase}

.slu_calc input,.slu_calc select{
  font:inherit;
  font-size:1rem;
  padding:.45rem .55rem;
  border:2px solid var(--slu_ink);
  background:var(--slu_white);
  color:var(--slu_ink);
  inline-size:100%;
}

.slu_out{
  max-inline-size:44rem;
  border-inline-start:6px solid var(--slu_accent2);
  padding-inline-start:1rem;
  margin-block:1.2rem;
}

.slu_depth_row,.slu_rh_row{margin-block-end:.7rem}

.slu_rh_row{font-weight:500}

.slu_caveat{
  font-size:.88rem;
  max-inline-size:42rem;
  color:color-mix(in srgb,var(--slu_ink) 85%,transparent);
}

.slu_foot{
  border-block-start:4px solid var(--slu_ink);
  padding-block-start:1.4rem;
  margin-block-start:1rem;
  font-size:.92rem;
}

.slu_foot_name{
  letter-spacing:.16em;
  text-transform:uppercase;
  font-size:1rem;
  margin-block-end:.4rem;
}

.slu_foot_reg,.slu_foot_duns{margin-block-end:.35rem;font-size:.86rem}

.slu_foot_annex{margin-block-start:1rem}

.slu_entry{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:.45rem;
  margin-block:1.1rem .2rem;
}

.slu_entry_name{
  font-family:"Alegreya Sans","Trebuchet MS","Segoe UI",sans-serif;
  font-weight:800;
  font-size:.92rem;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.slu_leader{
  flex:1 1 3rem;
  min-inline-size:2rem;
  border-block-end:3px dotted color-mix(in srgb,var(--slu_ink) 55%,transparent);
  transform:translateY(-.3em);
}

.slu_entry_hold{font-size:.9rem;font-style:italic}

.slu_note{
  margin-inline-start:1.7rem;
  max-inline-size:40rem;
  font-size:.97rem;
}

.slu_annex_open{
  max-inline-size:42rem;
  margin-block:1.6rem 2.2rem;
  padding-inline-start:1rem;
  border-inline-start:6px solid var(--slu_accent);
}

.slu_annex_home{
  display:inline-block;
  margin-block-start:2.2rem;
  font-family:"Alegreya Sans","Trebuchet MS","Segoe UI",sans-serif;
  font-weight:800;
  font-size:.8rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--slu_ink);
  border-block-end:3px solid var(--slu_accent);
  text-decoration:none;
  padding-block-end:3px;
}

@media (min-width:48rem){
  body{font-size:1.06rem}
  .slu_doc{padding-inline:2rem}
  .slu_h1{font-size:2.15rem}
  .slu_h2{font-size:1.6rem}
  .slu_band{display:flex;align-items:baseline;gap:1.6rem;flex-wrap:wrap}
  .slu_wordmark{margin-block-end:0;flex:0 0 auto}
  .slu_nav{flex:1 1 22rem}
  .slu_calc{grid-template-columns:1fr 1fr;gap:1rem 1.4rem}
  .slu_layer_label{font-size:.93rem;padding-inline:1.2rem}
  .slu_sec_write{padding:1.8rem 1.6rem 1.2rem}
}

@media (min-width:64rem){
  .slu_sec_write{display:grid;grid-template-columns:1fr 1fr;gap:0 2rem;align-items:start}
  .slu_sec_write .slu_h2{grid-column:1 / -1}
  .slu_stack{min-block-size:min(78vh,39rem)}
}

@media (prefers-reduced-motion: no-preference){
  .slu_navlist a{transition:border-block-end-color 180ms ease-out,color 180ms ease-out}
  .slu_layer{transition:max-block-size 420ms cubic-bezier(.22,.61,.36,1)}
  .slu_hatch{transition:background-position 240ms ease-out,opacity 240ms ease-out}
  .slu_lead{transition:inline-size 260ms cubic-bezier(.22,.61,.36,1)}
  .slu_calc input,.slu_calc select{transition:background 160ms ease-out,border-color 160ms ease-out}
  .slu_annex_home,.slu_mail{transition:color 180ms ease-out}

  .slu_layer:hover .slu_hatch,
  .slu_layer:focus-within .slu_hatch{background-position:6px 5px;opacity:.9}

  .slu_layer:hover .slu_lead,
  .slu_layer:focus-within .slu_lead{inline-size:3.2rem}

  .slu_layer:target .slu_hatch{animation:slu_hatch_run 6s linear infinite}

  @keyframes slu_hatch_run{
    from{background-position:0 0}
    to{background-position:0 -64px}
  }

  @supports (animation-timeline: view()){
    .slu_stack{
      view-timeline-name:--slu_stack_tl;
      view-timeline-axis:block;
      animation-name:slu_hatch_gain;
      animation-timing-function:linear;
      animation-fill-mode:both;
      animation-timeline:--slu_stack_tl;
      animation-range:entry 12% cover 42%;
    }
    @keyframes slu_hatch_gain{
      from{filter:contrast(.62) saturate(.7)}
      to{filter:contrast(1) saturate(1)}
    }
  }
}

@media (prefers-reduced-motion: reduce){
  .slu_stack,
  .slu_layer,
  .slu_hatch,
  .slu_lead,
  .slu_navlist a,
  .slu_calc input,
  .slu_calc select{
    animation:none;
    transition:none;
    filter:none;
  }
  .slu_layer:hover .slu_lead,
  .slu_layer:focus-within .slu_lead{inline-size:3.2rem}
}
