*{margin:0;padding:0;box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
  font-family:Georgia,'Times New Roman',serif;
  font-size:16px;
  color:#2E3028;
  background-color:#F1EFE2;
  background-image:
    repeating-linear-gradient(to right,#E7E4D2 0 1px,transparent 1px 80px),
    repeating-linear-gradient(to bottom,#E7E4D2 0 1px,transparent 1px 80px);
  overflow-x:hidden;
  line-height:1.6;
}

.page-sheet{
  max-width:1200px;
  margin:0 auto;
  padding:0 24px 0;
}

.chaining-head{
  display:flex;
  align-items:center;
  gap:12px;
  padding:20px 0 10px;
  position:relative;
}
.chaining-head::after{
  content:'';
  border-top:7px solid transparent;
  border-bottom:7px solid transparent;
  border-left:15px solid #2E3028;
  flex:0 0 auto;
}
.head-end-rule{
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
}
.head-end-rule::before{
  content:'';
  width:18px;height:18px;
  background:#9C4A32;
  transform:rotate(45deg);
}
.head-end-arrow{
  border-top:7px solid transparent;
  border-bottom:7px solid transparent;
  border-left:15px solid #2E3028;
}
.head-wordmark{
  background:#9C4A32;
  color:#FAF8EC;
  font-weight:700;
  letter-spacing:2px;
  padding:8px 18px;
  font-size:1.4rem;
  text-decoration:none;
  flex:0 0 auto;
}
.head-links{
  display:flex;
  gap:10px;
  margin-left:auto;
  align-items:center;
  flex-wrap:wrap;
}
.head-chip{
  background:#FAF8EC;
  border:1px solid #8F948A;
  color:#2E3028;
  padding:6px 14px;
  text-decoration:none;
  font-size:0.95rem;
}
.head-chip:hover{background:#E7E4D2;}
.head-chip-cta{
  background:#9C4A32;
  border:1px solid #2B2D27;
  color:#FAF8EC;
  padding:9px 16px;
  text-decoration:none;
  font-weight:700;
  letter-spacing:1px;
}
.head-chip-cta:hover{background:#8A4A38;}

.plot{
  position:relative;
}
.plot-corner{
  position:absolute;
  top:-1px;left:-1px;
  width:0;height:0;
  border-top:30px solid #9C4A32;
  border-right:30px solid transparent;
}
.plot-num{
  position:absolute;
  top:2px;right:0;
  background:#E7E4D2;
  border:1px solid #2B2D27;
  color:#2E3028;
  font-family:'Courier New',monospace;
  font-size:0.85rem;
  padding:4px 12px;
  letter-spacing:1px;
}
.p01-open{
  margin-top:50px;
  padding-top:60px;
  min-height:70vh;
}
.p01-title{
  font-size:3.6rem;
  font-weight:400;
  line-height:1.08;
  letter-spacing:1px;
  max-width:16ch;
}
.p01-title-sub{
  display:block;
  color:#9C4A32;
}
.standfirst{
  max-width:58%;
  font-size:1.18rem;
  margin:28px 0 0;
}
.transect-rule{
  display:flex;
  align-items:center;
  margin:46px 0 28px;
  max-width:58%;
}
.rule-line{
  flex:1 1 auto;
  height:5px;
  background:#9C4A32;
}
.rule-arrow{
  flex:0 0 auto;
  margin-left:14px;
  border-left:22px solid #9C4A32;
  border-top:10px solid transparent;
  border-bottom:10px solid transparent;
}
.datum-chips{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
}
.chip-datum{
  border:1px solid #2B2D27;
  background:#FAF8EC;
  padding:10px 18px;
  font-family:'Courier New',monospace;
  font-size:0.9rem;
  color:#2E3028;
}
.chip-datum strong{
  display:block;
  color:#9C4A32;
  font-family:Georgia,serif;
  font-weight:700;
  font-size:1rem;
  letter-spacing:1px;
}

.plot-label{
  font-family:'Courier New',monospace;
  font-size:0.95rem;
  letter-spacing:3px;
  color:#9C4A32;
  font-weight:700;
  display:block;
  margin-bottom:10px;
  text-transform:uppercase;
}
.plot-head{
  font-size:2.3rem;
  font-weight:400;
  letter-spacing:1px;
  margin:0 0 40px;
}

.p02-service{
  padding:70px 0 90px;
  margin-top:30px;
  border-top:2px solid #8F948A;
}
.parcel-note{
  max-width:72ch;
  margin:30px 0 0;
  font-size:1.05rem;
  border-left:4px solid #9C4A32;
  padding-left:18px;
}
.plot-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:26px;
}
.docket-pair{
  display:grid;
  grid-template-columns:1.15fr 0.85fr;
  gap:34px;
  align-items:start;
}
.faq-panel{
  margin-top:30px;
}
.parcel{
  background:#FAF8EC;
  border:1px solid #2B2D27;
  padding:24px 22px;
  position:relative;
}
.parcel-corner{
  position:absolute;
  top:-1px;left:-1px;
  width:0;height:0;
  border-top:16px solid #9C4A32;
  border-right:16px solid transparent;
}
.parcel-name{
  display:block;
  font-size:1.4rem;
  color:#2E3028;
  text-decoration:none;
  margin:6px 0 12px;
  letter-spacing:.5px;
}
.parcel-name:hover{color:#9C4A32;}
.parcel p{color:#2E3028;font-size:1.02rem;}

.p03-transect{
  display:grid;
  grid-template-columns:1fr auto;
  gap:60px;
  align-items:start;
  padding:70px 0 90px;
  border-top:2px solid #8F948A;
}
.walk-column{
  max-width:66ch;
  font-size:1.1rem;
}
.walk-column p{margin-bottom:20px;}
.transect-strip{
  position:relative;
  width:150px;
  padding-top:6px;
}
.strip-rule{
  position:absolute;
  top:10px;
  bottom:10px;
  left:18px;
  width:6px;
  background:#9C4A32;
}
.strip-rule::before{
  content:'';
  position:absolute;
  top:-7px;
  left:50%;
  transform:translateX(-50%);
  border-left:11px solid transparent;
  border-right:11px solid transparent;
  border-top:14px solid #9C4A32;
}
.strip-rule::after{
  content:'';
  position:absolute;
  bottom:-7px;
  left:50%;
  transform:translateX(-50%);
  border-left:11px solid transparent;
  border-right:11px solid transparent;
  border-top:none;
  border-bottom:14px solid #9C4A32;
}
.strip-arrow{
  position:absolute;
  left:15px;
  width:12px;
  height:30px;
  background:#9C4A32;
}
.strip-arrow::after{
  content:'';
  position:absolute;
  bottom:-2px;
  left:50%;
  transform:translateX(-50%);
  border-left:9px solid transparent;
  border-right:9px solid transparent;
  border-top:13px solid #2E3028;
}
.strip-arrow.flag-one{top:20%;}
.strip-arrow.flag-two{top:50%;}
.strip-arrow.flag-three{top:80%;}
.strip-flag{
  position:absolute;
  left:34px;
  display:flex;
  align-items:center;
  gap:8px;
}
.strip-flag.flag-one{top:19%;}
.strip-flag.flag-two{top:49%;}
.strip-flag.flag-three{top:79%;}
.flag-ribbon{
  width:34px;
  height:9px;
  background:#9C4A32;
}
.flag-label{
  font-family:'Courier New',monospace;
  font-size:0.8rem;
  color:#9C4A32;
  letter-spacing:1px;
  font-weight:700;
  white-space:nowrap;
}

.p04-office{
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:44px;
  align-items:start;
  padding:70px 0 90px;
  border-top:2px solid #8F948A;
}
.field-docket{
  position:relative;
  background:#FAF8EC;
  border:1px solid #2B2D27;
  padding:30px 28px;
}
.docket-clip{
  position:absolute;
  top:-1px;
  left:30px;
  background:#9C4A32;
  width:56px;
  height:16px;
}
.docket-title{
  font-size:1.6rem;
  letter-spacing:.5px;
  margin:18px 0 20px;
}
.docket-field{
  margin-bottom:18px;
}
.docket-field label{
  display:block;
  font-family:'Courier New',monospace;
  font-size:0.9rem;
  color:#9C4A32;
  margin-bottom:6px;
  letter-spacing:1px;
  text-transform:uppercase;
}
.docket-input,.docket-textarea{
  width:100%;
  border:1px solid #8F948A;
  background:#F1EFE2;
  padding:12px 14px;
  font-family:Georgia,serif;
  font-size:1rem;
  color:#2E3028;
}
.docket-textarea{min-height:120px;resize:vertical;}
.docket-submit{
  background:#9C4A32;
  color:#FAF8EC;
  border:1px solid #2B2D27;
  padding:14px 34px;
  font-size:1.05rem;
  cursor:pointer;
  font-family:Georgia,serif;
  letter-spacing:1px;
}
.docket-submit:hover{background:#8A4A38;}
.register-radar{
  border:1px solid #2B2D27;
  background:#F1EFE2;
}
.register-head{
  background:#E7E4D2;
  padding:12px 20px;
  border-bottom:2px solid #2B2D27;
  font-family:'Courier New',monospace;
  font-weight:700;
  letter-spacing:2px;
  font-size:0.9rem;
  color:#2E3028;
  text-transform:uppercase;
}
.register-body{padding:6px 20px 16px;}
.register-row{
  padding:12px 0;
  border-bottom:1px dotted #8F948A;
}
.register-row:last-child{border-bottom:none;}
.register-row span{
  display:block;
  font-family:'Courier New',monospace;
  font-size:0.78rem;
  color:#9C4A32;
  letter-spacing:1px;
  text-transform:uppercase;
  margin-bottom:3px;
}
.register-row p,.register-row a{
  color:#2E3028;
}
.register-row a{color:#2E3028;}
.register-row a:hover{color:#9C4A32;}
.reg-addr{line-height:1.5;}
.reg-note{
  line-height:1.7;
  font-size:1.05rem;
  color:#2E3028;
}
.reg-note + .reg-note{padding-top:10px;}

.bench-end-rule{
  background:#2B2D27;
  color:#F1EFE2;
  padding:0;
  position:relative;
  z-index:1;
}
.bench-end-rule::before{
  content:'';
  display:block;
  height:4px;
  background-image:repeating-linear-gradient(to right,#8F948A 0 14px,#2B2D27 14px 24px);
}
.bench-end-rule .page-sheet{
  padding-top:26px;
  padding-bottom:22px;
}
.bench-end-perf{
  display:none;
}
.bench-end-links{
  display:flex;
  justify-content:center;
  gap:30px;
  flex-wrap:wrap;
  padding:0 0 14px;
  border-bottom:1px solid #8F948A;
  margin-bottom:16px;
}
.bench-end-links a{
  color:#FAF8EC;
  text-decoration:none;
  letter-spacing:.5px;
  border-bottom:1px solid #9C4A32;
  padding-bottom:2px;
}
.bench-end-links a:hover{color:#9C4A32;}
.bench-end-note{
  text-align:center;
  font-size:0.95rem;
  color:#F1EFE2;
  line-height:1.8;
  position:relative;
  z-index:1;
}
.bench-end-note a{color:#FAF8EC;}

.go-top{
  position:fixed;
  bottom:22px;
  right:22px;
  width:48px;
  height:48px;
  border-radius:50%;
  background:#9C4A32;
  color:#FAF8EC;
  border:2px solid #2B2D27;
  font-size:1.4rem;
  line-height:1;
  cursor:pointer;
  z-index:60;
  font-weight:700;
  align-items:center;
  justify-content:center;
  font-family:'Courier New',monospace;
  display:flex;
}
.go-top:hover{background:#8A4A38;}

.js .reveal-elem{
  opacity:0;
  transform:translateY(18px);
}
.js .reveal-elem.is-visible{
  opacity:1;
  transform:translateY(0);
  transition:opacity 500ms ease,transform 500ms ease;
}
.no-js .reveal-elem{
  opacity:1;
  transform:none;
}

@media(max-width:900px){
  .chaining-head{flex-wrap:wrap;}
  .head-links{width:100%;margin-left:0;}
  .p01-title{font-size:2.5rem;}
  .standfirst,.transect-rule{max-width:100%;}
  .plot-grid{grid-template-columns:repeat(2,1fr);}
  .docket-pair{grid-template-columns:1fr;}
  .p03-transect{grid-template-columns:1fr;}
  .transect-strip{width:100%;min-height:500px;}
  .p04-office{grid-template-columns:1fr;}
  .walk-column p{font-size:1rem;}
}
@media(max-width:560px){
  .plot-grid{grid-template-columns:1fr;}
}
