:root{
  --trail:#F3F1E7;
  --ink:#2A2620;
  --moss:#6B7A46;
  --mossDark:#58663C;
  --mossPaper:#F2EFDF;
  --panel:#FBFAF3;
  --barkDeep:#2E2A22;
  --barkText:#EBE7D3;
  --rust:#A65B3B;
  --rustPaper:#F6EADB;
  --hairline:#E2DECD;
  --shadowSoft:#D9D3C1;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{
  background:var(--trail);
  color:var(--ink);
  font-family:Georgia,"Times New Roman",serif;
  font-size:16px;
  line-height:1.65;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
body.capture{overflow-x:hidden}
a{color:var(--mossDark);text-decoration-thickness:1px;}
a:hover{color:var(--rust)}
::selection{background:var(--moss);color:var(--panel)}
img{max-width:100%;display:block}

.wrap,.pagewrap,.shellwrap{
  max-width:1180px;
  margin:0 auto;
  padding:0 24px;
}

/* reveal animation: transform only, always fully opaque (safe without JS) */
.js .reveal.asleep{transform:translateY(20px)}
.reveal{transform:none;transition:transform .7s ease}

/* ======================= HEADER / THUMB TABS ======================= */
header.trailline,.trailheader{border-bottom:0}
.routeband{height:12px;background:var(--trail);border-bottom:3px dashed var(--rust);position:relative}
.routeband::before{content:"";position:absolute;left:0;top:-2px;width:14px;height:9px;background:var(--moss);border-radius:3px}
.site-header{
  position:relative;
  z-index:10;
}
.thumbtabs{
  max-width:100%;
  position:relative;
  padding-top:6px;
  background:linear-gradient(180deg,var(--rust) 0,var(--rust) 6px,var(--trail) 6px);
}
.thumbtabs .scrims{
  width:100%;
}
.thumbbar-shell{
  border-bottom:2px dashed var(--rust);
}
.thumbtabs .inner{
  max-width:1280px;
  margin:0 auto;
  padding:24px 22px 0;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:18px;
}
.brandplate{
  background:var(--barkDeep);
  color:var(--barkText);
  padding:16px 20px 18px;
  border-radius:8px 8px 0 0;
  box-shadow:0 -2px 0 0 var(--moss);
  min-width:210px;
}
.brandplate .brandlink{
  color:inherit;
  text-decoration:none;
}
.brandplate .brandname{
  font-size:1.75rem;
  line-height:1;
  letter-spacing:1px;
  font-weight:bold;
  display:block;
}
.brandplate .brandsub{
  font-size:0.7rem;
  letter-spacing:2.4px;
  text-transform:uppercase;
  color:var(--mossPaper);
  margin-top:8px;
  font-family:Arial,Helvetica,sans-serif;
  display:block;
}
.brandplate .ringdots{
  display:inline-block;
  height:10px;
  width:10px;
  border:2px solid var(--rust);
  border-radius:50%;
  margin-top:6px;
}
.thumbbar{
  display:flex;
  align-items:flex-end;
  gap:5px;
  flex:1;
  flex-wrap:nowrap;
}
.thumb-tab{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:12px 16px 14px;
  border-radius:12px 12px 0 0;
  text-decoration:none;
  font-family:Arial,Helvetica,sans-serif;
  font-weight:bold;
  font-size:0.88rem;
  letter-spacing:0.5px;
  white-space:nowrap;
  position:relative;
  transition:filter .2s ease,transform .2s ease;
}
.thumb-tab .hole{
  width:5px;height:5px;border-radius:50%;
  display:inline-block;background:var(--barkDeep);
}
.thumb-tab.t1{background:var(--moss);color:#F2EFDE;align-self:flex-end;padding-top:20px}
.thumb-tab.t2{background:var(--rust);color:#F7EFE1;padding-top:17px}
.thumb-tab.t3{background:var(--panel);color:var(--ink);border:1px solid var(--hairline);border-bottom:0;padding-top:15px}
.thumb-tab.t1 .hole,.thumb-tab.t2 .hole{background:#E9E4D0}
.thumb-tab:hover{filter:brightness(1.1);transform:translateY(-2px)}
.thumb-tab.current::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-4px;
  height:5px;
  background:var(--rust);
  border-radius:2px 2px 0 0;
}

@media (max-width:880px){
  .thumbtabs .inner{flex-direction:column;align-items:stretch;gap:0;padding:16px 18px 0}
  .brandplate{border-radius:8px;box-shadow:0 2px 0 0 var(--moss)}
  .thumbbar{flex-wrap:wrap}
  .thumb-tab{flex:1 1 40%;justify-content:center}
}

/* ======================= HERO OPEN MANUAL ======================= */
.hero-region{
  border-bottom:2px dashed var(--rust);
  background:var(--trail);
}
.fieldmanual{
  max-width:1280px;
  margin:0 auto;
  padding:38px 22px 30px;
  display:grid;
  grid-template-columns:55fr 45fr;
  gap:26px;
}
.manualpage{
  background:var(--panel);
  border:1px solid var(--hairline);
  box-shadow:8px 8px 0 0 var(--shadowSoft);
  padding:42px 40px 40px;
  border-radius:4px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.manpage-head{
  font-family:Arial,Helvetica,sans-serif;
  font-size:0.74rem;
  letter-spacing:3px;
  text-transform:uppercase;
  color:var(--mossDark);
  border-bottom:1px solid var(--hairline);
  padding-bottom:10px;
  margin-bottom:28px;
}
.manpage-head .fieldmark{
  color:var(--rust);
  font-weight:bold;
  letter-spacing:2px;
}
.fieldnote{
  font-style:italic;
  font-size:1.02rem;
  color:var(--ink);
  margin-bottom:26px;
}
.heroline{
  font-size:3rem;
  line-height:1.08;
  font-family:Georgia,serif;
  font-weight:bold;
  color:var(--ink);
  letter-spacing:-1px;
  margin:6px 0 14px;
}
.heroline .found{
  color:var(--moss);
  font-style:italic;
}
.heroline .inline-rule{
  color:var(--rust);
  font-weight:normal;
}
.hero-sub{
  display:block;
  font-size:1.4rem;
  font-style:italic;
  color:var(--rust);
  margin-bottom:22px;
  line-height:1.3;
}
.hero-copy{
  color:#3a342b;
  font-size:1.05rem;
  margin-bottom:30px;
}
.hero-copy p{margin-bottom:14px}
.hero-copy a{font-weight:bold}
.upper-cta{display:flex;gap:16px;flex-wrap:wrap}
.center-cta{justify-content:center;margin-top:26px}
.stamp-cta{
  display:inline-flex;
  align-items:center;
  gap:10px;
  border:2px solid var(--rust);
  color:var(--rust);
  background:var(--panel);
  border-radius:4px;
  padding:13px 22px;
  font-family:Arial,Helvetica,sans-serif;
  font-weight:bold;
  text-transform:uppercase;
  letter-spacing:1px;
  text-decoration:none;
  box-shadow:4px 4px 0 0 var(--rustPaper);
  font-size:0.86rem;
}
.stamp-cta i{
  font-style:normal;
  width:9px;height:9px;display:inline-block;
  border:2px solid currentColor;border-radius:50%;
}
.stamp-cta.moss{
  border-color:var(--moss);
  color:var(--mossDark);
  box-shadow:4px 4px 0 0 var(--mossPaper);
}
.stamp-cta:hover{transform:translate(1px,1px);box-shadow:3px 3px 0 0 currentColor}

.platepage{
  position:relative;
  background:
    repeating-linear-gradient(180deg,#EFEADA 0 34px,#F1EDDE 34px 35px);
  border:1px solid var(--hairline);
  border-radius:4px;
  padding:40px 24px 30px;
  min-height:520px;
}
.platepage .plate-title{
  font-family:Georgia,serif;
  font-style:italic;
  color:var(--mossDark);
  text-align:center;
  margin-bottom:24px;
  font-size:0.98rem;
  font-weight:bold;
}
.plategrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  align-items:start;
}
.plategrid .spec-sheet:nth-child(2){transform:rotate(1.7deg);margin-top:-8px}
.plategrid .spec-sheet:nth-child(1){transform:rotate(-2deg)}
.plategrid .spec-sheet:nth-child(3){transform:rotate(-1.2deg);grid-column:1/3;margin-top:6px}
.spec-sheet{
  position:relative;
  background:var(--panel);
  border:1px solid var(--hairline);
  padding:16px 14px 12px;
  box-shadow:5px 5px 0 0 var(--shadowSoft);
  border-radius:2px;
}
.spec-sheet .corner,.spec-card .corner{
  position:absolute;
  width:18px;height:11px;
  background:#CDBB92;
  z-index:4;
}
.spec-card .corner.ct1{top:-6px;left:-5px;transform:rotate(28deg)}
.spec-card .corner.ct2{top:-6px;right:-5px;transform:rotate(-28deg)}
.spec-card .corner.ct3{bottom:-6px;left:-5px;transform:rotate(-28deg)}
.spec-card .corner.ct4{bottom:-6px;right:-5px;transform:rotate(28deg)}
.spec-sheet .corner.ct1{top:-6px;left:-5px}
.spec-sheet .corner.ct2{top:-6px;right:-5px}
.spec-sheet .corner.ct3{bottom:-6px;left:-5px}
.spec-sheet .corner.ct4{bottom:-6px;right:-5px}
.lichenspec{
  width:150px;height:170px;
  margin:6px auto 4px;
}
.leafspec,.mushspec{
  width:150px;height:150px;
  margin:6px auto 2px;
}
.spec-name{
  font-family:"Courier New",monospace;
  font-size:0.95rem;
  font-weight:bold;
  color:var(--ink);
  text-align:center;
}
.spec-tagline{
  font-style:italic;
  font-family:Georgia,serif;
  text-align:center;
  color:var(--rust);
  font-size:0.84rem;
  margin-top:3px;
}
.spec-letter{
  font-family:Georgia,serif;
  font-style:italic;
  font-size:0.9rem;
  text-align:center;
  color:#5a5344;
  margin-top:8px;
  border-top:1px solid var(--hairline);
  padding-top:8px;
}
.loupe{
  position:absolute;
  left:-6px;top:34%;
  width:110px;height:110px;
  background:radial-gradient(circle at 38% 32%,#fdfcf4 0 4%,var(--panel) 4% 70%,var(--rust) 70% 74%,var(--barkDeep) 74% 100%);
  border-radius:50%;
  border:7px solid var(--rust);
  z-index:3;
}
.loupe::after{
  content:"";
  position:absolute;
  right:-24px;top:12px;
  width:26px;height:96px;
  border-radius:2px;
  background:linear-gradient(90deg,var(--rust) 0 45%,var(--barkDeep) 45% 55%,var(--rust) 55% 100%);
  transform:rotate(42deg);
  transform-origin:center;
}
.twigpencil{
  position:absolute;
  right:18px;top:-6px;
  width:180px;height:10px;
  background:#C99B6C;
  border-radius:5px 2px 2px 2px;
  border-bottom:2px solid #7f5236;
}
.twigpencil::before{
  content:"";
  position:absolute;
  left:2px;top:0;bottom:0;
  width:16px;
  background:conic-gradient(from 90deg at 50% 50%,#d9b88a 0 25%,#a97b52 25% 50%,#c49065 50% 75%,#8f663f 75% 100%);
  border-radius:5px 0 0 2px;
}
.collectnote{
  position:absolute;
  left:14px;bottom:-20px;
  background:var(--panel);
  border:1px solid var(--hairline);
  padding:8px 12px;
  font-family:"Courier New",monospace;
  font-size:0.78rem;
  color:var(--mossDark);
  letter-spacing:2px;
  box-shadow:3px 3px 0 0 var(--shadowSoft);
}
@media (max-width:900px){
  .fieldmanual{grid-template-columns:1fr;padding-top:20px}
  .platepage{min-height:0}
  .plategrid{grid-template-columns:1fr}
}

/* ======================= SECTION FRAME ======================= */
.section-band{
  border-bottom:2px dashed var(--hairline);
}
.section-band.darkband{background:var(--barkDeep);border-bottom:0}
.section-heading{
  font-family:Georgia,serif;
  font-weight:bold;
  text-align:center;
}
.section-kicker{
  font-family:Arial,Helvetica,sans-serif;
  text-align:center;
  letter-spacing:3px;
  text-transform:uppercase;
  color:var(--rust);
  font-size:0.78rem;
  margin-bottom:8px;
  font-weight:bold;
}
.intro-para{
  max-width:820px;
  margin:16px auto 0;
  text-align:center;
  color:#4a4437;
}

/* services hero of homepage band heading */
.servicezone-head{text-align:center;padding:56px 20px 40px}
.servicezone-head h2{
  font-size:2.2rem;
  color:var(--ink);
  margin-top:2px;
}
.zone-tail{height:1px;max-width:240px;margin:26px auto 0;background:var(--rust)}

/* ======================= HERBARIUM ROWS ======================= */
.herbarium{
  max-width:1280px;
  margin:0 auto;
  padding:10px 22px 60px;
  position:relative;
}
.trail-dash{
  border-top:3px dashed var(--mossPaper);
  background:var(--moss);
  height:14px;
  margin:6px auto 30px;
  max-width:1180px;
  border-radius:0;
}
.herb-row{
  display:flex;
  gap:26px;
  justify-content:center;
  position:relative;
  margin-bottom:22px;
}
.herb-row.shifted{
  margin-left:120px;
  margin-right:-40px;
  margin-bottom:24px;
}
.spec-card{
  flex:1 1 30%;
  max-width:356px;
  position:relative;
  background:var(--panel);
  border:1px solid var(--hairline);
  border-radius:3px;
  padding:20px 18px 16px;
  box-shadow:6px 6px 0 0 var(--shadowSoft);
  transition:transform .25s ease,box-shadow .25s ease;
}
.spec-card:nth-child(odd){transform:rotate(-1deg)}
.spec-card:nth-child(even){transform:rotate(1.2deg)}
.spec-card:hover{transform:translateY(-5px) rotate(0deg);box-shadow:10px 10px 0 0 var(--rustPaper)}
.spec-card .corner{
  position:absolute;
  width:20px;height:20px;
  z-index:4;
}
.cornercolor{
  width:20px;height:20px;
  z-index:6;
  display:block;
  position:relative;
}
.mini-art{
  height:120px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:6px 0 10px;
  border-bottom:1px dashed var(--hairline);
  padding-bottom:10px;
}
.artmoss,.artleaf,.artcap,.artseed,.arttwig,.artpatch{
  width:120px;height:100px;
}
.species-tag{
  font-family:"Courier New",monospace;
  font-size:0.7rem;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--rust);
  font-weight:bold;
}
.spec-card h3{
  font-family:Georgia,serif;
  font-size:1.28rem;
  color:var(--ink);
  margin:4px 0 10px;
  line-height:1.2;
}
.spec-card h3 a{color:inherit;text-decoration:none}
.spec-card h3 a:hover{color:var(--rust)}
.spec-card p{
  color:#4c453a;
  font-size:0.97rem;
  margin-bottom:6px;
}
.spec-card .sheetlink{
  font-family:Arial,Helvetica,sans-serif;
  font-weight:bold;
  font-size:0.8rem;
  display:inline-block;
  margin-top:8px;
  text-transform:uppercase;
  letter-spacing:1px;
}
.found-mark{
  position:absolute;
  right:14px;top:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;height:40px;
  border-radius:50%;
  border:3px double var(--rust);
  color:var(--rust);
  font-family:"Courier New",monospace;
  font-weight:bold;
  font-size:0.6rem;
  transform:rotate(12deg);
  line-height:1.1;
  letter-spacing:1px;
  background:var(--rustPaper);
  text-align:center;
}
.startmark{
  display:inline-flex;
  width:16px;height:16px;
  border-radius:50%;
  background:var(--rust);
  color:var(--rust);
  position:absolute;left:6px;top:-11px;
  box-shadow:0 0 0 5px var(--trail);
}
@media (max-width:900px){
  .herb-row,.herb-row.shifted{flex-wrap:wrap;margin-left:0;margin-right:0;justify-content:center}
  .spec-card{flex:1 1 46%;max-width:none}
}
@media (max-width:620px){
  .spec-card{flex:1 1 100%}
}

/* ======================= TRAIL LOG BAND ======================= */
.traillog{
  background:var(--moss);
  color:var(--mossPaper);
  border-top:8px solid var(--mossDark);
  border-bottom:8px solid var(--barkDeep);
  padding:40px 22px;
}
.traillog .innerlog{
  max-width:1180px;
  margin:0 auto;
  display:flex;
  align-items:center;
  gap:30px;
}
.traillog .logtag{
  flex:0 0 auto;
  border:3px double var(--mossPaper);
  padding:8px 10px;
  font-family:"Courier New",monospace;
  text-transform:uppercase;
  letter-spacing:2px;
  font-size:0.8rem;
  transform:rotate(-3deg);
}
.traillog h2{
  font-family:Georgia,serif;
  font-size:1.9rem;
  color:var(--mossPaper);
  margin-bottom:8px;
}
.traillog p{
  color:var(--mossPaper);
  max-width:660px;
  font-size:1.03rem;
}
.traillog p a{color:var(--mossPaper);font-weight:bold;text-decoration:underline}
@media (max-width:820px){.traillog .innerlog{flex-direction:column;text-align:center}}

/* how-it-works small */
.method-strip{
  max-width:1180px;
  margin:0 auto;
  padding:56px 22px 20px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}
.method-col{
  background:var(--panel);
  border:1px solid var(--hairline);
  border-left:6px solid var(--rust);
  padding:22px 24px;
}
.method-col h3{
  color:var(--rust);
  font-family:Georgia,serif;
  font-size:1.4rem;
  margin-bottom:10px;
}
.method-col.dark-brief{background:var(--barkDeep);border-left-color:var(--moss)}
.method-col.dark-brief h3{}

/* ======================= FOOTER COLLECTING TIN ======================= */
.footer-tin{
  background:var(--trail);
  border-top:3px solid var(--rust);
}
.collectingtin{
  background:var(--barkDeep);
  color:var(--barkText);
}
.tin-body{
  max-width:1180px;
  margin:0 auto;
  padding:54px 22px 34px;
}
.tin-lid{
  display:flex;
  gap:20px;
  align-items:flex-start;
  margin-bottom:36px;
  padding-bottom:24px;
  border-bottom:2px dashed var(--moss);
}
.tin-lid .lidname{
  font-family:Georgia,serif;
  font-weight:bold;
  color:var(--barkText);
  font-size:1.5rem;
  border:3px double var(--moss);
  padding:10px 16px;
  display:inline-block;
  flex:0 0 auto;
}
.tin-lid .lidsub{
  color:var(--mossPaper);
  font-style:italic;
  max-width:560px;
  font-size:1rem;
}
.tin-lid .lidsub a{color:var(--mossPaper);text-decoration:underline}
.notes-row{
  display:flex;
  gap:26px;
  flex-wrap:nowrap;
}
.note-card{
  flex:1 1 32%;
  background:var(--panel);
  color:var(--ink);
  border:1px solid var(--hairline);
  border-radius:3px;
  box-shadow:4px 5px 0 0 var(--barkDeep);
  border-top:3px solid var(--rust);
  padding:20px 18px 16px;
  min-height:150px;
}
.note-card h4{
  font-family:"Courier New",monospace;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--rust);
  font-size:0.86rem;
  margin-bottom:14px;
  border-bottom:1px dashed var(--hairline);
  padding-bottom:8px;
}
.note-card ul{list-style:none}
.note-card ul li{margin-bottom:9px}
.note-card ul a{
  color:var(--ink);
  text-decoration:none;
  font-weight:bold;
  font-size:1rem;
  display:inline-block;
  margin-left:14px;
  position:relative;
}
.note-card ul a::before{
  content:"\2192";
  position:absolute;left:-16px;
  color:var(--moss);
  font-family:Arial;
}
.note-card ul a:hover{color:var(--rust)}
.notesocial{display:flex;gap:14px}
.notesocial a{
  width:38px;height:38px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--trail);
  font-family:Arial;
  font-size:15px;text-decoration:none;
}
.tin-rim{
  margin-top:36px;
  border-top:2px dashed var(--moss);
  padding-top:26px;
  display:flex;
  gap:26px;
  align-items:flex-start;
  justify-content:space-between;
  flex-wrap:wrap;
}
.tin-rim .rimcol p{
  color:var(--mossPaper);
  font-size:0.98rem;
  margin-bottom:8px;
}
.tin-rim .rimcol a{
  color:var(--mossPaper);
  text-decoration:none;
}
.tin-rim .rimcol a.tel{font-weight:bold;font-size:1.1rem}
.tin-rim .copyright{
  color:var(--mossPaper);
  border-top:1px solid var(--moss);
  padding-top:16px;
  margin-top:26px;
  font-family:Arial;
  font-size:0.82rem;
  letter-spacing:1px;
  display:flex;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.compassrose{
  flex:0 0 92px;
  width:92px;height:92px;
  position:relative;
  margin-left:auto;
}
.compassrose .crose{
  width:100%;height:100%;
  background:var(--moss);
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  border:2px solid var(--mossPaper);
  color:var(--barkDeep);
  font-family:Arial;
  font-weight:bold;
  font-size:0.9rem;
}
.compassrose .crose em{
  position:absolute;
  top:-13px;
  width:0;height:0;
}
.compassrose .crose .north{
  border-left:7px solid var(--mossPaper);
  border-right:7px solid var(--mossPaper);
  border-bottom:12px solid var(--rust);
}
.compassrose .crose .south{
  bottom:-13px;
  border-left:7px solid var(--mossPaper);
  border-right:7px solid var(--mossPaper);
  border-top:12px solid var(--barkDeep);
}
@media (max-width:820px){
  .notes-row{flex-direction:column}
  .tin-lid{flex-direction:column}
  .compassrose{margin-left:0}
}

/* ===================== SERVICES-SPECIFIC ===================== */
.servhero{
  background:var(--barkDeep);
  color:var(--barkText);
  border-bottom:4px solid var(--rust);
}
.servhero .inner{
  max-width:1080px;
  margin:0 auto;
  padding:70px 24px 64px;
}
.servhero h1{
  font-family:Georgia,serif;
  font-size:2.9rem;
  color:var(--barkText);
  line-height:1.08;
}
.servhero h1 .found{color:var(--moss)}
.servhero .servhero-lead{
  max-width:820px;
  margin-top:22px;
  color:#cfc9b1;
  font-size:1.1rem;
}
.servhero .servhero-lead a{color:var(--mossPaper)}
.process-band{
  background:var(--trail);
  padding:66px 0;
  border-bottom:2px dashed var(--hairline);
}
.process-steps{
  max-width:1080px;
  margin:22px auto 0;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  padding:0 22px;
}
.process-step{
  background:var(--panel);
  border:1px solid var(--hairline);
  border-top:5px solid var(--moss);
  padding:20px 16px;
  text-align:center;
  box-shadow:5px 5px 0 0 var(--shadowSoft);
}
.process-step .stepnum{
  display:inline-block;
  font-family:"Courier New",monospace;
  color:var(--rust);
  font-weight:bold;
  font-size:1.4rem;
  width:42px;height:42px;line-height:40px;
  border-radius:50%;
  border:2px solid var(--rust);
  margin-bottom:10px;
}
.process-step h3{color:var(--ink);font-size:1.12rem;margin-bottom:6px}
.process-step p{color:#57503f;font-size:0.9rem}
@media (max-width:820px){.process-steps{grid-template-columns:1fr 1fr}}

/* herb sections on services page pair graphics + text */
.spec-layout{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}
.spec-block{display:block;text-align:left;max-width:356px}
.spec-block p{color:#4c453a}

/* ======================= CONTACT PAGE ======================= */
.contactband{background:var(--trail)}
.contactgrid{
  max-width:1080px;
  margin:0 auto;
  padding:60px 22px;
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:34px;
  align-items:start;
}
.formsheet{
  background:var(--panel);
  border:1px solid var(--hairline);
  box-shadow:8px 8px 0 0 var(--shadowSoft);
  padding:34px 30px;
  border-top:6px solid var(--rust);
}
.formsheet h2,.infosheet h2{color:var(--ink);font-size:1.6rem;margin-bottom:6px}
.formsheet .formnote{
  color:#5d5544;
  font-style:italic;
  margin-bottom:20px;
  font-size:0.96rem;
}
.field-group{margin-bottom:18px}
.field-group label{
  display:block;
  font-family:Arial,Helvetica,sans-serif;
  font-weight:bold;
  font-size:0.86rem;
  color:var(--ink);
  margin-bottom:6px;
  letter-spacing:0.5px;
}
.field-group label .req{color:var(--rust)}
.field-group input,.field-group textarea,.field-group select{
  width:100%;
  background:var(--trail);
  border:2px solid var(--hairline);
  border-radius:4px;
  padding:12px 14px;
  font-family:Georgia,serif;
  font-size:1rem;
  color:var(--ink);
}
.field-group textarea{min-height:150px;resize:vertical}
.field-group input:focus,.field-group textarea:focus{
  outline:none;
  border-color:var(--moss);
  background:#fff;
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.fbtn{
  background:var(--moss);
  color:#F1EFDE;
  border:none;
  border-radius:4px;
  padding:15px 28px;
  font-family:Arial,Helvetica,sans-serif;
  font-weight:bold;
  letter-spacing:1px;
  text-transform:uppercase;
  cursor:pointer;
  font-size:0.94rem;
  box-shadow:4px 4px 0 0 var(--barkDeep);
}
.fbtn:hover{filter:brightness(1.08)}
.infosheet{
  background:var(--barkDeep);
  color:var(--barkText);
  border-radius:4px;
  padding:34px 30px;
  box-shadow:8px 8px 0 0 var(--shadowSoft);
}
.infosheet h2{color:var(--barkText)}
.infosheet .infolead{
  color:#cfc9b1;
  font-style:italic;
  margin-bottom:24px;
}
.infoitem{
  border-top:1px solid var(--rust);
  padding:16px 0;
}
.infoitem .info-label{
  font-family:Arial,Helvetica,sans-serif;
  text-transform:uppercase;
  letter-spacing:2px;
  font-size:0.74rem;
  color:var(--moss);
  font-weight:bold;
  display:block;
  margin-bottom:4px;
}
.infoitem p{color:var(--barkText)}
.infoitem a{color:#EAE4CC;font-weight:bold;text-decoration:none}
.infoitem a:hover{text-decoration:underline}
.infoitem .tel-big{color:var(--mossPaper)}
.hours-table{font-size:0.95rem}
.hours-table td{color:#d9d3ba;padding:3px 8px}
.hours-table td:first-child{color:#cfc9b1;font-weight:bold}

.faq-panel{
  max-width:1080px;
  margin:0 auto;
  padding:0 22px 60px;
}
.faq-panel>h2{text-align:center;color:var(--ink);font-size:2rem;margin-bottom:30px}
.faqitem{margin-bottom:12px}
.faqq{
  background:var(--panel);
  border:1px solid var(--hairline);
  border-left:6px solid var(--moss);
  padding:16px 20px;
  font-weight:bold;
  font-family:Arial,Helvetica,sans-serif;
  color:var(--ink);
  font-size:1.02rem;
  display:flex;
  justify-content:space-between;
  align-items:center;
  cursor:pointer;
}
.faqq .faqicon{
  font-family:"Courier New",monospace;
  color:var(--rust);
  font-weight:bold;
  font-size:1.4rem;
}
.faqa{
  background:var(--panel);
  border:1px solid var(--hairline);
  border-top:0;
  padding:0 20px;
  max-height:0;
  overflow:hidden;
  transition:max-height .4s ease;
}
.faqa.show{max-height:400px;padding:14px 20px}
.faqa p{color:#4c453a}

@media (max-width:900px){
  .contactgrid{grid-template-columns:1fr;padding-top:30px}
  .form-row{grid-template-columns:1fr}
}

/* ================== FIELD SPRITES (pure CSS specimen art) ================== */
.pa{position:relative;width:116px;height:96px;display:block;margin:4px auto}
.pa i{position:absolute;display:block;font-style:normal}

/* leaf pair */
.artleaf .l1{
  left:14px;top:14px;width:52px;height:62px;
  border-radius:0 60% 6px 60%;
  background:linear-gradient(155deg,var(--moss) 0 60%,#45552e 60%);
  box-shadow:inset 0 0 0 2px #303b20;
  transform:rotate(-34deg);
}
.artleaf .l2{
  left:46px;top:20px;width:50px;height:60px;
  border-radius:60% 0 60% 4px;
  background:linear-gradient(25deg,#7c904d 0 55%,#56663a 55%);
  box-shadow:inset 0 0 0 2px #2f3920;
  transform:rotate(16deg);
}
.artleaf .stem{left:70px;top:52px;width:40px;height:7px;background:#6a4a2c;transform:rotate(-22deg);border-radius:4px}

/* lichen blot (branching) */
.artmoss .blot,.lichenspec .blot{
  left:16px;top:10px;width:84px;height:84px;
  background:radial-gradient(circle at 30% 30%,#a8b27b 0 18%,var(--moss) 20% 40%,#38422a 42% 60%,var(--moss) 62% 100%);
  border-radius:52% 44% 60% 40% / 46% 60% 42% 56%;
  transform:rotate(8deg);
  box-shadow:inset 0 0 0 2px #4c5a33;
}
.artmoss .branch,.lichenspec .branch{
  width:7px;border-radius:4px;background:#4c5a33;transform:rotate(14deg);
}
.artmoss .b1{left:18px;top:6px;height:30px;width:6px}
.artmoss .b2{left:64px;top:6px;height:40px;transform:rotate(-10deg)}
.artmoss .b3{left:34px;top:90px;height:34px;transform:rotate(150deg);background:#556340}
.artmoss .dot{width:9px;height:9px;border-radius:50%;background:#c6d3a0}
.artmoss .d1{left:92px;top:70px}
.artmoss .d2{left:30px;top:56px}

/* mushroom cap and stem */
.artcap .stem{left:52px;top:44px;width:14px;height:44px;background:linear-gradient(90deg,#e5d6bd 0 20%,#c3aa86 20% 80%,#e9dcC6 80%);border-radius:4px;transform:rotate(3deg)}
.artcap .caprim{left:26px;top:38px;width:66px;height:26px;background:#c07048;border-radius:0 0 40% 40%}
.artcap .cap{left:24px;top:8px;width:70px;height:50px;background:radial-gradient(ellipse at 50% 0%,#c98157 0 55%,var(--rust) 62% 100%);border-radius:50% 50% 6px 6px;transform:rotate(-2deg)}
.artcap .spot{width:11px;height:11px;background:#9c4d2c;border-radius:50%}
.artcap .s1{left:44px;top:16px}
.artcap .s2{left:70px;top:26px;width:8px;height:8px}

/* seed cluster */
.artseed .stalk{left:56px;top:6px;width:6px;height:82px;background:#5b6b3b;transform:rotate(2deg);border-radius:3px}
.artseed .grain{width:8px;height:30px;background:#caa45e;border-radius:6px;transform:rotate(12deg)}
.artseed .g1{left:22px;top:10px;height:26px;transform:rotate(26deg)}
.artseed .g2{left:34px;top:4px;height:34px;transform:rotate(8deg)}
.artseed .g3{left:48px;top:90px;height:32px;background:#b98d4c;transform:rotate(-12deg)}
.artseed .g4{left:78px;top:12px;height:30px;transform:rotate(-18deg)}
.artseed .caphead{left:44px;top:-4px;width:30px;height:18px;background:#9b7a41;border-radius:50%}

/* twig fragment */
.arttwig .tk{left:8px;top:42px;width:102px;height:10px;background:linear-gradient(90deg,#7c5f3a 0 10%,#a97f4f 10% 30%,#6e5231 30% 40%,#9a7145 40% 70%,#795a37 70% 90%,#a97f4f 90%);border-radius:6px;transform:rotate(-3deg)}
.arttwig .kn1{left:12px;top:26px;width:14px;height:40px;background:#8a673f;border-radius:8px 60% 60% 8px;transform:rotate(42deg)}
.arttwig .kn2{left:82px;top:52px;width:26px;height:8px;background:#8a673f;transform:rotate(-44deg)}

/* moss patch */
.artpatch .tuff{width:26px;height:26px;border-radius:49% 49% 18% 18%;background:#7a8f4d;
 box-shadow:18px 6px 0 #5f6f3e,36px -2px 0 #7a8f4d ,56px 8px 0 #7a8f4d,6px 26px 0 #57663b,44px 30px 0 #6b7f41,16px -8px 0 #8ea05d,86px 26px 0 #667a40}
.artpatch .tuff2{left:4px;top:34px;width:20px;height:18px;border-radius:60% 60% 8px 8px;background:#5f6f3e}
.artpatch .pin{left:30px;top:26px;width:4px;height:16px;background:#4e3f2a;transform:rotate(8deg)}

/* hero plate layout tweaks */
.herostack{display:flex;flex-direction:column;gap:20px;align-items:flex-end;padding-top:8px}
.hero-sheet{width:225px}
.hero-sheet.hs2{margin-right:30px;transform:rotate(1.4deg)}
.hero-sheet.hs3{margin-right:6px;transform:rotate(-1.8deg)}
.hero-sheet .paapric{transform:scale(1.05);margin:8px auto 2px}
.hero-sheet .collectedby{
  font-family:"Courier New",monospace;font-size:0.7rem;letter-spacing:1px;
  background:var(--lrust);
  background:#e5d2bd;padding:3px 8px;display:inline-block;color:#5a3a2a;
  border:1px dashed #c8a370;border-radius:2px;margin-top:8px;
}
@media (max-width:900px){.herostack{align-items:center}.hero-sheet{margin-right:0!important}}
.sheetloc-note{font-size:.76rem;letter-spacing:2px;color:#7a7058;font-family:Arial;margin-top:8px;text-align:center;display:block}
.no-mega{border-top:#fff}
.kick-on-dark{color:#cfb794}
.space-above{margin-top:22px}
.form-status-box{border-radius:4px;padding:12px 14px;margin:4px 0 16px;font-family:Arial,Helvetica,sans-serif;font-size:.92rem}
.form-status-box.is-error{color:#8A3E22;background:#F6E0D2;border-left:5px solid #A6522F}
.form-status-box.is-ok{color:#2E4A20;background:#E5EED4;border-left:5px solid #6B7A46}
.rowtrail{position:relative;max-width:1180px;height:20px;margin:6px auto 12px;border-top:3px dashed var(--hairline)}
.rowtrail .startmark{left:4px;top:-12px}
.rowtrail .endflag{position:absolute;right:0;bottom:-8px;font-family:"Courier New",monospace;font-size:.7rem;letter-spacing:2px;color:var(--mossDark)}
