:root {
  --slate: #2b3036;
  --mortar: #e6ddd0;
  --brick: #9a4a2c;
  --sand: #c4b49a;
  --paper: #f4efe6;
}
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: "Franklin Gothic Medium", "Arial Narrow", Arial, sans-serif;
  background: var(--paper);
  color: #22262b;
  line-height: 1.55;
}
a { color: var(--brick); }
.course {
  height: 10px;
  background: repeating-linear-gradient(
    90deg,
    #8a3f25 0 42px,
    #d9cfc0 42px 48px
  );
}
.sill {
  background: var(--slate);
  color: var(--mortar);
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 5vw;
}
.sill img { width: 58px; height: 58px; }
.sill h1 { margin: 0; font-size: 26px; letter-spacing: .06em; }
.sill h1 a { color: var(--mortar); text-decoration: none; }
.sill p { margin: 4px 0 0; color: #c98562; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; }
.bond {
  display: flex;
  flex-wrap: wrap;
  background: #21262c;
}
.bond a {
  color: #eadfce;
  text-decoration: none;
  padding: 11px 16px;
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.bond a:hover, .bond a.laid { background: var(--brick); color: #fff; }
.yard { width: min(1020px, 92vw); margin: 26px auto 60px; }
.hearth {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 0;
  border: 1px solid #d2c6b4;
}
.hearth .copy { padding: 28px 26px; background: #fffdf8; }
.hearth h2 { margin: 0 0 12px; font-size: clamp(26px, 4vw, 38px); letter-spacing: .02em; }
.hearth img { width: 100%; height: 100%; object-fit: cover; }
.stack {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 16px;
}
.stack a {
  background: #fffdf8;
  border: 1px solid #d2c6b4;
  padding: 16px;
  text-decoration: none;
  color: inherit;
  border-left: 6px solid var(--brick);
}
.stack h3 { margin: 0 0 6px; }
.bed {
  background: #fffdf8;
  border: 1px solid #d2c6b4;
  padding: 26px 28px;
}
.quote {
  display: inline-block;
  background: var(--slate);
  color: var(--mortar);
  text-decoration: none;
  padding: 9px 14px;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 13px;
}
.coping {
  background: var(--slate);
  color: #c9c0b4;
  padding: 22px 5vw 32px;
  font-size: 13px;
}
.coping a { color: var(--sand); margin-right: 12px; }
@media (max-width: 760px) {
  .hearth, .stack { grid-template-columns: 1fr; }
}
