/**
 * Prospect report (prs_report) single layout — see single-prs_report.php.
 *
 * Everything is scoped under .rpt-report and uses the "rpt-" prefix because
 * the Prospect Report Studio plugin ships its own inline ".prs-*" CSS on the
 * same pages (.prs-cta, .prs-status, ...). Brand tokens (--dark-blue,
 * --medi-blue, --light-blue, --gray-color, --font-hurme-*) come from
 * css/style.css; fallbacks are provided so the page still renders if those
 * are ever missing.
 */

.rpt-report {
	--rpt-navy: var(--dark-blue, #021b2f);
	--rpt-heading: #0a3958;
	--rpt-accent: var(--medi-blue, #28b2fa);
	--rpt-accent-dark: #0b7ec2;
	--rpt-tint: var(--light-blue, #e9f5fb);
	--rpt-text: var(--gray-color, #4b5563);
	--rpt-border: #dbe5ee;
	--rpt-surface: #f6f9fc;
	--rpt-radius: 10px;
	background: #fff;
	color: var(--rpt-text);
	font-family: var(--font-hurme-sec, system-ui, sans-serif);
}

.rpt-report *,
.rpt-report *::before,
.rpt-report *::after {
	box-sizing: border-box;
}

.rpt-wrap {
	width: 100%;
	max-width: 1120px;
	margin: 0 auto;
	padding: 0 24px;
}

/* Beat the site-wide `p { margin-bottom:15px!important; letter-spacing:1px }`. */
.rpt-report p {
	margin: 0 0 16px !important;
	letter-spacing: 0.1px;
	line-height: 1.75;
	font-size: 17px;
	color: var(--rpt-text);
}

.rpt-report h1,
.rpt-report h2,
.rpt-report h3 {
	font-family: var(--font-hurme-thd, inherit);
	color: var(--rpt-heading);
	letter-spacing: 0;
}

.rpt-report a {
	color: var(--rpt-accent-dark);
}

.rpt-muted {
	color: #8a97a8;
}

/* ---------------------------------------------------------------- */
/* Hero                                                              */
/* The site header is position:fixed + transparent, so the hero uses  */
/* a large top padding to sit underneath it (same approach as the     */
/* blog single hero).                                                 */
/* ---------------------------------------------------------------- */
.rpt-hero {
	background: var(--rpt-navy);
	border-bottom: 4px solid var(--rpt-accent);
	padding: 170px 0 56px;
}

.rpt-hero__eyebrow {
	margin: 0 0 14px !important;
	font-size: 13px !important;
	font-weight: 600;
	letter-spacing: 1.6px !important;
	text-transform: uppercase;
	color: var(--rpt-accent) !important;
}

.rpt-hero__title {
	max-width: 880px;
	margin: 0 0 16px;
	font-size: clamp(28px, 4vw, 44px);
	line-height: 1.2;
	color: #fff !important;
}

.rpt-hero__subtitle {
	max-width: 720px;
	color: #c9d6e3 !important;
	font-size: 18px !important;
}

.rpt-hero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 40px;
	margin: 28px 0 32px;
	padding: 20px 0 0;
	border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.rpt-hero__meta dt {
	margin: 0 0 4px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: #8fa7bd;
}

.rpt-hero__meta dd {
	margin: 0;
	font-size: 16px;
	color: #fff;
}

.rpt-hero__meta a {
	color: #fff;
	text-decoration: underline;
	text-decoration-color: rgba(255, 255, 255, 0.4);
	text-underline-offset: 3px;
}

.rpt-btn,
.rpt-report a.rpt-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 14px 24px;
	border-radius: 0; /* square corners, like the site's header CONTACT US button */
	background: var(--rpt-accent);
	color: #fff !important;
	font-family: var(--font-hurme-thd, inherit);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.25;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color 0.15s ease;
}

/* White label + arrow in every state (the arrow inherits currentColor). */
.rpt-report a.rpt-btn:hover,
.rpt-report a.rpt-btn:focus,
.rpt-report a.rpt-btn:focus-visible,
.rpt-report a.rpt-btn:active,
.rpt-report a.rpt-btn:visited {
	color: #fff !important;
}

/* Right-arrow icon: a plain glyph, no icon library needed. */
.rpt-report a.rpt-btn::after {
	content: "\2192";
	flex: 0 0 auto;
	font-size: 1.15em;
	font-weight: 700;
	line-height: 1;
}

.rpt-btn:hover,
.rpt-btn:focus-visible {
	background: #5cc8fb;
}

.rpt-btn:focus-visible {
	outline: 3px solid #fff !important;
	outline-offset: 2px;
}

/* ---------------------------------------------------------------- */
/* In-page nav                                                       */
/* ---------------------------------------------------------------- */
.rpt-nav {
	background: #fff;
	border-bottom: 1px solid var(--rpt-border);
}

.rpt-nav ul {
	display: flex;
	gap: 4px 20px;
	margin: 0;
	padding: 0;
	overflow-x: auto;
	list-style: none;
	white-space: nowrap;
}

.rpt-nav a {
	display: block;
	padding: 14px 0;
	border-bottom: 2px solid transparent;
	font-size: 14px;
	font-weight: 600;
	color: var(--rpt-text);
	text-decoration: none;
}

.rpt-nav a:hover,
.rpt-nav a:focus-visible {
	border-bottom-color: var(--rpt-accent);
	color: var(--rpt-heading);
}

/* ---------------------------------------------------------------- */
/* Sections — each kind gets its own background / accent             */
/* ---------------------------------------------------------------- */
.rpt-section {
	padding: 64px 0;
	border-bottom: 1px solid var(--rpt-border);
	scroll-margin-top: 90px;
}

.rpt-section--summary {
	background: #fff;
	padding-top: 72px;
}

.rpt-section--context,
.rpt-section--opportunities,
.rpt-section--questions {
	background: var(--rpt-surface);
}

.rpt-section--evidence {
	background: #fff;
}

.rpt-section--conclusion {
	background: var(--rpt-tint);
	border-bottom: 0;
}

.rpt-section__head {
	display: flex;
	align-items: baseline;
	gap: 16px;
	margin: 0 0 28px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--rpt-border);
}

.rpt-section__num {
	font-family: var(--font-hurme-thd, inherit);
	font-size: 15px;
	font-weight: 700;
	color: var(--rpt-accent-dark);
	letter-spacing: 1px;
}

.rpt-report h2.rpt-section__title {
	margin: 0;
	font-size: clamp(22px, 2.6vw, 30px);
	line-height: 1.25;
}

.rpt-section__body > p,
.rpt-section__intro {
	max-width: 760px;
}

.rpt-lead,
.rpt-report p.rpt-lead {
	font-size: 20px;
	line-height: 1.65;
	color: var(--rpt-heading);
}

.rpt-report h3.rpt-subhead {
	margin: 28px 0 10px;
	font-size: 19px;
}

/* ---------------------------------------------------------------- */
/* Callout                                                           */
/* ---------------------------------------------------------------- */
.rpt-callout {
	max-width: 760px;
	margin: 28px 0 0;
	padding: 20px 24px;
	border: 1px solid #bfe3f7;
	border-left: 4px solid var(--rpt-accent);
	border-radius: var(--rpt-radius);
	background: var(--rpt-tint);
}

.rpt-callout__label {
	display: block;
	margin-bottom: 6px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: var(--rpt-accent-dark);
}

.rpt-report .rpt-callout p {
	margin: 0 !important;
	color: var(--rpt-heading);
	font-size: 17px;
}

/* ---------------------------------------------------------------- */
/* Cards                                                             */
/* ---------------------------------------------------------------- */
.rpt-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 20px;
	margin: 0 0 8px;
	padding: 0;
	list-style: none;
}

.rpt-card {
	position: relative;
	margin: 0;
	padding: 24px;
	border: 1px solid var(--rpt-border);
	border-radius: var(--rpt-radius);
	background: #fff;
}

.rpt-card__num {
	display: block;
	margin-bottom: 10px;
	font-family: var(--font-hurme-thd, inherit);
	font-size: 14px;
	font-weight: 700;
	color: var(--rpt-accent-dark);
	letter-spacing: 1px;
}

.rpt-report h3.rpt-card__title {
	margin: 10px 0 8px;
	font-size: 18px;
	line-height: 1.3;
}

.rpt-card__text {
	font-size: 15px;
	line-height: 1.65;
}

.rpt-report .rpt-card__text p,
.rpt-card__text {
	font-size: 15px;
	margin: 0 !important;
}

/* ---------------------------------------------------------------- */
/* Badges                                                            */
/* ---------------------------------------------------------------- */
.rpt-badge {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.5;
	white-space: nowrap;
	background: #eef1f5;
	color: #4b5563;
}

.rpt-badge--confirmed {
	background: #e5f5ec;
	color: #11713f;
}

.rpt-badge--inferred {
	background: #e4f1fb;
	color: #0b5f93;
}

.rpt-badge--validate {
	background: #fff3d6;
	color: #8a5700;
}

.rpt-badge--gap,
.rpt-badge--unknown {
	background: #eef1f5;
	color: #4b5563;
}

/* ---------------------------------------------------------------- */
/* Tables (report body table + evidence register)                    */
/* ---------------------------------------------------------------- */
.rpt-table-wrap {
	margin: 0 0 8px;
	border: 1px solid var(--rpt-border);
	border-radius: var(--rpt-radius);
	background: #fff;
	overflow: hidden;
}

.rpt-table {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	font-size: 15px;
}

.rpt-table th {
	padding: 14px 18px;
	background: var(--rpt-navy);
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.6px;
	text-align: left;
	text-transform: uppercase;
}

.rpt-table td {
	padding: 16px 18px;
	border-top: 1px solid var(--rpt-border);
	vertical-align: top;
	line-height: 1.6;
	color: var(--rpt-text);
}

.rpt-table tbody tr:nth-child(even) td {
	background: var(--rpt-surface);
}

.rpt-table td:first-child {
	font-weight: 600;
	color: var(--rpt-heading);
}

.rpt-table--evidence td:first-child {
	font-weight: 400;
	color: var(--rpt-text);
	width: 46%;
}

.rpt-table--evidence td a {
	overflow-wrap: anywhere;
}

.rpt-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 20px;
	margin: 0 0 20px;
	padding: 0;
	list-style: none;
}

