:root {
  --ink: #343632;
  --paper: #f5f3ef;
  --wood: #d0b18b;
  --line: #dcd7ce;
  --muted: #74756f;
}
.topbar {
  height: 132px;
  background: rgba(52, 54, 50, .96);
  border-bottom: 1px solid rgba(224, 208, 186, .22);
}
.brand { flex-shrink: 0; }
.brand-image {
  display: block;
  position: relative;
  width: 166px;
  height: 108px;
  overflow: hidden;
  border-radius: 4px;
  background: #91908b;
}
.brand-image img {
  position: absolute;
  width: 220px;
  height: 165px;
  max-width: none;
  left: -27px;
  top: -23px;
  object-fit: cover;
}
.topbar nav { gap: 24px; }
.hero-content { padding-top: 110px; }
.hero-shade {
  background: linear-gradient(90deg, rgba(36, 38, 34, .9), rgba(36, 38, 34, .6) 42%, rgba(36, 38, 34, .1) 78%);
}
.eyebrow { color: #e5c9a7; }
.eyebrow.dark, .process li > span { color: #805d3c; }
.primary { color: #292c27; }
.primary:hover { background: #e2c7a5; }
.story { background: #eae6df; }
.story-number { color: #95734f; }
.story-signature { border-color: #d0c8bc; }
.story-signature strong { color: #79593c; }
.difference, .features article { background: #383b36; }
.features { background: #60635b; }
.features p { color: #d2d1c9; }
.cta { background: #646a60; }
.cta .eyebrow, .cta small { color: #f0e1cd; }
footer { background: #30332e; color: #d1d1c8; }
.location-map { background: #e3dfd7; }
.nav-cta { background: rgba(208, 177, 139, .08); }
.button { border-radius: 3px; }
.button:focus-visible, .brand:focus-visible, .menu:focus-visible {
  outline: 3px solid #e5c9a7;
  outline-offset: 5px;
}
@media (max-width: 1180px) {
  .topbar nav { top: 132px; background: #383b36; }
}
@media (max-width: 780px) {
  .topbar { height: 110px; }
  .topbar nav { top: 110px; }
  .topbar .brand-image { width: 137px; height: 89px; }
  .topbar .brand-image img { width: 182px; height: 136px; left: -22px; top: -19px; }
  .hero-content { padding-top: 110px; }
}

/* Transparent typography-only brand lockup. */
.brand-image, .topbar .brand-image {
  width: 210px;
  height: 72px;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}
.brand-image img, .topbar .brand-image img {
  position: static;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: url(#wordmark-clean);
}
.topbar { height: 104px; }
@media (max-width: 1180px) { .topbar nav { top: 104px; } }
@media (max-width: 780px) {
  .topbar { height: 88px; }
  .topbar nav { top: 88px; }
  .topbar .brand-image { width: 178px; height: 60px; }
  .hero-content { padding-top: 88px; }
}
