/* Parkwest Hafen Holdings, LLC — mountain condo rental desk
   Palette: sky mist #DEF2FE / cedar wood #946048 / lake teal #26747C
   snowcap grey #DEDEE8 / iron bark #2E3B36 / sunrise copper #B0683E */

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

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

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

h1, h2, h3, h4 {
  font-family: "Trebuchet MS", "Segoe UI", sans-serif;
  color: #6E4432;
  margin: 0 0 0.5em;
  line-height: 1.15;
  letter-spacing: -0.01em;
}

p { margin: 0 0 1em; }
a { color: #1F5F66; text-decoration: none; }
a:hover { text-decoration: underline; }
ul, ol { margin: 0 0 1em; padding-left: 1.25em; }
li { margin-bottom: 0.4em; }
strong { color: #24312D; }

.page-skip {
  position: absolute;
  left: -9999px;
  top: 0;
  background: #2E3B36;
  color: #DEF2FE;
  padding: 10px 16px;
  z-index: 90;
}
.page-skip:focus { left: 8px; top: 8px; }

/* ---------------------------------------------------------------
   UNIT MAP NAV
   A snowcap grey board holding five room tags. Brand on bell block.
   --------------------------------------------------------------- */
.unitmap {
  background-color: #DEDEE8;
  border-bottom: 6px solid #946048;
  padding: 18px 0 14px;
}

.unitmap-inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: stretch;
  gap: 26px;
  flex-wrap: wrap;
}

.unitmap-bell {
  background-color: #2E3B36;
  border: 2px solid #946048;
  border-radius: 6px;
  padding: 10px 20px 10px 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 250px;
}

.unitmap-bell-glyph {
  width: 30px;
  height: 30px;
  border-radius: 50% 50% 6px 6px;
  background-color: #B0683E;
  border: 2px solid #DEF2FE;
  flex: 0 0 auto;
  position: relative;
}
.unitmap-bell-glyph::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -7px;
  width: 8px;
  height: 8px;
  margin-left: -4px;
  border-radius: 50%;
  background-color: #DEF2FE;
}