.rpt-legend li {
	margin: 0;
	font-size: 14px;
}

.rpt-legend__count {
	font-weight: 600;
	color: var(--rpt-heading);
}

/* ---------------------------------------------------------------- */
/* Action plan steps + questions                                     */
/* ---------------------------------------------------------------- */
.rpt-steps {
	max-width: 820px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: none;
}

.rpt-step {
	display: flex;
	gap: 18px;
	margin: 0;
	padding: 0 0 22px;
	position: relative;
}

.rpt-step:not(:last-child)::before {
	content: "";
	position: absolute;
	left: 17px;
	top: 38px;
	bottom: 4px;
	width: 2px;
	background: var(--rpt-border);
}

.rpt-step__num {
	flex: 0 0 36px;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--rpt-navy);
	color: #fff;
	font-family: var(--font-hurme-thd, inherit);
	font-size: 15px;
	font-weight: 700;
	line-height: 36px;
	text-align: center;
}

.rpt-step__body {
	padding-top: 6px;
	font-size: 17px;
	line-height: 1.6;
	color: var(--rpt-heading);
}

.rpt-questions {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.rpt-questions li {
	display: flex;
	gap: 14px;
	margin: 0;
	padding: 18px 20px;
	border: 1px solid var(--rpt-border);
	border-radius: var(--rpt-radius);
	background: #fff;
	line-height: 1.55;
	color: var(--rpt-heading);
}

.rpt-questions__mark {
	flex: 0 0 26px;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--rpt-tint);
	color: var(--rpt-accent-dark);
	font-size: 14px;
	font-weight: 700;
	line-height: 26px;
	text-align: center;
}

