/* ============================================================
   Redroxz limited liability company
   Palette
   SALTCAVE   #0E1018  page night
   CRYSTAL    #E0E4E8  body text
   ROX-BRICK  #943B1E  accent
   MINE       #1C222A  wells and footer
   LAMP-PANEL #2E363E  panels and cards
   CART-IRON  #787871  tertiary
   GLOW-PINK  #B27480  warm glow chips only
   Block 06   #262C34  raised surfaces
   Block 07   #3A424A  hairlines
   Block 08   #252B33  deep hairline
   Block 09   #141821  recessed band
   Block 10   #7A2F17  brick shade
   Block 11   #A9523A  brick light
   Block 12   #C99A86  lamp warm
   Block 13   #F0C9A8  lamp core
   Block 14   #D9B49A  lamp rim
   ============================================================ */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

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

img {
  max-width: 100%;
  display: block;
}

a {
  color: #E0E4E8;
}

/* ---------- grain rail navigation ---------- */

.grainrail {
  background-color: #1C222A;
  border-bottom: 3px solid #943B1E;
}

.grainrail-bar {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: flex-end;
  gap: 20px;
  min-height: 74px;
  flex-wrap: wrap;
  padding-top: 12px;
}

.grainrail-badge {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  margin-bottom: 12px;
  flex: 1 1 320px;
}

.grainrail-badge-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background-color: #943B1E;
  color: #E0E4E8;
  font-family: "Courier New", Courier, monospace;
  font-weight: 700;
  font-size: 17px;
  letter-spacing: 1px;
  border: 2px solid #A9523A;
  flex: 0 0 auto;
}

.grainrail-badge-name {
  font-family: "Courier New", Courier, monospace;
  font-size: 14px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #E0E4E8;
}

.grainrail-tabs {
  display: flex;
  align-items: flex-end;
  gap: 0;
  flex-wrap: wrap;
}

.grainrail-tab {
  display: inline-block;
  padding: 13px 18px 15px;
  background-color: #2E363E;
  color: #E0E4E8;
  text-decoration: none;
  font-family: "Courier New", Courier, monospace;
  font-size: 13px;
  letter-spacing: 1px;
  text-transform: uppercase;
  border-top: 3px solid #3A424A;
  border-left: 1px solid #252B33;
  border-right: 1px solid #252B33;
}

.grainrail-tab-a { width: 92px; }
.grainrail-tab-b { width: 112px; }
.grainrail-tab-c { width: 100px; }
.grainrail-tab-d { width: 104px; }
.grainrail-tab-e { width: 96px; }

.grainrail-tab:hover,
.grainrail-tab:focus {
  background-color: #262C34;
  border-top-color: #943B1E;
}

.grainrail-toggle {
  display: none;
  background-color: #2E363E;
  border: 1px solid #3A424A;
  padding: 10px 12px;
  margin-bottom: 12px;
  cursor: pointer;
}

.grainrail-toggle span {
  display: block;
  width: 22px;
  height: 2px;
  background-color: #E0E4E8;
  margin: 4px 0;
}

.grainrail-mobile {
  display: none;
  background-color: #141821;
  border-top: 1px solid #3A424A;
  padding: 8px 24px 16px;
}

.grainrail-mobile a {
  display: block;
  width: 100%;
  padding: 12px 16px;
  margin: 8px 0;
  background-color: #2E363E;
  color: #E0E4E8;
  text-decoration: none;
  font-family: "Courier New", Courier, monospace;
  font-size: 14px;
  letter-spacing: 1px;
  text-transform: uppercase;
  border-left: 4px solid #943B1E;
}

.grainrail-mobile.is-open {
  display: block;
}

/* ---------- cave bench hero ---------- */

.cavebench {
  padding: 56px 24px 0;
  background-color: #0E1018;
}

.cavebench-head {
  max-width: 1180px;
  margin: 0 auto;
  padding-bottom: 40px;
}

.cavebench-kicker {
  margin: 0 0 14px;
  font-family: "Courier New", Courier, monospace;
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #B27480;
}

