/* End custom CSS */

.elementor-10109 .elementor-element.elementor-element-5b97ae0 {
	--display: flex;
	--margin-top: 0px;
	--margin-bottom: 0px;
	--margin-left: 0px;
	--margin-right: 0px;
	--padding-top: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--padding-right: 0px;
}

.elementor-10109 .elementor-element.elementor-element-5b97ae0:not(.elementor-motion-effects-element-type-background), .elementor-10109 .elementor-element.elementor-element-5b97ae0 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
	background-color: var(--e-global-color-primary);
}

/* Start custom CSS */

/* Paste this into Elementor Pro > Page Settings > Advanced > Custom CSS,
   or WordPress > Appearance > Customize > Additional CSS.
   Do not wrap it in <style> tags. */

/* ============================================================
   THE PROFIT MAP
   Bill Canady brand: black #202020 · cream #CCC3B1
                      off-white #FCFBEF · yellow #F0BC4C
   Typography: WordPress-hosted Aspekta with system fallbacks.
   ============================================================ */
:root {
	--ink: #202020;
	--cream: #ccc3b1;
	--paper: #fcfbef;
	--gold: #f0bc4c;
	--gold-dk: #8a6212;
	/* AA-compliant amber on paper (5.26:1) */
	--grey: #6b6357;
	--rule: #ded8c9;
	--panel: #f5f2e7;
	--neg: #a13544;
	--font: "Aspekta", Arial, Helvetica, sans-serif;
}

* {
	box-sizing: border-box;
}

html, body {
	margin: 0;
	padding: 0;
}

body {
	background: var(--paper);
	color: var(--ink);
	font-family: var(--font);
	font-size: 16px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
}

.wrap {
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 28px;
}

/* ---------- masthead ---------- */
header.top {
	border-bottom: 1px solid var(--rule);
	background: var(--paper);
}

header.top .wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 22px;
	padding-bottom: 22px;
	gap: 20px;
}

header.top img {
	height: 26px;
	width: auto;
	display: block;
}

header.top .tagline {
	font-size: 11.5px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--grey);
	font-weight: 600;
	text-align: right;
}

/* ---------- hero ---------- */
.hero {
	padding: 64px 0 40px;
}

.eyebrow {
	font-size: 11.5px;
	letter-spacing: .16em;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--gold-dk);
	margin-bottom: 18px;
}

h1 {
	font-size: clamp(34px, 5.2vw, 60px);
	line-height: 1.04;
	letter-spacing: -.02em;
	font-weight: 800;
	margin: 0 0 22px;
}

.lede {
	font-size: clamp(17px, 2vw, 21px);
	max-width: 62ch;
	color: var(--ink);
	margin: 0;
}

.rule {
	width: 96px;
	height: 3px;
	background: var(--gold);
	margin: 30px 0 0;
}

/* ---------- layout ---------- */
.grid {
	display: grid;
	grid-template-columns: 400px 1fr;
	gap: 52px;
	align-items: start;
	padding: 16px 0 72px;
}

@media (max-width:980px) {
	.grid {
		grid-template-columns: 1fr;
		gap: 36px;
	}
}

/* ---------- inputs ---------- */
.panel {
	background: var(--panel);
	border: 1px solid var(--rule);
	padding: 28px;
}

.panel h2 {
	font-size: 13px;
	letter-spacing: .14em;
	text-transform: uppercase;
	font-weight: 700;
	margin: 0 0 4px;
	color: var(--ink);
}

.panel .sub {
	font-size: 13.5px;
	color: var(--grey);
	margin: 0 0 24px;
}

.f {
	margin-bottom: 22px;
}

.f label {
	display: block;
	font-size: 14px;
	font-weight: 600;
	margin-bottom: 2px;
}

.f .hint {
	display: block;
	font-size: 12.5px;
	color: var(--grey);
	margin-bottom: 8px;
	line-height: 1.45;
}

.f input[type=text] {
	width: 100%;
	font-family: var(--font);
	font-size: 19px;
	font-weight: 600;
	padding: 11px 13px;
	border: 1px solid #c8c2b2;
	background: var(--paper);
	color: var(--ink);
	border-radius: 0;
}