.rpt-list {
	max-width: 760px;
	padding-left: 22px;
	line-height: 1.7;
}

/* ---------------------------------------------------------------- */
/* Conclusion CTA                                                    */
/* ---------------------------------------------------------------- */
.rpt-cta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin: 32px 0 0;
	padding: 26px 30px;
	border-radius: var(--rpt-radius);
	background: var(--rpt-navy);
}

.rpt-cta strong {
	display: block;
	margin-bottom: 4px;
	font-size: 12px;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: var(--rpt-accent);
}

.rpt-cta span {
	font-size: 20px;
	color: #fff;
}

/* ---------------------------------------------------------------- */
/* Responsive                                                        */
/* ---------------------------------------------------------------- */
@media (max-width: 767px) {
	.rpt-hero {
		padding: 120px 0 40px;
	}

	.rpt-section {
		padding: 44px 0;
	}

	.rpt-wrap {
		padding: 0 16px;
	}

	.rpt-hero__meta {
		flex-direction: column;
		gap: 14px;
	}

	.rpt-report p {
		font-size: 16px;
	}

	.rpt-lead,
	.rpt-report p.rpt-lead {
		font-size: 18px;
	}

	.rpt-questions {
		grid-template-columns: 1fr;
	}

	/* Tables collapse into stacked cards. */
	.rpt-table-wrap {
		border: 0;
		background: transparent;
	}

	.rpt-table thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
	}

	.rpt-table,
	.rpt-table tbody,
	.rpt-table tr,
	.rpt-table td {
		display: block;
		width: 100%;
	}

	.rpt-table tr {
		margin-bottom: 14px;
		border: 1px solid var(--rpt-border);
		border-radius: var(--rpt-radius);
		background: #fff;
		overflow: hidden;
	}

	.rpt-table td,
	.rpt-table--evidence td:first-child {
		width: 100%;
		border-top: 0;
		border-bottom: 1px solid var(--rpt-border);
		background: #fff !important;
	}

	.rpt-table td:last-child {
		border-bottom: 0;
	}

	.rpt-table td::before {
		content: attr(data-label);
		display: block;
		margin-bottom: 3px;
		font-size: 12px;
		font-weight: 600;
		letter-spacing: 0.6px;
		text-transform: uppercase;
		color: #7d8595;
	}

	.rpt-cta {
		padding: 22px 20px;
	}

	.rpt-btn {
		width: 100%;
		text-align: center;
	}
}

