/* End custom CSS */

.elementor-widget-container .eael-protected-content-message {
	font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
	font-weight: var(--e-global-typography-secondary-font-weight);
}

.elementor-widget-container .protected-content-error-msg {
	font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
	font-weight: var(--e-global-typography-secondary-font-weight);
}

.elementor-12712 .elementor-element.elementor-element-b18f20d {
	--display: flex;
	--flex-direction: column;
	--container-widget-width: calc(( 1 - var(--container-widget-flex-grow) ) * 100%);
	--container-widget-height: initial;
	--container-widget-flex-grow: 0;
	--container-widget-align-self: initial;
	--flex-wrap-mobile: wrap;
	--align-items: stretch;
	--gap: 10px 10px;
	--row-gap: 10px;
	--column-gap: 10px;
}

.elementor-widget-text-editor .eael-protected-content-message {
	font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
	font-weight: var(--e-global-typography-secondary-font-weight);
}

.elementor-widget-text-editor .protected-content-error-msg {
	font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
	font-weight: var(--e-global-typography-secondary-font-weight);
}

.elementor-widget-text-editor {
	font-family: var(--e-global-typography-text-font-family), Sans-serif;
	font-weight: var(--e-global-typography-text-font-weight);
	color: var(--e-global-color-text);
}

.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap {
	background-color: var(--e-global-color-primary);
}

.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap {
	color: var(--e-global-color-primary);
	border-color: var(--e-global-color-primary);
}

.elementor-12712 .elementor-element.elementor-element-384a49c {
	font-family: "Poppins", Sans-serif;
	font-weight: 400;
}

.elementor-widget-html .eael-protected-content-message {
	font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
	font-weight: var(--e-global-typography-secondary-font-weight);
}

.elementor-widget-html .protected-content-error-msg {
	font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
	font-weight: var(--e-global-typography-secondary-font-weight);
}

.elementor-12712 .elementor-element.elementor-element-407736f {
	font-family: "Poppins", Sans-serif;
	font-weight: 400;
}

.elementor-12712 .elementor-element.elementor-element-b0a4b95 {
	font-family: "Poppins", Sans-serif;
	font-weight: 400;
}

.elementor-12712 .elementor-element.elementor-element-cffd71b {
	font-family: "Poppins", Sans-serif;
	font-weight: 400;
}

@media (max-width:767px) {
	.elementor-12712 .elementor-element.elementor-element-b18f20d {
		--padding-top: 0px;
		--padding-bottom: 0px;
		--padding-left: 0px;
		--padding-right: 0px;
	}
	
	.elementor-12712 .elementor-element.elementor-element-384a49c > .elementor-widget-container {
		margin: 40px 0px 0px 0px;
	}
	
	.elementor-12712 .elementor-element.elementor-element-384a49c {
		font-size: 15px;
	}
	
	.elementor-12712 .elementor-element.elementor-element-407736f {
		font-size: 15px;
	}
	
	.elementor-12712 .elementor-element.elementor-element-b0a4b95 {
		font-size: 15px;
	}
	
	.elementor-12712 .elementor-element.elementor-element-cffd71b {
		font-size: 15px;
	}
}

/* Start custom CSS */
body.elementor-page-12712 {
	/* --- Brand Colors --- */
	--bw-dark-blue: #002b45;
	--bw-mid-blue: #00597b;
	--bw-accent-gold: #f0b12e;
	--bw-light-bg: #f4f7f9;
	--bw-white: #fff;
	--bw-text-body: #333;
	--bw-text-light: #555;
	--bw-border-color: #e0e6eb;
	--bw-green-positive: #00875a;
	--bw-red-negative: #de350b;
	--bw-border-radius: 8px;
	--bw-shadow-light: 0 4px 12px rgba(0, 43, 69, .05);
	--bw-shadow-medium: 0 6px 16px rgba(0, 43, 69, .1);
	--bw-transition: all .3s ease;
}

/* --- Global box-sizing --- */
body.elementor-page-12712 *, body.elementor-page-12712 *::before, body.elementor-page-12712 *::after {
	box-sizing: border-box;
}

body.elementor-page-12712 ul, body.elementor-page-12712 ol {
	padding-left: 20px;
	margin-bottom: 1.5em;
}

body.elementor-page-12712 ul {
	list-style-type: disc;
}

body.elementor-page-12712 ol {
	list-style-type: decimal;
}

body.elementor-page-12712 li {
	margin-bottom: .6em;
	padding-left: .25em;
}

/* --- Intro Paragraph --- */
body.elementor-page-12712 .intro-paragraph {
	font-size: 1.15em;
	color: var(--bw-text-light);
	font-weight: 400;
	border-left: 4px solid var(--bw-accent-gold);
	padding-left: 1.5em;
	margin-bottom: 2.5em;
}

/* ---------------------------------------------------- */

/* [2.0] STANDARD CONTENT BOXES
/* ---------------------------------------------------- */

/* --- Base Box Style --- */
body.elementor-page-12712 .key-insight-box, body.elementor-page-12712 .example-box, body.elementor-page-12712 .tax-threshold-box, body.elementor-page-12712 .caution-box, body.elementor-page-12712 .custodial-caution, body.elementor-page-12712 .financial-aid-warning, body.elementor-page-12712 .strategy-callout, body.elementor-page-12712 .process-note, body.elementor-page-12712 .transfer-cta, body.elementor-page-12712 .strategy-cta, body.elementor-page-12712 .professional-guidance-box, body.elementor-page-12712 .comparison-recommendation, body.elementor-page-12712 .estate-impact-example, body.elementor-page-12712 .stepup-illustration, body.elementor-page-12712 .charitable-comparison, body.elementor-page-12712 .charitable-requirements, body.elementor-page-12712 .transfer-requirements-box, body.elementor-page-12712 .alternative-strategies, body.elementor-page-12712 .when-to-seek-help, body.elementor-page-12712 .key-takeaways {
	background-color: var(--bw-white);
	border: 1px solid var(--bw-border-color);
	border-radius: var(--bw-border-radius);
	padding: 1.75em;
	margin: 2em 0;
	overflow: hidden;
	box-shadow: var(--bw-shadow-light);
}

/* --- Titles within boxes --- */
body.elementor-page-12712 .key-insight-box h4, body.elementor-page-12712 .example-box h4, body.elementor-page-12712 .tax-threshold-box h4, body.elementor-page-12712 .caution-box h4, body.elementor-page-12712 .custodial-caution h4, body.elementor-page-12712 .financial-aid-warning h4, body.elementor-page-12712 .alternative-strategies h4, body.elementor-page-12712 .charitable-requirements h4, body.elementor-page-12712 .key-takeaways h3 {
	margin-top: 0;
	color: var(--bw-dark-blue);
}

/* --- Key Insight Box (Gold) --- */
body.elementor-page-12712 .key-insight-box {
	border-left: 5px solid var(--bw-accent-gold);
	background-color: var(--bw-white);
}

body.elementor-page-12712 .key-insight-box .insight-title {
	color: var(--bw-dark-blue);
	font-size: 1.1em;
	text-transform: uppercase;
	letter-spacing: .5px;
	margin-bottom: .5em;
	border-bottom: 1px solid var(--bw-accent-gold);
	padding-bottom: .5em;
}

body.elementor-page-12712 .key-insight-box p:last-child {
	margin-bottom: 0;
}

/* --- Example Box (Blue) --- */
body.elementor-page-12712 .example-box {
	border-left: 5px solid var(--bw-mid-blue);
	background-color: var(--bw-light-bg);
}

body.elementor-page-12712 .example-box .example-title {
	color: var(--bw-mid-blue);
	margin-top: 0;
}

body.elementor-page-12712 .example-box .example-list {
	list-style-type: none;
	padding-left: 0;
}

body.elementor-page-12712 .example-box .example-list li {
	position: relative;
	padding-left: 25px;
	margin-bottom: .5em;
}

body.elementor-page-12712 .example-box .example-list li::before {
	content: "✓";
	color: var(--bw-green-positive);
	font-weight: 700;
	position: absolute;
	left: 0;
	top: 2px;
}

/* --- Caution Box (Red) --- */
body.elementor-page-12712 .caution-box, body.elementor-page-12712 .custodial-caution, body.elementor-page-12712 .financial-aid-warning {
	border-left: 5px solid var(--bw-red-negative);
	background-color: #fff7f5;
}

body.elementor-page-12712 .caution-box h4, body.elementor-page-12712 .custodial-caution h4, body.elementor-page-12712 .financial-aid-warning h4 {
	color: var(--bw-red-negative);
	margin-top: 0;
}

body.elementor-page-12712 .caution-box ul, body.elementor-page-12712 .custodial-caution ul {
	list-style-type: none;
	padding-left: 0;
	margin-bottom: 0;
}

body.elementor-page-12712 .caution-box li, body.elementor-page-12712 .custodial-caution li {
	position: relative;
	padding-left: 25px;
}

body.elementor-page-12712 .caution-box li::before, body.elementor-page-12712 .custodial-caution li::before {
	content: "•";
	color: var(--bw-red-negative);
	font-weight: 700;
	font-size: 1.2em;
	position: absolute;
	left: 8px;
	top: 0;
}

/* --- Other Info Boxes --- */
body.elementor-page-12712 .tax-threshold-box {
	border-left: 5px solid var(--bw-dark-blue);
	background: var(--bw-light-bg);
}

body.elementor-page-12712 .strategy-callout {
	background-color: var(--bw-white);
	border: 1px dashed var(--bw-border-color);
	box-shadow: none;
}

body.elementor-page-12712 .process-note, body.elementor-page-12712 .transfer-cta, body.elementor-page-12712 .strategy-cta {
	background-color: var(--bw-light-bg);
	box-shadow: none;
	text-align: center;
}