.f input[type=text]:focus {
	outline: 2px solid var(--gold);
	outline-offset: -1px;
	border-color: var(--gold);
}

.f input[type=range] {
	width: 100%;
	accent-color: var(--gold-dk);
	margin: 6px 0 0;
}

.slideval {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-top: 4px;
}

.slideval b {
	font-size: 21px;
	font-weight: 800;
}

.slideval span {
	font-size: 12px;
	color: var(--grey);
}

details.adv {
	margin-top: 6px;
	border-top: 1px solid var(--rule);
	padding-top: 16px;
}

details.adv summary {
	cursor: pointer;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--gold-dk);
	list-style: none;
}

details.adv summary::-webkit-details-marker {
	display: none;
}

details.adv summary:before {
	content: "+ ";
	font-weight: 800;
}

details.adv[open] summary:before {
	content: "−";
}

details.adv .body {
	padding-top: 18px;
}

/* ---------- results ---------- */
.headline {
	background: var(--ink);
	color: var(--paper);
	padding: 34px 34px 30px;
}

.headline .k {
	font-size: 11.5px;
	letter-spacing: .16em;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--gold);
	margin-bottom: 12px;
}

.headline .big {
	font-size: clamp(38px, 6.4vw, 68px);
	line-height: 1;
	font-weight: 800;
	letter-spacing: -.02em;
	color: var(--gold);
}

.headline .sub {
	font-size: 15.5px;
	color: var(--cream);
	margin-top: 14px;
	max-width: 56ch;
}

.statrow {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1px;
	background: var(--rule);
	border: 1px solid var(--rule);
	border-top: 0;
}

.stat {
	background: var(--paper);
	padding: 18px 20px;
}

.stat .l {
	font-size: 10.5px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--grey);
	font-weight: 700;
}

.stat .v {
	font-size: 25px;
	font-weight: 800;
	margin-top: 5px;
	letter-spacing: -.01em;
}

.sec {
	margin-top: 52px;
}

.sec .kick {
	font-size: 11.5px;
	letter-spacing: .16em;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--gold-dk);
	margin-bottom: 8px;
}

.sec h3 {
	font-size: clamp(21px, 2.6vw, 29px);
	line-height: 1.15;
	font-weight: 800;
	margin: 0 0 6px;
	letter-spacing: -.01em;
}

.sec p.note {
	font-size: 15px;
	color: var(--ink);
	max-width: 70ch;
	margin: 10px 0 0;
}

.sec .hr {
	width: 70px;
	height: 2px;
	background: var(--ink);
	margin: 16px 0 26px;
}

/* ---------- quad 2x2 ---------- */
.quads {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}

@media (max-width:640px) {
	.quads {
		grid-template-columns: 1fr;
	}
}

.q {
	border: 1px solid var(--rule);
	padding: 20px;
	background: var(--panel);
	position: relative;
}

.q.win {
	background: var(--ink);
	color: var(--paper);
	border-color: var(--ink);
}

.q.bad {
	background: #f7ede9;
	border-color: #e0c4bb;
}

.q .qn {
	font-size: 10.5px;
	letter-spacing: .14em;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--gold-dk);
}

.q.win .qn {
	color: var(--gold);
}

.q .qt {
	font-size: 20px;
	font-weight: 800;
	margin: 5px 0 2px;
	letter-spacing: -.01em;
}

.q .qd {
	font-size: 12.5px;
	color: var(--grey);
	margin-bottom: 14px;
}

.q.win .qd {
	color: var(--cream);
}

.q .qrow {
	display: flex;
	justify-content: space-between;
	font-size: 14px;
	padding: 5px 0;
	border-top: 1px solid var(--rule);
}

.q.win .qrow {
	border-color: #3a3a3a;
}

.q .qrow b {
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.q .verdict {
	margin-top: 14px;
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--gold-dk);
}

.q.win .verdict {
	color: var(--gold);
}

.q.bad .verdict {
	color: var(--neg);
}

/* ---------- tables ---------- */
table.t {
	width: 100%;
	border-collapse: collapse;
	font-size: 14.5px;
}

