.hlc {
	--hlc-ink: #20272d;
	--hlc-navy: #172a3a;
	--hlc-green: #315c4c;
	--hlc-gold: #b28a3e;
	--hlc-paper: #faf7ef;
	--hlc-soft: #eef1ec;
	--hlc-line: #d8d2c4;
	color: var(--hlc-ink);
	font-size: 1rem;
	line-height: 1.7;
}

.hlc * { box-sizing: border-box; }
.hlc h2, .hlc h3, .hlc h4 { color: var(--hlc-navy); line-height: 1.35; }
.hlc-assessment { max-width: 900px; margin: 0 auto; }
.hlc-assessment__intro { margin-bottom: 1.25rem; }
.hlc-eyebrow { margin: 0 0 .4rem; color: var(--hlc-green); font-size: .82rem; font-weight: 700; letter-spacing: .08em; }
.hlc-assessment__intro h2 { margin: 0 0 .7rem; }
.hlc-assessment__notice { padding: 1rem 1.15rem; border-left: 4px solid var(--hlc-gold); border-radius: .35rem; background: var(--hlc-paper); font-size: .94rem; }
.hlc-assessment__instructions { margin: 1.5rem 0; }
.hlc-dimension { margin: 0 0 1.25rem; padding: 1.25rem; border: 1px solid var(--hlc-line); border-radius: .7rem; background: #fff; }
.hlc-dimension__title { margin: 0 0 .35rem; }
.hlc-dimension__description { margin: 0 0 1rem; color: #4c575e; }
.hlc-question { min-width: 0; margin: 1rem 0 0; padding: 0; border: 0; }
.hlc-question__text { margin-bottom: .55rem; padding: 0; font-weight: 600; }
.hlc-question__choices { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5rem; }
.hlc-choice { display: flex; align-items: flex-start; gap: .45rem; min-height: 2.8rem; padding: .65rem .7rem; border: 1px solid var(--hlc-line); border-radius: .45rem; background: #fff; cursor: pointer; font-size: .92rem; }
.hlc-choice:focus-within { outline: 2px solid var(--hlc-green); outline-offset: 2px; }
.hlc-choice input { flex: 0 0 auto; margin: .28rem 0 0; accent-color: var(--hlc-green); }
.hlc-assessment__error { color: #a12424; font-weight: 700; }
.hlc-button { display: inline-flex; align-items: center; justify-content: center; min-height: 2.9rem; margin-top: .75rem; padding: .75rem 1.25rem; border: 0; border-radius: .45rem; background: var(--hlc-navy); color: #fff; font: inherit; font-weight: 700; cursor: pointer; text-decoration: none; }
.hlc-button:hover, .hlc-button:focus { background: var(--hlc-green); color: #fff; }
.hlc-button:disabled { opacity: .58; cursor: not-allowed; }
.hlc-button--secondary { border: 1px solid var(--hlc-green); background: #fff; color: var(--hlc-green); }
.hlc-button--secondary:hover, .hlc-button--secondary:focus { background: var(--hlc-soft); color: var(--hlc-navy); }
.hlc-results { margin-top: 2rem; padding: clamp(1rem, 3vw, 1.7rem); border: 1px solid var(--hlc-line); border-radius: .8rem; background: var(--hlc-paper); scroll-margin-top: 2rem; }
.hlc-results__title { margin-top: 0; }
.hlc-results__summary { padding: .85rem 1rem; border-radius: .4rem; background: #fff; font-weight: 700; }
.hlc-results__note { color: #4c575e; font-size: .92rem; }
.hlc-results__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.hlc-result-card { padding: 1rem; border: 1px solid var(--hlc-line); border-radius: .6rem; background: #fff; }
.hlc-result-card__header { display: flex; align-items: baseline; justify-content: space-between; gap: .75rem; }
.hlc-result-card__title { margin: 0; }
.hlc-result-card__score { color: var(--hlc-green); font-size: .9rem; font-weight: 700; white-space: nowrap; }
.hlc-meter { height: .55rem; margin: .6rem 0 1rem; overflow: hidden; border-radius: 99px; background: var(--hlc-soft); }
.hlc-meter__fill { display: block; height: 100%; border-radius: inherit; background: var(--hlc-green); transition: width .25s ease; }
.hlc-result-card__prompt, .hlc-result-card__practice { margin: .6rem 0 0; }
.hlc-report-transfer { margin-top: 1.25rem; padding: 1.1rem; border: 1px solid var(--hlc-line); border-left: 4px solid var(--hlc-gold); border-radius: .55rem; background: #fff; }
.hlc-report-transfer__title { margin: 0 0 .5rem; color: var(--hlc-navy); }
.hlc-report-transfer__notice { margin: 0 0 .8rem; font-size: .92rem; }
.hlc-report-transfer__consent { display: flex; align-items: flex-start; gap: .55rem; margin: .8rem 0; cursor: pointer; }
.hlc-report-transfer__consent input { flex: 0 0 auto; margin-top: .35rem; accent-color: var(--hlc-green); }
.hlc-report-transfer__status { min-height: 1.5em; margin: .5rem 0 0; }
.hlc-report-transfer__code { margin-top: .7rem; }
.hlc-report-transfer__code strong { display: block; }
.hlc-report-transfer__code code { display: inline-block; margin-top: .35rem; padding: .55rem .7rem; border: 1px solid var(--hlc-line); border-radius: .35rem; background: var(--hlc-paper); color: var(--hlc-navy); font-size: 1rem; font-weight: 700; letter-spacing: .04em; overflow-wrap: anywhere; }
.hlc-report-transfer__website { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.hlc-elements { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.hlc-element-card { padding: 1.1rem; border: 1px solid var(--hlc-line); border-radius: .65rem; background: #fff; }
.hlc-element-card h3 { margin-top: 0; }
.hlc-element-card__prompt { margin-bottom: 0; color: var(--hlc-green); }
.hlc-assessment__loading { padding: 1rem; background: var(--hlc-soft); }

@media (max-width: 720px) {
	.hlc-question__choices { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.hlc-results__list, .hlc-elements { grid-template-columns: 1fr; }
}

@media (max-width: 420px) {
	.hlc-question__choices { grid-template-columns: 1fr; }
	.hlc-choice { min-height: 2.6rem; }
}

@media (prefers-reduced-motion: reduce) {
	.hlc-meter__fill { transition: none; }
}