@media print {
	.rpt-nav,
	.rpt-btn {
		display: none;
	}

	.rpt-hero {
		padding-top: 32px;
	}
}

/* ================================================================ */
/* Dashboard layout (v2): left sidebar nav + card sections           */
/* The sidebar replaces the old horizontal .rpt-nav tab strip.       */
/* ================================================================ */
.rpt-report {
	background: #f4f7fa;
}

.rpt-hero .rpt-wrap {
	max-width: 1320px;
}

.rpt-layout {
	width: 100%;
	max-width: 1320px;
	margin: 0 auto;
	padding: 32px 24px 72px;
}

.rpt-layout--sidebar {
	display: grid;
	grid-template-columns: 272px minmax(0, 1fr);
	gap: 32px;
	align-items: start;
}

.rpt-main {
	min-width: 0;
}

/* Sidebar ---------------------------------------------------------- */
.rpt-sidebar {
	position: sticky;
	top: 140px;
	max-height: calc(100vh - 170px);
	overflow-y: auto;
	border: 1px solid var(--rpt-border);
	border-radius: var(--rpt-radius);
	background: #fff;
}

.rpt-sidebar__inner {
	padding: 20px 14px 16px;
}

.rpt-report p.rpt-sidebar__label {
	margin: 0 0 10px !important;
	padding: 0 10px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1.2px;
	line-height: 1.4;
	text-transform: uppercase;
	color: #7d8595;
}

.rpt-sidebar__toggle {
	display: none;
}

.rpt-sidebar__nav ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.rpt-sidebar__nav li {
	margin: 0 0 2px;
}

.rpt-report .rpt-sidebar__nav li a {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 10px;
	border-left: 3px solid transparent;
	border-radius: 6px;
	font-size: 14.5px;
	font-weight: 500;
	line-height: 1.4;
	color: var(--rpt-text);
	text-decoration: none;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.rpt-sidebar__num {
	flex: 0 0 auto;
	min-width: 20px;
	font-family: var(--font-hurme-thd, inherit);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.6;
	color: #8fa7bd;
}

.rpt-report .rpt-sidebar__nav li a:hover,
.rpt-report .rpt-sidebar__nav li a:focus-visible {
	background: var(--rpt-surface);
	color: var(--rpt-heading);
}

.rpt-report .rpt-sidebar__nav li a.is-active {
	border-left-color: var(--rpt-accent);
	background: var(--rpt-tint);
	color: var(--rpt-heading);
	font-weight: 600;
}

.rpt-sidebar__nav li a.is-active .rpt-sidebar__num {
	color: var(--rpt-accent-dark);
}

.rpt-sidebar__card {
	margin-top: 16px;
	padding: 16px;
	border-radius: var(--rpt-radius);
	background: var(--rpt-surface);
	border: 1px solid var(--rpt-border);
}

.rpt-sidebar__card strong {
	display: block;
	font-size: 15px;
	color: var(--rpt-heading);
}

.rpt-sidebar__card span {
	display: block;
	margin: 2px 0 14px;
	font-size: 13px;
	color: #7d8595;
}

.rpt-btn--block,
.rpt-report a.rpt-btn--block {
	display: flex;
	width: 100%;
}

/* Sections become dashboard cards ----------------------------------- */
.rpt-section,
.rpt-section--summary,
.rpt-section--context,
.rpt-section--opportunities,
.rpt-section--questions,
.rpt-section--evidence,
.rpt-section--conclusion {
	margin: 0 0 24px;
	padding: 32px 36px;
	border: 1px solid var(--rpt-border);
	border-radius: 12px;
	background: #fff;
	scroll-margin-top: 140px;
}

.rpt-section--conclusion {
	margin-bottom: 0;
	background: var(--rpt-tint);
	border-color: #bfe3f7;
}

.rpt-section .rpt-wrap {
	max-width: none;
	padding: 0;
}

.rpt-section__head {
	margin-bottom: 24px;
}

.rpt-report .rpt-section--summary .rpt-callout {
	max-width: none;
}

/* 4 opportunities -> clean 2x2 instead of 3 + 1 orphan. */
.rpt-cards--opportunities {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rpt-card {
	background: var(--rpt-surface);
}

.rpt-section--context .rpt-card {
	background: var(--rpt-surface);
}

/* Tablet / mobile: sidebar becomes a collapsible "Report contents" bar */
@media (max-width: 991px) {
	.rpt-layout--sidebar {
		display: block;
		padding-top: 20px;
	}

	.rpt-sidebar {
		position: static;
		max-height: none;
		margin-bottom: 20px;
		overflow: visible;
	}

	.rpt-sidebar__inner {
		padding: 0;
	}

	.rpt-report p.rpt-sidebar__label {
		display: none;
	}

	.rpt-sidebar__nav {
		padding: 8px 12px 14px;
	}

	.rpt-js .rpt-sidebar__toggle {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		padding: 15px 18px;
		border: 0;
		border-radius: var(--rpt-radius);
		background: transparent;
		font-family: var(--font-hurme-thd, inherit);
		font-size: 15px;
		font-weight: 600;
		color: var(--rpt-heading);
		cursor: pointer;
	}

	.rpt-sidebar__toggle:focus-visible {
		outline: 3px solid var(--rpt-accent);
		outline-offset: -3px;
	}

	.rpt-sidebar__chevron {
		width: 9px;
		height: 9px;
		border-right: 2px solid var(--rpt-heading);
		border-bottom: 2px solid var(--rpt-heading);
		transform: rotate(45deg);
		transition: transform 0.15s ease;
	}

	.rpt-sidebar.is-open .rpt-sidebar__chevron {
		transform: rotate(-135deg);
	}

	.rpt-js .rpt-sidebar__nav {
		display: none;
		border-top: 1px solid var(--rpt-border);
	}

	.rpt-js .rpt-sidebar.is-open .rpt-sidebar__nav {
		display: block;
	}
}

@media (max-width: 767px) {
	.rpt-layout {
		padding: 16px 12px 48px;
	}

	.rpt-section,
	.rpt-section--summary,
	.rpt-section--context,
	.rpt-section--opportunities,
	.rpt-section--questions,
	.rpt-section--evidence,
	.rpt-section--conclusion {
		padding: 22px 18px;
		margin-bottom: 16px;
		scroll-margin-top: 90px;
	}

	.rpt-cards--opportunities {
		grid-template-columns: 1fr;
	}

	.rpt-hero .rpt-wrap {
		padding: 0 16px;
	}
}

@media print {
	.rpt-sidebar {
		display: none;
	}

	.rpt-layout--sidebar {
		display: block;
	}
}

/* Sections receive programmatic focus after a sidebar jump (accessibility);
   no visible ring needed on the card itself. */
.rpt-section:focus {
	outline: none;
}

/* ================================================================ */
/* Hero v2: two columns with a "Report at a glance" card             */
/* ================================================================ */
.rpt-hero__grid--glance {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 400px;
	gap: 56px;
	align-items: center;
}

.rpt-hero__main {
	min-width: 0;
}

.rpt-glance {
	padding: 26px 28px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-top: 3px solid var(--rpt-accent);
	border-radius: 12px;
	background: #0b2c47;
}

.rpt-report .rpt-glance p {
	margin: 0 !important;
}

.rpt-report .rpt-glance__label {
	font-size: 12px !important;
	font-weight: 700;
	letter-spacing: 1.4px !important;
	line-height: 1.4 !important;
	text-transform: uppercase;
	color: var(--rpt-accent) !important;
}

.rpt-report .rpt-glance__company {
	margin-top: 6px !important;
	padding-bottom: 18px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.14);
	font-family: var(--font-hurme-thd, inherit);
	font-size: 22px !important;
	font-weight: 600;
	line-height: 1.3 !important;
	color: #fff !important;
}

.rpt-glance__stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px 20px;
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
}