table.t th {
	text-align: right;
	font-size: 10.5px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--grey);
	font-weight: 700;
	padding: 0 0 9px;
	border-bottom: 1px solid var(--ink);
}

table.t th:first-child {
	text-align: left;
}

table.t td {
	padding: 10px 0;
	border-bottom: 1px solid var(--rule);
	text-align: right;
	font-variant-numeric: tabular-nums;
}

table.t td:first-child {
	text-align: left;
}

table.t tr.tot td {
	font-weight: 800;
	border-bottom: 2px solid var(--ink);
	border-top: 1px solid var(--ink);
}

.neg {
	color: var(--neg);
}

.lbl-abbr {
	display: none;
}

@media (max-width:520px) {
	.lbl-full {
		display: none;
	}
	
	.lbl-abbr {
		display: inline;
	}
	
	table.t {
		font-size: 13px;
	}
	
	table.t th {
		font-size: 9.5px;
		letter-spacing: .06em;
	}
	
	table.t td:first-child, table.t th:first-child {
		padding-right: 8px;
	}
}

/* ---------- waterfall ---------- */
.wf {
	display: grid;
	gap: 10px;
	margin-top: 4px;
}

.wfrow {
	display: grid;
	grid-template-columns: 210px 1fr 132px;
	gap: 16px;
	align-items: center;
	font-size: 14.5px;
}

@media (max-width:640px) {
	.wfrow {
		grid-template-columns: 1fr;
		gap: 4px;
	}
}

.wfrow .lab {
	font-weight: 600;
}

.wfrow .bar {
	height: 26px;
	background: var(--rule);
	position: relative;
}

.wfrow .bar i {
	display: block;
	height: 100%;
	background: var(--gold);
}

.wfrow.total .bar i {
	background: var(--ink);
}

.wfrow .amt {
	text-align: right;
	font-weight: 800;
	font-variant-numeric: tabular-nums;
}

.wfrow.total {
	border-top: 1px solid var(--ink);
	padding-top: 12px;
	margin-top: 4px;
}

/* ---------- assumptions ---------- */
.assump {
	background: var(--panel);
	border: 1px solid var(--rule);
	padding: 22px 24px;
	margin-top: 28px;
}

.assump h4 {
	font-size: 11.5px;
	letter-spacing: .14em;
	text-transform: uppercase;
	font-weight: 700;
	margin: 0 0 12px;
	color: var(--ink);
}

.assump ul {
	margin: 0;
	padding-left: 18px;
	font-size: 13.5px;
	color: var(--grey);
	line-height: 1.7;
}

/* ---------- limits + cta ---------- */
.limits {
	border-left: 3px solid var(--gold);
	padding: 4px 0 4px 20px;
	margin-top: 30px;
}

.limits p {
	margin: 0 0 10px;
	font-size: 15px;
	max-width: 68ch;
}

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

.cta {
	background: var(--ink);
	color: var(--paper);
	padding: 44px;
	margin: 60px 0 0;
}

.cta .k {
	font-size: 11.5px;
	letter-spacing: .16em;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--gold);
	margin-bottom: 14px;
}

.cta h3 {
	font-size: clamp(23px, 3.2vw, 34px);
	line-height: 1.14;
	font-weight: 800;
	margin: 0 0 14px;
	letter-spacing: -.01em;
	color: var(--paper);
}

.cta p {
	font-size: 15.5px;
	color: var(--cream);
	max-width: 62ch;
	margin: 0 0 24px;
}

.btn {
	display: inline-block;
	background: var(--gold);
	color: var(--ink);
	font-family: var(--font);
	font-size: 15px;
	font-weight: 800;
	letter-spacing: .02em;
	padding: 15px 30px;
	border: 0;
	cursor: pointer;
	text-decoration: none;
}

.btn:hover {
	background: #e0ac3c;
}

.btn.ghost {
	background: transparent;
	color: var(--gold);
	border: 1.5px solid var(--gold);
	margin-left: 12px;
}

.btn.ghost:hover {
	background: var(--gold);
	color: var(--ink);
}