.unitmap-brand {
  display: block;
  font-family: "Trebuchet MS", "Segoe UI", sans-serif;
  font-size: 15px;
  font-weight: bold;
  color: #DEF2FE;
  line-height: 1.3;
  letter-spacing: 0.01em;
}
.unitmap-brand:hover { text-decoration: none; color: #FFFFFF; }
.unitmap-brand small {
  display: block;
  font-size: 11px;
  font-weight: normal;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #C7DDE8;
}

.unitmap-board {
  flex: 1 1 420px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: stretch;
  padding: 6px;
  background-color: #CFCFDC;
  border: 2px solid #B9B9CB;
  border-radius: 5px;
}

.unitmap-tag {
  flex: 1 1 92px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #DEF2FE;
  border-top: 5px solid #946048;
  border-bottom: 2px solid #B9B9CB;
  padding: 9px 6px 7px;
  font-family: "Trebuchet MS", "Segoe UI", sans-serif;
  font-size: 13px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #2E3B36;
  text-align: center;
}
.unitmap-tag:hover {
  background-color: #CBE6F6;
  text-decoration: none;
}
.unitmap-tag-current {
  background-color: #B0683E;
  color: #FFFFFF;
  border-top-color: #2E3B36;
}
.unitmap-tag-current:hover { background-color: #A05C34; }

.unitmap-toggle {
  display: none;
  margin-left: auto;
  background-color: #2E3B36;
  color: #DEF2FE;
  border: 2px solid #946048;
  border-radius: 5px;
  font-family: "Trebuchet MS", "Segoe UI", sans-serif;
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 10px 16px;
  cursor: pointer;
}

/* ---------------------------------------------------------------
   RENTAL DESK HERO
   --------------------------------------------------------------- */
.rentaldesk {
  padding: 46px 0 0;
  border-bottom: 10px solid #DEDEE8;
}

.rentaldesk-lead {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px 34px;
}

.rentaldesk-eyebrow {
  font-family: "Trebuchet MS", "Segoe UI", sans-serif;
  font-size: 12px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #1F5F66;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 14px;
}
.rentaldesk-eyebrow::before {
  content: "";
  width: 46px;
  height: 3px;
  background-color: #B0683E;
  display: inline-block;
}

.rentaldesk-title {
  font-size: 44px;
  font-weight: bold;
  max-width: 820px;
  color: #6E4432;
  margin-bottom: 18px;
}
.rentaldesk-title .rentaldesk-display {
  display: block;
  font-size: 96px;
  line-height: 0.95;
  color: #26747C;
  letter-spacing: -0.03em;
  margin-top: 4px;
}

.rentaldesk-copy {
  max-width: 660px;
  font-size: 17px;
  color: #2E3B36;
}

.rentaldesk-secondary {
  display: inline-block;
  margin-top: 6px;
  font-family: "Trebuchet MS", "Segoe UI", sans-serif;
  font-weight: bold;
  color: #26747C;
  border-bottom: 2px solid #26747C;
  padding-bottom: 2px;
}
.rentaldesk-secondary::after {
  content: " \2192";
  font-family: Georgia, serif;
}

/* Lodge band */
.rentaldesk-band {
  background-color: #DEDEE8;
  border-top: 6px solid #946048;
}

.rentaldesk-stage {
  max-width: 1180px;
  margin: 0 auto;
  padding: 34px 24px 40px;
  display: grid;
  grid-template-columns: 1.15fr 1fr 0.95fr;
  gap: 30px;
  align-items: stretch;
}

.rentaldesk-scene-label {
  font-family: "Trebuchet MS", "Segoe UI", sans-serif;
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #6E4432;
  margin-bottom: 10px;
}

/* 1. Unit map board */
.rentaldesk-board {
  background-color: #CFCFDC;
  border: 3px solid #946048;
  border-radius: 4px;
  padding: 14px;
  position: relative;
}
.rentaldesk-board::before {
  content: "";
  position: absolute;
  top: 8px;
  right: 10px;
  width: 46px;
  height: 8px;
  background-color: #B0683E;
  border-radius: 2px;
}
.rentaldesk-map-grid {
  margin-top: 18px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.rentaldesk-room {
  background-color: #DEF2FE;
  border: 2px solid #2E3B36;
  padding: 7px 8px;
  font-family: "Trebuchet MS", "Segoe UI", sans-serif;
  font-size: 11px;
  letter-spacing: 0.05em;
  color: #2E3B36;
  text-transform: uppercase;
}
.rentaldesk-room b {
  display: block;
  color: #6E4432;
  font-size: 12px;
}
.rentaldesk-room-upper { grid-column: 1 / -1; border-left: 10px solid #B0683E; }
.rentaldesk-room-host { grid-column: 1 / -1; background-color: #A9D0D4; }

/* 2. Winter key drawer cabinet */
.rentaldesk-cabinet {
  background-color: #946048;
  border: 3px solid #6E4432;
  border-radius: 4px;
  padding: 16px 16px 22px;
  display: flex;
  flex-direction: column;
  gap: 9px;
  box-shadow: 6px 6px 0 #B9B9CB;
}
.rentaldesk-cabinet-cap {
  font-family: "Trebuchet MS", "Segoe UI", sans-serif;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #DEF2FE;
  border-bottom: 2px solid #B0683E;
  padding-bottom: 8px;
  margin-bottom: 4px;
}
.rentaldesk-drawer {
  background-color: #6E4432;
  border: 2px solid #2E3B36;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 12px;
  color: #DEF2FE;
  font-family: "Trebuchet MS", "Segoe UI", sans-serif;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.rentaldesk-drawer span {
  display: inline-block;
  width: 26px;
  height: 6px;
  background-color: #DEDEE8;
  border-radius: 3px;
}
.rentaldesk-drawer-open {
  transform: translateX(14px);
  background-color: #7B4E3A;
  border-right: 6px solid #B0683E;
}

/* 3. Trail brochure rack + wood stack */
.rentaldesk-side {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.rentaldesk-rack {
  background-color: #2E3B36;
  border: 3px solid #B9B9CB;
  padding: 12px;
  border-radius: 3px;
  flex: 1 1 auto;
}
.rentaldesk-rack-slot {
  display: flex;
  align-items: center;
  gap: 10px;
  background-color: #DEF2FE;
  border-left: 6px solid #26747C;
  padding: 7px 10px;
  margin-bottom: 7px;
  font-family: "Trebuchet MS", "Segoe UI", sans-serif;
  font-size: 11px;
  letter-spacing: 0.05em;
  color: #2E3B36;
}
.rentaldesk-rack-slot:last-child { margin-bottom: 0; }
.rentaldesk-rack-slot em {
  font-style: normal;
  font-size: 10px;
  color: #6E4432;
  margin-left: auto;
}
.rentaldesk-wood {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 10px;
  background-color: #DEDEE8;
  border: 2px solid #B9B9CB;
}
.rentaldesk-wood-row {
  height: 11px;
  background-color: #946048;
  border: 1px solid #6E4432;
  border-radius: 6px;
}
.rentaldesk-wood-row:nth-child(2) { width: 88%; }
.rentaldesk-wood-row:nth-child(3) { width: 94%; }
.rentaldesk-wood-row:nth-child(4) { width: 80%; }
.rentaldesk-wood-row:nth-child(5) { width: 90%; }

/* Primary CTA bar */
.rentaldesk-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background-color: #26747C;
  color: #FFFFFF;
  padding: 20px 24px;
  font-family: "Trebuchet MS", "Segoe UI", sans-serif;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.02em;
  border-top: 4px solid #1F5F66;
}
.rentaldesk-bar:hover {
  background-color: #1F5F66;
  text-decoration: none;
}
.rentaldesk-bar-inner {
  max-width: 1180px;
  margin: 0 auto;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.rentaldesk-bar-arrow {
  font-size: 26px;
  line-height: 1;
  border: 2px solid #FFFFFF;
  border-radius: 50%;
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

/* ---------------------------------------------------------------
   KEY DRAWER ROWS
   --------------------------------------------------------------- */
.keydrawer {
  max-width: 1180px;
  margin: 0 auto;
  padding: 64px 24px 30px;
}

.keydrawer-head {
  max-width: 760px;
  margin-bottom: 30px;
}
.keydrawer-head h2 {
  font-size: 34px;
}
.keydrawer-head p { font-size: 16px; }

.keydrawer-cabinet {
  background-color: #946048;
  border: 3px solid #6E4432;
  border-radius: 5px;
  padding: 26px 26px 34px;
}

.keydrawer-item {
  position: relative;
  background-color: #DEDEE8;
  border: 2px solid #2E3B36;
  border-right: 8px solid #6E4432;
  padding: 18px 22px 14px 74px;
  margin-bottom: 16px;
  box-shadow: 3px 3px 0 #6E4432;
}
.keydrawer-item:last-child { margin-bottom: 0; }
.keydrawer-item h3 {
  font-size: 19px;
  margin-bottom: 6px;
  color: #2E3B36;
}
.keydrawer-item p {
  margin: 0;
  font-size: 15px;
  max-width: 760px;
}
.keydrawer-item a { font-weight: bold; }

.keydrawer-tag {
  position: absolute;
  left: 14px;
  top: 20px;
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Trebuchet MS", "Segoe UI", sans-serif;
  font-weight: bold;
  font-size: 17px;
  color: #2E3B36;
  background-color: #CFCFDC;
  border: 2px solid #6E4432;
  border-radius: 3px;
}
.keydrawer-tag[data-worn] { background-color: #B9B9CB; }
.keydrawer-tag[data-worn-two] { background-color: #E4E4EE; border-style: double; border-width: 4px; }
.keydrawer-tag[data-worn-three] { background-color: #C4C4D3; }

/* irregular drawer offsets and widths */
.keydrawer-a { margin-left: 0; width: 100%; }
.keydrawer-c { margin-left: 4.5%; width: 89%; }
.keydrawer-d { margin-left: 1.5%; width: 96%; }
.keydrawer-g { margin-left: 7%; width: 85%; }
.keydrawer-i { margin-left: 2.5%; width: 94%; }
.keydrawer-l { margin-left: 5.5%; width: 88%; }

.keydrawer-stamp {
  display: inline-block;
  margin-top: 8px;
  font-family: "Trebuchet MS", "Segoe UI", sans-serif;
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #FFFFFF;
  background-color: #26747C;
  padding: 3px 9px;
  border-radius: 2px;
}

/* ---------------------------------------------------------------
   STOVE WOOD BAND
   --------------------------------------------------------------- */
.stovewood {
  background-color: #2E3B36;
  padding: 30px 0;
  margin-top: 40px;
}
.stovewood-inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 34px;
  align-items: center;
}
.stovewood-stack {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 12px;
  border: 2px solid #946048;
  background-color: #24312D;
}
.stovewood-log {
  height: 13px;
  background-color: #B0683E;
  border-radius: 7px;
  border: 1px solid #946048;
}
.stovewood-log:nth-child(2) { width: 90%; }
.stovewood-log:nth-child(3) { width: 96%; }
.stovewood-log:nth-child(4) { width: 84%; }
.stovewood-text {
  color: #DEF2FE;
  font-size: 18px;
  margin: 0;
  max-width: 820px;
  line-height: 1.55;
}
.stovewood-text strong { color: #FFFFFF; }

/* ---------------------------------------------------------------
   EDITORIAL SECTIONS (homepage body)
   --------------------------------------------------------------- */
.deskprose {
  max-width: 1180px;
  margin: 0 auto;
  padding: 60px 24px 20px;
}

.deskprose-intro {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 44px;
  align-items: start;
  margin-bottom: 48px;
}
.deskprose-intro h2 { font-size: 31px; }
.deskprose-intro-lead {
  font-size: 18px;
  color: #6E4432;
  font-style: italic;
}
.deskprose p { font-size: 16px; }

.deskprose-two {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  margin-bottom: 48px;
}

.deskprose-note {
  background-color: #DEDEE8;
  border-left: 8px solid #26747C;
  padding: 20px 24px;
  margin-bottom: 48px;
}
.deskprose-note h3 { font-size: 18px; margin-bottom: 8px; }
.deskprose-note p:last-child { margin-bottom: 0; }

.deskprose-cta {
  background-color: #DEDEE8;
  border: 2px solid #B9B9CB;
  border-top: 8px solid #946048;
  padding: 34px 32px;
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 32px;
  align-items: center;
  margin-bottom: 60px;
}
.deskprose-cta h2 { font-size: 27px; }
.deskprose-cta p:last-child { margin-bottom: 0; }
.deskprose-cta-link {
  display: inline-block;
  font-family: "Trebuchet MS", "Segoe UI", sans-serif;
  font-weight: bold;
  font-size: 15px;
  background-color: #26747C;
  color: #FFFFFF;
  padding: 14px 22px;
  border-radius: 3px;
}
.deskprose-cta-link:hover { background-color: #1F5F66; text-decoration: none; }

/* Interior page common */
.innerlead {
  max-width: 1180px;
  margin: 0 auto;
  padding: 48px 24px 8px;
}
.innerlead h1 {
  font-size: 40px;
  max-width: 760px;
  margin-bottom: 14px;
}
.innerlead p {
  max-width: 760px;
  font-size: 17px;
}

.innerblock {
  max-width: 1180px;
  margin: 0 auto;
  padding: 34px 24px 10px;
}
.innerblock h2 { font-size: 26px; }

.service-entry {
  border-top: 3px solid #DEDEE8;
  border-bottom: 1px solid #B9B9CB;
  padding: 28px 0 22px;
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 34px;
}
.service-entry h2 {
  font-size: 22px;
  margin-bottom: 6px;
}
.service-entry-mark {
  font-family: "Trebuchet MS", "Segoe UI", sans-serif;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #1F5F66;
}
.service-entry-mark span {
  display: block;
  color: #B0683E;
  font-size: 34px;
  letter-spacing: 0;
  margin-top: 4px;
  font-weight: bold;
}

.processlist {
  counter-reset: step;
  list-style: none;
  padding: 0;
  margin: 0 0 40px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 40px;
}
.processlist li {
  counter-increment: step;
  border-bottom: 1px solid #B9B9CB;
  padding: 18px 0 16px 48px;
  position: relative;
}
.processlist li::before {
  content: counter(step, upper-roman);
  position: absolute;
  left: 0;
  top: 18px;
  font-family: "Trebuchet MS", "Segoe UI", sans-serif;
  font-size: 13px;
  font-weight: bold;
  color: #DEF2FE;
  background-color: #26747C;
  padding: 2px 6px;
  border-radius: 2px;
}

/* Contact */
.contactgrid {
  max-width: 1180px;
  margin: 0 auto;
  padding: 30px 24px 40px;
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 44px;
  align-items: start;
}

.contactcard {
  background-color: #DEDEE8;
  border: 2px solid #B9B9CB;
  border-top: 8px solid #946048;
  padding: 26px 26px 20px;
}
.contactcard h2 { font-size: 21px; }
.contactcard dl { margin: 0 0 20px; }
.contactcard dt {
  font-family: "Trebuchet MS", "Segoe UI", sans-serif;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #1F5F66;
  margin-top: 14px;
}
.contactcard dd { margin: 2px 0 0; font-size: 16px; }
.contactcard address { font-style: normal; }

.hourslist { list-style: none; padding: 0; margin: 0 0 6px; }
.hourslist li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px dashed #B9B9CB;
  padding: 6px 0;
  font-size: 15px;
}
.hourslist li b { font-weight: bold; color: #2E3B36; }

.contactform {
  background-color: #DEDEE8;
  border: 2px solid #B9B9CB;
  padding: 26px;
}
.contactform h2 { font-size: 21px; }
.contactform label {
  display: block;
  font-family: "Trebuchet MS", "Segoe UI", sans-serif;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #2E3B36;
  margin: 14px 0 5px;
}
.contactform input,
.contactform textarea {
  width: 100%;
  font-family: Georgia, serif;
  font-size: 15px;
  color: #2E3B36;
  background-color: #DEF2FE;
  border: 2px solid #946048;
  border-radius: 3px;
  padding: 10px 12px;
}
.contactform input:focus,
.contactform textarea:focus {
  outline: 3px solid #26747C;
  outline-offset: 1px;
}
.contactform textarea { min-height: 140px; resize: vertical; }
.contactform button {
  margin-top: 18px;
  font-family: "Trebuchet MS", "Segoe UI", sans-serif;
  font-size: 15px;
  font-weight: bold;
  letter-spacing: 0.04em;
  background-color: #26747C;
  color: #FFFFFF;
  border: 0;
  border-radius: 3px;
  padding: 13px 26px;
  cursor: pointer;
}
.contactform button:hover { background-color: #1F5F66; }
.contactform-note {
  font-size: 13px;
  color: #3C4A44;
  margin-top: 14px;
  margin-bottom: 0;
}
.contactform-status {
  margin-top: 14px;
  font-size: 14px;
  font-weight: bold;
  color: #1F5F66;
}

.faqblock {
  max-width: 1180px;
  margin: 0 auto;
  padding: 10px 24px 50px;
}
.faqblock h2 { font-size: 26px; margin-bottom: 18px; }
.faqitem {
  background-color: #DEDEE8;
  border-left: 8px solid #946048;
  margin-bottom: 10px;
}
.faqitem button {
  width: 100%;
  text-align: left;
  background: none;
  border: 0;
  padding: 16px 20px;
  font-family: "Trebuchet MS", "Segoe UI", sans-serif;
  font-size: 16px;
  font-weight: bold;
  color: #2E3B36;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  gap: 16px;
}
.faqitem button::after { content: "+"; color: #26747C; font-size: 20px; line-height: 1; }
.faqitem button[aria-expanded="true"]::after { content: "\2212"; }
.faqitem-body {
  padding: 0 20px 16px;
  font-size: 15px;
  display: none;
}
.faqitem-body.open { display: block; }

/* ---------------------------------------------------------------
   BROCHURE RACK FOOTER
   --------------------------------------------------------------- */
.brochurerack {
  background-color: #2E3B36;
  color: #DEF2FE;
  border-top: 8px solid #946048;
  margin-top: 20px;
}
.brochurerack-face {
  max-width: 1180px;
  margin: 0 auto;
  padding: 44px 24px 30px;
  display: grid;
  grid-template-columns: 1.05fr 1.1fr 1fr;
  gap: 40px;
  align-items: start;
  border-bottom: 3px solid #946048;
}
.brochurerack-card {
  background-color: #DEF2FE;
  color: #2E3B36;
  border: 2px solid #946048;
  border-radius: 3px;
  padding: 22px 22px 18px;
  box-shadow: 5px 5px 0 #946048;
}
.brochurerack-card strong {
  display: block;
  font-family: "Trebuchet MS", "Segoe UI", sans-serif;
  font-size: 15px;
  color: #6E4432;
  margin-bottom: 8px;
}
.brochurerack-card p {
  font-size: 14px;
  color: #2E3B36;
  margin: 0;
}

.brochurerack-col h2 {
  color: #DEF2FE;
  font-size: 13px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 14px;
  padding-bottom: 8px;
  border-bottom: 2px solid #946048;
}
.brochurerack-col h2 span { color: #B0683E; margin-right: 6px; }
.brochurerack-links {
  list-style: none;
  padding: 0;
  margin: 0;
  columns: 2;
  column-gap: 26px;
}
.brochurerack-links li { margin-bottom: 4px; break-inside: avoid; }
.brochurerack-links a {
  color: #DEF2FE;
  font-size: 15px;
  text-decoration: none;
  border-bottom: 1px solid #3F4F48;
  display: inline-block;
  padding: 3px 0;
}
.brochurerack-links a:hover { color: #FFFFFF; border-bottom-color: #DEF2FE; text-decoration: none; }

.brochurerack-copy p {
  color: #C7DDE8;
  font-size: 14px;
  margin-bottom: 10px;
}
.brochurerack-copy a { color: #DEF2FE; }

.brochurerack-strip {
  background-color: #24312D;
  color: #C7DDE8;
  border-top: 1px solid #3F4F48;
}
.brochurerack-strip-inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 14px 24px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  justify-content: space-between;
  align-items: baseline;
  font-size: 13px;
}
.brochurerack-strip-inner a { color: #DEF2FE; }
.brochurerack-peak {
  color: #B0683E;
  font-size: 14px;
  margin-right: 4px;
}

/* ---------------------------------------------------------------
   Scroll reveal — JS adds .js-on, defaults visible without JS
   --------------------------------------------------------------- */
.js-on .reveal {
  transform: none;
}
.js-on .reveal.rv-armed {
  transform: translateY(14px);
}
.js-on .reveal.rv-armed.rv-in {
  transform: none;
  transition: transform 480ms ease;
}

/* ---------------------------------------------------------------
   Responsive
   --------------------------------------------------------------- */
@media (max-width: 980px) {
  .rentaldesk-stage { grid-template-columns: 1fr 1fr; }
  .rentaldesk-side { grid-column: 1 / -1; flex-direction: row; }
  .rentaldesk-rack { flex: 1 1 60%; }
  .rentaldesk-wood { flex: 1 1 40%; }
  .deskprose-intro,
  .deskprose-two,
  .deskprose-cta { grid-template-columns: 1fr; gap: 20px; }
  .service-entry { grid-template-columns: 1fr; gap: 8px; }
  .processlist { grid-template-columns: 1fr; }
  .contactgrid { grid-template-columns: 1fr; }
  .brochurerack-face { grid-template-columns: 1fr 1fr; }
  .brochurerack-card { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .unitmap-inner { flex-direction: column; gap: 14px; }
  .unitmap-toggle { display: inline-block; margin: 0; }
  .unitmap-band { display: flex; align-items: center; justify-content: space-between; width: 100%; gap: 12px; flex-wrap: wrap; }
  .unitmap-board { display: none; flex-direction: column; }
  .unitmap-board.unitmap-open { display: flex; }
  .unitmap-tag { padding: 12px 10px; }
  .rentaldesk-title { font-size: 32px; }
  .rentaldesk-title .rentaldesk-display { font-size: 64px; }
  .rentaldesk-stage { grid-template-columns: 1fr; }
  .rentaldesk-side { flex-direction: column; }
  .stovewood-inner { grid-template-columns: 1fr; gap: 18px; }
  .stovewood-stack { width: 150px; }
  .keydrawer-cabinet { padding: 18px 14px 24px; }
  .keydrawer-item { margin-left: 0 !important; width: 100% !important; padding-left: 66px; }
  .brochurerack-face { grid-template-columns: 1fr; gap: 26px; }
  .brochurerack-links { columns: 1; }
  .innerlead h1 { font-size: 30px; }
}