.rpt-glance__stats li {
	margin: 0;
}

.rpt-glance__stats strong {
	display: block;
	font-family: var(--font-hurme-thd, inherit);
	font-size: 32px;
	font-weight: 700;
	line-height: 1.1;
	color: #fff;
}

.rpt-glance__stats span {
	display: block;
	margin-top: 4px;
	font-size: 13px;
	line-height: 1.35;
	color: #a9bccf;
}

.rpt-glance__status {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 14px;
	margin: 20px 0 0;
	padding: 16px 0 0;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
	list-style: none;
	font-size: 13px;
	font-weight: 600;
	color: #fff;
}

.rpt-glance__status li {
	margin: 0;
}

.rpt-glance__next {
	margin-top: 18px;
	padding: 14px 16px;
	border-left: 3px solid var(--rpt-accent);
	border-radius: 0 8px 8px 0;
	background: rgba(255, 255, 255, 0.06);
}

.rpt-glance__next span {
	display: block;
	margin-bottom: 4px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: #8fa7bd;
}

.rpt-report .rpt-glance__next p {
	font-size: 14.5px !important;
	line-height: 1.55 !important;
	color: #e3ecf4 !important;
}

@media (max-width: 1100px) {
	.rpt-hero__grid--glance {
		grid-template-columns: minmax(0, 1fr) 340px;
		gap: 36px;
	}
}

@media (max-width: 991px) {
	.rpt-hero__grid--glance {
		grid-template-columns: 1fr;
		gap: 32px;
		align-items: start;
	}

	.rpt-glance {
		max-width: 560px;
	}
}

@media (max-width: 767px) {
	.rpt-glance {
		max-width: none;
		padding: 20px 18px;
	}

	.rpt-glance__stats strong {
		font-size: 28px;
	}
}