.cavebench-title {
  margin: 0 0 26px;
  font-size: 52px;
  line-height: 1.08;
  font-weight: 700;
  color: #E0E4E8;
  letter-spacing: -0.5px;
}

.cavebench-display {
  display: inline-block;
  color: #943B1E;
  font-size: 92px;
  line-height: 1;
  letter-spacing: 4px;
  font-family: "Courier New", Courier, monospace;
  font-weight: 700;
  border-bottom: 6px solid #943B1E;
  padding-bottom: 4px;
  margin-top: 6px;
}

.cavebench-copy {
  max-width: 760px;
}

.cavebench-copy p {
  margin: 0 0 16px;
  font-size: 17px;
  color: #E0E4E8;
}

.cavebench-inline {
  color: #E0E4E8;
  text-decoration: underline;
  text-decoration-color: #943B1E;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.cavebench-inline:hover,
.cavebench-inline:focus {
  color: #B27480;
}

/* full width cave band */

.cavebench-band {
  margin: 0 auto;
  max-width: 1180px;
  background-color: #1C222A;
  border: 1px solid #3A424A;
  border-top: 5px solid #943B1E;
  display: grid;
  grid-template-columns: 1fr 0.8fr 0.9fr;
  grid-template-rows: 1fr auto;
  gap: 0;
}

/* block stack at left */

.cavebench-stack {
  position: relative;
  padding: 26px 20px 30px;
  min-height: 300px;
  border-right: 1px solid #252B33;
}

.cavebench-block {
  position: absolute;
  background-color: #2E363E;
  border: 2px solid #3A424A;
  box-shadow: inset 0 -6px 0 #262C34;
}

.cavebench-block-one {
  left: 20px;
  bottom: 56px;
  width: 152px;
  height: 66px;
}

.cavebench-block-two {
  left: 36px;
  bottom: 122px;
  width: 120px;
  height: 52px;
  background-color: #3A424A;
}

.cavebench-block-three {
  left: 160px;
  bottom: 56px;
  width: 74px;
  height: 44px;
  background-color: #262C34;
}

.cavebench-block-four {
  left: 28px;
  bottom: 174px;
  width: 92px;
  height: 40px;
  background-color: #2E363E;
}

.cavebench-tag {
  display: inline-block;
  margin: 6px 0 0 6px;
  padding: 2px 7px;
  background-color: #943B1E;
  color: #E0E4E8;
  font-family: "Courier New", Courier, monospace;
  font-size: 10px;
  letter-spacing: 1px;
}

.cavebench-tag-sm {
  background-color: #262C34;
  color: #E0E4E8;
  border: 1px solid #787871;
}

.cavebench-stack-label {
  position: absolute;
  left: 20px;
  bottom: 18px;
  font-family: "Courier New", Courier, monospace;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #787871;
}

/* warm lamp alcove at centre */

.cavebench-alcove {
  position: relative;
  padding: 26px 20px 30px;
  border-right: 1px solid #252B33;
  min-height: 300px;
}

.cavebench-alcove-inner {
  position: relative;
  height: 100%;
  min-height: 240px;
  background-color: #141821;
  border: 2px solid #3A424A;
}

.cavebench-lip {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 10px;
  background-color: #787871;
}

.cavebench-lamp {
  position: absolute;
  left: 50%;
  top: 54px;
  width: 96px;
  height: 96px;
  margin-left: -48px;
  background-color: #C99A86;
  border: 8px solid #F0C9A8;
  box-shadow: 0 0 0 10px #A9523A, 0 0 0 13px #943B1E;
}

.cavebench-sill {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 44px;
  height: 12px;
  background-color: #2E363E;
  border-top: 2px solid #3A424A;
}

.cavebench-warm {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 14px;
  text-align: center;
  font-family: "Courier New", Courier, monospace;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #D9B49A;
}

/* cleaver rail at right */

.cavebench-cleaver {
  position: relative;
  padding: 26px 20px 30px;
  min-height: 300px;
}

.cavebench-rail {
  position: absolute;
  left: 22px;
  right: 22px;
  top: 74px;
  height: 8px;
  background-color: #787871;
  border-top: 2px solid #3A424A;
  border-bottom: 2px solid #262C34;
}

.cavebench-hook {
  position: absolute;
  top: 82px;
  width: 6px;
  height: 26px;
  background-color: #787871;
}

.cavebench-hook-one { left: 54px; }
.cavebench-hook-two { left: 150px; }

.cavebench-blade {
  position: absolute;
  left: 42px;
  top: 108px;
  width: 78px;
  height: 58px;
  background-color: #3A424A;
  border: 2px solid #787871;
  border-right-width: 10px;
}

.cavebench-handle {
  position: absolute;
  left: 118px;
  top: 128px;
  width: 64px;
  height: 14px;
  background-color: #943B1E;
  border: 1px solid #A9523A;
}

.cavebench-cleaver-label {
  position: absolute;
  left: 22px;
  bottom: 18px;
  font-family: "Courier New", Courier, monospace;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #787871;
}

/* primary full width call to action */

.cavebench-cta {
  grid-column: 1 / -1;
  display: block;
  padding: 20px 24px;
  background-color: #943B1E;
  color: #E0E4E8;
  text-decoration: none;
  font-family: "Courier New", Courier, monospace;
  font-size: 15px;
  letter-spacing: 1px;
  text-transform: uppercase;
  border-top: 2px solid #A9523A;
}

.cavebench-cta:hover,
.cavebench-cta:focus {
  background-color: #7A2F17;
}

/* ---------- crate rows ---------- */

.craterow {
  padding: 84px 24px 40px;
  background-color: #0E1018;
}

.craterow-head {
  max-width: 1180px;
  margin: 0 auto 40px;
}

.craterow-title {
  margin: 0 0 14px;
  font-size: 36px;
  line-height: 1.2;
  color: #E0E4E8;
  border-left: 6px solid #943B1E;
  padding-left: 18px;
}

.craterow-lede {
  margin: 0;
  max-width: 720px;
  padding-left: 24px;
  color: #E0E4E8;
  font-size: 16px;
}

.craterow-rail {
  max-width: 1180px;
  margin: 0 auto;
  border-top: 1px solid #3A424A;
}

.craterow-row {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 26px 24px 26px 70px;
  border-bottom: 1px solid #252B33;
  background-color: #1C222A;
  margin-top: 14px;
}

.craterow-row-a { width: 84%; margin-left: 0; }
.craterow-row-b { width: 96%; margin-left: 4%; }
.craterow-row-c { width: 74%; margin-left: 0; }
.craterow-row-d { width: 90%; margin-left: 7%; }
.craterow-row-e { width: 80%; margin-left: 2%; }
.craterow-row-f { width: 94%; margin-left: 1%; }

.craterow-mark {
  position: absolute;
  left: 22px;
  top: 26px;
  width: 32px;
  text-align: center;
  font-family: "Courier New", Courier, monospace;
  font-size: 20px;
  font-weight: 700;
  color: #B27480;
  border-bottom: 2px solid #B27480;
  padding-bottom: 2px;
}

.craterow-face {
  min-width: 0;
}

.craterow-face h3 {
  margin: 0 0 8px;
  font-size: 22px;
  color: #E0E4E8;
}

.craterow-face h3 a {
  color: #E0E4E8;
  text-decoration: none;
  border-bottom: 2px solid #943B1E;
  padding-bottom: 2px;
}

.craterow-face h3 a:hover,
.craterow-face h3 a:focus {
  color: #B27480;
  border-bottom-color: #B27480;
}

.craterow-face p {
  margin: 0 0 10px;
  color: #E0E4E8;
  font-size: 16px;
}

.craterow-crystal {
  position: absolute;
  background-color: #787871;
  border: 2px solid #3A424A;
  transform: rotate(45deg);
}

.craterow-crystal-a {
  right: 22px;
  bottom: 20px;
  width: 14px;
  height: 14px;
}

.craterow-crystal-b {
  right: 56px;
  top: 18px;
  width: 20px;
  height: 20px;
}

.craterow-crystal-c {
  right: 26px;
  top: 52px;
  width: 9px;
  height: 9px;
}

.craterow-crystal-d {
  right: 34px;
  top: 22px;
  width: 12px;
  height: 12px;
}

.craterow-crystal-e {
  right: 20px;
  bottom: 26px;
  width: 17px;
  height: 17px;
}

.craterow-crystal-f {
  right: 48px;
  bottom: 12px;
  width: 8px;
  height: 8px;
}

.craterow-crystal-g {
  right: 30px;
  top: 20px;
  width: 15px;
  height: 15px;
}

.craterow-crystal-h {
  right: 26px;
  bottom: 22px;
  width: 11px;
  height: 11px;
}

.craterow-more {
  max-width: 1180px;
  margin: 28px auto 0;
  color: #E0E4E8;
}

.craterow-more a {
  color: #E0E4E8;
  text-decoration: underline;
  text-decoration-color: #943B1E;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.craterow-more a:hover,
.craterow-more a:focus {
  color: #B27480;
}

/* ---------- bench notes / secondary content ---------- */

.cavebench-notes {
  padding: 78px 24px;
  background-color: #141821;
  border-top: 1px solid #3A424A;
  border-bottom: 1px solid #3A424A;
}

.cavebench-notes-inner {
  max-width: 1180px;
  margin: 0 auto;
}

.cavebench-notes-inner h2 {
  margin: 0 0 30px;
  font-size: 32px;
  color: #E0E4E8;
}

.cavebench-notes-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 26px;
}

.cavebench-note {
  background-color: #2E363E;
  border-top: 4px solid #943B1E;
  padding: 22px 24px;
}

.cavebench-note h3 {
  margin: 0 0 10px;
  font-size: 19px;
  color: #E0E4E8;
  font-family: "Courier New", Courier, monospace;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.cavebench-note p {
  margin: 0;
  color: #E0E4E8;
}

/* ---------- lamp alcove accent band ---------- */

.lampalcove {
  background-color: #1C222A;
  border-top: 3px solid #943B1E;
  border-bottom: 3px solid #943B1E;
  padding: 0 24px;
}

.lampalcove-inner {
  max-width: 1180px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 26px;
  padding: 26px 0;
}

.lampalcove-lip {
  flex: 0 0 110px;
  height: 26px;
  background-color: #787871;
  border-top: 4px solid #D9B49A;
  border-right: 4px solid #A9523A;
}

.lampalcove-line {
  margin: 0;
  font-size: 18px;
  color: #E0E4E8;
  font-style: italic;
}

/* ---------- story block ---------- */

.cavebench-story {
  padding: 82px 24px;
  background-color: #0E1018;
}

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

.cavebench-story-inner h2 {
  margin: 0 0 24px;
  font-size: 34px;
  color: #E0E4E8;
  position: relative;
  padding-bottom: 14px;
}

.cavebench-story-inner h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 120px;
  height: 5px;
  background-color: #943B1E;
}

.cavebench-story-inner p {
  margin: 0 0 18px;
  color: #E0E4E8;
  font-size: 17px;
}

.cavebench-story-cta {
  margin-top: 26px !important;
}

.cavebench-story-cta a {
  display: inline-block;
  padding: 14px 26px;
  background-color: #943B1E;
  color: #E0E4E8;
  text-decoration: none;
  font-family: "Courier New", Courier, monospace;
  font-size: 14px;
  letter-spacing: 1px;
  text-transform: uppercase;
  border: 2px solid #A9523A;
}

.cavebench-story-cta a:hover,
.cavebench-story-cta a:focus {
  background-color: #7A2F17;
}

/* ---------- contact page blocks ---------- */

.cavebench-contact {
  padding: 80px 24px;
  background-color: #0E1018;
}

.cavebench-contact-inner {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 34px;
}

.cavebench-contact-form {
  background-color: #1C222A;
  border-top: 5px solid #943B1E;
  padding: 30px 32px;
}

.cavebench-contact-form h2,
.cavebench-contact-side h2 {
  margin: 0 0 12px;
  font-size: 28px;
  color: #E0E4E8;
}

.cavebench-contact-lede {
  margin: 0 0 22px;
  color: #E0E4E8;
}

.cavebench-form {
  display: block;
}

.cavebench-form label {
  display: block;
  margin: 16px 0 6px;
  font-family: "Courier New", Courier, monospace;
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #E0E4E8;
}

.cavebench-form input,
.cavebench-form textarea {
  width: 100%;
  padding: 12px 14px;
  background-color: #262C34;
  color: #E0E4E8;
  border: 2px solid #3A424A;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 16px;
}

.cavebench-form input:focus,
.cavebench-form textarea:focus {
  outline: none;
  border-color: #943B1E;
  background-color: #2E363E;
}

.cavebench-submit {
  margin-top: 22px;
  width: 100%;
  padding: 16px 20px;
  background-color: #943B1E;
  color: #E0E4E8;
  border: 2px solid #A9523A;
  font-family: "Courier New", Courier, monospace;
  font-size: 14px;
  letter-spacing: 1px;
  text-transform: uppercase;
  cursor: pointer;
}

.cavebench-submit:hover,
.cavebench-submit:focus {
  background-color: #7A2F17;
}

.cavebench-form-note {
  margin: 14px 0 0;
  font-size: 14px;
  color: #787871;
}

.cavebench-form-note.is-ready {
  color: #E0E4E8;
}

.cavebench-contact-side {
  background-color: #141821;
  border: 1px solid #3A424A;
  padding: 30px 32px;
}

.cavebench-contact-block {
  border-top: 1px solid #3A424A;
  padding: 14px 0;
}

.cavebench-contact-block h3 {
  margin: 0 0 6px;
  font-size: 14px;
  font-family: "Courier New", Courier, monospace;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #B27480;
}

.cavebench-contact-block p {
  margin: 0;
  color: #E0E4E8;
}

.cavebench-contact-block a {
  color: #E0E4E8;
  text-decoration: underline;
  text-decoration-color: #943B1E;
  text-underline-offset: 4px;
}

/* ---------- FAQ accordion ---------- */

.cavebench-faq {
  max-width: 900px;
}

.cavebench-faq-item {
  background-color: #2E363E;
  border-left: 5px solid #943B1E;
  margin-bottom: 14px;
  padding: 4px 22px;
}

.cavebench-faq-item summary {
  cursor: pointer;
  padding: 16px 0;
  font-size: 18px;
  color: #E0E4E8;
  font-weight: 700;
}

.cavebench-faq-item p {
  margin: 0 0 18px;
  color: #E0E4E8;
}

/* ---------- cleaver footer ---------- */

.cleaverrail {
  background-color: #1C222A;
  border-top: 5px solid #943B1E;
  padding-top: 46px;
}

.cleaverrail-board {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px 40px;
  display: grid;
  grid-template-columns: 1.2fr 0.8fr 1.2fr;
  gap: 34px;
  align-items: start;
}

.cleaverrail-brand {
  position: relative;
}

.cleaverrail-glyph {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  background-color: #943B1E;
  border: 2px solid #A9523A;
  color: #E0E4E8;
  font-family: "Courier New", Courier, monospace;
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 14px;
}

.cleaverrail-name {
  margin: 0 0 12px;
  font-family: "Courier New", Courier, monospace;
  font-size: 15px;
  letter-spacing: 1px;
  color: #E0E4E8;
}

.cleaverrail-blurb {
  margin: 0;
  color: #E0E4E8;
  font-size: 15px;
  line-height: 1.65;
}

/* crate scale device at the left edge of the cave board */

.cleaverrail-device {
  position: relative;
  height: 190px;
}

.cleaverrail-rail {
  position: absolute;
  left: 0;
  right: 0;
  top: 46px;
  height: 7px;
  background-color: #787871;
}

.cleaverrail-hang {
  position: absolute;
  top: 53px;
  width: 5px;
  height: 18px;
  background-color: #787871;
}

.cleaverrail-hang-a { left: 52px; }
.cleaverrail-hang-b { left: 110px; }

.cleaverrail-pan {
  position: absolute;
  left: 28px;
  top: 71px;
  width: 112px;
  height: 34px;
  background-color: #2E363E;
  border: 2px solid #787871;
  border-bottom-width: 8px;
}

.cleaverrail-tower {
  position: absolute;
  left: 30px;
  bottom: 0;
  width: 130px;
  height: 62px;
  background-color: #3A424A;
  border-top: 4px solid #787871;
  border-left: 4px solid #262C34;
}

.cleaverrail-tower-mark {
  position: absolute;
  left: 62px;
  bottom: 22px;
  width: 66px;
  height: 8px;
  background-color: #943B1E;
}

.cleaverrail-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}