@media (max-width:560px) {
	.btn.ghost {
		margin: 12px 0 0;
		display: block;
		text-align: center;
	}
}

footer.site {
	border-top: 1px solid var(--rule);
	margin-top: 70px;
	padding: 30px 0 46px;
	font-size: 12.5px;
	color: var(--grey);
}

footer.site .wrap {
	display: flex;
	justify-content: space-between;
	gap: 18px;
	flex-wrap: wrap;
}

.noprint {}

/* ================= PRINT REPORT ================= */
#report {
	display: none;
}

@media screen {
	#report {
		display: none !important;
	}
}

@media print {
	@page {
		size: Letter;
		margin: 0;
	}
	
	html, body {
		background: #fff !important;
	}
	
	body > header.top, body > main, body > footer.site {
		display: none !important;
	}
	
	#report {
		display: block !important;
	}
	
	.rpage {
		position: relative;
		width: 215.9mm;
		height: 279.4mm;
		padding: 16mm 18mm 14mm;
		background: var(--paper);
		page-break-after: always;
		break-after: page;
		overflow: hidden;
		font-family: var(--font);
		color: var(--ink);
	}
	
	.rpage:last-child {
		page-break-after: auto;
		break-after: auto;
	}
	
	.rhead {
		display: flex;
		align-items: center;
		justify-content: space-between;
		border-bottom: .6pt solid var(--rule);
		padding-bottom: 3.2mm;
		margin-bottom: 8mm;
	}
	
	.rhead img {
		height: 5.4mm;
		width: auto;
	}
	
	.rhead .rh-sec {
		font-size: 7.6pt;
		letter-spacing: .14em;
		text-transform: uppercase;
		font-weight: 700;
		color: var(--gold-dk);
	}
	
	.rfoot {
		position: absolute;
		left: 18mm;
		right: 18mm;
		bottom: 10mm;
		display: flex;
		justify-content: space-between;
		font-size: 7.4pt;
		color: var(--grey);
		border-top: .6pt solid var(--rule);
		padding-top: 2.4mm;
	}
	
	.r-kick {
		font-size: 7.6pt;
		letter-spacing: .15em;
		text-transform: uppercase;
		font-weight: 700;
		color: var(--gold-dk);
		margin-bottom: 1.6mm;
	}
	
	.r-h2 {
		font-size: 19pt;
		line-height: 1.12;
		font-weight: 800;
		letter-spacing: -.01em;
		margin: 0;
	}
	
	.r-h3 {
		font-size: 11.5pt;
		font-weight: 800;
		margin: 0 0 1.6mm;
	}
	
	.r-p {
		font-size: 9.2pt;
		line-height: 1.5;
		margin: 2.5mm 0 0;
	}
	
	.r-sm {
		font-size: 7.8pt;
		line-height: 1.45;
		color: var(--grey);
	}
	
	.r-rule {
		width: 22mm;
		height: .9mm;
		background: var(--gold);
		margin: 4mm 0 6mm;
	}
	
	/* cover */
	.rcover {
		padding: 0;
	}
	
	.cv-top {
		background: var(--ink);
		color: var(--paper);
		padding: 16mm 18mm 14mm;
	}
	
	.cv-top img {
		height: 7.2mm;
		width: auto;
		margin-bottom: 16mm;
	}
	
	.cv-kick {
		font-size: 8pt;
		letter-spacing: .18em;
		text-transform: uppercase;
		font-weight: 700;
		color: var(--gold);
		margin-bottom: 5mm;
	}
	
	.cv-title {
		font-size: 33pt;
		line-height: 1.04;
		font-weight: 800;
		letter-spacing: -.02em;
		margin: 0 0 7mm;
		color: var(--paper);
	}
	
	.cv-sub {
		font-size: 10.5pt;
		color: var(--cream);
		max-width: 135mm;
		margin: 0;
	}
	
	.cv-body {
		padding: 12mm 18mm 0;
	}
	
	.cv-figbox {
		border: 1.1pt solid var(--gold);
		padding: 7mm 8mm;
		margin-bottom: 9mm;
	}
	
	.cv-figlab {
		font-size: 8pt;
		letter-spacing: .15em;
		text-transform: uppercase;
		font-weight: 700;
		color: var(--gold-dk);
		margin-bottom: 2.5mm;
	}
	
	.cv-fig {
		font-size: 40pt;
		line-height: 1;
		font-weight: 800;
		letter-spacing: -.02em;
		color: var(--ink);
	}
	
	.cv-fignote {
		font-size: 9pt;
		line-height: 1.45;
		margin-top: 4mm;
		color: var(--ink);
	}
	
	.cv-stats {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: 5mm;
	}
	
	.cv-stat .l {
		font-size: 7pt;
		letter-spacing: .1em;
		text-transform: uppercase;
		color: var(--grey);
		font-weight: 700;
		margin-bottom: 1.4mm;
	}
	
	.cv-stat .v {
		font-size: 14pt;
		font-weight: 800;
	}
	
	.cv-foot {
		position: absolute;
		left: 18mm;
		right: 18mm;
		bottom: 12mm;
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
	}
	
	.cv-belief {
		font-size: 9pt;
		font-weight: 700;
		line-height: 1.4;
	}
	
	.cv-meta {
		font-size: 7.6pt;
		color: var(--grey);
		text-align: right;
	}
	
	/* quad grid in print */
	.rquads {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 5mm;
	}
	
	.rq {
		border: .7pt solid var(--rule);
		padding: 5mm;
		background: var(--panel);
	}
	
	.rq.win {
		background: var(--ink);
		color: var(--paper);
		border-color: var(--ink);
	}
	
	.rq.bad {
		background: #f7ede9;
		border-color: #e0c4bb;
	}
	
	.rq .n {
		font-size: 6.8pt;
		letter-spacing: .12em;
		text-transform: uppercase;
		font-weight: 700;
		color: var(--gold-dk);
	}
	
	.rq.win .n {
		color: var(--gold);
	}
	
	.rq .t {
		font-size: 12.5pt;
		font-weight: 800;
		margin: 1mm 0 .6mm;
	}
	
	.rq .d {
		font-size: 7.8pt;
		color: var(--grey);
		margin-bottom: 3mm;
	}
	
	.rq.win .d {
		color: var(--cream);
	}
	
	.rq .row {
		display: flex;
		justify-content: space-between;
		font-size: 8.6pt;
		padding: 1.3mm 0;
		border-top: .5pt solid var(--rule);
	}
	
	.rq.win .row {
		border-color: #3a3a3a;
	}
	
	.rq .row b {
		font-weight: 700;
	}
	
	.rq .v {
		margin-top: 3mm;
		font-size: 7.6pt;
		font-weight: 700;
		letter-spacing: .06em;
		text-transform: uppercase;
		color: var(--gold-dk);
	}
	
	.rq.win .v {
		color: var(--gold);
	}
	
	.rq.bad .v {
		color: var(--neg);
	}
	
	table.rt {
		width: 100%;
		border-collapse: collapse;
		font-size: 9pt;
	}
	
	table.rt th {
		text-align: right;
		font-size: 6.9pt;
		letter-spacing: .1em;
		text-transform: uppercase;
		color: var(--grey);
		font-weight: 700;
		padding: 0 0 2mm;
		border-bottom: .7pt solid var(--ink);
	}
	
	table.rt th:first-child {
		text-align: left;
	}
	
	table.rt td {
		padding: 2.1mm 0;
		border-bottom: .5pt solid var(--rule);
		text-align: right;
	}
	
	table.rt td:first-child {
		text-align: left;
	}
	
	table.rt tr.tot td {
		font-weight: 800;
		border-bottom: 1.1pt solid var(--ink);
		border-top: .7pt solid var(--ink);
	}
	
	.rwf {
		margin-top: 2mm;
	}
	
	.rwfrow {
		display: grid;
		grid-template-columns: 52mm 1fr 26mm;
		gap: 5mm;
		align-items: center;
		font-size: 9pt;
		margin-bottom: 3mm;
	}
	
	.rwfrow .lab {
		font-weight: 700;
	}
	
	.rwfrow .lab i {
		display: block;
		font-style: normal;
		font-weight: 400;
		font-size: 7.6pt;
		color: var(--grey);
	}
	
	.rwfrow .bar {
		height: 5.5mm;
		background: var(--rule);
	}
	
	.rwfrow .bar i {
		display: block;
		height: 100%;
		background: var(--gold);
	}
	
	.rwfrow.tot .bar i {
		background: var(--ink);
	}
	
	.rwfrow .amt {
		text-align: right;
		font-weight: 800;
	}
	
	.rwfrow.tot {
		border-top: .7pt solid var(--ink);
		padding-top: 3mm;
	}
	
	.rbox {
		border: .8pt solid var(--gold);
		border-left-width: 2.4pt;
		padding: 4mm 5mm;
		margin-top: 5mm;
		background: #fdf8ec;
	}
	
	.rbox .h {
		font-size: 7.4pt;
		letter-spacing: .13em;
		text-transform: uppercase;
		font-weight: 700;
		color: var(--gold-dk);
		margin-bottom: 2mm;
	}
	
	.rbox p {
		font-size: 8.8pt;
		line-height: 1.5;
		margin: 0 0 2mm;
	}
	
	.rbox p:last-child {
		margin-bottom: 0;
	}
	
	.rfill {
		background: var(--panel);
		border: .7pt solid var(--rule);
		padding: 5mm;
	}
	
	.rlist {
		margin: 0;
		padding-left: 4.5mm;
		font-size: 8.4pt;
		line-height: 1.62;
		color: var(--ink);
	}
	
	.rlist li {
		margin-bottom: 1.4mm;
	}
	
	.rgloss {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 2.9mm 7mm;
		margin-top: 5mm;
	}
	
	.rgi {
		break-inside: avoid;
		padding-bottom: 2.2mm;
		border-bottom: .5pt solid var(--rule);
	}
	
	.rgi .gt {
		font-size: 8.6pt;
		font-weight: 800;
		margin-bottom: .7mm;
	}
	
	.rgi .gd {
		font-size: 7.5pt;
		line-height: 1.4;
		color: var(--ink);
	}
	
	.rsteps {
		counter-reset: s;
	}
	
	.rstep {
		display: grid;
		grid-template-columns: 9mm 1fr;
		gap: 4mm;
		margin-bottom: 5mm;
	}
	
	.rstep .no {
		font-size: 15pt;
		font-weight: 800;
		color: var(--gold-dk);
		line-height: 1;
	}
	
	.rstep .tt {
		font-size: 10.5pt;
		font-weight: 800;
		margin-bottom: 1mm;
	}
	
	.rstep .dd {
		font-size: 8.6pt;
		line-height: 1.48;
		color: var(--ink);
	}
	
	.rcta {
		background: var(--ink);
		color: var(--paper);
		padding: 8mm;
		margin-top: 9mm;
	}
	
	.rcta .k {
		font-size: 7.4pt;
		letter-spacing: .15em;
		text-transform: uppercase;
		font-weight: 700;
		color: var(--gold);
		margin-bottom: 2.5mm;
	}
	
	.rcta h4 {
		font-size: 14pt;
		line-height: 1.15;
		font-weight: 800;
		margin: 0 0 3mm;
		color: var(--paper);
	}
	
	.rcta p {
		font-size: 8.8pt;
		color: var(--cream);
		margin: 0 0 3mm;
		max-width: 140mm;
	}
	
	.rcta .u {
		font-size: 11pt;
		font-weight: 800;
		color: var(--gold);
	}
	
	.rdisc {
		font-size: 6.9pt;
		line-height: 1.45;
		color: var(--grey);
		margin-top: 5mm;
	}
}