/* ================================================================ */
/* Compact mobile / tablet hero (v3)                                 */
/* Goal: at ~390px the "Report contents" bar and the start of the    */
/* Executive Summary are visible without scrolling past the hero.    */
/* Desktop (>= 992px) is untouched. All report fields are kept; only */
/* the generic eyebrow label, subtitle and "at a glance" card are    */
/* hidden on phones (their facts live in the sections below).        */
/* ================================================================ */
@media (max-width: 991px) {
	.rpt-hero {
		padding: 112px 0 32px;
		border-bottom-width: 3px;
	}
}

@media (max-width: 767px) {
	.rpt-hero {
		padding: 84px 0 18px;
	}

	.rpt-hero__eyebrow,
	.rpt-hero__subtitle,
	.rpt-glance {
		display: none;
	}

	.rpt-hero__grid--glance {
		display: block;
	}

	.rpt-hero__title {
		margin: 0 0 12px;
		font-size: 21px;
		line-height: 1.3;
	}

	.rpt-hero__meta {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px 16px;
		margin: 0 0 14px;
		padding: 12px 0 0;
	}

	.rpt-hero__meta dt {
		margin-bottom: 1px;
		font-size: 10px;
	}

	.rpt-hero__meta dd {
		font-size: 14px;
		line-height: 1.35;
		overflow-wrap: anywhere;
	}

	.rpt-layout--sidebar {
		padding-top: 12px;
	}

	.rpt-sidebar {
		margin-bottom: 12px;
	}

	.rpt-js .rpt-sidebar__toggle {
		padding: 13px 16px;
	}
}

/* Tablet (768-991px): turn the stacked glance card into a slim stat strip
   so the Report contents bar stays near the top. Phones hide it entirely. */
@media (max-width: 991px) {
	.rpt-glance {
		max-width: none;
		padding: 16px 20px;
	}

	.rpt-report .rpt-glance__company,
	.rpt-glance__next {
		display: none;
	}

	.rpt-report .rpt-glance__label {
		margin-bottom: 2px !important;
	}

	.rpt-glance__stats {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		margin-top: 12px;
		gap: 12px 16px;
	}

	.rpt-glance__stats strong {
		font-size: 24px;
	}

	.rpt-glance__status {
		margin-top: 12px;
		padding-top: 12px;
	}

	.rpt-hero__grid--glance {
		gap: 20px;
	}
}

/* Visual overview section (rendered [prs_visual_overview] shortcode). The
   block carries the plugin's own inline styles; just remove its outer
   spacing so it sits flush inside the section card. */
.rpt-section--visual .prs-visual-overview {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

/* ================================================================ */
/* CTA upgrade (v4): prominent sidebar CTA + fixed enquiry bar       */
/* ================================================================ */

/* Shared button polish: stronger hover / focus, 48px min height. */
.rpt-report a.rpt-btn {
	min-height: 52px;
	box-shadow: 0 4px 14px rgba(40, 178, 250, 0.35);
	transition: background-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.rpt-report a.rpt-btn:hover {
	background: #1a9fe6;
	box-shadow: 0 6px 18px rgba(40, 178, 250, 0.45);
	transform: translateY(-1px);
}

.rpt-report a.rpt-btn:focus-visible {
	outline: 3px solid var(--rpt-navy) !important;
	outline-offset: 3px;
	box-shadow: 0 0 0 6px rgba(40, 178, 250, 0.5);
}

.rpt-hero a.rpt-btn:focus-visible {
	outline-color: #fff !important;
}

/* Sidebar card: clearer hierarchy + a full-width, high-contrast button. */
.rpt-sidebar__card {
	padding: 18px 16px 16px;
	border-top: 3px solid var(--rpt-accent);
	background: var(--rpt-tint);
	border-color: #bfe3f7;
	border-top-color: var(--rpt-accent);
}

.rpt-sidebar__card strong {
	font-family: var(--font-hurme-thd, inherit);
	font-size: 17px;
	line-height: 1.3;
}

.rpt-sidebar__card span {
	margin: 4px 0 18px;
	font-size: 13px;
	color: #5b6b7e;
}

.rpt-report .rpt-sidebar__card a.rpt-btn--block {
	display: flex;
	width: 100%;
}

/* Desktop: keep the CTA card pinned at the bottom of the sticky sidebar and
   let only the section list scroll, so the CTA is never clipped. */
@media (min-width: 992px) {
	.rpt-sidebar {
		display: flex;
		flex-direction: column;
		overflow: hidden;
	}

	.rpt-sidebar__inner {
		display: flex;
		flex: 1 1 auto;
		flex-direction: column;
		min-height: 0;
		overflow: hidden;
	}

	.rpt-sidebar__nav {
		display: flex;
		flex: 1 1 auto;
		flex-direction: column;
		min-height: 0;
	}

	.rpt-sidebar__nav ul {
		flex: 1 1 auto;
		min-height: 0;
		overflow-y: auto;
		overscroll-behavior: contain;
	}

	.rpt-sidebar__card {
		flex: 0 0 auto;
	}
}

/* Fixed enquiry bar: phones + tablets (where the sidebar is collapsed). */
.rpt-mobile-cta {
	display: none;
}

@media (max-width: 991px) {
	.rpt-mobile-cta {
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 90; /* under the site header / menu (99) and back-to-top (1000) */
		display: block;
		padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px));
		border-top: 1px solid var(--rpt-border);
		background: rgba(255, 255, 255, 0.97);
		box-shadow: 0 -4px 16px rgba(2, 27, 47, 0.12);
	}

	.rpt-report a.rpt-btn--mobile {
		display: flex;
		width: 100%;
	}

	/* Room so the bar never covers the last content or the footer. */
	body.single-prs_report {
		padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px));
	}

	/* Lift the site's back-to-top button above the bar. */
	body.single-prs_report #backtotop {
		bottom: calc(88px + env(safe-area-inset-bottom, 0px));
	}
}

