.jca-resolver-page .jca-content {
	max-width: none;
}

.jca-resolver-page .jca-content-wrap {
	padding-top: 0;
}

.jca-resolver-page .jca-content > article > h1:first-child {
	display: none;
}

.jca-resolver {
	--resolver-ink: #232323;
	--resolver-navy: #0d1e40;
	--resolver-blue: #2d6de5;
	--resolver-gold: #ffc220;
	--resolver-paper: #fffaff;
	--resolver-muted: #52525b;
	--resolver-line: rgba(13, 30, 64, .14);
	width: min(1120px, calc(100% - 32px));
	margin: 0 auto;
	padding: 80px 0 96px;
	color: var(--resolver-ink);
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.jca-resolver__intro { max-width: 880px; margin-bottom: 34px; }
.jca-resolver__eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 16px; color: #b67c08; font-size: 12px; font-weight: 900; letter-spacing: .17em; text-transform: uppercase; }
.jca-resolver__eyebrow::before { width: 30px; height: 2px; background: var(--resolver-gold); content: ""; }
.jca-resolver__intro h1 { max-width: 820px; margin: 0; color: var(--resolver-navy); font-size: clamp(48px, 7vw, 82px); line-height: .98; letter-spacing: -.055em; }
.jca-resolver__lede { max-width: 730px; margin: 24px 0 0; color: var(--resolver-muted); font-size: clamp(18px, 2vw, 22px); line-height: 1.55; }
.jca-resolver__campaign-brief { margin: 0 0 30px; padding: clamp(24px, 5vw, 48px); border: 1px solid var(--resolver-line); border-radius: 20px; background: #fff; box-shadow: 0 16px 45px rgba(7, 21, 46, .08); }
.jca-resolver__campaign-brief-label { margin: 0 0 9px; color: #a66d00; font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.jca-resolver__campaign-brief h2 { margin: 0 0 24px; color: var(--resolver-navy); font-size: clamp(28px, 4vw, 44px); line-height: 1.08; letter-spacing: -.035em; }
.jca-resolver__campaign-brief-body { display: grid; gap: 18px; }
.jca-resolver__campaign-brief-body p { margin: 0; color: #34445d; font-size: 16px; line-height: 1.7; }
.jca-resolver__campaign-brief-body .jca-resolver__campaign-brief-signature { color: var(--resolver-navy); font-weight: 900; }
.jca-resolver__campaign-brief-sources { margin-top: 24px; color: var(--resolver-muted); font-size: 12px; line-height: 1.8; }
.jca-resolver__campaign-brief-sources strong { display: block; color: var(--resolver-navy); }
.jca-resolver__campaign-brief-sources a { color: var(--resolver-blue) !important; font-weight: 800; }
.jca-resolver__campaign-brief-note { margin: 13px 0 0; color: var(--resolver-muted); font-size: 12px; line-height: 1.55; }

.jca-resolver__panel { overflow: hidden; border: 1px solid var(--resolver-line); border-radius: 0; background: var(--resolver-paper); box-shadow: none; }
.jca-resolver__form { padding: clamp(24px, 5vw, 48px); background: var(--resolver-navy); }
.jca-resolver__form label { display: block; margin-bottom: 10px; color: #fff; font-size: 14px; font-weight: 800; }
.jca-resolver__form-heading { margin-bottom: 24px; color: #fff; }
.jca-resolver__form-heading span { color: var(--resolver-gold); font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.jca-resolver__form-heading h2 { margin: 6px 0 8px; color: #fff; font-size: clamp(28px, 4vw, 40px); }
.jca-resolver__form-heading p { max-width: 760px; margin: 0; color: #c5d2e5; line-height: 1.55; }
.jca-resolver__identity-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 16px; }
.jca-resolver__identity-row label { margin: 0; }
.jca-resolver__identity-row input { width: 100%; min-height: 54px; margin-top: 8px; padding: 0 16px; border: 2px solid transparent; border-radius: 0; background: #fff; color: var(--resolver-ink); font: inherit; }
.jca-resolver__identity-row input:focus { border-color: var(--resolver-gold); outline: 3px solid rgba(245, 193, 83, .28); }
.jca-resolver__field-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; }
.jca-resolver__field-row input { width: 100%; min-height: 58px; padding: 0 18px; border: 2px solid transparent; border-radius: 0; background: #fff; color: var(--resolver-ink); font: inherit; font-size: 17px; }
.jca-resolver__field-row input:focus { border-color: var(--resolver-gold); outline: 3px solid rgba(245, 193, 83, .28); }
.jca-resolver__field-row button { min-height: 58px; padding: 0 25px; border: 0; border-radius: 0; background: var(--resolver-gold); color: var(--resolver-ink); font: inherit; font-weight: 900; cursor: pointer; }
.jca-resolver__field-row button:hover { background: #ffd46f; }
.jca-resolver__field-row button:disabled { cursor: wait; opacity: .72; }
.jca-resolver__form-meta { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 14px; color: #b9c7dd; font-size: 13px; }
.jca-resolver__demo { padding: 0; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: var(--resolver-gold); font: inherit; font-weight: 800; cursor: pointer; }
.jca-resolver__residency { display: flex !important; align-items: flex-start; gap: 9px; margin: 16px 0 0 !important; color: #d7dfed !important; font-weight: 600 !important; }
.jca-resolver__residency input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 1px; accent-color: var(--resolver-gold); }

.jca-resolver__status { min-height: 0; padding: 0 clamp(24px, 5vw, 48px); font-weight: 800; }
.jca-resolver__status:not(:empty) { padding-top: 22px; }
.jca-resolver__status.is-loading { color: var(--resolver-blue); }
.jca-resolver__status.is-success { color: #167148; }
.jca-resolver__status.is-error { color: #a72d2d; }
.jca-resolver__results { padding: 0 clamp(24px, 5vw, 48px) clamp(28px, 5vw, 48px); }
.jca-resolver__match { display: grid; gap: 5px; margin: 22px 0 24px; padding: 16px 18px; border-left: 4px solid var(--resolver-gold); background: #f4f7fc; }
.jca-resolver__match span { color: var(--resolver-muted); font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.jca-resolver__match strong { color: var(--resolver-navy); font-size: 17px; }
.jca-resolver__match small { color: var(--resolver-muted); font-size: 12px; line-height: 1.45; }
.jca-resolver__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 18px; }
.jca-resolver__grid--campaign { grid-template-columns: 1fr; }
.jca-resolver-target { padding: 22px 24px; border: 1px solid #bfe2d1; border-left: 5px solid #16845a; border-radius: 12px; background: #eff9f4; }
.jca-resolver-target__label { color: #167148; font-size: 10px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.jca-resolver-target h3 { margin: 7px 0 3px; color: var(--resolver-navy); font-size: 28px; }
.jca-resolver-target__role, .jca-resolver-target__district { margin: 0; color: #52657c; }
.jca-resolver-target__district { margin-top: 4px; font-size: 13px; }
.jca-resolver-target__email { display: block; margin-top: 12px; color: #167148; font-size: 13px; }
.jca-resolver-card { padding: 25px; border: 1px solid var(--resolver-line); border-radius: 16px; background: #fff; }
.jca-resolver-card__top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; }
.jca-resolver-card__type, .jca-resolver-card__grades { color: var(--resolver-blue); font-size: 11px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.jca-resolver-card__grades { color: var(--resolver-muted); }
.jca-resolver-card h3 { margin: 18px 0 8px; color: var(--resolver-navy); font-size: 24px; line-height: 1.16; letter-spacing: -.025em; }
.jca-resolver-card__board { margin: 0 0 20px; color: var(--resolver-muted); }
.jca-resolver-card__area { display: grid; gap: 5px; margin: 18px 0 20px; padding: 16px 18px; border-left: 4px solid var(--resolver-blue); background: #eef4ff; }
.jca-resolver-card__area span { color: var(--resolver-blue); font-size: 10px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.jca-resolver-card__area strong { color: var(--resolver-navy); font-size: 22px; }
.jca-resolver-card__area a { width: fit-content; margin-top: 4px; color: var(--resolver-blue) !important; font-size: 12px; font-weight: 800; }
.jca-resolver-card__member { display: grid; gap: 5px; margin: 0 0 20px; padding: 16px 18px; border-left: 4px solid #16845a; background: #eff9f4; }
.jca-resolver-card__member > span { color: #167148; font-size: 10px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.jca-resolver-card__member > strong { color: var(--resolver-navy); font-size: 21px; }
.jca-resolver-card__member p { margin: 0; color: var(--resolver-muted); font-size: 13px; text-transform: capitalize; }
.jca-resolver-card__member-email { color: #167148; font-size: 13px; font-weight: 800; }
.jca-resolver-card__member a { width: fit-content; color: #167148 !important; font-weight: 800; }
.jca-resolver-card__member small { margin-top: 5px; color: var(--resolver-muted); font-size: 11px; }
.jca-resolver-card__roster { display: grid; gap: 8px; margin: 0 0 20px; padding: 16px 18px; border-left: 4px solid #16845a; background: #eff9f4; }
.jca-resolver-card__roster > span { color: #167148; font-size: 10px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.jca-resolver-card__roster > strong { color: var(--resolver-navy); font-size: 21px; }
.jca-resolver-card__roster-note { margin: 0; color: #52657c; font-size: 12px; line-height: 1.5; }
.jca-resolver-card__roster-list { display: grid; gap: 0; margin: 8px 0; padding: 0; list-style: none; }
.jca-resolver-card__roster-list li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 10px 0; border-top: 1px solid rgba(22, 113, 72, .16); }
.jca-resolver-card__roster-list li > div { display: grid; gap: 2px; }
.jca-resolver-card__roster-list strong { color: var(--resolver-navy); font-size: 14px; }
.jca-resolver-card__roster-list span { color: var(--resolver-muted); font-size: 11px; }
.jca-resolver-card__roster-list a,
.jca-resolver-card__board-email a,
.jca-resolver-card__roster small a { color: #167148 !important; font-size: 12px; font-weight: 800; }
.jca-resolver-card__board-email { margin: 0; color: #426b58; font-size: 12px; }
.jca-resolver-card__roster small { color: var(--resolver-muted); font-size: 11px; }
.jca-resolver-card__coverage { margin: 0 0 20px; padding: 10px 12px; border-left: 3px solid var(--resolver-gold); background: #fff8e7; color: #72510f; font-size: 12px; font-weight: 800; text-transform: capitalize; }
.jca-resolver-card__details { display: grid; grid-template-columns: 105px 1fr; gap: 7px 12px; margin: 20px 0; padding-top: 18px; border-top: 1px solid var(--resolver-line); font-size: 13px; }
.jca-resolver-card__details dt { color: var(--resolver-muted); font-weight: 700; }
.jca-resolver-card__details dd { margin: 0; color: var(--resolver-ink); }
.jca-resolver-card__link { color: var(--resolver-blue) !important; font-size: 14px; font-weight: 900; text-decoration: none; }
.jca-resolver-card__link::after { content: " ↗"; }
.jca-resolver-campaign { margin-top: 22px; padding: clamp(24px, 5vw, 42px); border-radius: 18px; background: var(--resolver-navy); color: #fff; }
.jca-resolver-campaign__label { color: var(--resolver-gold); font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.jca-resolver-campaign h2 { max-width: 720px; margin: 10px 0 8px; color: #fff; font-size: clamp(28px, 4vw, 42px); line-height: 1.08; }
.jca-resolver-campaign__recipient { margin: 0 0 22px; color: #c5d2e5; font-size: 14px; }
.jca-resolver-campaign__statement { display: grid; gap: 15px; margin-bottom: 22px; padding: clamp(20px, 4vw, 34px); border-radius: 12px; background: #fff; color: var(--resolver-ink); }
.jca-resolver-campaign__statement > span { color: #a66d00; font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.jca-resolver-campaign__statement h3 { margin: 0; color: var(--resolver-navy); font-size: clamp(24px, 3vw, 34px); }
.jca-resolver-campaign__statement p { margin: 0; color: #34445d; line-height: 1.68; }
.jca-resolver-campaign__statement .jca-resolver-campaign__signature { color: var(--resolver-navy); font-weight: 800; }
.jca-resolver-campaign__legal { color: var(--resolver-muted); font-size: 12px; line-height: 1.8; }
.jca-resolver-campaign__legal span { display: block; margin-bottom: 3px; color: var(--resolver-navy); font-weight: 900; }
.jca-resolver-campaign__legal a { color: var(--resolver-blue) !important; font-weight: 800; }
.jca-resolver-campaign__statement small { color: var(--resolver-muted); }
.jca-resolver-campaign__preview { display: grid; gap: 8px; padding: 20px; border: 1px solid rgba(255, 255, 255, .16); border-radius: 12px; background: rgba(255, 255, 255, .07); }
.jca-resolver-campaign__preview span { color: var(--resolver-gold); font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.jca-resolver-campaign__preview strong { font-size: 18px; }
.jca-resolver-campaign__preview p { margin: 7px 0 0; color: #d7dfed; line-height: 1.65; }
.jca-resolver-campaign button { margin-top: 18px; padding: 13px 18px; border: 0; border-radius: 9px; background: var(--resolver-gold); color: var(--resolver-ink); font: inherit; font-weight: 900; }
.jca-resolver-campaign button:disabled { cursor: not-allowed; opacity: .55; }
.jca-resolver-campaign > small { display: block; margin-top: 10px; color: #aebdd4; }
.jca-resolver-verification { margin-top: 28px; padding: clamp(20px, 4vw, 30px); border: 1px solid rgba(255, 255, 255, .18); border-radius: 14px; background: #fff; color: var(--resolver-ink); scroll-margin-top: 120px; }
.jca-resolver-verification__step { color: #a66d00; font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.jca-resolver-verification h3 { margin: 7px 0 7px; color: var(--resolver-navy); font-size: clamp(23px, 3vw, 30px); }
.jca-resolver-verification__intro { margin: 0 0 20px; color: var(--resolver-muted); line-height: 1.55; }
.jca-resolver-verification__check { display: flex; grid-column: 1 / -1; align-items: flex-start; gap: 9px; color: #34445d; font-size: 13px; line-height: 1.45; }
.jca-resolver-verification__check input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 1px; accent-color: var(--resolver-blue); }
.jca-resolver-verification__demo-note { margin: 16px 0 0; padding: 12px 14px; border-left: 3px solid var(--resolver-gold); background: #fff8e7; color: #72510f; font-size: 12px; line-height: 1.5; }
.jca-resolver-verification__authorize { display: grid; gap: 15px; }
.jca-resolver-verification__authorize > button { justify-self: start; margin: 0; }
.jca-resolver-verification__status { min-height: 20px; margin-top: 14px; font-size: 13px; font-weight: 800; }
.jca-resolver-verification__status.is-loading { color: var(--resolver-blue); }
.jca-resolver-verification__status.is-success { color: #167148; }
.jca-resolver-verification__status.is-error { color: #a72d2d; }
.jca-resolver-verification__receipt { display: grid; grid-template-columns: 110px 1fr; gap: 8px 14px; margin: 18px 0 0; padding: 18px; border-radius: 10px; background: #eff9f4; font-size: 13px; }
.jca-resolver-verification__receipt dt { color: #426b58; font-weight: 800; }
.jca-resolver-verification__receipt dd { margin: 0; color: var(--resolver-navy); font-weight: 700; }
.jca-resolver__next { margin-top: 22px; padding: 25px; border-radius: 16px; background: #eef4ff; }
.jca-resolver__next-label { color: var(--resolver-blue); font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.jca-resolver__next h2 { margin: 8px 0; color: var(--resolver-navy); font-size: 25px; }
.jca-resolver__next p { margin: 0; color: var(--resolver-muted); }
.jca-resolver__source { margin: 18px 0 0; color: var(--resolver-muted); font-size: 12px; }
.jca-resolver__source a { color: var(--resolver-blue) !important; }
.jca-resolver__proof { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; overflow: hidden; margin-top: 24px; border: 1px solid var(--resolver-line); border-radius: 16px; background: var(--resolver-line); }
.jca-resolver__proof div { display: flex; align-items: center; gap: 13px; padding: 20px; background: #fff; }
.jca-resolver__proof strong { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: var(--resolver-navy); color: #fff; font-size: 13px; }
.jca-resolver__proof span { color: var(--resolver-navy); font-size: 14px; font-weight: 800; }
.jca-resolver__proof--campaign { display: none; }

/* Quorum-inspired campaign presentation: campaign record beside one action card. */
.jca-resolver--campaign {
	width: min(1240px, calc(100% - 40px));
	padding: 58px 0 90px;
}
.jca-resolver__campaign-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(390px, .88fr);
	gap: clamp(34px, 5vw, 68px);
	align-items: start;
}
.jca-resolver__campaign-content,
.jca-resolver__campaign-action { min-width: 0; }
.jca-resolver--campaign .jca-resolver__intro { max-width: 700px; margin-bottom: 30px; }
.jca-resolver--campaign .jca-resolver__intro h1 { max-width: 690px; font-size: clamp(44px, 5vw, 66px); line-height: 1.01; }
.jca-resolver--campaign .jca-resolver__lede { max-width: 650px; margin-top: 18px; font-size: 18px; line-height: 1.55; }
.jca-resolver--campaign .jca-resolver__campaign-brief {
	margin: 0;
	padding: 30px 0 0;
	border: 0;
	border-top: 4px solid var(--resolver-gold);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}
.jca-resolver--campaign .jca-resolver__campaign-brief h2 { margin-bottom: 20px; font-size: clamp(28px, 3.2vw, 40px); }
.jca-resolver--campaign .jca-resolver__campaign-brief-body { gap: 16px; }
.jca-resolver--campaign .jca-resolver__campaign-brief-body p { font-size: 15px; line-height: 1.66; }
.jca-resolver__campaign-action { position: relative; }
.jca-resolver__panel--campaign {
	position: sticky;
	top: 104px;
	border: 0;
	border-radius: 0;
	box-shadow: 0 22px 60px rgba(7, 21, 46, .2);
}
.jca-resolver__panel--campaign .jca-resolver__form { padding: clamp(26px, 3.2vw, 38px); }
.jca-resolver__panel--campaign .jca-resolver__form-heading { margin-bottom: 22px; }
.jca-resolver__panel--campaign .jca-resolver__form-heading h2 { margin-top: 4px; font-size: 36px; }
.jca-resolver__panel--campaign .jca-resolver__form-heading p { font-size: 14px; }
.jca-resolver__panel--campaign .jca-resolver__identity-row { gap: 12px; margin-bottom: 15px; }
.jca-resolver__campaign-field { margin: 0 0 15px !important; }
.jca-resolver__panel--campaign .jca-resolver__identity-row label > span,
.jca-resolver__campaign-field > span { color: var(--resolver-gold); }
.jca-resolver__panel--campaign .jca-resolver__identity-row input,
.jca-resolver__campaign-field input {
	width: 100%;
	min-height: 50px;
	margin-top: 7px;
	padding: 0 14px;
	border: 2px solid transparent;
	border-radius: 0;
	background: #fff;
	color: var(--resolver-ink);
	font: inherit;
}
.jca-resolver__panel--campaign .jca-resolver__identity-row input:focus,
.jca-resolver__campaign-field input:focus { border-color: var(--resolver-gold); outline: 3px solid rgba(245, 193, 83, .28); }
.jca-resolver__campaign-submit {
	width: 100%;
	min-height: 54px;
	margin-top: 18px;
	padding: 11px 16px;
	border: 0;
	border-radius: 0;
	background: var(--resolver-gold);
	color: var(--resolver-ink);
	font: inherit;
	font-weight: 900;
	cursor: pointer;
}
.jca-resolver__campaign-submit:hover { background: #ffd46f; }
.jca-resolver__campaign-submit:disabled { cursor: wait; opacity: .72; }
.jca-resolver__panel--campaign .jca-resolver__form-meta { display: grid; gap: 8px; margin-top: 16px; font-size: 11px; line-height: 1.45; }
.jca-resolver__panel--campaign .jca-resolver__status { padding-right: 30px; padding-left: 30px; }
.jca-resolver__panel--campaign .jca-resolver__results { padding-right: 30px; padding-bottom: 30px; padding-left: 30px; }
.jca-resolver__panel--campaign .jca-resolver__match { margin-bottom: 16px; }
.jca-resolver__panel--campaign .jca-resolver-target { padding: 18px 20px; }
.jca-resolver__panel--campaign .jca-resolver-target h3 { font-size: 24px; }
.jca-resolver__panel--campaign .jca-resolver-campaign { margin-top: 16px; padding: 24px; border-radius: 13px; }
.jca-resolver__panel--campaign .jca-resolver-campaign h2 { font-size: 29px; }
.jca-resolver__panel--campaign .jca-resolver-campaign__statement { padding: 18px; }
.jca-resolver__panel--campaign .jca-resolver-verification { margin-top: 20px; padding: 20px; }

@media (max-width: 960px) {
	.jca-resolver__campaign-layout { grid-template-columns: 1fr; }
	.jca-resolver__panel--campaign { position: static; }
	.jca-resolver--campaign .jca-resolver__campaign-content { max-width: 760px; }
}

@media (max-width: 720px) {
	.jca-resolver { width: min(100% - 24px, 1120px); padding: 56px 0 72px; }
	.jca-resolver--campaign { width: min(100% - 24px, 1240px); padding-top: 40px; }
	.jca-resolver__intro h1 { font-size: clamp(43px, 14vw, 64px); }
	.jca-resolver--campaign .jca-resolver__intro h1 { font-size: clamp(40px, 12vw, 56px); }
	.jca-resolver__field-row { grid-template-columns: 1fr; }
	.jca-resolver__identity-row { grid-template-columns: 1fr; }
	.jca-resolver__form-meta { align-items: flex-start; flex-direction: column; }
	.jca-resolver__proof { grid-template-columns: 1fr; }
	.jca-resolver-card__details { grid-template-columns: 1fr; gap: 2px; }
	.jca-resolver-card__details dd { margin-bottom: 8px; }
	.jca-resolver-card__roster-list li { grid-template-columns: 1fr; gap: 4px; }
	.jca-resolver-verification__receipt { grid-template-columns: 1fr; gap: 2px; }
	.jca-resolver-verification__receipt dd { margin-bottom: 8px; }
}
