.fp-scorehub {
  --sh-ink: #082918;
  --sh-green: #315f3f;
  --sh-soft: #eef4ec;
  --sh-line: #d7dfd7;
  margin: 0 0 22px;
  overflow: hidden;
  color: var(--sh-ink);
  background: #fff;
  border: 1px solid #cdd8ce;
  border-radius: 18px;
  box-shadow: 0 18px 45px rgba(8, 41, 24, .08);
  font-family: inherit;
}

.fp-scorehub * { box-sizing: border-box; }
.fp-scorehub button, .fp-scorehub input { font: inherit; }

.fp-scorehub__head {
  padding: 22px 22px 18px;
  color: #fff;
  background: var(--sh-ink);
}

.fp-scorehub--article .fp-scorehub__head {
  position: relative;
  overflow: hidden;
  color: var(--sh-ink);
  background: #f2ca52;
}

.fp-scorehub--article .fp-scorehub__head::after {
  position: absolute;
  width: 150px;
  height: 150px;
  right: -70px;
  top: -78px;
  content: '';
  border-radius: 50%;
  background: rgba(255, 255, 255, .24);
}

.fp-scorehub--article .fp-scorehub__head > * { position: relative; z-index: 1; }
.fp-scorehub--article .fp-scorehub__time {
  padding: 6px 9px;
  color: #fff;
  background: var(--sh-ink);
  border-radius: 999px;
}
.fp-scorehub--article .fp-scorehub__index { color: #456144; }
.fp-scorehub--article .fp-scorehub__head h2 { color: var(--sh-ink); }
.fp-scorehub--article .fp-scorehub__head p:last-child { color: #394b3c; }

.fp-scorehub__brand {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 23px;
  font-size: 14px;
  font-weight: 850;
  letter-spacing: -.02em;
}

.fp-scorehub__time {
  color: #ccebc7;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.fp-scorehub__index {
  margin: 0 0 8px;
  color: #b8d6bb;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.fp-scorehub__head h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(27px, 3vw, 36px);
  line-height: 1.02;
  letter-spacing: -.045em;
}

.fp-scorehub__head p:last-child {
  margin: 11px 0 0;
  color: #c6d8cd;
  font-size: 13px;
  line-height: 1.5;
}

.fp-scorehub__body { padding: 20px 22px 22px; }

.fp-scorehub__progress-row {
  display: flex;
  justify-content: space-between;
  margin-bottom: 8px;
  color: #69756d;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.fp-scorehub__progress {
  height: 4px;
  margin-bottom: 20px;
  overflow: hidden;
  border-radius: 999px;
  background: #e5ebe4;
}

.fp-scorehub__progress span {
  display: block;
  height: 100%;
  width: 20%;
  border-radius: inherit;
  background: var(--sh-green);
  transition: width .2s ease;
}

.fp-scorehub__question {
  margin: 0 0 14px;
  color: var(--sh-ink);
  font-size: 19px;
  line-height: 1.2;
  letter-spacing: -.025em;
}

.fp-scorehub__options { display: grid; gap: 8px; }

.fp-scorehub__option {
  width: 100%;
  padding: 12px 13px;
  color: #163624;
  text-align: left;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.25;
  background: #fff;
  border: 1px solid var(--sh-line);
  border-radius: 10px;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease, transform .15s ease;
}

.fp-scorehub__option:hover,
.fp-scorehub__option:focus-visible {
  outline: none;
  border-color: #628069;
  background: var(--sh-soft);
  transform: translateY(-1px);
}

.fp-scorehub__back {
  margin-top: 14px;
  padding: 0;
  color: #5f6c64;
  font-size: 12px;
  font-weight: 750;
  background: transparent;
  border: 0;
  cursor: pointer;
}

.fp-scorehub__form { display: grid; gap: 10px; }
.fp-scorehub__form h3, .fp-scorehub__result h3 { margin: 0 0 2px; font-size: 22px; line-height: 1.12; }
.fp-scorehub__form > p, .fp-scorehub__result > p { margin: 0 0 7px; color: #5d6961; font-size: 13px; line-height: 1.45; }
.fp-scorehub__result > .fp-scorehub__result-intro { margin: 13px 0 5px; color: #526057; font-size: 10px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }

.fp-scorehub__field span {
  display: block;
  margin-bottom: 5px;
  color: #526058;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.fp-scorehub__field input {
  width: 100%;
  min-height: 42px;
  padding: 10px 11px;
  color: var(--sh-ink);
  background: #fff;
  border: 1px solid var(--sh-line);
  border-radius: 8px;
}

.fp-scorehub__field input:focus { outline: 2px solid #b9d3b8; border-color: #52705a; }

.fp-scorehub__consent {
  display: grid;
  grid-template-columns: 16px 1fr;
  gap: 8px;
  align-items: start;
  color: #5a675f;
  font-size: 10px;
  line-height: 1.4;
}

.fp-scorehub__consent input { margin: 2px 0 0; accent-color: var(--sh-green); }

.fp-scorehub__submit,
.fp-scorehub__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 12px 16px;
  color: #fff;
  text-decoration: none;
  font-size: 13px;
  font-weight: 850;
  background: var(--sh-ink);
  border: 1px solid var(--sh-ink);
  border-radius: 9px;
  cursor: pointer;
}

.fp-scorehub__submit[disabled] { opacity: .65; cursor: wait; }
.fp-scorehub__error { min-height: 16px; margin: 0; color: #a12c2c; font-size: 11px; line-height: 1.4; }

.fp-scorehub__score-wrap {
  display: grid;
  justify-items: center;
  gap: 8px;
  margin-bottom: 14px;
}

.fp-scorehub__score-ring {
  --score: 0;
  position: relative;
  display: grid;
  width: 104px;
  height: 104px;
  place-items: center;
  border-radius: 50%;
  background: conic-gradient(var(--sh-green) calc(var(--score) * 1%), #e3e9e3 0);
}

.fp-scorehub__score-ring::before {
  position: absolute;
  inset: 9px;
  content: '';
  border-radius: inherit;
  background: #fff;
}

.fp-scorehub__score {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: baseline;
  gap: 3px;
  color: var(--sh-green);
  font-size: 32px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -.05em;
}

.fp-scorehub__score small { font-size: 13px; letter-spacing: 0; }
.fp-scorehub__score-label { color: #68746c; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.fp-scorehub__pain { margin-top: 12px; padding: 12px; background: #fff7da; border: 1px solid #ead98f; border-radius: 10px; }
.fp-scorehub__pain-label { display: block; margin-bottom: 7px; color: #755d08; font-size: 9px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.fp-scorehub__pain strong { display: block; font-size: 12px; line-height: 1.4; }
.fp-scorehub__pain p { margin: 0; color: #526158; font-size: 11px; line-height: 1.5; }
.fp-scorehub__pain b { color: var(--sh-ink); }
.fp-scorehub__match, .fp-scorehub__deliverables { margin-top: 13px; }
.fp-scorehub__match > strong, .fp-scorehub__deliverables > strong { display: block; margin-bottom: 8px; font-size: 12px; }
.fp-scorehub__match-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.fp-scorehub__match-grid > span { padding: 9px; color: #244330; font-size: 10px; font-weight: 750; line-height: 1.35; background: var(--sh-soft); border-radius: 8px; }
.fp-scorehub__match-grid small { display: block; margin-bottom: 3px; color: #718077; font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.fp-scorehub__deliverables ul { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.fp-scorehub__deliverables li { display: grid; grid-template-columns: 18px 1fr; gap: 7px; align-items: start; color: #46564c; font-size: 11px; line-height: 1.4; }
.fp-scorehub__deliverables li span { display: grid; width: 17px; height: 17px; place-items: center; color: #fff; font-size: 10px; font-weight: 900; background: var(--sh-green); border-radius: 50%; }
.fp-scorehub__result-actions { display: grid; gap: 8px; margin-top: 14px; }
.fp-scorehub__link { color: var(--sh-ink); text-align: center; font-size: 11px; font-weight: 800; }
.fp-scorehub__privacy { margin: 14px 0 0; color: #78827c; font-size: 10px; line-height: 1.4; }

@media (max-width: 900px) {
  .fp-scorehub { max-width: 620px; margin: 0 auto 24px; }
}

@media (prefers-reduced-motion: reduce) {
  .fp-scorehub__option, .fp-scorehub__progress span { transition: none; }
}

.fp-scorehub__category-scores { display:grid; gap:8px; margin:18px 0; }
.fp-scorehub__category-scores > div { display:grid; grid-template-columns:1fr auto; gap:4px 10px; padding:12px; background:var(--sh-soft); border-radius:9px; font-size:12px; }
.fp-scorehub__category-scores small { grid-column:1/-1; color:#5d6961; }
.fp-scorehub__deliverables ol { padding-left:20px; color:#46564c; font-size:13px; line-height:1.6; }
.fp-scorehub__deliverables ol li { display:list-item; margin-bottom:8px; }
.fp-scorehub__option[aria-pressed="true"] { border-color:#315f3f; background:#eef4ec; }
.fp-scorehub h3:focus { outline:none; }
.fp-scorehub--home { margin:0; max-width:none; }
.fp-scorehub--home .fp-scorehub__head h2 { font-size:clamp(30px,3vw,42px); }
.fp-scorehub__cta:focus-visible, .fp-scorehub__link:focus-visible, .fp-scorehub__back:focus-visible { outline:3px solid #628069; outline-offset:3px; }
@media(max-width:480px) { .fp-scorehub__body, .fp-scorehub__head { padding:20px 16px; } .fp-scorehub__brand { flex-wrap:wrap; } }
.fp-scorehub__welcome h3 { margin:0 0 12px; font-size:23px; line-height:1.2; letter-spacing:-.025em; }
.fp-scorehub__welcome > p { color:#526158; font-size:14px; line-height:1.65; }
.fp-scorehub__welcome-facts { margin:18px 0; padding:13px; border-radius:9px; background:var(--sh-soft); font-size:12px !important; font-weight:750; }
.fp-scorehub__welcome .fp-scorehub__cta { width:100%; }
.fp-scorehub__welcome > .fp-scorehub__privacy { font-size:11px; }
/* Clear question hierarchy and familiar single-choice indicators. */
.fp-scorehub__progress-row{align-items:center;gap:12px}
.fp-scorehub__progress-row>span:first-child{display:inline-block;padding:6px 9px;border-radius:5px;background:#edf2e9;color:#284e32;font-size:11px;font-weight:800;letter-spacing:.06em}
.fp-scorehub__option{position:relative;padding-right:47px}
.fp-scorehub__option::after{content:"";position:absolute;right:15px;top:50%;width:18px;height:18px;box-sizing:border-box;border:1.5px solid #a9b8a6;border-radius:50%;transform:translateY(-50%);background:transparent;pointer-events:none}
.fp-scorehub__option:hover::after,.fp-scorehub__option:focus-visible::after{border-color:#315f3f}
.fp-scorehub__option[aria-pressed="true"]::after{border:5px solid #315f3f;background:#fff}

.fp-scorehub__head--welcome{padding-bottom:24px}.fp-scorehub__head--welcome .fp-scorehub__index{margin-bottom:16px}.fp-scorehub__head--welcome h2{max-width:330px}.fp-scorehub__welcome>.fp-scorehub__privacy{margin:14px 0 0;font-size:11px;line-height:1.5;text-align:center}
/* Results advance inside the same card instead of one long report. */
.fp-scorehub--result>.fp-scorehub__head{display:none}.fp-scorehub__result--compact h3{font-size:24px;line-height:1.2;margin:12px 0}.fp-scorehub__result-step{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#65755e;font-weight:750;margin:0 0 16px}.fp-scorehub__score{font-size:34px;font-weight:800;color:#123d26;margin:12px 0}.fp-scorehub__result--compact .fp-scorehub__category-scores{gap:7px;margin:15px 0}.fp-scorehub__result--compact .fp-scorehub__category-scores>div{padding:10px;display:flex;align-items:center;justify-content:space-between;gap:12px}.fp-scorehub__compact-steps{padding-left:20px;margin:18px 0}.fp-scorehub__compact-steps li{padding-left:3px;margin:0 0 13px;font-size:13px;line-height:1.5}.fp-scorehub__result-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px}.fp-scorehub__result-nav .fp-scorehub__back{margin:0}.fp-scorehub__result-nav .fp-scorehub__cta{width:auto;font-size:12px;padding:12px 18px}.fp-scorehub__result--compact .fp-scorehub__result-actions{margin-top:22px}.fp-scorehub__result--compact>p:not([class]){font-size:14px;line-height:1.6}

/* Sidebar visitors answer the first question immediately, then continue. */
.fp-scorehub__entry-step{font-size:10px;font-weight:750;letter-spacing:.05em;color:#62745e;margin:0 0 13px}.fp-scorehub__entry-continue{width:100%;margin-top:17px}.fp-scorehub__entry-continue:disabled{opacity:.55;cursor:not-allowed}.fp-scorehub--answering>.fp-scorehub__head{display:none}.fp-scorehub__head--welcome h2{font-size:clamp(25px,2.5vw,32px);line-height:1.1}.fp-scorehub__entry-continue+.fp-scorehub__privacy{margin:12px 0 0;text-align:center}