@media (max-width: 360px) {
	.rpt-mobile-cta {
		padding-right: 12px;
		padding-left: 12px;
	}

	.rpt-report a.rpt-btn--mobile {
		padding-right: 14px;
		padding-left: 14px;
	}
}

@media print {
	.rpt-mobile-cta {
		display: none;
	}
}

/* ================================================================ */
/* Report typography + enquiry panel (scoped to prs_report pages)    */
/* ================================================================ */

/* The Prospect Report Studio plugin's inline CSS gives its Visual
   overview block "font-family: Inter" (.prs-shell / .prs-visual-v4).
   Inter is never loaded, so that block fell back to a system font while
   the rest of the report is Hurme. Same specificity-plus-one override,
   scoped to the report wrapper: body text Hurme Sans 2, headings, bold
   labels and numerals Hurme Sans 3 (the site's heading family). */
.rpt-report .prs-shell,
.rpt-report .prs-visual-v4,
.rpt-report .prs-visual-overview {
	font-family: var(--font-hurme-sec, inherit);
}

.rpt-report .prs-visual-v4 :where(h2, h3, h4, h5, h6, strong, b, [class*="number"], [class*="-num"], [class*="kicker"], [class*="eyebrow"], [class*="pill"], [class*="priority"], [class*="symbol"]) {
	font-family: var(--font-hurme-thd, inherit);
}

/* Parent theme sets `button, input, select, textarea` to the system font;
   inside the report they follow the report's own family. */
.rpt-report :where(button, input, select, textarea) {
	font-family: inherit;
}

/* Enquiry panel (#popup-form): keep its close button clear of the
   WordPress admin bar on report pages only. */
body.single-prs_report.admin-bar #popup-form .popup-content {
	top: 32px;
	height: calc(100% - 32px);
}

@media screen and (max-width: 782px) {
	body.single-prs_report.admin-bar #popup-form .popup-content {
		top: 46px;
		height: calc(100% - 46px);
	}
}

/* ================================================================ */
/* Typography system (report template only)                          */
/*                                                                   */
/* One scale drives every text role in a report, including the       */
/* plugin-rendered Visual overview block, which ships with 9-14px    */
/* text. Roles:                                                      */
/*   h2   section headings        h3  card / diagram titles          */
/*   h4   small card titles       lead  first summary paragraph      */
/*   body primary paragraphs      secondary  card / supporting text  */
/*   small  notes, table metadata   meta  legends, scores            */
/*   label  uppercase tags / eyebrows (never below 12px)             */
/* Only font-size / line-height / weight are set; colours, spacing   */
/* and layout are untouched.                                         */
/* ================================================================ */
.rpt-report {
	--rpt-fs-h2: 30px;
	--rpt-fs-h3: 20px;
	--rpt-fs-h4: 17px;
	--rpt-fs-body: 17px;
	--rpt-fs-lead: var(--rpt-fs-body); /* same size as body; set apart by colour only */
	--rpt-fs-secondary: 16px;
	--rpt-fs-small: 14px;
	--rpt-fs-meta: 13px;
	--rpt-fs-label: 12px;
	--rpt-lh-body: 1.65;
	--rpt-lh-secondary: 1.6;
	--rpt-lh-tight: 1.35;
}

@media (max-width: 991px) {
	.rpt-report {
		--rpt-fs-h2: 26px;
		--rpt-fs-h3: 19px;
		--rpt-fs-h4: 16px;
		--rpt-fs-body: 16px;
		--rpt-fs-secondary: 15px;
	}
}

@media (max-width: 767px) {
	.rpt-report {
		--rpt-fs-h2: 22px;
		--rpt-fs-h3: 18px;
		--rpt-fs-h4: 16px;
		--rpt-fs-body: 16px;
		--rpt-fs-secondary: 15px;
		--rpt-fs-small: 13px;
	}
}