/* ============================================================
   WORDPRESS / ELEMENTOR DARK-SURFACE INTEGRATION
   These scoped rules prevent the active WordPress theme from
   turning dark-surface copy black. The printed report keeps its
   original light paper treatment for legibility.
   ============================================================ */
#profit-map-tool {
	--pm-surface: #292929;
	--pm-surface-2: #32312e;
	--pm-border: #5a554c;
	--pm-muted: #ccc3b1;
	--pm-danger-bg: #342126;
	--pm-danger: #ff9eaa;
	background: var(--ink);
	color: var(--paper);
	--font: "Aspekta", Arial, Helvetica, sans-serif;
	font-family: var(--font) !important;
	width: 100%;
}

#profit-map-tool *, #profit-map-tool input, #profit-map-tool button, #profit-map-tool select, #profit-map-tool textarea {
	font-family: var(--font) !important;
}

#profit-map-tool > main, #profit-map-tool > footer.site {
	background: var(--ink);
	color: var(--paper);
}

#profit-map-tool h1, #profit-map-tool .lede, #profit-map-tool .sec h3, #profit-map-tool .sec p.note, #profit-map-tool .limits p, #profit-map-tool table.t td, #profit-map-tool .wfrow .lab, #profit-map-tool .wfrow .amt {
	color: var(--paper);
}

