/* Commons Properties Limited - Estate Survey Station theme
   FIELD-CHALK #F1F0E7 body, SURVEY-INK #29302B text
   RANGE-BRONZE #8A6A34 accent, LEDGE-DEEP #202620 dark panels
   PLATE-ECRU #FAF7EC page faces, HILL-MIST #E0E2D5 dividers
   TRIG-RED #A8442E reserved for trig marks only */

:root{
  --field-chalk:#F1F0E7;
  --survey-ink:#29302B;
  --range-bronze:#8A6A34;
  --ledge-deep:#202620;
  --plate-ecru:#FAF7EC;
  --hill-mist:#E0E2D5;
  --trig-red:#A8442E;
}

*{box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
  margin:0;
  padding:0;
  font-size:16px;
  font-family:Georgia,"Times New Roman",serif;
  background:#F1F0E7;
  color:#29302B;
  line-height:1.7;
  overflow-x:hidden;
}

h1,h2,h3,h4{
  font-family:Georgia,"Times New Roman",serif;
  color:#29302B;
  line-height:1.25;
  margin:0 0 0.6em 0;
}

p{margin:0 0 1.1em 0;}

a{color:#8A6A34;text-decoration:none;}
a:hover{color:#202620;text-decoration:underline;}

img{max-width:100%;}

.wrap{
  max-width:1160px;
  margin:0 auto;
  padding:0 24px;
}

/* ---------- TRIPOD LEG NAV ---------- */
.tripodnav{
  background:#202620;
  position:sticky;
  top:0;
  z-index:50;
  padding:0 24px 18px 24px;
}

.tripodnav-inner{
  max-width:1160px;
  margin:0 auto;
  position:relative;
}

.tripodnav-brand{
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:#FAF7EC;
  font-size:1.15rem;
  letter-spacing:0.06em;
  padding:16px 0 10px 0;
  font-weight:bold;
}

.theodolite-glyph{
  display:inline-block;
  width:26px;
  height:22px;
  position:relative;
  flex:0 0 auto;
}

.theodolite-glyph::before{
  content:"";
  position:absolute;
  left:5px;
  top:0;
  width:16px;
  height:11px;
  background:#8A6A34;
  border-radius:2px 2px 0 0;
}

.theodolite-glyph::after{
  content:"";
  position:absolute;
  left:11px;
  top:11px;
  width:4px;
  height:11px;
  background:#FAF7EC;
}

.tripodnav-legs{
  position:relative;
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  padding-top:14px;
}

.tripodnav-legs::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:2px;
  background:#8A6A34;
}

.tripodnav-tablet{
  display:block;
  background:#FAF7EC;
  color:#29302B;
  padding:10px 16px 9px 16px;
  font-size:0.95rem;
  letter-spacing:0.04em;
  border-top:3px solid #8A6A34;
  text-decoration:none;
}

.tripodnav-tablet:hover{
  background:#E0E2D5;
  color:#202620;
  text-decoration:none;
}

.tripodnav-tablet .tnum{
  display:block;
  font-size:0.66rem;
  letter-spacing:0.22em;
  color:#8A6A34;
}

.tripodnav-tablet:nth-child(odd){transform:rotate(-0.7deg);}
.tripodnav-tablet:nth-child(even){transform:rotate(0.8deg);}

.tripodnav-toggle{
  display:none;
  background:#8A6A34;
  color:#FAF7EC;
  border:0;
  font-size:0.9rem;
  letter-spacing:0.1em;
  padding:10px 16px;
  margin:12px 0 0 0;
  cursor:pointer;
  font-family:inherit;
}

/* ---------- STATION PLATEAU HERO ---------- */
.stationfield{
  position:relative;
  background:#F1F0E7;
  padding:64px 24px 72px 24px;
  overflow-x:hidden;
}

.stationfield-inner{
  max-width:1160px;
  margin:0 auto;
  position:relative;
  min-height:600px;
}

.triangulation-net{
  position:absolute;
  inset:0;
  z-index:0;
}

.tnet-line{
  position:absolute;
  height:1px;
  background:#8A6A34;
  transform-origin:0 0;
}

.trig-mark{
  position:absolute;
  width:0;
  height:0;
  border-left:7px solid transparent;
  border-right:7px solid transparent;
  border-bottom:11px solid #A8442E;
  z-index:2;
}

.trig-label{
  position:absolute;
  font-size:0.7rem;
  letter-spacing:0.16em;
  color:#8A6A34;
  z-index:2;
}

.station-copy{
  position:relative;
  z-index:3;
  max-width:620px;
  padding-top:24px;
}

.station-headline{
  font-size:2.6rem;
  line-height:1.15;
  margin:0 0 20px 0;
}

.station-headline span{display:block;}
.station-headline .fx{color:#8A6A34;}

.station-intro{
  font-size:1.05rem;
  color:#29302B;
  max-width:560px;
}

.station-cta{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  margin-top:28px;
}

.cta-tab{
  display:inline-block;
  padding:16px 30px;
  font-size:1rem;
  letter-spacing:0.06em;
  text-decoration:none;
  border:2px solid #202620;
}

.cta-tab-bronze{
  background:#8A6A34;
  color:#FAF7EC;
  border-color:#8A6A34;
}
.cta-tab-bronze:hover{background:#202620;color:#FAF7EC;border-color:#202620;text-decoration:none;}

.cta-tab-ecru{
  background:#FAF7EC;
  color:#29302B;
}
.cta-tab-ecru:hover{background:#E0E2D5;color:#202620;text-decoration:none;}

/* the brass tripod instrument */
.station-instrument{
  position:absolute;
  right:40px;
  bottom:20px;
  width:300px;
  height:400px;
  z-index:1;
}

.instrument-head{
  position:absolute;
  left:96px;
  top:0;
  width:110px;
  height:96px;
  background:#8A6A34;
  border-radius:8px 8px 4px 4px;
  box-shadow:0 0 0 4px #6E5426 inset;
}

.instrument-face{
  position:absolute;
  left:14px;
  top:14px;
  width:82px;
  height:68px;
  background:#FAF7EC;
  border-radius:4px;
}

.instrument-dot{
  position:absolute;
  left:36px;
  top:52px;
  width:10px;
  height:10px;
  background:#A8442E;
  border-radius:50%;
}

.instrument-scope{
  position:absolute;
  left:200px;
  top:34px;
  width:70px;
  height:22px;
  background:#8A6A34;
}

.instrument-leg{
  position:absolute;
  bottom:0;
  width:6px;
  height:310px;
  background:#8A6A34;
  transform-origin:top center;
}

.leg-a{left:100px;transform:rotate(-9deg);}
.leg-b{left:148px;transform:rotate(0deg);}
.leg-c{left:196px;transform:rotate(9deg);}

.instrument-plate{
  position:absolute;
  left:70px;
  bottom:0;
  width:180px;
  height:12px;
  background:#6E5426;
  border-radius:3px;
}

/* open field book lower right */
.fieldbook{
  position:absolute;
  right:360px;
  bottom:36px;
  width:280px;
  z-index:3;
  display:flex;
  box-shadow:0 6px 0 #D6D4C4;
}

.fieldbook-page{
  width:50%;
  background:#FAF7EC;
  border:2px solid #202620;
  padding:12px 10px;
}

.fieldbook-page.left{border-right-width:1px;}
.fieldbook-page.right{border-left-width:1px;}

.book-rule{
  height:1px;
  background:#E0E2D5;
  margin:9px 0;
}

.book-entry{
  font-size:0.62rem;
  letter-spacing:0.1em;
  color:#8A6A34;
}

.tablet-stack{
  position:absolute;
  right:40px;
  bottom:0;
  width:300px;
  z-index:2;
}

.survey-tablet{
  height:16px;
  background:#FAF7EC;
  border:2px solid #8A6A34;
  margin-top:6px;
}

.survey-tablet.t2{margin-left:14px;}
.survey-tablet.t3{margin-left:28px;}

/* ---------- FIXING WEEK ACCENT STRIP ---------- */
.fixingweek{
  background:#8A6A34;
  color:#FAF7EC;
  padding:26px 24px;
  position:relative;
}

.fixingweek::before,
.fixingweek::after{
  content:"";
  position:absolute;
  left:24px;
  right:24px;
  height:1px;
  background:#FAF7EC;
}
.fixingweek::before{top:12px;}
.fixingweek::after{bottom:12px;}

.fixingweek-inner{
  max-width:1160px;
  margin:0 auto;
  text-align:center;
  font-size:1.08rem;
  letter-spacing:0.03em;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  flex-wrap:wrap;
}

.strip-trig{
  width:0;
  height:0;
  border-left:8px solid transparent;
  border-right:8px solid transparent;
  border-bottom:13px solid #FAF7EC;
  flex:0 0 auto;
}

/* ---------- SURVEYBOOK SECTION ---------- */
.surveybook{
  background:#E0E2D5;
  padding:72px 24px;
  position:relative;
}

.surveybook-inner{
  max-width:1160px;
  margin:0 auto;
  position:relative;
  background:#E0E2D5;
}

.clip{
  position:absolute;
  width:34px;
  height:12px;
  background:#8A6A34;
  z-index:5;
}
.clip-tl{top:-6px;left:-6px;}
.clip-br{bottom:-6px;right:-6px;}

.surveybook-head{
  max-width:760px;
  margin-bottom:42px;
}

.surveybook-head .eyebrow{
  display:inline-block;
  font-size:0.72rem;
  letter-spacing:0.28em;
  color:#8A6A34;
  border-bottom:2px solid #8A6A34;
  padding-bottom:5px;
  margin-bottom:16px;
}

.surveybook-head h2{
  font-size:2rem;
  margin-bottom:14px;
}

.book-spread{
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:28px;
  align-items:start;
}

.book-col-left,
.book-col-right{
  display:flex;
  flex-direction:column;
  gap:24px;
}

.book-page{
  background:#FAF7EC;
  border-left:9px solid #202620;
  padding:26px 28px 22px 28px;
  position:relative;
}

.book-page.inverted{
  background:#202620;
  border-left-color:#8A6A34;
}

.book-page.inverted h3{color:#FAF7EC;}
.book-page.inverted p{color:#FAF7EC;}
.book-page.inverted .entry-no{color:#8A6A34;}

.book-page .entry-no{
  font-size:0.68rem;
  letter-spacing:0.24em;
  color:#8A6A34;
  display:block;
  margin-bottom:8px;
}

.book-page h3{
  font-size:1.3rem;
  margin-bottom:12px;
}

.book-page p{
  font-size:0.98rem;
  margin-bottom:0;
}

.ledger-plate{
  background:#202620;
  padding:30px 28px;
  color:#FAF7EC;
}

.ledger-plate h3{
  color:#FAF7EC;
  font-size:1.25rem;
  margin-bottom:14px;
}

.ledger-plate p{color:#FAF7EC;font-size:0.95rem;}

.ledger-diagram{
  position:relative;
  height:150px;
  margin:20px 0 16px 0;
  border:1px solid #8A6A34;
}

.ledger-diagram .ldot{
  position:absolute;
  width:0;
  height:0;
  border-left:6px solid transparent;
  border-right:6px solid transparent;
  border-bottom:10px solid #A8442E;
}

.ledger-diagram .lrig{
  position:absolute;
  height:1px;
  background:#8A6A34;
  transform-origin:0 0;
}

/* ---------- CONTENT SECTIONS ---------- */
.fieldnotes{
  background:#F1F0E7;
  padding:72px 24px;
}

.fieldnotes-inner{
  max-width:1160px;
  margin:0 auto;
}

.fieldnotes h2{
  font-size:2rem;
  margin-bottom:22px;
  max-width:760px;
}

.fieldnotes h3{
  font-size:1.35rem;
  margin-top:32px;
  margin-bottom:10px;
}

.prose-duo{
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:34px;
  align-items:start;
}

.prose-main p{font-size:1.02rem;}

.prose-aside{
  background:#FAF7EC;
  border-top:6px solid #8A6A34;
  padding:26px 26px 20px 26px;
}

.prose-aside h3{
  font-size:1.05rem;
  margin-top:0;
}

.prose-aside ul{
  margin:0;
  padding-left:18px;
}

.prose-aside li{
  margin-bottom:10px;
  font-size:0.95rem;
}

/* ---------- SERVICE MENTION LINKS ---------- */
.svc-links{
  background:#FAF7EC;
  padding:56px 24px;
}

.svc-links-inner{
  max-width:1160px;
  margin:0 auto;
}

.svc-links h2{
  font-size:1.8rem;
  margin-bottom:20px;
}

.svc-links-grid{
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:20px 34px;
}

.svc-link-item{
  border-bottom:1px dashed #8A6A34;
  padding:12px 0;
  font-size:1rem;
}

.svc-link-item a{
  font-weight:bold;
}

/* ---------- FOOTER BENCHBASE ---------- */
.benchbase{
  background:#202620;
  color:#FAF7EC;
  position:relative;
  padding:0 24px 26px 24px;
}

.benchbase-shelf{
  height:16px;
  background:#8A6A34;
  margin:0 -24px;
  position:relative;
}

.benchbase-shelf::after{
  content:"";
  position:absolute;
  left:50%;
  top:-13px;
  width:36px;
  height:13px;
  margin-left:-18px;
  background:#8A6A34;
  border-radius:3px 3px 0 0;
}

.benchbase-inner{
  max-width:1160px;
  margin:0 auto;
}

.benchbase-tablets{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  padding:22px 0 24px 0;
}

.bench-tablet{
  display:block;
  background:#FAF7EC;
  color:#29302B;
  padding:9px 15px;
  font-size:0.88rem;
  text-decoration:none;
}
.bench-tablet:hover{background:#E0E2D5;text-decoration:none;}

.benchbase-page{
  background:#FAF7EC;
  color:#29302B;
  padding:26px 28px;
  max-width:640px;
}

.benchbase-page h3{
  margin-top:0;
  font-size:1.15rem;
}

.benchbase-page p{font-size:0.95rem;margin-bottom:0;}

.benchbase-meta{
  display:flex;
  flex-wrap:wrap;
  gap:18px 34px;
  align-items:center;
  padding-top:22px;
  border-top:1px solid #8A6A34;
  margin-top:22px;
  font-size:0.9rem;
}

.benchbase-meta a{color:#FAF7EC;}
.benchbase-meta a:hover{color:#8A6A34;}

.base-trig{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:0.8rem;
  letter-spacing:0.14em;
  color:#FAF7EC;
}

.base-trig .tri{
  width:0;
  height:0;
  border-left:6px solid transparent;
  border-right:6px solid transparent;
  border-bottom:10px solid #A8442E;
}

/* ---------- SUBPAGE SHARED ---------- */
.pageband{
  background:#202620;
  color:#FAF7EC;
  padding:56px 24px;
}

.pageband-inner{
  max-width:1160px;
  margin:0 auto;
}

.pageband .eyebrow{
  display:inline-block;
  font-size:0.72rem;
  letter-spacing:0.28em;
  color:#8A6A34;
  margin-bottom:12px;
}

.pageband h1{
  color:#FAF7EC;
  font-size:2.3rem;
  margin-bottom:14px;
}

.pageband p{
  color:#FAF7EC;
  max-width:720px;
  font-size:1.02rem;
}

/* services detail */
.svc-detail{
  background:#F1F0E7;
  padding:64px 24px;
}

.svc-detail-inner{
  max-width:1160px;
  margin:0 auto;
}

.svc-block{
  background:#FAF7EC;
  border-left:9px solid #202620;
  padding:30px 32px;
  margin-bottom:26px;
}

.svc-block:nth-child(3n){
  background:#202620;
  border-left-color:#8A6A34;
}
.svc-block:nth-child(3n) h2{color:#FAF7EC;}
.svc-block:nth-child(3n) p{color:#FAF7EC;}
.svc-block:nth-child(3n) .entry-no{color:#8A6A34;}

.svc-block .entry-no{
  font-size:0.68rem;
  letter-spacing:0.24em;
  color:#8A6A34;
  display:block;
  margin-bottom:8px;
}

.svc-block h2{
  font-size:1.5rem;
  margin-bottom:12px;
}

.svc-block p{font-size:1rem;margin-bottom:0.9em;}

.ledger-list{
  margin:0 0 0 0;
  padding-left:20px;
}
.ledger-list li{margin-bottom:8px;font-size:0.98rem;}

.svc-process{
  background:#FAF7EC;
  padding:64px 24px;
}

.svc-process-inner{
  max-width:1160px;
  margin:0 auto;
}

.svc-process h2{font-size:1.9rem;margin-bottom:24px;}

.process-spread{
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:30px;
  align-items:start;
}

.process-step{
  border-left:6px solid #8A6A34;
  padding:4px 0 4px 18px;
  margin-bottom:22px;
}

.process-step h3{font-size:1.15rem;margin-bottom:6px;}

.process-step p{margin-bottom:0;font-size:0.98rem;}

.process-side{
  background:#E0E2D5;
  padding:26px 26px 18px 26px;
  border-top:6px solid #8A6A34;
}

.process-side h3{margin-top:0;font-size:1.1rem;}

.ctaband{
  background:#8A6A34;
  color:#FAF7EC;
  padding:52px 24px;
  text-align:center;
}

.ctaband-inner{max-width:860px;margin:0 auto;}

.ctaband h2{color:#FAF7EC;font-size:1.9rem;margin-bottom:14px;}

.ctaband p{color:#FAF7EC;font-size:1.05rem;}

.ctaband .cta-tab-ecru{margin-top:8px;}

/* contact */
.contact-body{
  background:#F1F0E7;
  padding:64px 24px 72px 24px;
}

.contact-inner{
  max-width:1160px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:36px;
  align-items:start;
}

.contact-form-wrap{
  background:#FAF7EC;
  border-top:8px solid #8A6A34;
  padding:32px 34px;
}

.contact-form-wrap h2{font-size:1.5rem;margin-bottom:20px;}

.form-row{margin-bottom:18px;}

.form-row label{
  display:block;
  font-size:0.82rem;
  letter-spacing:0.12em;
  color:#8A6A34;
  margin-bottom:6px;
}

.form-row input,
.form-row textarea{
  width:100%;
  padding:12px 14px;
  font-family:inherit;
  font-size:1rem;
  color:#29302B;
  background:#F1F0E7;
  border:2px solid #202620;
}

.form-row textarea{min-height:150px;resize:vertical;}

.form-submit{
  background:#8A6A34;
  color:#FAF7EC;
  border:2px solid #8A6A34;
  font-family:inherit;
  font-size:1rem;
  letter-spacing:0.08em;
  padding:15px 34px;
  cursor:pointer;
}
.form-submit:hover{background:#202620;border-color:#202620;}

.contact-aside{
  background:#202620;
  color:#FAF7EC;
  padding:32px 34px;
}

.contact-aside h2{color:#FAF7EC;font-size:1.4rem;margin-bottom:16px;}

.contact-aside p{color:#FAF7EC;font-size:0.96rem;}

.contact-aside a{color:#FAF7EC;text-decoration:underline;}

.contact-facts{
  margin:20px 0 0 0;
  padding:0;
  list-style:none;
}

.contact-facts li{
  border-top:1px solid #8A6A34;
  padding:12px 0;
  font-size:0.94rem;
}

.contact-facts .k{
  display:block;
  font-size:0.7rem;
  letter-spacing:0.2em;
  color:#8A6A34;
  margin-bottom:3px;
}

.faq{
  background:#FAF7EC;
  padding:64px 24px;
}

.faq-inner{max-width:900px;margin:0 auto;}

.faq h2{font-size:1.8rem;margin-bottom:24px;}

.faq-item{
  border-bottom:1px solid #E0E2D5;
  padding:18px 0;
}

.faq-item h3{
  font-size:1.08rem;
  margin-bottom:8px;
}

.faq-item p{margin-bottom:0;font-size:0.98rem;}

/* ---------- REVEAL ---------- */
.reveal{opacity:0;transform:translateY(18px);}
.reveal.is-visible{opacity:1;transform:none;transition:opacity 0.5s ease,transform 0.5s ease;}

.no-js .reveal{opacity:1;transform:none;}

/* ---------- MOBILE ---------- */
@media (max-width:900px){
  .tripodnav-toggle{display:inline-block;}
  .tripodnav-legs{display:none;}
  .tripodnav-legs.open{display:flex;flex-direction:column;}
  .tripodnav-tablet{width:100%;transform:none !important;}
  .stationfield-inner{min-height:0;}
  .station-headline{font-size:1.9rem;}
  .station-instrument{position:relative;right:auto;bottom:auto;margin:36px auto 0 auto;}
  .fieldbook{position:relative;right:auto;bottom:auto;margin:32px auto 0 auto;}
  .tablet-stack{position:relative;right:auto;bottom:auto;margin:18px auto 0 auto;}
  .triangulation-net{display:none;}
  .book-spread{grid-template-columns:1fr;}
  .prose-duo{grid-template-columns:1fr;}
  .svc-links-grid{grid-template-columns:1fr;}
  .process-spread{grid-template-columns:1fr;}
  .contact-inner{grid-template-columns:1fr;}
}

@media (max-width:560px){
  .station-headline{font-size:1.55rem;}
  .benchbase-meta{flex-direction:column;align-items:flex-start;}
}