/* Native report content ------------------------------------------- */
.rpt-report h2.rpt-section__title {
	font-size: var(--rpt-fs-h2);
	font-weight: 600;
	line-height: 1.25;
}

.rpt-report h3.rpt-card__title,
.rpt-report h3.rpt-subhead {
	font-size: var(--rpt-fs-h3);
	font-weight: 600;
	line-height: 1.3;
}

.rpt-report p.rpt-lead {
	font-size: var(--rpt-fs-lead);
	line-height: var(--rpt-lh-body);
}

.rpt-report .rpt-section__body > p:not(.rpt-lead),
.rpt-report .rpt-section__intro {
	font-size: var(--rpt-fs-body);
	line-height: var(--rpt-lh-body);
}

.rpt-report .rpt-card__text,
.rpt-report .rpt-table td,
.rpt-report .rpt-step__body {
	font-size: var(--rpt-fs-secondary);
	line-height: var(--rpt-lh-secondary);
}

.rpt-report .rpt-step__body,
.rpt-report .rpt-list li,
.rpt-report .rpt-questions li {
	font-size: var(--rpt-fs-body);
	line-height: var(--rpt-lh-body);
}

.rpt-report .rpt-legend li,
.rpt-report .rpt-callout p {
	font-size: var(--rpt-fs-small);
}

.rpt-report .rpt-callout p {
	font-size: var(--rpt-fs-secondary);
	line-height: var(--rpt-lh-secondary);
}

.rpt-report .rpt-sidebar__text {
	font-size: var(--rpt-fs-secondary);
	line-height: var(--rpt-lh-tight);
}

/* Hero meta labels: the compact mobile hero used 10px; 12px is the floor. */
.rpt-report .rpt-hero__meta dt {
	font-size: var(--rpt-fs-label);
}

/* "Report at a glance" next-step label was 11px; 12px is the floor. */
.rpt-report .rpt-glance__next span {
	font-size: var(--rpt-fs-label);
}

/* Visual overview (plugin markup, scoped to the report wrapper) ---- */
/* The plugin sets its paragraph sizes with !important, so only these
   font-size declarations need it as well. */
.rpt-report .prs-visual-v4 .prs-visual-intro p {
	font-size: var(--rpt-fs-body) !important;
	line-height: var(--rpt-lh-body);
}

.rpt-report .prs-visual-v4 .prs-swimlane-labels span,
.rpt-report .prs-visual-v4 :where(.prs-visual-eyebrow, .prs-diagram-kicker, .prs-concept-pill, .prs-node-num, .prs-opp-priority) {
	font-size: var(--rpt-fs-label);
	line-height: 1.3;
}

.rpt-report .prs-visual-v4 .prs-visual-section-head p,
.rpt-report .prs-visual-v4 .prs-visual-footnote p {
	font-size: var(--rpt-fs-small) !important;
	line-height: var(--rpt-lh-secondary);
}

.rpt-report .prs-visual-v4 .prs-journey-node strong {
	font-size: var(--rpt-fs-small);
	line-height: var(--rpt-lh-tight);
}

.rpt-report .prs-visual-v4 .prs-journey-node small {
	font-size: var(--rpt-fs-label);
	line-height: 1.35;
}

.rpt-report .prs-visual-v4 .prs-legend-item,
.rpt-report .prs-visual-v4 .prs-opportunity-card b {
	font-size: var(--rpt-fs-meta);
	line-height: 1.3;
}

.rpt-report .prs-visual-v4 .prs-opportunity-card h4 {
	font-size: var(--rpt-fs-h4);
	font-weight: 600;
	line-height: 1.3;
}

.rpt-report .prs-visual-v4 .prs-opportunity-card p,
.rpt-report .prs-visual-v4 .prs-roadmap-step p {
	font-size: var(--rpt-fs-secondary) !important;
	line-height: var(--rpt-lh-secondary);
}

.rpt-report .prs-visual-v4 .prs-roadmap-number {
	font-size: var(--rpt-fs-meta);
}

/* Robustness for any report: generated content can contain very long
   unbreakable strings (raw URLs / markdown links), which otherwise push the
   page wider than a phone. Words only break when they would overflow. */
.rpt-report .rpt-section__body {
	overflow-wrap: anywhere;
}

/* ================================================================ */
/* Square corners everywhere in a report                             */
/* The site uses square-cornered UI (e.g. the header CONTACT US      */
/* button), so every card, panel, callout, badge, pill, table, input  */
/* and step marker in a report is square. !important is needed       */
/* because the plugin's Visual overview ships its own radii.         */
/* ================================================================ */
.rpt-report,
.rpt-report *,
.rpt-report *::before,
.rpt-report *::after {
	border-radius: 0 !important;
}