body.elementor-page-12712 .comparison-recommendation {
	background-color: #fffaeb;
	border: 1px solid var(--bw-accent-gold);
}

/* ---------------------------------------------------- */

/* [3.0] SIMPLE TABLES (tax-rules-table)
/* ---------------------------------------------------- */

/* --- Responsive Table Wrapper --- */
body.elementor-page-12712 .tax-rule-box {
	width: 100%;
	overflow-x: auto;
	margin: 2em 0;
	border: 1px solid var(--bw-border-color);
	border-radius: var(--bw-border-radius);
	box-shadow: var(--bw-shadow-light);
}

body.elementor-page-12712 .tax-rules-table {
	width: 100%;
	border-collapse: collapse;
	border-radius: var(--bw-border-radius);
	overflow: hidden;
}

body.elementor-page-12712 .tax-rules-table th, body.elementor-page-12712 .tax-rules-table td {
	padding: 14px 18px;
	text-align: left;
	border-bottom: 1px solid var(--bw-border-color);
}

body.elementor-page-12712 .tax-rules-table th {
	background-color: var(--bw-dark-blue);
	color: var(--bw-white);
	font-weight: 600;
}

body.elementor-page-12712 .tax-rules-table tbody tr {
	background-color: var(--bw-white);
	transition: background-color .2s ease;
}

body.elementor-page-12712 .tax-rules-table tbody tr:last-child td {
	border-bottom: none;
}

body.elementor-page-12712 .tax-rules-table tbody tr:nth-child(even) {
	background-color: var(--bw-light-bg);
}

body.elementor-page-12712 .tax-rules-table tbody tr:hover {
	background-color: #eaf1f6;
}

body.elementor-page-12712 .tax-rules-table td:first-child {
	font-weight: 600;
	color: var(--bw-dark-blue);
}

/* ---------------------------------------------------- */

/* [4.0] INTERACTIVE: TAX CALCULATOR
/* ---------------------------------------------------- */
body.elementor-page-12712 .tax-calculator-wrapper {
	background-color: var(--bw-white);
	border: 1px solid var(--bw-border-color);
	border-radius: var(--bw-border-radius);
	box-shadow: var(--bw-shadow-medium);
	margin: 2.5em 0;
	overflow: hidden;
}

body.elementor-page-12712 .calculator-header {
	padding: 1.5em 2em;
	background-color: var(--bw-dark-blue);
	color: var(--bw-white);
	text-align: center;
}

body.elementor-page-12712 .calculator-header h3 {
	color: var(--bw-white);
	margin-top: 0;
	margin-bottom: .25em;
}

body.elementor-page-12712 .calculator-header .calculator-description {
	color: var(--bw-border-color);
	margin-bottom: 0;
	opacity: .9;
}

/* --- Calculator Inputs (GRID) --- */
body.elementor-page-12712 .calculator-inputs-section {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.25em 1.5em;
	padding: 2em;
	border-bottom: 1px solid var(--bw-border-color);
}

body.elementor-page-12712 .input-group {
	display: flex;
	flex-direction: column;
}

body.elementor-page-12712 .input-group label {
	font-weight: 600;
	color: var(--bw-dark-blue);
	margin-bottom: .5em;
	font-size: .9em;
}

/* Style for inputs and select */
body.elementor-page-12712 .input-group input[type="number"], body.elementor-page-12712 .input-group select {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid #c0c8d0;
	border-radius: var(--bw-border-radius);
	font-size: 1em;
	transition: var(--bw-transition);
}

body.elementor-page-12712 .input-group select {
	appearance: none;
	background-color: var(--bw-white);
	background-image: url("data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 16 16\' fill=\'%23002b45\'%3E%3Cpath d=\'M8 11.25a.75.75 0 01-.53-.22l-3.5-3.5a.75.75 0 111.06-1.06L8 9.44l2.97-2.97a.75.75 0 011.06 1.06l-3.5 3.5a.75.75 0 01-.53.22z\'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	background-size: 16px;
	padding-right: 40px;
}

body.elementor-page-12712 .input-group select.nitro-lazy {
	background-image: none !important;
}

body.elementor-page-12712 .input-group input[type="number"]:focus, body.elementor-page-12712 .input-group select:focus {
	outline: none;
	border-color: var(--bw-mid-blue);
	box-shadow: 0 0 0 2px rgba(0, 89, 123, .2);
}

/* Input with currency prefix (FLEX) */
body.elementor-page-12712 .input-with-prefix {
	display: flex;
	width: 100%;
}

body.elementor-page-12712 .currency-prefix {
	padding: 12px 14px;
	background-color: var(--bw-light-bg);
	border: 1px solid #c0c8d0;
	border-right: none;
	border-radius: var(--bw-border-radius) 0 0 var(--bw-border-radius);
	color: var(--bw-text-light);
	font-weight: 600;
}

body.elementor-page-12712 .input-with-prefix input {
	border-radius: 0 var(--bw-border-radius) var(--bw-border-radius) 0;
	flex: 1;
}

/* Calculate Button */
body.elementor-page-12712 .calculate-button {
	grid-column: 1/-1;
	background-color: var(--bw-accent-gold);
	color: var(--bw-dark-blue);
	border: none;
	padding: 16px;
	font-weight: 700;
	font-size: 1.1em;
	border-radius: var(--bw-border-radius);
	cursor: pointer;
	transition: var(--bw-transition);
	margin-top: .5em;
}

body.elementor-page-12712 .calculate-button:hover {
	background-color: var(--bw-dark-blue);
	color: var(--bw-white);
	transform: translateY(-2px);
	box-shadow: var(--bw-shadow-medium);
}

/* --- Calculator Results (GRID) --- */
body.elementor-page-12712 .calculator-results {
	padding: 2rem;
	background-color: var(--bw-light-bg);
}

body.elementor-page-12712 .results-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.5rem;
}

body.elementor-page-12712 .scenario-card {
	background-color: var(--bw-white);
	border: 1px solid var(--bw-border-color);
	border-radius: var(--bw-border-radius);
	box-shadow: var(--bw-shadow-light);
	overflow: hidden;
	padding: 1.5rem;
}

body.elementor-page-12712 .scenario-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1em 1.25em;
	border-bottom: 1px solid var(--bw-border-color);
}

body.elementor-page-12712 .scenario-header h4 {
	margin: 0;
	color: var(--bw-mid-blue);
}

/* Recommended Badge */
body.elementor-page-12712 .scenario-badge {
	background-color: var(--bw-green-positive);
	color: var(--bw-white);
	font-size: .8em;
	font-weight: 700;
	padding: 4px 10px;
	border-radius: 20px;
	text-transform: uppercase;
}

body.elementor-page-12712 .scenario-details {
	padding: 1.25em;
}

body.elementor-page-12712 .detail-row {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding: .75em 0;
	border-bottom: 1px solid var(--bw-light-bg);
}

body.elementor-page-12712 .detail-row:last-child {
	border-bottom: none;
}

body.elementor-page-12712 .detail-label {
	color: var(--bw-text-light);
	font-size: .9em;
	margin-right: 1em;
}

body.elementor-page-12712 .detail-value {
	font-weight: 600;
	color: var(--bw-dark-blue);
	text-align: right;
}

body.elementor-page-12712 .total-row {
	border-top: 2px solid var(--bw-border-color);
	margin-top: .5em;
	padding-top: 1em;
}

body.elementor-page-12712 .total-row .detail-label {
	color: var(--bw-dark-blue);
	font-weight: 700;
	font-size: 1em;
}

body.elementor-page-12712 .total-row .total-amount {
	font-size: 1.2em;
	font-weight: 700;
	color: var(--bw-dark-blue);
}

/* Value highlighters */
body.elementor-page-12712 .highlight-zero {
	color: var(--bw-green-positive);
}

body.elementor-page-12712 .highlight-positive, body.elementor-page-12712 .total-amount.positive {
	color: var(--bw-green-positive);
}

/* --- Savings & Disclaimer --- */
body.elementor-page-12712 .savings-comparison {
	margin-top: 1.5em;
}

body.elementor-page-12712 .savings-highlight {
	background-color: #fffaeb;
	border: 1px solid var(--bw-accent-gold);
	border-radius: var(--bw-border-radius);
	padding: 1.5em;
}

body.elementor-page-12712 .savings-highlight h4 {
	margin-top: 0;
	color: var(--bw-dark-blue);
}

body.elementor-page-12712 .savings-highlight p {
	margin-bottom: 0;
	line-height: 1.6;
}

body.elementor-page-12712 .calculator-disclaimer {
	text-align: center;
	padding: 1.5em 2em .5em;
	font-size: .85em;
	color: var(--bw-text-light);
}

body.elementor-page-12712 .calculator-cta {
	text-align: center;
	padding: 0 2em 2em;
}

body.elementor-page-12712 .calculator-cta p {
	margin-bottom: .5em;
	font-weight: 600;
}

body.elementor-page-12712 .calculator-cta .cta-link {
	font-weight: 700;
	font-size: 1.05em;
}

/* ---------------------------------------------------- */

/* [5.0] COMPLEX TABLES (Responsive)
/* ---------------------------------------------------- */
body.elementor-page-12712 .comparison-table-wrapper, body.elementor-page-12712 .kiddie-tax-table-wrapper {
	width: 100%;
	overflow-x: auto;
	margin: 2em 0;
	border: 1px solid var(--bw-border-color);
	border-radius: var(--bw-border-radius);
	box-shadow: var(--bw-shadow-light);
}

body.elementor-page-12712 .strategy-comparison-table, body.elementor-page-12712 .kiddie-tax-table, body.elementor-page-12712 .account-comparison-table {
	width: 100%;
	border-collapse: collapse;
	min-width: 650px;
}

