/*!
 * RMD Claim Strength Quiz 1.0
 *
 * Mobile first. One question per screen, so the layout stays a single column at every width and
 * only the type scale and padding grow. Every control is at least 48px tall.
 */

.rmd-quiz {
	--rmd-q-ink: var(--global-palette3, #0D3C56);
	--rmd-q-body: var(--global-palette4, #33495A);
	--rmd-q-line: #D5DEE4;
	--rmd-q-tint: var(--global-palette8, #F6F8F9);
	--rmd-q-paper: var(--global-palette9, #FFFFFF);
	--rmd-q-accent: #34B4BE;
	--rmd-q-gold: var(--global-palette10, #C9A24B);
	--rmd-q-radius: 14px;
	margin: 0;
}

/* ---------- progress ---------- */

.rmd-quiz__progress { margin: 0 0 16px; }

.rmd-quiz__step {
	margin: 0 0 8px;
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	color: var(--rmd-q-body);
}

.rmd-quiz__bar {
	height: 6px;
	background: var(--rmd-q-line);
	border-radius: 999px;
	overflow: hidden;
}

.rmd-quiz__fill {
	display: block;
	height: 100%;
	width: 12.5%;
	background: var(--rmd-q-accent);
	border-radius: 999px;
	transition: width .25s ease;
}

/* ---------- question ---------- */

.rmd-quiz__form {
	background: var(--rmd-q-paper);
	border: 1px solid var(--rmd-q-line);
	border-radius: var(--rmd-q-radius);
	padding: 20px 18px;
}

.rmd-quiz__q {
	margin: 0;
	padding: 0;
	border: 0;
	min-width: 0;
}

.rmd-quiz__legend {
	display: block;
	margin: 0 0 8px;
	padding: 0;
	font-size: 21px;
	line-height: 1.25;
	font-weight: 800;
	letter-spacing: -.3px;
	color: var(--rmd-q-ink);
}

.rmd-quiz__legend:focus-visible,
.rmd-quiz__headline:focus-visible {
	outline: 3px solid var(--rmd-q-accent);
	outline-offset: 3px;
}

.rmd-quiz__help {
	margin: 0 0 16px;
	font-size: 14.5px;
	line-height: 1.5;
	color: var(--rmd-q-body);
}

.rmd-quiz__opts {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.rmd-quiz__opt {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	min-height: 48px;
	padding: 13px 14px;
	background: var(--rmd-q-paper);
	border: 1px solid var(--rmd-q-line);
	border-radius: 10px;
	font-size: 16px;
	line-height: 1.4;
	color: var(--rmd-q-ink);
	cursor: pointer;
}

.rmd-quiz__opt input {
	flex: 0 0 auto;
	width: 21px;
	height: 21px;
	margin: 0;
	accent-color: var(--rmd-q-accent);
}

.rmd-quiz__opt input:focus-visible {
	outline: 3px solid var(--rmd-q-accent);
	outline-offset: 2px;
}

.rmd-quiz__opt:has(input:checked) {
	border-color: var(--rmd-q-accent);
	box-shadow: inset 0 0 0 1px var(--rmd-q-accent);
	background: #F2FBFC;
}

/* ---------- the one conditional input ---------- */

.rmd-quiz__reveal {
	margin: 14px 0 0;
	padding: 14px;
	background: var(--rmd-q-tint);
	border-radius: 10px;
}

.rmd-quiz__sublabel {
	display: block;
	margin: 0 0 6px;
	font-size: 14.5px;
	font-weight: 700;
	color: var(--rmd-q-ink);
}

.rmd-quiz__month {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	min-height: 48px;
	box-sizing: border-box;
	padding: 10px 12px;
	font-size: 16px;
	color: var(--rmd-q-ink);
	background: var(--rmd-q-paper);
	border: 1px solid var(--rmd-q-line);
	border-radius: 10px;
}

.rmd-quiz__month:focus-visible {
	outline: 3px solid var(--rmd-q-accent);
	outline-offset: 2px;
}

/* ---------- nav ---------- */

.rmd-quiz__nav {
	display: flex;
	gap: 10px;
	margin: 20px 0 0;
}

.rmd-quiz__next,
.rmd-quiz__back,
.rmd-quiz__restart {
	-webkit-appearance: none;
	appearance: none;
	min-height: 52px;
	padding: 12px 24px;
	border-radius: 999px;
	font-size: 16px;
	font-weight: 700;
	font-family: inherit;
	line-height: 1.25;
	cursor: pointer;
	border: 2px solid var(--rmd-q-ink);
}

.rmd-quiz__next {
	flex: 1 1 auto;
	background: var(--rmd-q-ink);
	color: var(--rmd-q-paper);
}

.rmd-quiz__back {
	flex: 0 0 auto;
	background: transparent;
	color: var(--rmd-q-ink);
}

.rmd-quiz__restart {
	margin: 4px 0 18px;
	background: transparent;
	color: var(--rmd-q-ink);
	min-height: 48px;
	font-size: 15px;
}

.rmd-quiz__next:focus-visible,
.rmd-quiz__back:focus-visible,
.rmd-quiz__restart:focus-visible {
	outline: 3px solid var(--rmd-q-accent);
	outline-offset: 2px;
}

.rmd-quiz__err {
	margin: 12px 0 0;
	padding: 10px 12px;
	background: #FCF4E4;
	border-left: 4px solid var(--rmd-q-gold);
	border-radius: 0 8px 8px 0;
	font-size: 14.5px;
	color: var(--rmd-q-ink);
}

/* ---------- result ---------- */

.rmd-quiz__out { margin-top: 18px; }

.rmd-quiz__result {
	padding: 24px 18px;
	background: var(--rmd-q-tint);
	border: 1px solid var(--rmd-q-line);
	border-top: 5px solid var(--rmd-q-accent);
	border-radius: var(--rmd-q-radius);
}

.rmd-quiz__result.is-low { border-top-color: var(--rmd-q-gold); }
.rmd-quiz__result.is-medium { border-top-color: var(--rmd-q-accent); }
.rmd-quiz__result.is-strong { border-top-color: var(--rmd-q-ink); }

.rmd-quiz__eyebrow {
	margin: 0 0 8px;
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--rmd-q-body);
}

.rmd-quiz__headline {
	margin: 0 0 12px;
	font-size: 25px;
	line-height: 1.2;
	font-weight: 800;
	letter-spacing: -.5px;
	color: var(--rmd-q-ink);
}

.rmd-quiz__blurb {
	margin: 0 0 20px;
	font-size: 16px;
	line-height: 1.6;
	color: var(--rmd-q-body);
}

/* ---------- factor readout ---------- */

.rmd-quiz__table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 18px;
	font-size: 15px;
	background: var(--rmd-q-paper);
	border: 1px solid var(--rmd-q-line);
	border-radius: 10px;
	overflow: hidden;
}

.rmd-quiz__table caption {
	caption-side: top;
	text-align: left;
	padding: 0 0 8px;
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: var(--rmd-q-body);
}

.rmd-quiz__table th,
.rmd-quiz__table td {
	padding: 11px 14px;
	text-align: left;
	border-bottom: 1px solid var(--rmd-q-line);
	line-height: 1.4;
}

.rmd-quiz__table th { font-weight: 500; color: var(--rmd-q-body); width: 62%; }
.rmd-quiz__table td { font-weight: 800; color: var(--rmd-q-ink); }
.rmd-quiz__table tr:last-child th,
.rmd-quiz__table tr:last-child td { border-bottom: 0; }

.rmd-quiz__table td.is-strong { color: #0B6E3F; }
.rmd-quiz__table td.is-moderate { color: #8A5B00; }
.rmd-quiz__table td.is-limited { color: #8A2C2C; }

/* ---------- notes ---------- */

.rmd-quiz__gap,
.rmd-quiz__route {
	margin: 0 0 14px;
	padding: 14px 16px;
	background: var(--rmd-q-paper);
	border-left: 4px solid var(--rmd-q-accent);
	border-radius: 0 8px 8px 0;
	font-size: 15px;
	line-height: 1.55;
	color: var(--rmd-q-ink);
}

.rmd-quiz__gap p,
.rmd-quiz__route p { margin: 0 0 8px; }
.rmd-quiz__gap p:last-child,
.rmd-quiz__route p:last-child { margin-bottom: 0; }

.rmd-quiz__gaplabel {
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: var(--rmd-q-body);
}

.rmd-quiz__flag {
	margin: 0 0 14px;
	padding: 14px 16px;
	background: var(--rmd-q-paper);
	border-left: 4px solid var(--rmd-q-gold);
	border-radius: 0 8px 8px 0;
	font-size: 15px;
	line-height: 1.55;
	color: var(--rmd-q-ink);
}

.rmd-quiz__note {
	margin: 0 0 16px;
	font-size: 14px;
	line-height: 1.5;
	color: var(--rmd-q-body);
}

.rmd-quiz__disclaimer {
	margin: 0;
	font-size: 13px;
	line-height: 1.5;
	color: var(--rmd-q-body);
	opacity: .9;
}

/* ---------- CTAs ---------- */

/* Opt-in to carry answers into the consultation form. Deliberately quiet: it is an option, not a
   call to action, so it must not compete with the two buttons directly beneath it. */
.rmd-quiz__carry {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 18px 0 0;
	font-size: 15px;
	line-height: 1.45;
	color: var(--rmd-q-body);
}
.rmd-quiz__carry input {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	margin-top: 2px;
}
.rmd-quiz__carry label { cursor: pointer; }

.rmd-quiz__cta {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 20px 0 14px;
}

.rmd-quiz__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	padding: 13px 24px;
	border-radius: 999px;
	font-size: 16.5px;
	font-weight: 700;
	line-height: 1.25;
	text-align: center;
	background: var(--rmd-q-ink);
	border: 2px solid var(--rmd-q-ink);
}

.rmd-quiz__btn--ghost { background: transparent; }

/*
 * Same override the calculators needed, and for the same measured reason: Additional CSS carries
 * `.rmd-section a:not(.wp-block-button__link):not(.rmd-crumb)` at specificity 0,3,1 and repaints
 * every link inside a section teal, which on a navy button is unreadable. Overriding here keeps the
 * blast radius at this file instead of widening a selector 100-plus pages depend on.
 */
.rmd-quiz a.rmd-quiz__btn,
.rmd-quiz a.rmd-quiz__btn:hover,
.rmd-quiz a.rmd-quiz__btn:focus,
.rmd-quiz a.rmd-quiz__btn:visited {
	color: var(--rmd-q-paper) !important;
	text-decoration: none !important;
}

.rmd-quiz a.rmd-quiz__btn--ghost,
.rmd-quiz a.rmd-quiz__btn--ghost:hover,
.rmd-quiz a.rmd-quiz__btn--ghost:focus,
.rmd-quiz a.rmd-quiz__btn--ghost:visited {
	color: var(--rmd-q-ink) !important;
}

/*
 * Gold call button, 2026-08-29. The firm wanted the phone CTA to stand out on the result panel.
 * Gold is the site's primary CTA fill, so this matches the buttons everywhere else rather than
 * inventing a colour. Ink on gold measures 6.67:1, the same pairing used sitewide after the
 * contrast fix; the previous navy-on-gold was 4.87:1.
 *
 * This block must come AFTER the generic .rmd-quiz a.rmd-quiz__btn rule: both carry !important at
 * the same specificity (0,2,1), so source order is what decides the winner.
 */
.rmd-quiz__btn--gold {
	background: var(--rmd-q-gold);
	border-color: var(--rmd-q-gold);
}
.rmd-quiz a.rmd-quiz__btn--gold,
.rmd-quiz a.rmd-quiz__btn--gold:hover,
.rmd-quiz a.rmd-quiz__btn--gold:focus,
.rmd-quiz a.rmd-quiz__btn--gold:visited {
	color: #0D2430 !important;
}

.rmd-quiz__inlink { font-weight: 700; }

/* ---------- no JavaScript ---------- */

.rmd-quiz__noscript {
	padding: 20px 18px;
	background: var(--rmd-q-tint, #F6F8F9);
	border: 1px solid var(--rmd-q-line, #D5DEE4);
	border-radius: 14px;
}

.rmd-quiz__noscript p:last-child { margin-bottom: 0; }

/* Without the script every question is visible and none of them score, so hide the machinery
   and let the noscript block speak instead. */
.rmd-quiz:not(.is-ready) .rmd-quiz__progress,
.rmd-quiz:not(.is-ready) .rmd-quiz__nav { display: none; }

/* ---------- wider viewports ---------- */

@media (min-width: 560px) {
	.rmd-quiz__form { padding: 30px 28px; }
	.rmd-quiz__legend { font-size: 24px; }
	.rmd-quiz__result { padding: 30px 28px; }
	.rmd-quiz__headline { font-size: 29px; }
	.rmd-quiz__cta { flex-direction: row; flex-wrap: wrap; }
	.rmd-quiz__cta .rmd-quiz__btn { flex: 1 1 auto; }
}

@media (min-width: 860px) {
	.rmd-quiz__legend { font-size: 26px; }
	.rmd-quiz__headline { font-size: 32px; }
}

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

@media print {
	.rmd-quiz__form,
	.rmd-quiz__progress,
	.rmd-quiz__cta,
	.rmd-quiz__restart { display: none; }
}
