/* Ashtrees Cuts LLC — arborist pruning stand theme
   Palette: BARK-BUFF #EDE9DC body, UNDERWOOD-INK #2A2823 text,
   PRUNER-GREEN #3E6B4C accent, SAW-DEEP #232922 wells/footer,
   CUT-BONE #E6E2D2 panels, WAX-AMBER #B98A3A tertiary,
   BUD-GREY #7F8880 secondary labels, CAMBIUM-CORAL #B85F49 highlight-only. */

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

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

a { color: #3E6B4C; }

h1, h2, h3, h4 {
  font-family: Georgia, "Times New Roman", serif;
  color: #2A2823;
  line-height: 1.22;
  margin: 0 0 0.5em;
}

p { margin: 0 0 1.05em; }

img { max-width: 100%; }

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

/* ---------- TOOL RACK NAV ---------- */
.racknav {
  background: #232922;
  border-bottom: 8px solid #6B5132;
  padding: 0;
}

.racknav-inner {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: flex-end;
  gap: 18px;
}

.racknav-brand {
  background: #3E6B4C;
  color: #E6E2D2;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0.04em;
  padding: 18px 22px 16px;
  text-decoration: none;
  align-self: stretch;
  display: flex;
  align-items: center;
  border-right: 3px solid #232922;
}

.racknav-tags {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 10px;
  padding: 14px 0 0;
  flex: 1;
}

.racknav-tag {
  display: block;
  background: #E6E2D2;
  color: #2A2823;
  text-decoration: none;
  padding: 14px 16px 12px;
  border-top: 4px solid #6B5132;
  font-size: 15px;
  letter-spacing: 0.02em;
}

.racknav-tag:hover { background: #B98A3A; color: #232922; }
.racknav-tag.w1 { width: 88px; }
.racknav-tag.w2 { width: 120px; }
.racknav-tag.w3 { width: 102px; }
.racknav-tag.w4 { width: 116px; }
.racknav-tag.w5 { width: 130px; }
.racknav-tag.on { background: #B98A3A; color: #232922; }

.racknav-toggle {
  display: none;
  background: #3E6B4C;
  color: #E6E2D2;
  border: 0;
  font-size: 22px;
  padding: 14px 20px;
  cursor: pointer;
  margin: 12px 24px 14px;
}

/* ---------- HERO: PRUNING STAND SCENE ---------- */
.prunebay {
  background: #EDE9DC;
  padding: 54px 0 0;
}

.prunebay-inner {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 24px;
}

.prunebay-head h1 {
  font-size: 46px;
  margin: 0 0 6px;
  max-width: 780px;
}

.prunebay-display {
  display: block;
  font-size: 84px;
  line-height: 0.95;
  color: #3E6B4C;
  letter-spacing: 0.02em;
  font-weight: bold;
  margin: 4px 0 18px;
}

.prunebay-lede {
  max-width: 720px;
  font-size: 17px;
  color: #2A2823;
  margin-bottom: 8px;
}

.prunebay-link {
  display: inline-block;
  color: #3E6B4C;
  font-weight: bold;
  text-decoration: none;
  border-bottom: 2px solid #B85F49;
  padding-bottom: 2px;
}

.prunebay-link:hover { color: #232922; }

/* full-width stand band */
.standband {
  margin-top: 30px;
  background: #232922;
  border-top: 6px solid #6B5132;
  position: relative;
}

.standband-scene {
  max-width: 1140px;
  margin: 0 auto;
  padding: 34px 24px 30px;
  display: grid;
  grid-template-columns: 1fr 1.2fr 1fr;
  gap: 30px;
  align-items: flex-end;
}

/* --- folding saw (left) --- */
.scene-saw { position: relative; height: 190px; }

.sawblade {
  position: absolute;
  left: 0; top: 40px;
  width: 190px; height: 20px;
  background: #7F8880;
  clip-path: polygon(0 100%, 100% 0, 100% 100%);
}

.sawteeth {
  position: absolute;
  left: 2px; top: 60px;
  width: 188px; height: 12px;
  background: #7F8880;
  clip-path: polygon(0 0, 100% 0, 96% 100%, 4% 100%, 8% 0, 12% 100%, 16% 0, 20% 100%, 24% 0, 28% 100%, 32% 0, 36% 100%, 40% 0, 44% 100%, 48% 0, 52% 100%, 56% 0, 60% 100%, 64% 0, 68% 100%, 72% 0, 76% 100%, 80% 0, 84% 100%, 88% 0, 92% 100%);
}

.sawhinge {
  position: absolute;
  left: -10px; top: 52px;
  width: 26px; height: 26px;
  background: #B98A3A;
  border-radius: 50%;
  border: 5px solid #6B5132;
}

.sawhandle {
  position: absolute;
  left: 6px; top: 74px;
  width: 150px; height: 68px;
  background: #B98A3A;
  border-radius: 8px 30px 30px 8px;
  border: 4px solid #6B5132;
}

.sawhandle-grip {
  position: absolute;
  left: 30px; top: 96px;
  width: 100px; height: 24px;
  background: #6B5132;
  border-radius: 12px;
}

/* --- dressed branch form (center) --- */
.scene-branch { position: relative; height: 210px; }

.branch-trunk {
  position: absolute;
  left: 46%; bottom: 0;
  width: 40px; height: 150px;
  background: #6B5132;
  border-radius: 6px 6px 0 0;
}

.branch-stub {
  position: absolute;
  left: 46%; bottom: 118px;
  width: 122px; height: 34px;
  background: #6B5132;
  border-radius: 6px 6px 6px 6px;
  transform: rotate(-18deg);
  transform-origin: left center;
}

.collarring {
  position: absolute;
  left: 148px; bottom: 148px;
  width: 34px; height: 34px;
  background: #B85F49;
  border-radius: 50%;
  border: 6px solid #6B5132;
}

.waxdaub {
  position: absolute;
  left: 150px; bottom: 152px;
  width: 26px; height: 22px;
  background: #B98A3A;
  border-radius: 60% 60% 40% 40%;
  box-shadow: inset -4px -3px 0 #8F6726;
}

.branch-label {
  position: absolute;
  left: 0; bottom: 0;
  color: #7F8880;
  font-size: 13px;
  letter-spacing: 0.05em;
}

/* --- pole pruner + loppers rack (right) --- */
.scene-pole { position: relative; height: 210px; }

.pole-shaft {
  position: absolute;
  right: 118px; top: 8px;
  width: 14px; height: 196px;
  background: #7F8880;
  border-radius: 3px;
}

.pole-head {
  position: absolute;
  right: 78px; top: 4px;
  width: 76px; height: 40px;
  background: #3E6B4C;
  border-radius: 6px;
  border: 3px solid #232922;
}

.pole-hook {
  position: absolute;
  right: 60px; top: 14px;
  width: 40px; height: 20px;
  background: #B98A3A;
  border-radius: 0 12px 12px 0;
}

.rackbar {
  position: absolute;
  right: 0; bottom: 0;
  width: 110px; height: 8px;
  background: #6B5132;
}

.lopper1, .lopper2 {
  position: absolute;
  bottom: 8px;
  width: 12px;
  background: #7F8880;
  border-radius: 3px 3px 0 0;
}
.lopper1 { right: 76px; height: 120px; }
.lopper2 { right: 40px; height: 150px; background: #3E6B4C; }

.lopper-grip {
  position: absolute;
  right: 36px; bottom: 148px;
  width: 20px; height: 12px;
  background: #B98A3A;
  border-radius: 4px;
}

/* primary CTA full-width functional bar */
.standbar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  background: #3E6B4C;
  color: #E6E2D2;
  text-decoration: none;
  padding: 20px 24px;
  font-size: 19px;
  font-weight: bold;
  letter-spacing: 0.02em;
}

.standbar:hover { background: #232922; color: #B98A3A; }
.standbar-arrow { font-size: 24px; }

/* ---------- SECTION HEADINGS ---------- */
.sectiontitle {
  font-size: 30px;
  margin: 0 0 6px;
}

.sectionkicker {
  color: #7F8880;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 12px;
  margin-bottom: 8px;
}

/* ---------- LIMB CARD RUN ---------- */
.limbrun {
  background: #EDE9DC;
  padding: 56px 0 40px;
  position: relative;
}

.limbrun-inner {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 24px;
}

.limbcard {
  background: #E6E2D2;
  border-left: 6px solid #3E6B4C;
  padding: 20px 22px 18px;
  margin-bottom: 18px;
  position: relative;
}

.limbcard h3 {
  font-size: 21px;
  margin: 0 0 8px;
}

.limbcard p { margin: 0 0 10px; font-size: 15.5px; }

.limbcard a {
  color: #3E6B4C;
  font-weight: bold;
  text-decoration: none;
  border-bottom: 1px solid #B98A3A;
}

.limbcard .chalk {
  position: absolute;
  top: 16px; right: 18px;
  color: #7F8880;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0.1em;
}

.limbcard.wide { width: 74%; margin-left: 0; }
.limbcard.mid { width: 62%; margin-left: 22%; }
.limbcard.tall { width: 54%; margin-left: 8%; }
.limbcard.short { width: 68%; margin-left: 30%; }
.limbcard.narrow { width: 58%; margin-left: 4%; }
.limbcard.offset { width: 71%; margin-left: 14%; }

/* growth-ring glyph */
.ringglyph {
  display: inline-block;
  width: 26px; height: 26px;
  border-radius: 50%;
  border: 3px solid #3E6B4C;
  margin-right: 10px;
  vertical-align: middle;
  position: relative;
}
.ringglyph.r2 { box-shadow: inset 0 0 0 4px #E6E2D2, inset 0 0 0 7px #3E6B4C; }
.ringglyph.r3 { box-shadow: inset 0 0 0 3px #E6E2D2, inset 0 0 0 6px #3E6B4C, inset 0 0 0 9px #E6E2D2, inset 0 0 0 12px #3E6B4C; }
.ringglyph.r4 { border-color: #B98A3A; box-shadow: inset 0 0 0 3px #E6E2D2, inset 0 0 0 6px #B98A3A, inset 0 0 0 9px #E6E2D2, inset 0 0 0 12px #B98A3A; }
.ringglyph.r5 { border-color: #3E6B4C; box-shadow: inset 0 0 0 3px #E6E2D2, inset 0 0 0 6px #3E6B4C, inset 0 0 0 9px #E6E2D2, inset 0 0 0 12px #3E6B4C, inset 0 0 0 15px #E6E2D2, inset 0 0 0 18px #3E6B4C; }
.ringglyph.r6 { border-color: #B85F49; box-shadow: inset 0 0 0 3px #E6E2D2, inset 0 0 0 6px #B85F49, inset 0 0 0 9px #E6E2D2, inset 0 0 0 12px #B85F49; }

.waxglyph {
  display: inline-block;
  width: 22px; height: 18px;
  background: #B98A3A;
  border-radius: 60% 60% 40% 40%;
  box-shadow: inset -3px -2px 0 #8F6726;
  vertical-align: middle;
  margin-left: 8px;
}

.checkglyph {
  display: inline-block;
  width: 22px; height: 22px;
  background: #3E6B4C;
  color: #E6E2D2;
  border-radius: 50%;
  text-align: center;
  line-height: 22px;
  font-size: 14px;
  font-weight: bold;
  vertical-align: middle;
  margin-left: 8px;
}

/* ---------- DRESSING WAX NOTICE BAND ---------- */
.waxband {
  background: #232922;
  padding: 22px 24px;
}

.waxband-inner {
  max-width: 1140px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 16px;
}

.waxband-glyph {
  width: 26px; height: 22px;
  background: #B98A3A;
  border-radius: 60% 60% 40% 40%;
  box-shadow: inset -4px -3px 0 #8F6726;
  flex: 0 0 auto;
}

.waxband p {
  margin: 0;
  color: #7F8880;
  font-size: 15.5px;
  letter-spacing: 0.02em;
}

/* ---------- PROSE SPREADS ---------- */
.proseband {
  background: #EDE9DC;
  padding: 46px 0 40px;
}

.proseband-inner {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 24px;
}

.proseband.tone-cut { background: #E6E2D2; }
.proseband.tone-deep { background: #232922; }
.proseband.tone-deep .sectiontitle { color: #E6E2D2; }
.proseband.tone-deep p { color: #E6E2D2; }
.proseband.tone-deep .sectionkicker { color: #B98A3A; }
.proseband.tone-deep a { color: #B98A3A; }

.cols2 {
  column-count: 2;
  column-gap: 42px;
  max-width: 1000px;
}

.cols2 p { break-inside: avoid; }

.minorborder {
  border-top: 3px solid #B98A3A;
  width: 80px;
  margin: 0 0 18px;
}

/* growth ring board */
.ringboard {
  background: #E6E2D2;
  border: 4px solid #6B5132;
  border-radius: 8px;
  padding: 24px;
  margin: 24px 0;
}

.ringboard h3 { font-size: 22px; }

.ringboard-note {
  color: #7F8880;
  font-size: 14px;
  letter-spacing: 0.04em;
}

/* ---------- CHIPPER FEED FOOTER ---------- */
.chipfoot {
  background: #232922;
  border-top: 0;
  position: relative;
  padding: 0 0 0;
}

.chipfoot-fins {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  gap: 20px;
}

.chipfoot-fins span {
  display: block;
  height: 16px;
  background: #6B5132;
  flex: 1;
  border-radius: 0 0 4px 4px;
}

.chipfoot-mouth {
  background: #2A3028;
  border-bottom: 4px solid #6B5132;
}

.chipfoot-cols {
  max-width: 1140px;
  margin: 0 auto;
  padding: 30px 24px 24px;
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  gap: 32px;
}

.chipfoot-brand {
  background: #E6E2D2;
  color: #2A2823;
  padding: 20px 22px;
  border-left: 6px solid #3E6B4C;
}

.chipfoot-brand strong {
  display: block;
  font-size: 20px;
  margin-bottom: 8px;
}

.chipfoot-brand p { color: #2A2823; font-size: 14.5px; margin: 0; }

.chipfoot-colhead {
  color: #B98A3A;
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin: 0 0 10px;
}

.chipfoot-ring {
  display: inline-block;
  width: 14px; height: 14px;
  border-radius: 50%;
  border: 3px solid #B98A3A;
  margin-right: 8px;
  vertical-align: middle;
}

.chipfoot-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.chipfoot-list li { margin-bottom: 6px; }

.chipfoot-list a {
  color: #E6E2D2;
  text-decoration: none;
  font-size: 15px;
}

.chipfoot-list a:hover { text-decoration: underline; color: #B98A3A; }

.chipfoot-list .plain { color: #E6E2D2; font-size: 15px; }

.chipfoot-strip {
  background: #2A3028;
  border-top: 2px solid #6B5132;
}

.chipfoot-strip-inner {
  max-width: 1140px;
  margin: 0 auto;
  padding: 14px 24px;
  color: #7F8880;
  font-size: 13.5px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 22px;
  align-items: center;
}

.chipfoot-strip-inner a { color: #7F8880; text-decoration: none; }
.chipfoot-strip-inner a:hover { color: #B98A3A; }

.sawglyph {
  display: inline-block;
  color: #B98A3A;
  font-size: 15px;
}

/* ---------- SCROLL REVEAL ---------- */
.reveal { opacity: 1; }

.js-on .reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.js-on .reveal.is-in {
  opacity: 1;
  transform: none;
}

/* ---------- BUTTONS / FORMS (interior pages) ---------- */
.pagehead {
  background: #232922;
  padding: 40px 0 34px;
  border-bottom: 6px solid #3E6B4C;
}

.pagehead h1 { color: #E6E2D2; font-size: 38px; margin: 0 0 8px; }
.pagehead p { color: #7F8880; margin: 0; max-width: 720px; }

.svcblock {
  background: #E6E2D2;
  border-left: 6px solid #3E6B4C;
  padding: 22px 24px;
  margin-bottom: 20px;
}

.svcblock h3 { font-size: 22px; margin-bottom: 8px; }

.steprow {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin: 20px 0;
}

.stepcell {
  background: #E6E2D2;
  border-top: 5px solid #B98A3A;
  padding: 18px 20px;
}

.stepcell h4 { font-size: 18px; margin-bottom: 6px; }

.ctabar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background: #3E6B4C;
  color: #E6E2D2;
  text-decoration: none;
  font-size: 18px;
  font-weight: bold;
  padding: 18px 24px;
  letter-spacing: 0.02em;
}

.ctabar:hover { background: #232922; color: #B98A3A; }

.formwrap {
  max-width: 640px;
}

.fieldlabel {
  display: block;
  margin-bottom: 16px;
  font-size: 14px;
  letter-spacing: 0.04em;
  color: #2A2823;
}

.fieldlabel input,
.fieldlabel textarea {
  display: block;
  width: 100%;
  margin-top: 6px;
  padding: 11px 12px;
  font-size: 15px;
  font-family: Georgia, "Times New Roman", serif;
  border: 2px solid #7F8880;
  background: #E6E2D2;
  color: #2A2823;
}

.fieldlabel textarea { min-height: 140px; resize: vertical; }

.submitbtn {
  background: #3E6B4C;
  color: #E6E2D2;
  border: 0;
  font-size: 16px;
  font-weight: bold;
  padding: 14px 28px;
  cursor: pointer;
  letter-spacing: 0.02em;
}

.submitbtn:hover { background: #232922; color: #B98A3A; }

.formnote {
  color: #7F8880;
  font-size: 14px;
  margin-top: 12px;
}

.infobox {
  background: #E6E2D2;
  border-left: 6px solid #B98A3A;
  padding: 20px 22px;
  margin-bottom: 18px;
}

.infobox h3 { font-size: 19px; margin-bottom: 6px; }

.faqitem {
  background: #E6E2D2;
  border-top: 4px solid #3E6B4C;
  padding: 16px 20px;
  margin-bottom: 14px;
}

.faqitem h4 { font-size: 17px; margin-bottom: 6px; }
.faqitem p { margin: 0; }

/* ---------- ACCORDION ---------- */
.acc {
  background: #E6E2D2;
  border-left: 6px solid #3E6B4C;
  margin-bottom: 12px;
}

.acc-head {
  width: 100%;
  text-align: left;
  background: #E6E2D2;
  color: #2A2823;
  border: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 17px;
  font-weight: bold;
  padding: 16px 20px;
  cursor: pointer;
}

.acc-head:hover { background: #B98A3A; }

.acc-body {
  padding: 0 20px 16px;
  display: block;
}

/* ---------- COUNTERS ---------- */
.statrow {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin: 22px 0;
}

.statcell {
  background: #E6E2D2;
  border-bottom: 5px solid #3E6B4C;
  padding: 20px;
  text-align: center;
}

.statnum {
  display: block;
  font-size: 40px;
  color: #3E6B4C;
  font-weight: bold;
}

.statlabel {
  color: #7F8880;
  font-size: 13px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 900px) {
  .standband-scene { grid-template-columns: 1fr; gap: 26px; }
  .scene-saw, .scene-branch, .scene-pole { height: 200px; }
  .chipfoot-cols { grid-template-columns: 1fr; }
  .steprow { grid-template-columns: 1fr; }
  .statrow { grid-template-columns: 1fr; }
  .cols2 { column-count: 1; }
  .limbcard.wide, .limbcard.mid, .limbcard.tall,
  .limbcard.short, .limbcard.narrow, .limbcard.offset {
    width: 100%; margin-left: 0;
  }
}

@media (max-width: 720px) {
  .racknav-inner { flex-wrap: wrap; padding-bottom: 14px; }
  .racknav-toggle { display: block; }
  .racknav-tags { display: none; width: 100%; flex-direction: column; }
  .racknav-tags.open { display: flex; }
  .racknav-tag { width: 100%; }
  .racknav-tag.w1, .racknav-tag.w2, .racknav-tag.w3,
  .racknav-tag.w4, .racknav-tag.w5 { width: 100%; }
  .prunebay-head h1 { font-size: 34px; }
  .prunebay-display { font-size: 58px; }
  .cols2 { column-count: 1; }
}