body.elementor-page-12712 .strategy-comparison-table th, body.elementor-page-12712 .strategy-comparison-table td, body.elementor-page-12712 .kiddie-tax-table th, body.elementor-page-12712 .kiddie-tax-table td, body.elementor-page-12712 .account-comparison-table th, body.elementor-page-12712 .account-comparison-table td {
	padding: 14px 18px;
	text-align: left;
	border-bottom: 1px solid var(--bw-border-color);
	vertical-align: top;
}

body.elementor-page-12712 .strategy-comparison-table thead, body.elementor-page-12712 .kiddie-tax-table thead, body.elementor-page-12712 .account-comparison-table thead {
	background-color: var(--bw-dark-blue);
	color: var(--bw-white);
}

body.elementor-page-12712 .strategy-comparison-table th:first-child, body.elementor-page-12712 .account-comparison-table th:first-child {
	text-align: left;
	background-color: #f4f7f9;
	color: var(--bw-dark-blue);
}

/* --- Specific Table: Strategy Comparison --- */
body.elementor-page-12712 .strategy-comparison-table .column-gift {
	background-color: var(--bw-mid-blue);
}

body.elementor-page-12712 .strategy-comparison-table .column-sell {
	background-color: var(--bw-accent-gold);
	color: var(--bw-dark-blue);
}

body.elementor-page-12712 .strategy-comparison-table .column-inherit {
	background-color: var(--bw-dark-blue);
}

body.elementor-page-12712 .strategy-comparison-table .factor-label {
	font-weight: 600;
	color: var(--bw-dark-blue);
	width: 20%;
}

body.elementor-page-12712 .strategy-comparison-table tbody tr:nth-child(even) {
	background-color: var(--bw-light-bg);
}

/* Status Indicators (Positive, Negative, Neutral) */
body.elementor-page-12712 .strategy-comparison-table .positive, body.elementor-page-12712 .kiddie-tax-table .positive {
	color: var(--bw-green-positive);
	font-weight: 500;
}

body.elementor-page-12712 .strategy-comparison-table .negative, body.elementor-page-12712 .kiddie-tax-table .negative {
	color: var(--bw-red-negative);
	font-weight: 500;
}

body.elementor-page-12712 .strategy-comparison-table .neutral, body.elementor-page-12712 .kiddie-tax-table .neutral {
	color: var(--bw-text-light);
}

/* Icons for indicators */
body.elementor-page-12712 .strategy-comparison-table .positive::before {
	content: "✓ ";
}

body.elementor-page-12712 .strategy-comparison-table .negative::before {
	content: "✗ ";
}

body.elementor-page-12712 .strategy-comparison-table .neutral::before {
	content: "• ";
}

body.elementor-page-12712 .best-for-row {
	background-color: var(--bw-white) !important;
	font-size: .9em;
}

body.elementor-page-12712 .best-for-row .factor-label {
	vertical-align: middle;
}

body.elementor-page-12712 .best-for-row .best-for-cell {
	line-height: 1.6;
	color: var(--bw-text-light);
}

/* --- Specific Table: Kiddie Tax --- */
body.elementor-page-12712 .kiddie-tax-table td:first-child {
	font-weight: 600;
}

/* ---------------------------------------------------- */

/* [6.0] ADVANCED STRATEGY TIMELINE
/* ---------------------------------------------------- */
body.elementor-page-12712 .example-timeline {
	display: flex;
	justify-content: space-between;
	margin-top: 1.5em;
	position: relative;
}

/* --- The connecting line --- */
body.elementor-page-12712 .example-timeline::before {
	content: "";
	position: absolute;
	top: 20px;
	left: 5%;
	width: 90%;
	height: 2px;
	background-color: var(--bw-border-color);
	z-index: 0;
}

body.elementor-page-12712 .timeline-step {
	width: 23%;
	position: relative;
	z-index: 1;
	text-align: center;
}

body.elementor-page-12712 .step-label {
	display: inline-block;
	background-color: var(--bw-mid-blue);
	color: var(--bw-white);
	font-weight: 700;
	padding: 8px 14px;
	border-radius: var(--bw-border-radius);
	border: 2px solid var(--bw-white);
	font-size: .9em;
	margin-bottom: .75em;
}

body.elementor-page-12712 .timeline-step p {
	font-size: .9em;
	line-height: 1.5;
	margin-bottom: .25em;
}

body.elementor-page-12712 .timeline-step .step-note {
	font-size: .85em;
	color: var(--bw-text-light);
	font-style: italic;
}

body.elementor-page-12712 .example-result {
	text-align: center;
	font-weight: 600;
	margin-top: 1.5em;
	padding-top: 1.5em;
	border-top: 1px solid var(--bw-border-color);
	color: var(--bw-dark-blue);
}

/* ---------------------------------------------------- */

/* [8.0] INTERACTIVE: DECISION TREE
/* ---------------------------------------------------- */
body.elementor-page-12712 .decision-tree-wrapper {
	background-color: var(--bw-light-bg);
	border: 1px solid var(--bw-border-color);
	border-radius: var(--bw-border-radius);
	margin: 2.5em 0;
	box-shadow: var(--bw-shadow-medium);
}

body.elementor-page-12712 .decision-tree-header {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 1em;
	padding: 1.5em 2em;
	border-bottom: 1px solid var(--bw-border-color);
	background-color: var(--bw-white);
}

body.elementor-page-12712 .decision-tree-header h3 {
	margin: 0;
	flex: 1;
	min-width: 250px;
}

body.elementor-page-12712 .decision-tree-header p {
	margin: 0;
	flex: 1;
	min-width: 250px;
	color: var(--bw-text-light);
}

body.elementor-page-12712 .reset-tree-button {
	background-color: var(--bw-white);
	color: var(--bw-mid-blue);
	border: 1px solid var(--bw-border-color);
	padding: 10px 18px;
	font-weight: 600;
	font-size: .9em;
	border-radius: var(--bw-border-radius);
	cursor: pointer;
	transition: var(--bw-transition);
}

body.elementor-page-12712 .reset-tree-button:hover {
	background-color: var(--bw-light-bg);
	border-color: var(--bw-mid-blue);
}

/* --- Tree Container & Progress --- */
body.elementor-page-12712 .tree-container {
	padding: 2em !important;
}

body.elementor-page-12712 .progress-indicator {
	width: 100%;
	background-color: var(--bw-border-color);
	border-radius: 20px;
	height: 14px;
	position: relative;
	overflow: visible !important;
	margin-bottom: 1em;
	margin-top: .5em !important;
}

body.elementor-page-12712 .progress-bar {
	background-color: var(--bw-mid-blue);
	height: 100%;
	width: 20%;
	border-radius: 20px;
	transition: width .4s ease;
}

body.elementor-page-12712 .progress-text {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: -5px !important;
	font-size: .7em;
	font-weight: 600;
	color: var(--bw-dark-blue);
	background: var(--bw-light-bg);
	padding: 0 8px;
	border-radius: 10px;
	z-index: 2 !important;
}

/* --- Question Nodes --- */
body.elementor-page-12712 .decision-node {
	background-color: var(--bw-white);
	border: 1px solid var(--bw-border-color);
	border-radius: var(--bw-border-radius);
	padding: 1.5em 1.5em;
	margin: 1.5em 0;
	box-shadow: var(--bw-shadow-light);
}

body.elementor-page-12712 .question-number {
	font-size: .85em;
	font-weight: 700;
	color: var(--bw-accent-gold);
	text-transform: uppercase;
	letter-spacing: .5px;
	margin-bottom: .25em;
}

body.elementor-page-12712 .question-text {
	margin: 0 0 .5em 0;
	color: var(--bw-dark-blue);
}

body.elementor-page-12712 .question-help {
	font-size: .9em;
	color: var(--bw-text-light);
	margin: 0 0 1.5em 0;
}

/* --- Options (GRID) --- */
body.elementor-page-12712 .options {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1em;
}

body.elementor-page-12712 .option-button {
	display: block;
	width: 100%;
	padding: 16px;
	font-size: 1.05em;
	font-weight: 600;
	text-align: center;
	border-radius: var(--bw-border-radius);
	cursor: pointer;
	transition: var(--bw-transition);
	border: 2px solid var(--bw-border-color);
	background-color: var(--bw-light-bg);
	color: var(--bw-mid-blue);
}

body.elementor-page-12712 .option-button:hover {
	background-color: var(--bw-mid-blue);
	border-color: var(--bw-mid-blue);
	color: var(--bw-white);
	transform: translateY(-2px);
	box-shadow: var(--bw-shadow-light);
}

/* Special "Yes" / "No" buttons */
body.elementor-page-12712 .option-button.yes-button {
	background-color: #f0f9f5;
	border-color: var(--bw-green-positive);
	color: var(--bw-green-positive);
}

body.elementor-page-12712 .option-button.yes-button:hover {
	background-color: var(--bw-green-positive);
	border-color: var(--bw-green-positive);
	color: var(--bw-white);
}

body.elementor-page-12712 .option-button.no-button {
	background-color: #fff7f5;
	border-color: var(--bw-red-negative);
	color: var(--bw-red-negative);
}

body.elementor-page-12712 .option-button.no-button:hover {
	background-color: var(--bw-red-negative);
	border-color: var(--bw-red-negative);
	color: var(--bw-white);
}

/* --- Result Boxes --- */
body.elementor-page-12712 .result-box {
	background-color: var(--bw-white);
	border: 1px solid var(--bw-border-color);
	border-radius: var(--bw-border-radius);
	padding: 1.5em 2em;
	margin-top: 1.5em;
	border-left-width: 6px;
}

body.elementor-page-12712 .result-box .result-icon {
	font-size: 2em;
	float: left;
	margin-right: .5em;
	margin-top: -5px;
}

body.elementor-page-12712 .result-title {
	margin: 0;
	color: var(--bw-dark-blue);
}

body.elementor-page-12712 .result-subtitle {
	font-weight: 600;
	color: var(--bw-text-light);
	margin: .25em 0 1em 0;
}

