:root {
	--curadh-blush: #efc6b3;
	--curadh-orange: #e68153;
	--curadh-violet: #7a78ae;
	--curadh-blue: #1d415f;
	--curadh-charcoal: #1d1c17;
	--curadh-plan-blue: #1d425f;
	--curadh-plan-orange: #e68153;
	--curadh-plan-purple: #7b78af;
	--curadh-plan-pink: #efc6b4;

	--curadh-surface: #fcf9f6;
	--curadh-surface-alt: #ffffff;
	--curadh-text: #1d1c17;
	--curadh-text-muted: #49443c;
	--curadh-border: rgba(29, 28, 23, 0.14);
	--curadh-shadow: 0 18px 48px rgba(29, 28, 23, 0.08);

	--curadh-container: 1140px;
	--curadh-frame: 1440px;
	--curadh-gutter: 24px;

	--curadh-space-1: 8px;
	--curadh-space-2: 16px;
	--curadh-space-3: 24px;
	--curadh-space-4: 32px;
	--curadh-space-5: 40px;
	--curadh-space-6: 48px;

	--curadh-radius-sm: 8px;
	--curadh-radius-md: 16px;
	--curadh-radius-lg: 24px;
}

[data-theme="dark"] {
	--curadh-surface: #14161c;
	--curadh-surface-alt: #1b1f28;
	--curadh-text: #f4eee7;
	--curadh-text-muted: #d0c3b6;
	--curadh-border: rgba(239, 198, 179, 0.22);
	--curadh-shadow: 0 20px 52px rgba(0, 0, 0, 0.4);
}

@media (prefers-color-scheme: dark) {
	:root:not([data-theme]) {
		--curadh-surface: #14161c;
		--curadh-surface-alt: #1b1f28;
		--curadh-text: #f4eee7;
		--curadh-text-muted: #d0c3b6;
		--curadh-border: rgba(239, 198, 179, 0.22);
		--curadh-shadow: 0 20px 52px rgba(0, 0, 0, 0.4);
	}
}

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

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--curadh-surface);
	color: var(--curadh-text);
	font-family: "Inter", sans-serif;
	font-size: 18px;
	line-height: 1.65;
}

::selection {
	background: var(--curadh-violet);
	color: #fff;
}

.wp-site-blocks {
	overflow: hidden;
}

.wp-site-blocks > * {
	padding-inline: clamp(16px, 3.2vw, 44px);
}

.wp-site-blocks > .alignfull {
	padding-inline: clamp(16px, 3.2vw, 44px);
}

.alignwide {
	max-width: var(--curadh-frame) !important;
	margin-inline: auto;
}

.wp-block-group.alignfull > .alignwide {
	max-width: var(--curadh-container);
}

.curadh-section {
	padding-block: clamp(56px, 8vw, 120px);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin-top: 0;
	margin-bottom: 0.6em;
	color: var(--curadh-text);
	font-family: "Sora", sans-serif;
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -0.02em;
	text-wrap: balance;
}

h1 {
	font-size: clamp(2.5rem, 6vw, 68px);
}

h2 {
	font-size: clamp(2rem, 4.8vw, 48px);
}

h3 {
	font-size: clamp(1.5rem, 3.3vw, 34px);
}

p,
li {
	color: var(--curadh-text-muted);
}

a {
	color: var(--curadh-blue);
	transition: color 150ms ease;
}

a:hover,
a:focus {
	color: var(--curadh-orange);
}

.wp-element-button,
.wp-block-button__link {
	border: 1px solid transparent;
	border-radius: 999px;
	padding: 14px 28px;
	font-family: "Sora", sans-serif;
	font-weight: 600;
	text-decoration: none;
	transition:
		transform 180ms ease,
		box-shadow 180ms ease,
		background-color 180ms ease,
		border-color 180ms ease,
		color 180ms ease;
}

.wp-element-button:hover,
.wp-element-button:focus,
.wp-block-button__link:hover,
.wp-block-button__link:focus {
	transform: translateY(-1px);
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.16);
}

.is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--curadh-text);
	border-color: var(--curadh-border);
}

.curadh-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--curadh-surface);
	border-bottom: 1px solid var(--curadh-border);
}

.curadh-header .wp-block-site-title {
	margin: 0;
}

.curadh-header .wp-block-site-title a {
	color: var(--curadh-text);
	font-family: "Sora", sans-serif;
	font-size: 1.1rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-decoration: none;
}

.curadh-nav .wp-block-navigation-item__content {
	font-family: "Sora", sans-serif;
	font-weight: 600;
	font-size: 0.94rem;
	color: var(--curadh-text);
}