#profit-map-tool .eyebrow, #profit-map-tool .sec .kick {
	color: var(--gold);
}

#profit-map-tool .sec .hr {
	background: var(--paper);
}

#profit-map-tool table.t th {
	color: var(--cream);
	border-bottom-color: var(--cream);
}

#profit-map-tool table.t th {
	padding: 12px 14px;
}

#profit-map-tool table.t td {
	padding: 12px 14px;
	border-bottom-color: #514e47;
}

#profit-map-tool table.t th:first-child, #profit-map-tool table.t td:first-child {
	padding-left: 0;
}

#profit-map-tool table.t th:last-child, #profit-map-tool table.t td:last-child {
	padding-right: 0;
}

#profit-map-tool table.t tr.tot td {
	border-color: var(--cream);
}

#profit-map-tool .wfrow .bar {
	background: #514e47;
}

#profit-map-tool .wfrow .lab span {
	color: var(--cream) !important;
}

#profit-map-tool .wfrow.total {
	border-top-color: var(--cream);
}

/* Dark card system: same hierarchy as the original light design. */
#profit-map-tool .panel, #profit-map-tool .stat, #profit-map-tool .q:not(.win), #profit-map-tool .assump {
	background: var(--pm-surface);
	border-color: var(--pm-border);
	color: var(--paper);
}