body.elementor-page-12712 .result-content p, body.elementor-page-12712 .result-content ul, body.elementor-page-12712 .result-content ol {
	font-size: .95em;
	margin-bottom: 1em;
}

body.elementor-page-12712 .result-content ul, body.elementor-page-12712 .result-content ol {
	padding-left: 25px;
}

body.elementor-page-12712 .result-content li {
	margin-bottom: .5em;
}

body.elementor-page-12712 .result-cta-button {
	display: inline-block;
	background-color: var(--bw-accent-gold);
	color: var(--bw-dark-blue);
	border: none;
	padding: 12px 20px;
	font-weight: 700;
	font-size: .95em;
	border-radius: var(--bw-border-radius);
	cursor: pointer;
	transition: var(--bw-transition);
	margin-top: 1em;
	text-decoration: none;
}

body.elementor-page-12712 .result-cta-button:hover {
	background-color: var(--bw-dark-blue);
	color: var(--bw-white);
	text-decoration: none;
}

/* Result Box Colors */
body.elementor-page-12712 .result-positive {
	border-left-color: var(--bw-green-positive);
}

body.elementor-page-12712 .result-caution {
	border-left-color: var(--bw-red-negative);
}

body.elementor-page-12712 .result-optimal {
	border-left-color: var(--bw-mid-blue);
}

body.elementor-page-12712 .result-neutral {
	border-left-color: var(--bw-accent-gold);
}

/* ---------------------------------------------------- */

/* [9.0] INTERACTIVE: CHECKLIST
/* ---------------------------------------------------- */
body.elementor-page-12712 .checklist-wrapper {
	background-color: var(--bw-white);
	border: 1px solid var(--bw-border-color);
	border-radius: var(--bw-border-radius);
	margin: 2.5em 0;
	box-shadow: var(--bw-shadow-medium);
	overflow: hidden;
}

body.elementor-page-12712 .checklist-header {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 1.5em;
	padding: 1.5em 2em;
	background-color: var(--bw-light-bg);
	border-bottom: 1px solid var(--bw-border-color);
	position: relative;
}

body.elementor-page-12712 .checklist-header h3 {
	margin: 0;
	color: var(--bw-dark-blue);
}

body.elementor-page-12712 .checklist-header p {
	margin: 0;
	color: var(--bw-text-light);
	flex-basis: 100%;
}

body.elementor-page-12712 .checklist-progress {
	display: flex;
	align-items: center;
	gap: .75em;
}

body.elementor-page-12712 .progress-circle {
	display: flex;
	align-items: baseline;
	justify-content: center;
	width: 95px;
	height: 65px;
	border: 4px solid var(--bw-mid-blue);
	border-radius: 50%;
	padding-top: 16px;
}

body.elementor-page-12712 .progress-number {
	font-size: 1.6em;
	font-weight: 700;
	color: var(--bw-dark-blue);
	line-height: 1;
}

body.elementor-page-12712 .progress-total {
	font-size: .9em;
	font-weight: 600;
	color: var(--bw-text-light);
	line-height: 1;
}

body.elementor-page-12712 .progress-label {
	font-size: .9em;
	font-weight: 600;
	color: var(--bw-text-light);
	margin: 0;
	line-height: 1.2;
}

/* --- Checklist Sections & Items --- */
body.elementor-page-12712 .checklist-section {
	padding: 1.5em 2em;
}

body.elementor-page-12712 .section-title {
	margin: 0 0 1em 0;
	padding-bottom: .5em;
	border-bottom: 2px solid var(--bw-border-color);
	color: var(--bw-mid-blue);
}

/* --- Custom Checkbox Item (FLEX) --- */
body.elementor-page-12712 .checklist-item {
	display: flex;
	align-items: flex-start;
	position: relative;
	margin-bottom: 1.25em;
	cursor: pointer;
	padding-left: 35px;
}

/* Hide original checkbox */
body.elementor-page-12712 .checklist-checkbox {
	opacity: 0;
	width: 0;
	height: 0;
	position: absolute;
	left: 0;
	top: 0;
}

/* Custom checkbox box */
body.elementor-page-12712 .checkbox-custom {
	position: absolute;
	left: 0;
	top: 2px;
	width: 22px;
	height: 22px;
	border: 2px solid var(--bw-border-color);
	border-radius: 4px;
	background-color: var(--bw-white);
	transition: var(--bw-transition);
}

/* Custom checkmark */
body.elementor-page-12712 .checkbox-custom::after {
	content: "✓";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) scale(0);
	font-size: 1.2em;
	font-weight: 700;
	color: var(--bw-white);
	transition: transform .2s ease;
}

/* Text styling */
body.elementor-page-12712 .item-text {
	flex: 1;
	color: var(--bw-text-body);
	transition: var(--bw-transition);
	line-height: 1.4;
}

body.elementor-page-12712 .item-text strong {
	color: var(--bw-dark-blue);
}

body.elementor-page-12712 .item-help {
	display: block;
	font-size: .9em;
	color: var(--bw-text-light);
	margin-top: .25em;
	font-style: italic;
	font-weight: 400;
}

/* --- Checked State --- */
body.elementor-page-12712 .checklist-checkbox:checked ~ .checkbox-custom {
	background-color: var(--bw-mid-blue);
	border-color: var(--bw-mid-blue);
}

body.elementor-page-12712 .checklist-checkbox:checked ~ .checkbox-custom::after {
	transform: translate(-50%, -50%) scale(1);
}

body.elementor-page-12712 .checklist-checkbox:checked ~ .item-text {
	color: var(--bw-text-light);
}

body.elementor-page-12712 .checklist-checkbox:checked ~ .item-text strong {
	text-decoration: line-through;
	color: inherit;
	font-weight: 400;
}

/* Focus state */
body.elementor-page-12712 .checklist-checkbox:focus ~ .checkbox-custom {
	box-shadow: 0 0 0 2px rgba(0, 89, 123, .2);
}

/* Completion Message */
body.elementor-page-12712 .completion-message {
	position: absolute;
	bottom: -20px;
	left: 50%;
	transform: translateX(-50%);
	background: var(--bw-green-positive);
	color: var(--bw-white);
	padding: 8px 16px;
	border-radius: 20px;
	font-size: .9em;
	font-weight: 600;
	box-shadow: var(--bw-shadow-light);
}

/* --- Checklist Actions & CTA --- */
body.elementor-page-12712 .checklist-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 1em;
	padding: 1.5em 2em;
	border-top: 1px solid var(--bw-border-color);
	background-color: var(--bw-light-bg);
}

body.elementor-page-12712 .print-button, body.elementor-page-12712 .reset-checklist-button {
	padding: 12px 20px;
	font-weight: 600;
	border-radius: var(--bw-border-radius);
	cursor: pointer;
	transition: var(--bw-transition);
	border: 1px solid var(--bw-mid-blue);
	background-color: var(--bw-white);
	color: var(--bw-mid-blue);
}

body.elementor-page-12712 .print-button:hover, body.elementor-page-12712 .reset-checklist-button:hover {
	background-color: var(--bw-mid-blue);
	color: var(--bw-white);
}

body.elementor-page-12712 .reset-checklist-button {
	border-color: var(--bw-red-negative);
	color: var(--bw-red-negative);
}

body.elementor-page-12712 .reset-checklist-button:hover {
	background-color: var(--bw-red-negative);
	color: var(--bw-white);
	border-color: var(--bw-red-negative);
}

body.elementor-page-12712 .checklist-cta {
	padding: 1.5em 2em;
	border-top: 1px solid var(--bw-border-color);
	text-align: center;
}

body.elementor-page-12712 .checklist-cta p {
	margin-bottom: .5em;
}

body.elementor-page-12712 .checklist-cta p strong {
	color: var(--bw-dark-blue);
}

body.elementor-page-12712 .checklist-cta .cta-link {
	font-weight: 700;
}

/* ---------------------------------------------------- */

/* [11.0] TRANSFER PROCESS LAYOUTS
/* ---------------------------------------------------- */

/* --- Requirements Box (GRID) --- */
body.elementor-page-12712 .transfer-requirements-box {
	border-left: 5px solid var(--bw-mid-blue);
}

body.elementor-page-12712 .requirements-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5em;
	margin-top: 1.5em;
}

body.elementor-page-12712 .requirement-item h5 {
	margin-top: 0;
	margin-bottom: .75em;
	color: var(--bw-dark-blue);
	padding-bottom: .5em;
	border-bottom: 1px solid var(--bw-border-color);
}

body.elementor-page-12712 .requirement-item ul {
	list-style-type: none;
	padding-left: 0;
	margin-bottom: 0;
}

body.elementor-page-12712 .requirement-item li {
	position: relative;
	padding-left: 25px;
	font-size: .95em;
	margin-bottom: .6em;
}

body.elementor-page-12712 .requirement-item li::before {
	content: "»";
	position: absolute;
	left: 0;
	top: -2px;
	color: var(--bw-mid-blue);
	font-weight: 700;
	font-size: 1.2em;
}

/* --- Transfer Timeline (FLEX) --- */
body.elementor-page-12712 .transfer-timeline {
	display: flex;
	justify-content: space-between;
	margin: 2em 0;
	position: relative;
	gap: 1.5em;
}

/* --- The connecting line --- */
body.elementor-page-12712 .transfer-timeline::before {
	content: "";
	position: absolute;
	top: 30px;
	left: 5%;
	width: 90%;
	height: 2px;
	background-color: var(--bw-border-color);
	z-index: 0;
}

body.elementor-page-12712 .timeline-phase {
	width: 23%;
	position: relative;
	z-index: 1;
	padding-top: 1.5em;
	text-align: center;
}

body.elementor-page-12712 .phase-number {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background-color: var(--bw-white);
	border: 2px solid var(--bw-mid-blue);
	color: var(--bw-mid-blue);
	font-size: 1.8em;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
}

