.bp-page {
  --bp-ink:#424242;
  --bp-muted:#6f6f6f;
  --bp-gold:#bea885;
  --bp-gold-dark:#8b642d;
  --bp-cream:#f6f2eb;
  --bp-soft:#f3f3f1;
  --bp-line:#ded8cf;
  --bp-dark:#27292b;
  color: var(--bp-ink);
  background: #fff;
}
.bp-wrap {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
}
.bp-section {
  padding: 76px 0;
}
.bp-section--soft {
  background: var(--bp-soft);
}
.bp-section--cream {
  background: var(--bp-cream);
}
.bp-section--dark {
  background: var(--bp-dark);
  color: #fff;
}
.bp-eyebrow {
  margin: 0 0 12px;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 12px;
  font-weight: 800;
  color: var(--bp-gold-dark);
}
.bp-section--dark .bp-eyebrow {
  color: #e2d5c1;
}
.bp-h2 {
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.08;
  margin: 0 0 22px;
  max-width: 900px;
  color: inherit;
}
.bp-copy {
  max-width: 790px;
  font-size: 18px;
  line-height: 1.72;
}
.bp-copy p {
  margin: 0 0 17px;
}
.bp-copy a,
.bp-card a,
.bp-faq a,
.bp-project a {
  color: #754f1e;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.bp-section--dark .bp-copy a {
  color: #f1dfc6;
}
.bp-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.03fr) minmax(0, .97fr);
  min-height: 640px;
  background: var(--bp-cream);
}
.bp-hero__copy {
  display: flex;
  align-items: center;
  padding: 70px max(40px, calc((100vw - 1180px)/2)) 70px max(40px, calc((100vw - 1180px)/2));
  padding-right: 56px;
}
.bp-hero__inner {
  max-width: 650px;
}
.bp-hero h1 {
  font-size: clamp(42px, 5.6vw, 72px);
  line-height: .99;
  margin: 0 0 24px;
  color: #343434;
  letter-spacing: -.035em;
}
.bp-hero__lead {
  font-size: 21px;
  line-height: 1.56;
  margin: 0 0 28px;
  max-width: 650px;
}
.bp-hero__media {
  min-height: 500px;
  position: relative;
  overflow: hidden;
}
.bp-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.bp-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 28px;
}
.bp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 20px;
  border-radius: 3px;
  font-weight: 800;
  text-decoration: none !important;
}
.bp-btn--gold {
  background: var(--bp-gold);
  color: #292929 !important;
}
.bp-btn--dark {
  background: var(--bp-dark);
  color: #fff !important;
}
.bp-btn--line {
  border: 1px solid #8c8376;
  color: #3b3b3b !important;
  background: transparent;
}
.bp-section--dark .bp-btn--line {
  border-color: #cbbda8;
  color: #fff !important;
}
.bp-facts {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--bp-line);
  border-top: 1px solid var(--bp-line);
  border-bottom: 1px solid var(--bp-line);
}
.bp-fact {
  background: #fff;
  padding: 27px 26px;
}
.bp-fact strong {
  display: block;
  font-size: 19px;
  margin-bottom: 7px;
}
.bp-fact span {
  display: block;
  color: var(--bp-muted);
  line-height: 1.45;
}
.bp-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 64px;
  align-items: center;
}
.bp-media {
  margin: 0;
  overflow: hidden;
  background: #eee;
}
.bp-media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16/10;
  object-fit: cover;
}
.bp-media--portrait img {
  aspect-ratio: 4/5;
}
.bp-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 34px;
}
.bp-grid--4 {
  grid-template-columns: repeat(4, 1fr);
}
.bp-card {
  border: 1px solid var(--bp-line);
  background: #fff;
  padding: 26px;
  min-height: 100%;
}
.bp-card h3 {
  margin: 0 0 11px;
  font-size: 20px;
  line-height: 1.25;
}
.bp-card p {
  margin: 0;
  color: #5d5d5d;
  line-height: 1.58;
}
.bp-section--dark .bp-card {
  background: #323537;
  border-color: #4a4d4f;
}
.bp-section--dark .bp-card p {
  color: #e2e2e2;
}
.bp-products {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  margin-top: 32px;
  max-width: 1000px;
}
.bp-product {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  padding: 18px 20px;
  background: #fff;
  border: 1px solid var(--bp-line);
  text-decoration: none !important;
  color: #3b3b3b !important;
}
.bp-product strong {
  font-size: 17px;
}
.bp-product small {
  color: #6c6c6c;
}
.bp-product span:last-child {
  font-size: 22px;
  color: var(--bp-gold-dark);
}
.bp-note {
  margin-top: 28px;
  padding: 20px 22px;
  border-left: 4px solid var(--bp-gold);
  background: #fff;
  color: #2f2f2f;
}
.bp-note span,
.bp-note strong {
  color: #2f2f2f;
}
.bp-note strong {
  display: block;
  margin-bottom: 5px;
}
.bp-project {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 55px;
  align-items: center;
}
.bp-project__copy {
  font-size: 18px;
  line-height: 1.7;
}
.bp-project__copy p {
  margin: 0 0 17px;
}
.bp-checks {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-top: 24px;
}
.bp-check {
  padding: 15px 16px;
  background: #fff;
  border: 1px solid var(--bp-line);
  font-weight: 700;
}
.bp-section--dark .bp-check {
  background: #333638;
  border-color: #4a4d4f;
}
.bp-process {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-top: 34px;
}
.bp-step {
  padding: 24px;
  background: #fff;
  border: 1px solid var(--bp-line);
}
.bp-step b {
  display: inline-flex;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  background: var(--bp-gold);
  color: #292929;
  margin-bottom: 14px;
}
.bp-step h3 {
  font-size: 18px;
  margin: 0 0 8px;
}
.bp-step p {
  margin: 0;
  line-height: 1.52;
  color: #5e5e5e;
}
.bp-faq {
  display: grid;
  grid-template-columns: .7fr 1.3fr;
  gap: 54px;
}
.bp-faq details {
  border-top: 1px solid var(--bp-line);
  padding: 18px 0;
}
.bp-faq details:last-child {
  border-bottom: 1px solid var(--bp-line);
}
.bp-faq summary {
  cursor: pointer;
  font-weight: 800;
  font-size: 18px;
}
.bp-faq details p {
  line-height: 1.62;
  margin: 12px 0 0;
}
.bp-final {
  padding: 70px 0;
  background: var(--bp-dark);
  color: #fff;
}
.bp-final__grid {
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  gap: 50px;
  align-items: center;
}
.bp-final h2 {
  font-size: clamp(34px, 4vw, 52px);
  line-height: 1.05;
  margin: 0 0 18px;
}
.bp-final p {
  font-size: 18px;
  line-height: 1.6;
  max-width: 750px;
  margin: 0;
}
.bp-sidebox {
  border: 1px solid #5a5d60;
  padding: 24px;
}
.bp-sidebox strong {
  display: block;
  margin-bottom: 10px;
}
.bp-sidebox ul {
  margin: 0;
  padding-left: 20px;
  line-height: 1.65;
}
.bp-pillrow {
  display: flex;
  gap: 9px;
  flex-wrap: wrap;
  margin-top: 24px;
}
.bp-pillrow a {
  border: 1px solid #b8aa97;
  padding: 9px 13px;
  border-radius: 999px;
  color: #5d421f !important;
  text-decoration: none !important;
  font-weight: 750;
  background: #fff;
}
.bp-quote {
  font-size: 25px;
  line-height: 1.45;
  margin: 0;
  max-width: 850px;
}
.bp-quote small {
  display: block;
  font-size: 14px;
  margin-top: 14px;
  color: #cfcfcf;
}
.bp-two-images {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-top: 34px;
}
.bp-two-images img {
  width: 100%;
  height: 100%;
  aspect-ratio: 16/10;
  object-fit: cover;
  display: block;
}
.bp-wavebox {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  margin-top: 30px;
}
.bp-wavebox article {
  background: #fff;
  border: 1px solid var(--bp-line);
  padding: 25px;
}
.bp-wavebox h3 {
  margin: 0 0 8px;
  font-size: 22px;
}
.bp-wavebox p {
  margin: 0;
  line-height: 1.58;
}
.bp-kickerline {
  border-top: 1px solid var(--bp-line);
  margin-top: 30px;
  padding-top: 20px;
  font-size: 16px;
  line-height: 1.65;
}
.bp-page main img {
  background: #eee;
}
@media (max-width: 980px) {
  .bp-hero {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .bp-hero__copy {
    padding: 58px 34px;
  }
  .bp-hero__media {
    min-height: 420px;
  }
  .bp-facts {
    grid-template-columns: repeat(2, 1fr);
  }
  .bp-split,
  .bp-project,
  .bp-faq,
  .bp-final__grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }
  .bp-grid--4 {
    grid-template-columns: repeat(2, 1fr);
  }
  .bp-process {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 680px) {
  .bp-wrap {
    width: min(100% - 28px, 1180px);
  }
  .bp-section {
    padding: 54px 0;
  }
  .bp-hero__copy {
    padding: 48px 22px;
  }
  .bp-hero__media {
    min-height: 330px;
  }
  .bp-hero__lead {
    font-size: 18px;
  }
  .bp-facts,
  .bp-grid,
  .bp-grid--4,
  .bp-products,
  .bp-checks,
  .bp-process,
  .bp-wavebox,
  .bp-two-images {
    grid-template-columns: 1fr;
  }
  .bp-fact {
    padding: 21px;
  }
  .bp-h2 {
    font-size: 31px;
  }
  .bp-copy {
    font-size: 17px;
  }
  .bp-product {
    align-items: flex-start;
  }
  .bp-final {
    padding: 54px 0;
  }
}
.gs-feature {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 30px;
}
.gs-feature article {
  border: 1px solid var(--bp-line);
  background: #fff;
  padding: 24px;
}
.gs-feature h3 {
  margin: 0 0 9px;
  font-size: 20px;
}
.gs-feature p {
  margin: 0;
  line-height: 1.6;
  color: #5d5d5d;
}
.bp-section--dark .gs-feature article {
  background: #323537;
  border-color: #4a4d4f;
}
.bp-section--dark .gs-feature p {
  color: #e2e2e2;
}
.gs-gallery {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 18px;
  margin-top: 34px;
}
.gs-gallery figure {
  margin: 0;
  overflow: hidden;
  background: #eee;
}
.gs-gallery img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 16/10;
  object-fit: cover;
}
.gs-gallery figcaption {
  padding: 12px 14px;
  background: #fff;
  border: 1px solid var(--bp-line);
  border-top: 0;
  line-height: 1.45;
}
.gs-gallery figcaption strong {
  display: block;
  margin-bottom: 2px;
}
.gs-list {
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}
.gs-list li {
  padding: 13px 15px;
  border-left: 3px solid var(--bp-gold);
  background: #fff;
  line-height: 1.5;
}
.gs-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 28px;
  background: #fff;
}
.gs-table th,
.gs-table td {
  padding: 15px 16px;
  border: 1px solid var(--bp-line);
  text-align: left;
  vertical-align: top;
  line-height: 1.5;
}
.gs-table th {
  background: #f4efe8;
}
.gs-products {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 30px;
}
.gs-products a {
  display: flex;
  flex-direction: column;
  padding: 20px;
  border: 1px solid var(--bp-line);
  background: #fff;
  text-decoration: none !important;
  color: #3b3b3b !important;
}
.gs-products small {
  color: var(--bp-gold-dark);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.gs-products strong {
  font-size: 20px;
  margin: 8px 0;
}
.gs-products span {
  line-height: 1.5;
  color: #5d5d5d;
}
.gs-products b {
  margin-top: auto;
  padding-top: 14px;
  color: #754f1e;
}
.gs-callout {
  margin-top: 30px;
  padding: 24px 26px;
  background: #fff;
  border: 1px solid var(--bp-line);
  border-left: 5px solid var(--bp-gold);
}
.gs-callout h3 {
  margin: 0 0 9px;
}
.gs-callout p {
  margin: 0;
  line-height: 1.65;
}
.bp-section--dark .gs-callout {
  background: #323537;
  border-color: #4a4d4f;
}
.bp-section--dark .gs-callout p {
  color: #e7e7e7;
}
@media (max-width: 980px) {
  .gs-feature {
    grid-template-columns: 1fr 1fr;
  }
  .gs-products {
    grid-template-columns: 1fr 1fr;
  }
  .gs-gallery {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 680px) {
  .gs-feature,
  .gs-products {
    grid-template-columns: 1fr;
  }
  .gs-table {
    font-size: 14px;
  }
  .gs-table th,
  .gs-table td {
    padding: 12px;
  }
}
.gs-room-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 34px;
}
.gs-room-card {
  margin: 0;
  background: #fff;
  border: 1px solid var(--bp-line);
  overflow: hidden;
}
.gs-room-card img {
  width: 100%;
  display: block;
  aspect-ratio: 4/3;
  object-fit: cover;
}
.gs-room-card figcaption {
  padding: 18px;
}
.gs-room-card strong {
  display: block;
  font-family:
    Georgia,
    "Times New Roman",
    serif;
  font-size: 22px;
  line-height: 1.15;
  margin-bottom: 7px;
  color: #3b3b3b;
}
.gs-room-card span {
  display: block;
  color: #5d5d5d;
  font-size: 14px;
  line-height: 1.55;
}
.bp-section--dark .gs-room-card {
  background: #323537;
  border-color: #4a4d4f;
}
.bp-section--dark .gs-room-card strong {
  color: #fff;
}
.bp-section--dark .gs-room-card span {
  color: #e2e2e2;
}
@media (max-width: 980px) {
  .gs-room-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 680px) {
  .gs-room-grid {
    grid-template-columns: 1fr;
  }
}
.bp-final .bp-btn--line {
  border-color: #cbbda8;
  color: #fff !important;
  background: transparent;
}