#profit-map-tool .headline {
	background: #151515;
}

#profit-map-tool .statrow {
	background: var(--pm-border);
	border-color: var(--pm-border);
}

#profit-map-tool .q.win {
	background: #151515;
	border-color: var(--gold);
}

#profit-map-tool .q.bad {
	background: var(--pm-danger-bg);
	border-color: #75444d;
}

#profit-map-tool .panel h2, #profit-map-tool .panel label, #profit-map-tool .stat .v, #profit-map-tool .q:not(.win) .qt, #profit-map-tool .q:not(.win) .qrow, #profit-map-tool .assump h4 {
	color: var(--paper);
}

#profit-map-tool .panel .sub, #profit-map-tool .panel .hint, #profit-map-tool .q:not(.win) .qd, #profit-map-tool .stat .l, #profit-map-tool .assump ul {
	color: var(--pm-muted);
}

#profit-map-tool .q:not(.win) .qn, #profit-map-tool .q:not(.win) .verdict, #profit-map-tool details.adv summary {
	color: var(--gold);
}

#profit-map-tool .q.bad .verdict {
	color: var(--pm-danger);
}

#profit-map-tool .q:not(.win) .qrow, #profit-map-tool details.adv {
	border-color: var(--pm-border);
}

#profit-map-tool .panel input[type=text] {
	background: var(--paper);
	color: var(--ink);
}

/* Light closing card with dark copy. */
#profit-map-tool .cta {
	background: var(--paper);
	color: var(--ink);
	border: 1px solid var(--rule);
}

#profit-map-tool .cta .k {
	color: var(--gold-dk);
}

#profit-map-tool .cta h3 {
	color: var(--ink);
}

#profit-map-tool .cta p {
	color: var(--grey);
}

#profit-map-tool .cta-actions {
	display: flex !important;
	flex-flow: row nowrap !important;
	align-items: center;
	gap: 16px;
}