body.elementor-page-12712 .phase-title {
	margin-top: 2.5em;
	margin-bottom: .5em;
	color: var(--bw-dark-blue);
	font-size: 1rem;
}

body.elementor-page-12712 .phase-details {
	list-style-type: none;
	padding: 0 1rem !important;
	margin-bottom: 0;
	font-size: .9rem !important;
	color: var(--bw-text-light);
	text-align: left;
}

body.elementor-page-12712 .phase-details li {
	margin-bottom: .4em;
}

/* ---------------------------------------------------- */

/* [12.0] STRATEGY & EXAMPLE BOXES
/* ---------------------------------------------------- */

/* --- Strategy Matrix (Responsive Table) --- */
body.elementor-page-12712 .strategy-matrix-wrapper {
	width: 100%;
	overflow-x: auto;
	margin: 2em 0;
	border: 1px solid var(--bw-border-color);
	border-radius: var(--bw-border-radius);
	box-shadow: var(--bw-shadow-light);
}

body.elementor-page-12712 .income-strategy-table {
	width: 100%;
	border-collapse: collapse;
	min-width: 800px;
}

body.elementor-page-12712 .income-strategy-table th, body.elementor-page-12712 .income-strategy-table td {
	padding: 16px;
	border-bottom: 1px solid var(--bw-border-color);
	vertical-align: top;
	text-align: left;
}

body.elementor-page-12712 .income-strategy-table thead th {
	background-color: var(--bw-dark-blue);
	color: var(--bw-white);
}

body.elementor-page-12712 .income-strategy-table .income-note {
	font-size: .9em;
	color: var(--bw-text-light);
	font-weight: 400;
	display: block;
	margin-top: .25em;
}

body.elementor-page-12712 .income-strategy-table .rate-zero {
	color: var(--bw-green-positive);
	font-weight: 600;
}

body.elementor-page-12712 .income-strategy-table .rate-moderate {
	color: var(--bw-accent-gold);
	font-weight: 600;
}

body.elementor-page-12712 .income-strategy-table .rate-high {
	color: var(--bw-red-negative);
	font-weight: 600;
}

body.elementor-page-12712 .income-strategy-table .rate-variable {
	color: var(--bw-red-negative);
	font-weight: 600;
}

body.elementor-page-12712 .income-strategy-table .strategy-optimal {
	font-weight: 600;
	color: var(--bw-green-positive);
}

body.elementor-page-12712 .income-strategy-table .strategy-good {
	font-weight: 600;
	color: var(--bw-green-positive);
}

body.elementor-page-12712 .income-strategy-table .strategy-neutral {
	font-weight: 600;
	color: var(--bw-red-negative);
}

body.elementor-page-12712 .income-strategy-table .strategy-caution {
	font-weight: 600;
	color: var(--bw-red-negative);
}

body.elementor-page-12712 .income-strategy-table .considerations-list {
	list-style-type: none;
	padding-left: 0;
	margin: 0;
	font-size: .9em;
}

body.elementor-page-12712 .income-strategy-table .considerations-list li {
	margin-bottom: .4em;
}

/* --- Row Highlights --- */
body.elementor-page-12712 .income-strategy-table .optimal-row {
	background: #f0f9f5;
}

body.elementor-page-12712 .income-strategy-table .good-row {
	background: var(--bw-white);
}

body.elementor-page-12712 .income-strategy-table .neutral-row {
	background: var(--bw-white);
}

body.elementor-page-12712 .income-strategy-table .special-row {
	background: #fff7f5;
	border-top: 2px solid var(--bw-red-negative);
}

/* --- Estate Impact Example --- */
body.elementor-page-12712 .estate-impact-example {
	background-color: var(--bw-dark-blue);
	color: var(--bw-white);
	border-radius: var(--bw-border-radius);
	border-left: 5px solid var(--bw-accent-gold);
}

body.elementor-page-12712 .estate-impact-example h4 {
	color: var(--bw-white);
	margin-top: 0;
}

body.elementor-page-12712 .estate-impact-example p {
	color: var(--bw-border-color);
	opacity: .9;
}

body.elementor-page-12712 .calculation-breakdown {
	margin: 1.5em 0;
	padding-left: 1em;
	border-left: 3px solid var(--bw-mid-blue);
}

body.elementor-page-12712 .calc-step {
	display: block;
	font-size: 1.05em;
	margin-bottom: .75em;
}

body.elementor-page-12712 .calc-label {
	color: var(--bw-border-color);
	opacity: .9;
}

body.elementor-page-12712 .calc-value {
	font-weight: 600;
	color: var(--bw-white);
}

body.elementor-page-12712 .total-step {
	padding-top: .75em;
	border-top: 1px solid var(--bw-mid-blue);
	font-size: 1.1em;
}

body.elementor-page-12712 .savings-step {
	font-weight: 700;
	font-size: 1.15em;
}

body.elementor-page-12712 .savings-step .calc-value {
	color: var(--bw-accent-gold);
}

body.elementor-page-12712 .example-conclusion {
	margin: 0;
	padding-top: 1em;
	border-top: 1px solid var(--bw-mid-blue);
	font-style: italic;
	font-size: .95em;
}

/* --- Timing Strategies (GRID) --- */
body.elementor-page-12712 .timing-strategies {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5em;
	margin-top: 1.5em;
}

body.elementor-page-12712 .timing-scenario {
	background-color: var(--bw-white);
	border: 1px solid var(--bw-border-color);
	border-radius: var(--bw-border-radius);
	padding: 1.5em;
	transition: var(--bw-transition);
}

body.elementor-page-12712 .timing-scenario:hover {
	transform: translateY(-3px);
	box-shadow: var(--bw-shadow-medium);
}

body.elementor-page-12712 .scenario-title {
	margin-top: 0;
	margin-bottom: .5em;
	color: var(--bw-mid-blue);
}

body.elementor-page-12712 .scenario-description {
	font-style: italic;
	color: var(--bw-text-light);
	margin-bottom: 1em;
}

body.elementor-page-12712 .scenario-action {
	font-weight: 600;
	color: var(--bw-dark-blue);
	margin-bottom: .5em;
}

body.elementor-page-12712 .scenario-benefit {
	font-size: .9em;
	margin-bottom: 0;
}

/* --- Charitable Comparison (GRID) --- */
body.elementor-page-12712 .charitable-comparison {
	border-left: 5px solid var(--bw-green-positive);
	background: var(--bw-light-bg);
}

body.elementor-page-12712 .comparison-scenarios {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5em;
	margin: 1.5em 0;
}

body.elementor-page-12712 .scenario-box {
	background-color: var(--bw-white);
	border: 1px solid var(--bw-border-color);
	border-radius: var(--bw-border-radius);
	padding: .3em;
}

body.elementor-page-12712 .scenario-header {
	margin-top: 0;
	color: var(--bw-dark-blue);
}

body.elementor-page-12712 .scenario-details {
	list-style-type: none;
	padding-left: 0;
	margin-bottom: 0;
}

body.elementor-page-12712 .scenario-details li {
	margin-bottom: .4em;
}

body.elementor-page-12712 .scenario-box.highlight {
	border: 2px solid var(--bw-green-positive);
	box-shadow: var(--bw-shadow-light);
}

body.elementor-page-12712 .comparison-result {
	text-align: center;
	font-weight: 600;
	padding-top: 1.5em;
	border-top: 1px solid var(--bw-border-color);
}

body.elementor-page-12712 .result-text strong {
	color: var(--bw-green-positive);
}

/* ---------------------------------------------------- */

/* [13.0] GIFT VS INHERIT LAYOUTS
/* ---------------------------------------------------- */

/* --- Step-Up Illustration (GRID) --- */
body.elementor-page-12712 .stepup-illustration {
	background: var(--bw-light-bg);
}

body.elementor-page-12712 .comparison-columns {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5em;
	margin: 1em 0;
}

body.elementor-page-12712 .comparison-column {
	background: var(--bw-white);
	padding: 1em;
	border-radius: var(--bw-border-radius);
	border: 1px solid var(--bw-border-color);
}

body.elementor-page-12712 .column-header {
	margin-top: 0;
	color: var(--bw-dark-blue);
}

body.elementor-page-12712 .calculation-steps {
	list-style-type: none;
	padding-left: 0;
	margin-bottom: 0;
}

body.elementor-page-12712 .calculation-line {
	border-top: 1px solid var(--bw-border-color);
	padding-top: .75em;
	margin-top: .75em;
	font-weight: 600;
}

body.elementor-page-12712 .tax-line {
	margin-top: .5em;
}

body.elementor-page-12712 .tax-amount {
	font-size: 1.15em;
	color: var(--bw-red-negative);
}

body.elementor-page-12712 .note-text {
	font-style: italic;
	font-weight: 400;
	color: var(--bw-text-light);
}

/* Highlighted column */
body.elementor-page-12712 .highlight-column {
	border: 2px solid var(--bw-mid-blue);
	box-shadow: var(--bw-shadow-light);
}

body.elementor-page-12712 .highlight-column .column-header {
	color: var(--bw-mid-blue);
}

body.elementor-page-12712 .highlight-column .tax-amount {
	color: var(--bw-green-positive);
}

body.elementor-page-12712 .savings-summary {
	text-align: center;
	font-size: 1.1em;
	font-weight: 600;
	margin-top: 1.5em;
	padding-top: 1.5em;
	border-top: 1px solid var(--bw-border-color);
}

body.elementor-page-12712 .savings-summary strong {
	color: var(--bw-green-positive);
}

/* --- Gifting Advantages (GRID) --- */
body.elementor-page-12712 .gifting-advantages {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5em;
	margin: 1.5em 0;
}