.curadh-toggle {
	appearance: none;
	border: 1px solid var(--curadh-border);
	background: var(--curadh-surface-alt);
	color: var(--curadh-text);
	border-radius: 999px;
	padding: 10px 14px;
	font-family: "Sora", sans-serif;
	font-size: 0.82rem;
	font-weight: 600;
	cursor: pointer;
	transition:
		background-color 180ms ease,
		border-color 180ms ease,
		color 180ms ease;
}

.curadh-toggle:hover,
.curadh-toggle:focus {
	background: var(--curadh-blush);
	border-color: var(--curadh-blush);
	color: var(--curadh-charcoal);
}

.curadh-eyebrow {
	margin-bottom: 0.8rem;
	font-family: "Sora", sans-serif;
	font-size: 0.78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--curadh-orange);
}

.curadh-card {
	height: 100%;
	padding: clamp(20px, 2.8vw, 34px);
	border: 1px solid var(--curadh-border);
	border-radius: var(--curadh-radius-md);
	background: var(--curadh-surface-alt);
	box-shadow: var(--curadh-shadow);
}

.curadh-card p:last-child,
.curadh-card ul:last-child {
	margin-bottom: 0;
}

.curadh-metric-badge {
	display: inline-block;
	margin: 0 0 var(--curadh-space-2);
	padding: 6px 12px;
	border-radius: 999px;
	background: var(--curadh-blush);
	color: var(--curadh-charcoal);
	font-family: "Sora", sans-serif;
	font-size: 0.85rem;
	font-weight: 700;
	line-height: 1.2;
}

.curadh-meta-label,
.curadh-meta-industry {
	margin-top: 0;
	margin-bottom: var(--curadh-space-2);
	font-size: 0.94rem;
}

.curadh-service-tagline {
	margin-bottom: var(--curadh-space-2);
	color: var(--curadh-text);
	font-family: "Sora", sans-serif;
	font-size: 1rem;
	font-weight: 600;
}

.curadh-service-outcomes {
	white-space: pre-line;
}

.curadh-proof-metric {
	margin: 0;
	font-family: "Sora", sans-serif;
	font-size: clamp(1.9rem, 4vw, 48px);
	font-weight: 700;
	line-height: 1.05;
	color: #fff;
}

.curadh-proof-label {
	margin-top: 8px;
	margin-bottom: 0;
	color: rgba(255, 255, 255, 0.88);
	font-family: "Sora", sans-serif;
	font-size: 0.88rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.curadh-step {
	height: 100%;
	padding: var(--curadh-space-3);
	border: 1px solid var(--curadh-border);
	border-radius: var(--curadh-radius-md);
	background: var(--curadh-surface-alt);
}

.curadh-step-number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin: 0 0 var(--curadh-space-2);
	border-radius: 999px;
	background: var(--curadh-violet);
	color: #fff;
	font-family: "Sora", sans-serif;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.08em;
}

.wp-block-details {
	padding: var(--curadh-space-3);
	border: 1px solid var(--curadh-border);
	border-radius: var(--curadh-radius-sm);
	background: var(--curadh-surface-alt);
}

.wp-block-details summary {
	cursor: pointer;
	color: var(--curadh-text);
	font-family: "Sora", sans-serif;
	font-weight: 600;
}

.curadh-band--blue {
	background: var(--curadh-blue);
}

.curadh-band--blue h1,
.curadh-band--blue h2,
.curadh-band--blue h3,
.curadh-band--blue p,
.curadh-band--blue li,
.curadh-band--blue a {
	color: #fff;
}

.curadh-band--warm {
	background: linear-gradient(180deg, rgba(239, 198, 179, 0.48) 0%, rgba(239, 198, 179, 0.2) 100%);
}

[data-theme="dark"] .curadh-band--warm {
	background: linear-gradient(180deg, rgba(122, 120, 174, 0.3) 0%, rgba(29, 65, 95, 0.26) 100%);
}

.curadh-band--orange {
	background: var(--curadh-orange);
}

.curadh-band--orange h1,
.curadh-band--orange h2,
.curadh-band--orange h3,
.curadh-band--orange p,
.curadh-band--orange li {
	color: var(--curadh-charcoal);
}

.curadh-grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: var(--curadh-gutter);
}

.curadh-grid > * {
	grid-column: span 12;
}

@media (min-width: 768px) {
	.curadh-grid > .span-3 {
		grid-column: span 3;
	}

	.curadh-grid > .span-4 {
		grid-column: span 4;
	}

	.curadh-grid > .span-6 {
		grid-column: span 6;
	}

	.curadh-grid > .span-8 {
		grid-column: span 8;
	}
}

.wp-block-post-template {
	gap: 24px;
}

.curadh-footer {
	border-top: 1px solid var(--curadh-border);
	background: var(--curadh-surface-alt);
}

.curadh-footer .wp-block-site-title a {
	color: var(--curadh-text);
	text-decoration: none;
}