/* Beat theme-level button rules without affecting site buttons. */
#profit-map-tool .btn {
	border-radius: 999px;
	line-height: 1.2;
	text-transform: none;
	box-shadow: none;
}

#profit-map-tool .cta .btn, #profit-map-tool .cta .btn:visited, #profit-map-tool .cta .btn:focus, #profit-map-tool .cta .btn:active {
	display: inline-flex !important;
	flex: 1 1 0;
	align-items: center;
	justify-content: center;
	width: 0;
	min-width: 0;
	min-height: 54px;
	margin: 0 !important;
	padding: 15px 22px !important;
	font-family: var(--font) !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	letter-spacing: .02em !important;
	text-align: center;
	background: var(--ink) !important;
	color: var(--paper) !important;
	border: 1.5px solid var(--ink) !important;
	text-decoration: none !important;
	white-space: nowrap;
}

#profit-map-tool .cta .btn + .btn {
	margin-left: 0 !important;
}

#profit-map-tool .cta .btn:first-child {
	flex-grow: 1.7;
}

#profit-map-tool .cta .btn.ghost {
	flex-grow: .8;
}

#profit-map-tool .cta .btn.ghost, #profit-map-tool .cta .btn.ghost:visited, #profit-map-tool .cta .btn.ghost:focus, #profit-map-tool .cta .btn.ghost:active {
	background: transparent !important;
	color: var(--ink) !important;
	border-color: var(--ink) !important;
}

#profit-map-tool .cta .btn:hover {
	background: var(--gold) !important;
	color: var(--ink) !important;
	border-color: var(--gold) !important;
}

#profit-map-tool .cta .btn:focus-visible {
	outline: 3px solid var(--gold) !important;
	outline-offset: 3px;
}

@media (max-width:560px) {
	#profit-map-tool .cta-actions {
		gap: 8px;
	}
	
	#profit-map-tool .cta .btn {
		padding: 12px 14px !important;
		min-height: 48px;
		font-size: 12px !important;
	}
}

#profit-map-tool footer.site {
	color: var(--cream);
}

/* The five-page report is created by JavaScript only for the print job,
   keeping hundreds of hidden elements out of the Elementor editor. */
@media print {
	body.pm-profit-map-report-print > *:not(#report) {
		display: none !important;
	}
	
	body.pm-profit-map-report-print #report {
		display: block !important;
		position: static !important;
		width: 100%;
		margin: 0 !important;
	}
	
	body.pm-profit-map-report-print #report .rpage {
		background: #fff !important;
		color: var(--ink) !important;
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}
	
	body.pm-profit-map-report-print #report .cv-top {
		background: #fff !important;
		color: var(--ink) !important;
		border-bottom: 1.2pt solid var(--gold);
	}
	
	body.pm-profit-map-report-print #report .cv-top img {
		filter: brightness(0);
	}
	
	body.pm-profit-map-report-print #report .cv-title, body.pm-profit-map-report-print #report .cv-sub {
		color: var(--ink) !important;
	}
	
	body.pm-profit-map-report-print #report .cv-sub {
		color: #514e47 !important;
	}
	
	body.pm-profit-map-report-print #report .rq.win {
		background: var(--panel) !important;
		color: var(--ink) !important;
		border-color: var(--gold) !important;
	}
	
	body.pm-profit-map-report-print #report .rq.win .n, body.pm-profit-map-report-print #report .rq.win .v {
		color: var(--gold-dk) !important;
	}
	
	body.pm-profit-map-report-print #report .rq.win .d {
		color: var(--grey) !important;
	}
	
	body.pm-profit-map-report-print #report .rq.win .row {
		border-color: var(--rule) !important;
	}
	
	body.pm-profit-map-report-print #report .rcta {
		background: var(--panel) !important;
		color: var(--ink) !important;
		border-left: 2.4pt solid var(--gold);
	}
	
	body.pm-profit-map-report-print #report .rcta h4, body.pm-profit-map-report-print #report .rcta p {
		color: var(--ink) !important;
	}
	
	body.pm-profit-map-report-print #report .rcta .u {
		color: var(--gold-dk) !important;
	}
}