.cleaverrail-col h4 {
  margin: 0 0 12px;
  padding-bottom: 8px;
  font-family: "Courier New", Courier, monospace;
  font-size: 13px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #E0E4E8;
  border-bottom: 2px solid #943B1E;
}

.cleaverrail-col ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.cleaverrail-col li {
  margin: 0 0 8px;
  color: #E0E4E8;
  font-size: 15px;
}

.cleaverrail-col a {
  color: #E0E4E8;
  text-decoration: none;
  border-bottom: 1px solid #3A424A;
}

.cleaverrail-col a:hover,
.cleaverrail-col a:focus {
  border-bottom-color: #943B1E;
}

.cleaverrail-strip {
  background-color: #141821;
  border-top: 1px solid #3A424A;
  max-width: 100%;
  padding: 18px 24px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 28px;
  justify-content: center;
  font-family: "Courier New", Courier, monospace;
  font-size: 13px;
  color: #E0E4E8;
}

.cleaverrail-strip-mail,
.cleaverrail-strip-phone,
.cleaverrail-strip-addr,
.cleaverrail-strip-copy {
  display: inline-block;
}

.cleaverrail-copy-glyph {
  color: #B27480;
  margin-right: 4px;
}

/* ---------- scroll reveal ---------- */

.reveal {
  visibility: visible;
  transform: none;
}

