:root {
  --soft-sage: #e5f0e8;
  --soft-blue: #e8eff5;
  --soft-peach: #f8e5de;
  --soft-lilac: #eeeaf5;
  --sage-line: #bdd1c3;
  --blue-line: #c6d5e0;
}

body {
  background:
    radial-gradient(circle at 88% 6%, #f5d9ce 0, transparent 27rem),
    radial-gradient(circle at 8% 48%, #dfecef 0, transparent 33rem),
    #fffaf3;
}

.topbar {
  background: rgba(246, 250, 248, .94);
  border-bottom-color: #cbdcd3;
}

.decision-card {
  background: linear-gradient(155deg, #f1f7f3, #e8f1f6);
  border-color: var(--sage-line);
}

.decision-card li:nth-child(1) { background: var(--soft-sage); }
.decision-card li:nth-child(2) { background: var(--soft-blue); }
.decision-card li:nth-child(3) { background: var(--soft-peach); }
.decision-card li:nth-child(4) { background: var(--soft-lilac); }

.companion {
  background: linear-gradient(145deg, #fbfdfb, #eef5f2);
  border-color: var(--sage-line);
}

.companion fieldset {
  padding: 18px;
  border: 1px solid transparent;
  border-radius: 18px;
}

.companion fieldset:nth-of-type(1) {
  background: var(--soft-blue);
  border-color: var(--blue-line);
}

.companion fieldset:nth-of-type(2) {
  background: var(--soft-peach);
  border-color: #e7c8bd;
}

.companion fieldset:nth-of-type(3) {
  background: #f2f6ee;
  border-color: #cbd9bd;
}

.dietary-details {
  background: var(--soft-lilac);
  border-color: #d5cde1;
}

.results {
  background: linear-gradient(145deg, #f8f5fb, #edf4f5);
  border-color: #cbd8df;
}

.result-card:nth-child(4n+1) { background: #fffaf5; }
.result-card:nth-child(4n+2) { background: #f3f8f5; }
.result-card:nth-child(4n+3) { background: #f3f6fa; }
.result-card:nth-child(4n+4) { background: #faf4f7; }

.result-facts {
  background: #eef3f0;
}

footer {
  background: #e8f0f1;
  border-top-color: #c7d7da;
}

.hero .eyebrow,
.companion > .section-heading .eyebrow,
.results > .section-heading .eyebrow {
  display: inline-block;
  margin-bottom: 16px;
  padding: 8px 12px;
  border: 1px solid #d8b8aa;
  border-radius: 999px;
  background: #fff4ee;
  color: #8d3325;
  font-size: clamp(1rem, 1.8vw, 1.18rem);
  font-weight: 900;
  letter-spacing: .1em;
  line-height: 1.2;
}