.single-business_plan .curadh-plan-main {
	padding-top: clamp(10px, 2.2vw, 22px);
	padding-bottom: clamp(44px, 7vw, 104px);
}

.single-business_plan .curadh-plan-page-title {
	max-width: 980px !important;
	margin-bottom: 10px;
	color: var(--curadh-plan-blue);
	font-family: "Playfair Display", serif;
	font-size: clamp(2.45rem, 5.2vw, 60px);
	font-weight: 500;
	line-height: 1.08;
	letter-spacing: -0.01em;
}

.single-business_plan .curadh-plan-actions {
	max-width: 980px !important;
	margin-bottom: 16px;
}

.single-business_plan .curadh-plan-date {
	margin: 0;
	color: var(--curadh-plan-blue);
	font-family: "Montserrat", sans-serif;
	font-size: 0.88rem;
	font-weight: 400;
}

.single-business_plan .curadh-plan-actions .curadh-pdf-controls {
	margin: 0;
}

.single-business_plan .curadh-plan-shell {
	max-width: 980px !important;
	padding: clamp(24px, 4vw, 56px);
	border-radius: var(--curadh-radius-lg);
	border: 1px solid rgba(29, 66, 95, 0.14);
	background: var(--curadh-surface-alt);
	box-shadow: var(--curadh-shadow);
}

.single-business_plan .curadh-plan-title--document {
	display: none;
}

.single-business_plan .curadh-plan-shell.curadh-pdf-preview-loading {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 240px;
}

.single-business_plan .curadh-plan-shell.curadh-pdf-preview-ready {
	padding: clamp(18px, 2.6vw, 30px);
	background: #e7edf4;
	border-color: rgba(29, 66, 95, 0.2);
}

.single-business_plan .curadh-plan-shell .curadh-pdf-preview-pages {
	display: grid;
	gap: clamp(18px, 2.8vw, 28px);
	justify-items: center;
}

.single-business_plan .curadh-plan-shell .curadh-pdf-preview-divider {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	width: min(100%, 860px);
	column-gap: 12px;
	color: var(--curadh-plan-blue);
	opacity: 0.88;
}

.single-business_plan .curadh-plan-shell .curadh-pdf-preview-divider::before,
.single-business_plan .curadh-plan-shell .curadh-pdf-preview-divider::after {
	content: "";
	height: 1px;
	background: rgba(29, 66, 95, 0.2);
}