.js-reveal .reveal {
  visibility: hidden;
  transform: translateY(18px);
  transition: transform 500ms ease, visibility 0s linear 500ms;
}

.js-reveal .reveal.is-visible {
  visibility: visible;
  transform: none;
  transition: transform 500ms ease, visibility 0s;
}

/* ---------- responsive ---------- */

@media (max-width: 980px) {
  .cavebench-band {
    grid-template-columns: 1fr;
  }
  .cavebench-stack,
  .cavebench-alcove {
    border-right: 0;
    border-bottom: 1px solid #252B33;
  }
  .cavebench-cleaver {
    border-bottom: 1px solid #252B33;
  }
  .cavebench-contact-inner {
    grid-template-columns: 1fr;
  }
  .cleaverrail-board {
    grid-template-columns: 1fr;
  }
  .cleaverrail-device {
    height: 160px;
  }
  .craterow-row-a,
  .craterow-row-b,
  .craterow-row-c,
  .craterow-row-d,
  .craterow-row-e,
  .craterow-row-f {
    width: 100%;
    margin-left: 0;
  }
}

@media (max-width: 760px) {
  .grainrail-tabs {
    display: none;
  }
  .grainrail-toggle {
    display: block;
    margin-left: auto;
  }
  .grainrail-bar {
    align-items: center;
  }
  .cavebench-title {
    font-size: 34px;
  }
  .cavebench-display {
    font-size: 56px;
    letter-spacing: 2px;
  }
  .cavebench-notes-grid {
    grid-template-columns: 1fr;
  }
  .cavebench-band {
    display: block;
  }
  .cavebench-cta {
    display: block;
  }
  .craterow-row {
    padding-left: 58px;
  }
  .craterow-title {
    font-size: 27px;
  }
  .cleaverrail-cols {
    grid-template-columns: 1fr;
  }
  .lampalcove-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }
  .lampalcove-lip {
    flex: 0 0 auto;
    width: 90px;
  }
}