body.elementor-page-12712 .advantage-card {
	background-color: var(--bw-white);
	border: 1px solid var(--bw-border-color);
	border-radius: var(--bw-border-radius);
	padding: 1.5em;
	display: flex;
	flex-direction: column;
}

body.elementor-page-12712 .card-icon {
	font-size: 2em;
	margin-bottom: .25em;
}

body.elementor-page-12712 .card-title {
	margin: 0 0 .5em 0;
	color: var(--bw-dark-blue);
}

body.elementor-page-12712 .card-description {
	font-size: .95em;
	flex-grow: 1;
}

body.elementor-page-12712 .card-example {
	background-color: var(--bw-light-bg);
	padding: 1em;
	border-radius: var(--bw-border-radius);
	font-size: .9em;
	margin-top: 1em;
	margin-bottom: 0;
}

body.elementor-page-12712 .card-example .example-label {
	font-weight: 600;
	margin-bottom: .5em;
	color: var(--bw-text-light);
}

body.elementor-page-12712 .card-example ul {
	list-style-type: none;
	padding-left: 0;
	margin-bottom: 0;
}

body.elementor-page-12712 .card-example li {
	margin-bottom: .25em;
}

/* --- Hybrid Strategy --- */
body.elementor-page-12712 .hybrid-strategy-framework {
	border: 1px solid var(--bw-border-color);
	border-radius: var(--bw-border-radius);
	overflow: hidden;
	margin: 2em 0;
	box-shadow: var(--bw-shadow-light);
}

body.elementor-page-12712 .framework-title {
	margin: 0;
	padding: 1em 1.5em;
	background-color: var(--bw-light-bg);
}

body.elementor-page-12712 .tier-row {
	display: flex;
	flex-wrap: wrap;
	border-bottom: 1px solid var(--bw-border-color);
}

body.elementor-page-12712 .tier-row:last-child {
	border-bottom: none;
}

body.elementor-page-12712 .tier-label {
	flex-basis: 200px;
	flex-grow: 1;
	padding: 1.5em;
	background-color: var(--bw-light-bg);
}

body.elementor-page-12712 .tier-label h5 {
	margin: 0;
}

body.elementor-page-12712 .tier-label p {
	margin: 0;
	font-size: .9em;
}

body.elementor-page-12712 .tier-content {
	flex-basis: 0;
	flex-grow: 999;
	padding: 1.5em;
	background-color: var(--bw-white);
}

body.elementor-page-12712 .tier-content ul {
	list-style-type: "— ";
	padding-left: 20px;
	margin: 0;
}

body.elementor-page-12712 .tier-content li {
	font-size: .95em;
}

body.elementor-page-12712 .highlight-row .tier-label {
	background: var(--bw-dark-blue);
}

body.elementor-page-12712 .highlight-row .tier-label h5 {
	color: var(--bw-white);
}

body.elementor-page-12712 .highlight-row .tier-label p {
	color: var(--bw-border-color);
}

body.elementor-page-12712 .highlight-row .tier-content {
	background: #f0f5f8;
}

body.elementor-page-12712 .highlight-row .tier-content li {
	font-weight: 600;
	color: var(--bw-dark-blue);
}

/* --- Decision Factors (GRID) --- */
body.elementor-page-12712 .decision-factors {
	margin: 2em 0;
}

body.elementor-page-12712 .factors-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5em;
}

body.elementor-page-12712 .factor-item {
	border: 1px solid var(--bw-border-color);
	border-radius: var(--bw-border-radius);
}

body.elementor-page-12712 .factor-header {
	margin: 0;
	padding: 1em 1.5em;
	background-color: var(--bw-light-bg);
	border-bottom: 1px solid var(--bw-border-color);
}

body.elementor-page-12712 .factor-list {
	list-style-type: none;
	padding: 1.5em;
	margin: 0;
}

body.elementor-page-12712 .factor-list li {
	position: relative;
	padding-left: 25px;
	margin-bottom: .6em;
}

body.elementor-page-12712 .factor-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 6px;
	width: 14px;
	height: 14px;
	border-radius: 50%;
}

/* Colors */
body.elementor-page-12712 .favor-gift .factor-header {
	color: var(--bw-green-positive);
}

body.elementor-page-12712 .favor-gift .factor-list li::before {
	background-color: var(--bw-green-positive);
	opacity: .6;
}

body.elementor-page-12712 .favor-inherit .factor-header {
	color: var(--bw-mid-blue);
}

body.elementor-page-12712 .favor-inherit .factor-list li::before {
	background-color: var(--bw-mid-blue);
	opacity: .6;
}

/* ---------------------------------------------------- */

/* [14.0] FINAL CTA & SUMMARY BOXES
/* ---------------------------------------------------- */
body.elementor-page-12712 .professional-guidance-box {
	background-color: var(--bw-dark-blue);
	color: var(--bw-white);
	border-radius: var(--bw-border-radius);
	text-align: center;
}

body.elementor-page-12712 .professional-guidance-box h4 {
	color: var(--bw-white);
	margin-top: 0;
}

body.elementor-page-12712 .professional-guidance-box p {
	color: var(--bw-border-color);
	opacity: .9;
}

body.elementor-page-12712 .professional-guidance-box p a {
	color: var(--bw-white);
	text-decoration: underline;
}

body.elementor-page-12712 .professional-guidance-box p a:hover {
	color: var(--bw-accent-gold);
}

body.elementor-page-12712 .guidance-cta-button {
	display: inline-block;
	background-color: var(--bw-accent-gold);
	color: var(--bw-dark-blue);
	border: none;
	padding: 14px 24px;
	font-weight: 700;
	font-size: 1.05em;
	border-radius: var(--bw-border-radius);
	cursor: pointer;
	transition: var(--bw-transition);
	margin-top: 1em;
	text-decoration: none;
}

body.elementor-page-12712 .guidance-cta-button:hover {
	background-color: var(--bw-white);
	color: var(--bw-dark-blue);
	text-decoration: none;
}

/* --- Key Takeaways --- */
body.elementor-page-12712 .key-takeaways {
	border-left: 5px solid var(--bw-accent-gold);
	background-color: var(--bw-light-bg);
}

body.elementor-page-12712 .key-takeaways .takeaways-list {
	list-style-type: none;
	padding-left: 0;
	margin-bottom: 0;
}

body.elementor-page-12712 .key-takeaways li {
	position: relative;
	padding-left: 30px;
}

body.elementor-page-12712 .key-takeaways li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 2px;
	font-size: 1.2em;
	font-weight: 700;
	color: var(--bw-green-positive);
}

/* --- Strategic Considerations (GRID) --- */
body.elementor-page-12712 .strategic-considerations {
	margin: 2em 0;
}

body.elementor-page-12712 .considerations-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5em;
	margin-top: 1.5em;
}

body.elementor-page-12712 .consideration-box {
	background-color: var(--bw-white);
	border: 1px solid var(--bw-border-color);
	border-radius: var(--bw-border-radius);
	padding: 1.5em;
	box-shadow: var(--bw-shadow-light);
}

body.elementor-page-12712 .consideration-box h4 {
	margin-top: 0;
	color: var(--bw-mid-blue);
}

body.elementor-page-12712 .consideration-box p {
	font-size: .95em;
	margin-bottom: 0;
}

/* --- When to Seek Help --- */
body.elementor-page-12712 .when-to-seek-help {
	background: var(--bw-light-bg);
}

body.elementor-page-12712 .when-to-seek-help .help-scenarios {
	list-style-type: "» ";
	padding-left: 20px;
	margin-bottom: 0;
}

body.elementor-page-12712 .when-to-seek-help .help-scenarios li {
	padding-left: 10px;
}

/* --- Final CTA Section (GRID/FLEX) --- */
body.elementor-page-12712 .final-cta-section {
	display: grid;
	grid-template-columns: 1fr;
	background-color: var(--bw-white);
	border: 1px solid var(--bw-border-color);
	border-radius: var(--bw-border-radius);
	box-shadow: var(--bw-shadow-medium);
	margin: 2.5em 0;
	overflow: hidden;
}

body.elementor-page-12712 .cta-content {
	padding: 2em;
}

body.elementor-page-12712 .cta-headline {
	margin-top: 0;
}

body.elementor-page-12712 .benefits-title {
	color: var(--bw-mid-blue);
	margin-top: 1.5em;
}

body.elementor-page-12712 .benefits-list {
	list-style-type: none;
	padding-left: 0;
	margin-bottom: 0;
}

body.elementor-page-12712 .benefits-list li {
	position: relative;
	padding-left: 25px;
	font-size: .95em;
}

body.elementor-page-12712 .benefits-list li::before {
	content: "•";
	position: absolute;
	left: 5px;
	top: 0;
	color: var(--bw-accent-gold);
	font-weight: 700;
	font-size: 1.2em;
}

body.elementor-page-12712 .cta-services-links {
	margin-top: 1.5em;
}

body.elementor-page-12712 .services-intro {
	font-weight: 600;
	margin-bottom: .5em;
}

body.elementor-page-12712 .services-list {
	list-style-type: none;
	padding-left: 0;
	margin-bottom: 0;
}

body.elementor-page-12712 .services-list li {
	margin-bottom: .4em;
}

/* --- Action Box (Blue side) --- */
body.elementor-page-12712 .cta-action-box {
	background-color: var(--bw-dark-blue);
	color: var(--bw-white);
	padding: 2em;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
}

body.elementor-page-12712 .action-title {
	color: var(--bw-white);
	margin-top: 0;
}

body.elementor-page-12712 .action-description {
	color: var(--bw-border-color);
	opacity: .9;
}

body.elementor-page-12712 .primary-cta-button {
	display: inline-block;
	background-color: var(--bw-accent-gold);
	color: var(--bw-dark-blue);
	border: none;
	padding: 16px 24px;
	font-weight: 700;
	font-size: 1.1em;
	border-radius: var(--bw-border-radius);
	cursor: pointer;
	transition: var(--bw-transition);
	margin: 1em 0;
	text-decoration: none;
}

