:root {
  --ivory: #fbf7f2;
  --paper: #fffdfb;
  --taupe: #cbb9aa;
  --brown: #816b61;
  --ink: #3e332e;
  --gold: #b58a57;
  --muted: #7b706a;
  --line: #e3d8cf;
}

body {
  background: var(--ivory);
  color: var(--ink);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 300;
}

b, strong { font-weight: 600; }

.nav {
  height: 86px;
  background: #fbf7f2f2;
  border-bottom-color: #92766618;
}

.logo span {
  background: #8a7165;
  color: #fff9f4;
  border: 1px solid #c9a879;
  font-weight: 400;
}

.logo .wordmark {
  width: auto;
  height: auto;
  display: inline;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #4e4039;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 21px;
  font-weight: 400;
  letter-spacing: -.025em;
}

.logo b {
  font-weight: 400;
  letter-spacing: .015em;
}

.nav nav a {
  font-weight: 400;
  letter-spacing: .035em;
}

.button {
  background: #765e54;
  font-weight: 500;
  letter-spacing: .07em;
  box-shadow: 0 10px 25px #5e443322;
  transition: transform .2s ease, background .2s ease;
}

.button:hover { background: #604b43; transform: translateY(-1px); }

.hero {
  background: radial-gradient(circle at 73% 25%, #eadfd5 0, transparent 30%), linear-gradient(135deg, #fbf7f2, #f7f0e9);
}

.eyebrow {
  color: #a07850;
  font-weight: 500;
  letter-spacing: .22em;
}

.hero h1,
.section h2,
.comparison h2,
.process h2 {
  color: #443732;
  font-weight: 400;
  letter-spacing: -.035em;
}

.hero h1 { font-size: clamp(52px, 6.4vw, 90px); line-height: .98; }
.hero h1 em { color: #a97f54; }
.lead { font-size: 17px; line-height: 1.8; }
.text-link { font-weight: 500; letter-spacing: .025em; }
.trust { color: #857870; }
.hero-art { background: #d8c7ba; box-shadow: 0 30px 75px #765d4b1c; }
.plinth { background: #78635a; }

.promise {
  background: #8b7368;
  color: #fff8f2;
  letter-spacing: .17em;
}

.intro h2,
.section-head h2,
.about h2,
.quote h2 { line-height: 1.02; }

.coverage { background: #f3ebe4; }

.policy {
  border-color: #e5d9cf;
  box-shadow: 0 15px 40px #7358460d;
}

.policy.featured {
  background: #8a7166;
  color: #fffaf6;
  transform: none;
}

.policy h3 { font-weight: 400; }
.policy ul { line-height: 1.75; color: inherit; }
.learn { font-weight: 500; letter-spacing: .035em; }

.comparison {
  background: linear-gradient(145deg, #8a7369, #6f5b53);
}

.comparison h2 { color: #fffaf6; }
.compare-card { box-shadow: 0 28px 70px #44312824; }
.button.light { background: #f2e5d8; color: #55433b; }

.service-row article {
  background: #fffdfb;
  box-shadow: 0 13px 35px #6d51400b;
}

.service-row h3,
.compare-card h3,
.process h3 { font-weight: 400; }

.about { background: #fffaf6; }
.about blockquote { color: #806657; font-weight: 400; }
.credentials span { font-weight: 500; background: #fffdfb; }

.process { background: linear-gradient(135deg, #e6d8cc, #d8c5b6); }
.process li b { color: #a2764b; font-weight: 400; }

.quote-form {
  background: #fffdfb;
  box-shadow: 0 22px 60px #765b4810;
}

.quote-form label { font-weight: 500; letter-spacing: .015em; }
.quote-form input,
.quote-form select,
.quote-form textarea { border-color: #ddcfc5; background: #fffefa; }

footer { background: #665249; }
footer .logo .wordmark { color: #fff8f2; background: transparent; }

dialog { background: #fffaf6; }
dialog h2 { font-weight: 400; }

@media (max-width: 600px) {
  .hero h1 { font-size: 49px; }
  .nav .button.small { padding: 11px 14px; letter-spacing: .025em; }
}