.single-business_plan .curadh-plan-shell .curadh-pdf-preview-divider > span {
	display: inline-block;
	padding: 2px 10px;
	border-radius: 999px;
	background: rgba(29, 66, 95, 0.1);
	font-family: "Montserrat", sans-serif;
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.single-business_plan .curadh-plan-shell .curadh-pdf-preview-divider[data-break-type="forced"]::before,
.single-business_plan .curadh-plan-shell .curadh-pdf-preview-divider[data-break-type="forced"]::after {
	background: rgba(230, 129, 83, 0.45);
}

.single-business_plan .curadh-plan-shell .curadh-pdf-preview-divider[data-break-type="forced"] > span {
	background: rgba(230, 129, 83, 0.12);
	color: var(--curadh-plan-orange);
	border: 1px solid rgba(230, 129, 83, 0.35);
}

.single-business_plan .curadh-plan-shell .curadh-pdf-preview-page {
	position: relative;
	width: min(100%, 860px);
	min-height: clamp(700px, 94vw, 1220px);
	aspect-ratio: 210 / 297;
	display: block;
	border: 1px solid rgba(29, 66, 95, 0.16);
	background: #ffffff;
	box-shadow: 0 18px 46px rgba(17, 27, 36, 0.16);
	border-radius: 6px;
	overflow: hidden;
}

.single-business_plan .curadh-plan-shell .curadh-pdf-preview-page-badge {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 2;
	padding: 2px 9px;
	border-radius: 999px;
	background: rgba(29, 66, 95, 0.11);
	color: var(--curadh-plan-blue);
	font-family: "Montserrat", sans-serif;
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.single-business_plan .curadh-plan-shell .curadh-pdf-preview-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.single-business_plan .curadh-plan-title {
	margin-bottom: 8px;
	color: var(--curadh-plan-blue);
	font-family: "Playfair Display", serif;
	font-size: clamp(2.45rem, 5.2vw, 60px);
	font-weight: 500;
	line-height: 1.08;
	letter-spacing: -0.01em;
}

.single-business_plan .curadh-plan-subtitle {
	margin-bottom: 14px;
	color: var(--curadh-plan-blue);
	font-family: "Playfair Display", serif;
	font-size: clamp(1.6rem, 3.5vw, 36px);
	font-weight: 500;
	line-height: 1.12;
}

.single-business_plan .curadh-plan-content {
	color: var(--curadh-plan-blue);
}

.single-business_plan .curadh-plan-content .curadh-plan-kicker {
	display: none;
	margin-top: 0;
	margin-bottom: 8px;
	color: var(--curadh-plan-blue);
	font-family: "Montserrat", sans-serif;
	font-size: 0.83rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.single-business_plan .curadh-plan-content .curadh-plan-intro {
	display: none;
	margin-top: 0;
	margin-bottom: 24px;
	color: var(--curadh-plan-blue);
	font-family: "Montserrat", sans-serif;
	font-size: 0.95rem;
	font-weight: 300;
	line-height: 1.7;
}

.single-business_plan .curadh-plan-content h2,
.single-business_plan .curadh-plan-content .curadh-plan-section-title {
	margin-top: 32px;
	margin-bottom: 8px;
	scroll-margin-top: 100px;
	color: var(--curadh-plan-orange);
	font-family: "Montserrat", sans-serif;
	font-size: clamp(1.5rem, 3vw, 36px);
	font-weight: 300;
	line-height: 1.15;
	letter-spacing: -0.01em;
}

.single-business_plan .curadh-plan-content h3 {
	margin-top: 22px;
	margin-bottom: 8px;
	color: var(--curadh-plan-purple);
	font-family: "Playfair Display", serif;
	font-size: clamp(1.2rem, 2.2vw, 24px);
	font-weight: 500;
	line-height: 1.18;
}

.single-business_plan .curadh-plan-content p,
.single-business_plan .curadh-plan-content li {
	color: var(--curadh-plan-blue);
	font-family: "Montserrat", sans-serif;
	font-size: 14px;
	font-weight: 300;
	line-height: 1.45;
}

.single-business_plan .curadh-plan-content hr {
	border-color: rgba(29, 66, 95, 0.18);
}

.single-business_plan .curadh-plan-content ul,
.single-business_plan .curadh-plan-content ol {
	padding-left: 1.25rem;
}

.single-business_plan .post-password-form {
	max-width: 620px;
	margin-inline: auto;
	padding: clamp(18px, 3vw, 28px);
	border: 1px solid rgba(29, 66, 95, 0.2);
	border-radius: var(--curadh-radius-md);
	background: rgba(239, 198, 180, 0.14);
}

.single-business_plan .post-password-form p {
	margin-top: 0;
	color: var(--curadh-plan-blue);
	font-family: "Montserrat", sans-serif;
	font-size: 0.95rem;
}

.single-business_plan .post-password-form label {
	display: block;
	margin-bottom: 8px;
	color: var(--curadh-plan-blue);
	font-family: "Montserrat", sans-serif;
	font-size: 0.82rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.single-business_plan .post-password-form input[type="password"] {
	width: 100%;
	min-height: 44px;
	margin: 0 0 12px;
	padding: 10px 12px;
	border: 1px solid rgba(29, 66, 95, 0.24);
	border-radius: 10px;
	background: #fff;
	color: var(--curadh-plan-blue);
	font-family: "Montserrat", sans-serif;
	font-size: 0.95rem;
}

.single-business_plan .post-password-form input[type="submit"] {
	appearance: none;
	border: 1px solid transparent;
	border-radius: 999px;
	background: var(--curadh-plan-orange);
	color: var(--curadh-charcoal);
	padding: 12px 22px;
	font-family: "Sora", sans-serif;
	font-size: 0.88rem;
	font-weight: 600;
	cursor: pointer;
}

@media print {
	.single-business_plan .curadh-header,
	.single-business_plan .curadh-footer,
	.single-business_plan .curadh-plan-actions,
	.single-business_plan .curadh-plan-kicker {
		display: none !important;
	}

	.single-business_plan .wp-site-blocks > * {
		padding-inline: 0 !important;
	}

	.single-business_plan .curadh-plan-main {
		padding: 0 !important;
	}

	.single-business_plan .curadh-plan-shell {
		max-width: 100% !important;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;
	}

	.single-business_plan .curadh-plan-content h2,
	.single-business_plan .curadh-plan-content .curadh-plan-section-title {
		break-after: avoid;
	}
}

@media (max-width: 900px) {
	.curadh-header .alignwide {
		flex-wrap: wrap !important;
		row-gap: 14px;
	}

	.curadh-nav {
		order: 3;
		width: 100%;
	}
}

@media (max-width: 640px) {
	body {
		font-size: 16px;
	}

	.curadh-section {
		padding-block: clamp(44px, 10vw, 72px);
	}

	.single-business_plan .curadh-plan-actions .curadh-pdf-controls,
	.single-business_plan .curadh-plan-actions .curadh-pdf-download {
		width: 100%;
	}

	.single-business_plan .curadh-plan-page-title {
		margin-bottom: 14px;
	}

	.wp-element-button,
	.wp-block-button__link {
		width: 100%;
		text-align: center;
	}
}