body.elementor-page-12712 .primary-cta-button:hover {
	background-color: var(--bw-white);
	color: var(--bw-dark-blue);
	text-decoration: none;
}

body.elementor-page-12712 .cta-footer-note {
	font-size: .85em;
	color: lightgray !important;
	margin-bottom: 0;
}

/* ---------------------------------------------------- */

/* [15.0] FINAL RESPONSIVE - DESKTOP LAYOUTS
/* ---------------------------------------------------- */

/* --- Larger Desktops (e.g., > 1024px) --- */
@media (min-width: 1024.1px) {
	/* Use .1px to avoid overlap */
	
	/* 2-col grids */
	body.elementor-page-12712 .timing-strategies, body.elementor-page-12712 .comparison-scenarios, body.elementor-page-12712 .comparison-columns, body.elementor-page-12712 .factors-grid, body.elementor-page-12712 .considerations-grid, body.elementor-page-12712 .requirements-grid {
		grid-template-columns: 1fr 1fr;
	}
	
	body.elementor-page-12712 .gifting-advantages {
		grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	}
	
	/* Final CTA: 2-col */
	body.elementor-page-12712 .final-cta-section {
		grid-template-columns: 2fr 1fr;
	}
	
	/* Decision tree options 2-col */
	body.elementor-page-12712 .options {
		grid-template-columns: 1fr 1fr;
	}
}

/* ---------------------------------------------------- */

/* [16.0] FINAL RESPONSIVE - TABLET
/* (max-width: 1024px)
/* ---------------------------------------------------- */
@media (max-width: 1024px) {
	/* --- General Font & Padding Reduction --- */
	body.elementor-page-12712 {
		font-size: 96%;
	}
	
	/* Reduce padding on all main boxes */
	body.elementor-page-12712 .key-insight-box, body.elementor-page-12712 .example-box, body.elementor-page-12712 .tax-threshold-box, body.elementor-page-12712 .caution-box, body.elementor-page-12712 .custodial-caution, body.elementor-page-12712 .financial-aid-warning, body.elementor-page-12712 .strategy-callout, body.elementor-page-12712 .process-note, body.elementor-page-12712 .transfer-cta, body.elementor-page-12712 .strategy-cta, body.elementor-page-12712 .professional-guidance-box, body.elementor-page-12712 .comparison-recommendation, body.elementor-page-12712 .estate-impact-example, body.elementor-page-12712 .stepup-illustration, body.elementor-page-12712 .charitable-comparison, body.elementor-page-12712 .charitable-requirements, body.elementor-page-12712 .transfer-requirements-box, body.elementor-page-12712 .alternative-strategies, body.elementor-page-12712 .when-to-seek-help, body.elementor-page-12712 .key-takeaways {
		padding: 1.5em;
	}
	
	/* Reduce padding on interactive widgets */
	body.elementor-page-12712 .calculator-inputs-section, body.elementor-page-12712 .calculator-results, body.elementor-page-12712 .tree-container, body.elementor-page-12712 .checklist-section, body.elementor-page-12712 .checklist-header, body.elementor-page-12712 .checklist-actions, body.elementor-page-12712 .checklist-cta, body.elementor-page-12712 .decision-tree-header, body.elementor-page-12712 .cta-content, body.elementor-page-12712 .cta-action-box {
		padding: 1.5em;
	}
	
	/* --- Stacking Layouts --- */
	
	/* Calculator: 3-col results to 1-col */
	body.elementor-page-12712 .results-grid {
		grid-template-columns: 1fr;
	}
	
	/* Timeline: Horizontal to vertical */
	body.elementor-page-12712 .example-timeline {
		flex-direction: column;
		align-items: flex-start;
	}
	
	body.elementor-page-12712 .example-timeline::before {
		top: 20px;
		left: 20px;
		width: 2px;
		height: 95%;
	}
	
	body.elementor-page-12712 .timeline-step {
		width: 100%;
		text-align: left;
		padding-left: 50px;
		margin-bottom: 1em;
	}
	
	body.elementor-page-12712 .step-label {
		position: absolute;
		left: 0;
		top: 0;
		width: 42px;
		height: 42px;
		padding: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		border-radius: 50%;
		font-size: .7rem;
	}
	
	/* Force all grids to 1 column */
	body.elementor-page-12712 .timing-strategies, body.elementor-page-12712 .comparison-scenarios, body.elementor-page-12712 .comparison-columns, body.elementor-page-12712 .factors-grid, body.elementor-page-12712 .considerations-grid, body.elementor-page-12712 .gifting-advantages, body.elementor-page-12712 .requirements-grid {
		grid-template-columns: 1fr;
	}
	
	/* Transfer Timeline: Horizontal to vertical */
	body.elementor-page-12712 .transfer-timeline {
		flex-direction: column;
		gap: 0;
	}
	
	body.elementor-page-12712 .transfer-timeline::before {
		top: 30px;
		left: 30px;
		width: 2px;
		height: 95%;
	}
	
	body.elementor-page-12712 .timeline-phase {
		width: 100%;
		text-align: left;
		padding: 0 0 1.5em 80px;
		min-height: 60px;
	}
	
	body.elementor-page-12712 .phase-number {
		left: 0;
		transform: none;
	}
	
	body.elementor-page-12712 .phase-title {
		margin-top: 0;
		padding-top: .5em;
	}
	
	/* Final CTA: 2-col to 1-col */
	body.elementor-page-12712 .final-cta-section {
		grid-template-columns: 1fr;
	}
	
	body.elementor-page-12712 .cta-action-box {
		border-top: 4px solid var(--bw-accent-gold);
	}
	
	/* Decision tree options 2-col */
	body.elementor-page-12712 .options {
		grid-template-columns: 1fr 1fr;
	}
	
	/* --- TABLET: RESPONSIVE TABLES (CARD-BASED) --- */
	
	/* Hide scrollbars and table headers */
	body.elementor-page-12712 .tax-rule-box, body.elementor-page-12712 .comparison-table-wrapper, body.elementor-page-12712 .kiddie-tax-table-wrapper, body.elementor-page-12712 .strategy-matrix-wrapper {
		overflow-x: visible !important;
		border: none !important;
		box-shadow: none !important;
		background: transparent !important;
	}
	
	body.elementor-page-12712 .tax-rules-table, body.elementor-page-12712 .strategy-comparison-table, body.elementor-page-12712 .kiddie-tax-table, body.elementor-page-12712 .account-comparison-table, body.elementor-page-12712 .income-strategy-table {
		min-width: 100% !important;
		width: 100% !important;
	}
	
	body.elementor-page-12712 .tax-rules-table thead, body.elementor-page-12712 .strategy-comparison-table thead, body.elementor-page-12712 .kiddie-tax-table thead, body.elementor-page-12712 .account-comparison-table thead, body.elementor-page-12712 .income-strategy-table thead {
		display: none !important;
	}
	
	/* Turn each row (tr) into a card */
	body.elementor-page-12712 .tax-rules-table tr, body.elementor-page-12712 .strategy-comparison-table tr, body.elementor-page-12712 .kiddie-tax-table tr, body.elementor-page-12712 .account-comparison-table tr, body.elementor-page-12712 .income-strategy-table tr {
		display: block !important;
		border: 1px solid var(--bw-border-color) !important;
		border-radius: var(--bw-border-radius) !important;
		margin-bottom: 1.25em !important;
		box-shadow: var(--bw-shadow-light) !important;
		background: var(--bw-white) !important;
	}
	
	body.elementor-page-12712 .strategy-comparison-table tr.best-for-row {
		background: var(--bw-white) !important;
	}
	
	/* Turn cells (td) into key-value pairs */
	body.elementor-page-12712 .tax-rules-table td, body.elementor-page-12712 .kiddie-tax-table td, body.elementor-page-12712 .strategy-comparison-table td, body.elementor-page-12712 .account-comparison-table td, body.elementor-page-12712 .income-strategy-table td {
		display: flex !important;
		justify-content: space-between !important;
		align-items: center !important;
		padding: 12px 16px !important;
		text-align: right !important;
		border-bottom: 1px solid var(--bw-light-bg) !important;
		min-height: 48px !important;
		font-size: .95em !important;
	}
	
	body.elementor-page-12712 .tax-rules-table td:last-child, body.elementor-page-12712 .kiddie-tax-table td:last-child, body.elementor-page-12712 .strategy-comparison-table td:last-child, body.elementor-page-12712 .account-comparison-table td:last-child, body.elementor-page-12712 .income-strategy-table td:last-child {
		border-bottom: none !important;
	}
	
	/* Add data labels (the "key") */
	body.elementor-page-12712 .tax-rules-table td::before, body.elementor-page-12712 .kiddie-tax-table td::before, body.elementor-page-12712 .strategy-comparison-table td::before, body.elementor-page-12712 .account-comparison-table td::before, body.elementor-page-12712 .income-strategy-table td::before {
		content: "";
		font-weight: 600;
		color: var(--bw-dark-blue);
		text-align: left;
		margin-right: 1em;
		white-space: nowrap;
	}
	
	/* --- Labels for Table 1: tax-rules-table --- */
	body.elementor-page-12712 .tax-rules-table tr td:nth-child(1)::before {
		content: "Scenario:";
	}
	
	body.elementor-page-12712 .tax-rules-table tr td:nth-child(2)::before {
		content: "Basis Used:";
	}
	
	body.elementor-page-12712 .tax-rules-table tr td:nth-child(3)::before {
		content: "Tax Impact:";
	}
	
	/* --- Labels for Table 2: strategy-comparison-table --- */
	body.elementor-page-12712 .strategy-comparison-table tr td {
		flex-direction: column !important;
		align-items: flex-start !important;
		text-align: left !important;
	}
	
	body.elementor-page-12712 .strategy-comparison-table tr td:first-child {
		background: var(--bw-light-bg) !important;
		font-weight: 700 !important;
		width: 100% !important;
		border-bottom: 2px solid var(--bw-border-color) !important;
	}
	
	body.elementor-page-12712 .strategy-comparison-table tr td:first-child::before {
		display: none !important;
	}
	
	body.elementor-page-12712 .strategy-comparison-table tr td:nth-child(2)::before {
		content: "Gift Stock Now:";
	}
	
	body.elementor-page-12712 .strategy-comparison-table tr td:nth-child(3)::before {
		content: "Sell & Give Cash:";
	}
	
	body.elementor-page-12712 .strategy-comparison-table tr td:nth-child(4)::before {
		content: "Leave as Inheritance:";
	}
	
	/* --- Labels for Table 3: kiddie-tax-table --- */
	body.elementor-page-12712 .kiddie-tax-table tr td:nth-child(1)::before {
		content: "Income Amount:";
	}
	
	body.elementor-page-12712 .kiddie-tax-table tr td:nth-child(2)::before {
		content: "Tax Treatment:";
	}
	
	body.elementor-page-12712 .kiddie-tax-table tr td:nth-child(3)::before {
		content: "Example:";
	}
	
	/* --- Labels for Table 4: account-comparison-table --- */
	body.elementor-page-12712 .account-comparison-table tr td {
		flex-direction: column !important;
		align-items: flex-start !important;
		text-align: left !important;
	}
	
	body.elementor-page-12712 .account-comparison-table tr td:first-child {
		background: var(--bw-light-bg) !important;
		font-weight: 700 !important;
		width: 100% !important;
		border-bottom: 2px solid var(--bw-border-color) !important;
	}
	
	body.elementor-page-12712 .account-comparison-table tr td:first-child::before {
		display: none !important;
	}
	
	body.elementor-page-12712 .account-comparison-table tr td:nth-child(2)::before {
		content: "UGMA:";
	}
	
	body.elementor-page-12712 .account-comparison-table tr td:nth-child(3)::before {
		content: "UTMA:";
	}
	
	/* --- Labels for Table 5: income-strategy-table --- */
	body.elementor-page-12712 .income-strategy-table tr td {
		flex-direction: column !important;
		align-items: flex-start !important;
		text-align: left !important;
	}
	
	body.elementor-page-12712 .income-strategy-table tr td:first-child {
		background: var(--bw-light-bg) !important;
		font-weight: 700 !important;
		width: 100% !important;
		border-bottom: 2px solid var(--bw-border-color) !important;
	}
	
	body.elementor-page-12712 .income-strategy-table tr td:first-child::before {
		display: none !important;
	}
	
	body.elementor-page-12712 .income-strategy-table tr td:nth-child(2)::before {
		content: "Capital Gains Rate:";
	}
	
	body.elementor-page-12712 .income-strategy-table tr td:nth-child(3)::before {
		content: "Strategy:";
	}
	
	body.elementor-page-12712 .income-strategy-table tr td:nth-child(4)::before {
		content: "Key Considerations:";
	}
	
	/* Fix lists inside card-tables */
	body.elementor-page-12712 .income-strategy-table .considerations-list, body.elementor-page-12712 .strategy-comparison-table .best-for-cell {
		text-align: left !important;
		width: 100% !important;
		margin-top: .5em !important;
	}
}

/* ---------------------------------------------------- */

/* [17.0] FINAL RESPONSIVE - MOBILE
/* (max-width: 767px)
/* ---------------------------------------------------- */
@media (max-width: 767px) {
	/* --- AGGRESSIVE FONT REDUCTION --- */
	
	/* Explicit font reduction for H2, H3, H4 */
	body.elementor-page-12712 h2, body.elementor-page-12712 .final-cta-section .cta-headline {
		font-size: 1.7rem !important;
		line-height: 1.3 !important;
	}
	
	body.elementor-page-12712 h3, body.elementor-page-12712 .calculator-header h3, body.elementor-page-12712 .decision-tree-header h3, body.elementor-page-12712 .checklist-header h3 {
		font-size: 1.45rem !important;
		line-height: 1.3 !important;
	}
	
	body.elementor-page-12712 h4, body.elementor-page-12712 .scenario-header h4, body.elementor-page-12712 .result-title, body.elementor-page-12712 .question-text {
		font-size: 1.2rem !important;
		line-height: 1.4 !important;
	}
	
	body.elementor-page-12712 .intro-paragraph {
		font-size: 1.05em !important;
	}
	
	body.elementor-page-12712 .input-group input[type="number"], body.elementor-page-12712 .input-group select, body.elementor-page-12712 .calculate-button, body.elementor-page-12712 .option-button {
		font-size: 1em !important;
	}
	
	/* --- STACKING LAYOUTS --- */
	
	/* Calculator: 2-col inputs to 1-col */
	body.elementor-page-12712 .calculator-inputs-section {
		grid-template-columns: 1fr !important;
	}
	
	/* Stack decision tree header */
	body.elementor-page-12712 .decision-tree-header {
		text-align: center !important;
	}
	
	body.elementor-page-12712 .decision-tree-header h3, body.elementor-page-12712 .decision-tree-header p {
		flex-basis: 100% !important;
		text-align: center !important;
	}
	
	/* Stack decision tree options back to 1-col */
	body.elementor-page-12712 .options {
		grid-template-columns: 1fr !important;
	}
	
	/* Stack checklist header */
	body.elementor-page-12712 .checklist-header {
		flex-direction: column !important;
		text-align: center !important;
	}
	
	body.elementor-page-12712 .checklist-header p {
		text-align: center !important;
	}
	
	/* Stack checklist buttons */
	body.elementor-page-12712 .checklist-actions {
		flex-direction: column !important;
	}
	
	body.elementor-page-12712 .print-button, body.elementor-page-12712 .reset-checklist-button {
		width: 100% !important;
	}
	
	/* Further reduce padding on mobile */
	body.elementor-page-12712 .key-insight-box, body.elementor-page-12712 .example-box, body.elementor-page-12712 .tax-threshold-box, body.elementor-page-12712 .caution-box, body.elementor-page-12712 .custodial-caution, body.elementor-page-12712 .financial-aid-warning, body.elementor-page-12712 .strategy-callout, body.elementor-page-12712 .process-note, body.elementor-page-12712 .transfer-cta, body.elementor-page-12712 .strategy-cta, body.elementor-page-12712 .professional-guidance-box, body.elementor-page-12712 .comparison-recommendation, body.elementor-page-12712 .estate-impact-example, body.elementor-page-12712 .stepup-illustration, body.elementor-page-12712 .charitable-comparison, body.elementor-page-12712 .charitable-requirements, body.elementor-page-12712 .transfer-requirements-box, body.elementor-page-12712 .alternative-strategies, body.elementor-page-12712 .when-to-seek-help, body.elementor-page-12712 .key-takeaways, body.elementor-page-12712 .calculator-inputs-section, body.elementor-page-12712 .calculator-results, body.elementor-page-12712 .tree-container, body.elementor-page-12712 .checklist-section, body.elementor-page-12712 .checklist-header, body.elementor-page-12712 .checklist-actions, body.elementor-page-12712 .checklist-cta, body.elementor-page-12712 .decision-tree-header, body.elementor-page-12712 .cta-content, body.elementor-page-12712 .cta-action-box {
		padding: 1.25em !important;
	}
	
	/* 1. Stack icon instead of float to fix squished text */
	body.elementor-page-12712 .result-box .result-icon {
		float: none !important;
		display: block !important;
		text-align: center !important;
		font-size: 2.2em !important;
		margin: 0 auto .5em auto !important;
		margin-top: 0 !important;
	}
	
	body.elementor-page-12712 .result-title, body.elementor-page-12712 .result-subtitle {
		text-align: center !important;
	}
	
	/* 2. Aggressive font reduction for this widget */
	body.elementor-page-12712 .decision-tree-header h3 {
		font-size: 1.4rem !important;
	}
	
	body.elementor-page-12712 .question-text {
		font-size: 1.15rem !important;
	}
	
	body.elementor-page-12712 .question-help {
		font-size: .9em !important;
		margin-bottom: 1.25em !important;
	}
	
	body.elementor-page-12712 .result-title {
		font-size: 1.15rem !important;
	}
	
	body.elementor-page-12712 .result-subtitle {
		font-size: 1rem !important;
		margin-bottom: .75em !important;
	}
	
	body.elementor-page-12712 .result-content p, body.elementor-page-12712 .result-content ul, body.elementor-page-12712 .result-content ol {
		font-size: .9rem !important;
	}
	
	/* 3. Reduce padding */
	body.elementor-page-12712 .result-content ul, body.elementor-page-12712 .result-content ol {
		padding-left: 20px !important;
	}
	
	body.elementor-page-12712 .decision-node, body.elementor-page-12712 .result-box {
		padding: 1.1em !important;
	}
	
	body.elementor-page-12712 .phase-details {
		font-size: .9rem !important;
	}
	
	body.elementor-page-12712 .scenario-header {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 1rem;
		padding: 1em 1.25em;
		border-bottom: 1px solid var(--bw-border-color);
	}
	
	body.elementor-page-12712 .scenario-header h4 {
		margin: 0;
		font-size: 1rem !important;
	}
	
	body.elementor-page-12712 .calculator-disclaimer {
		font-size: .85em;
		padding: 0;
		margin-top: 1rem;
		color: var(--bw-text-light);
	}
	
	body.elementor-page-12712 .calculator-cta {
		padding: 0;
	}
	
	body.elementor-page-12712 .calculator-cta p {
		margin-bottom: .5em;
		font-weight: 600;
	}
	
	body.elementor-page-12712 .calculator-cta .cta-link {
		font-weight: 700;
		font-size: 1.05em;
	}
}
