:root {
	--wpt-black: #101113;
	--wpt-ink: #202124;
	--wpt-muted: #636b76;
	--wpt-soft: #f6f8fa;
	--wpt-soft-2: #edf0f3;
	--wpt-line: #dfe3e7;
	--wpt-blue: #458df0;
	--wpt-blue-dark: #2f6fd0;
	--wpt-green: #c0e9c1;
	--wpt-cream: #f8f5ef;
	--wpt-radius-sm: 6px;
	--wpt-radius: 14px;
	--wpt-radius-lg: 22px;
	--wpt-shadow-soft: 0 14px 38px rgba(16, 17, 19, .07);
	--wpt-shadow-card: 0 26px 70px rgba(0, 0, 0, .28);
}

html { scroll-behavior: smooth; }

body {
	font-family: "Inter", sans-serif;
	color: var(--wpt-ink);
	background: #fff;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

a { color: inherit; }
p { color: var(--wpt-muted); line-height: 1.42; }
li { line-height: 1.42; }

h1, h2, h3, h4, h5 {
	color: var(--wpt-ink);
	font-family: "Inter", sans-serif;
	font-weight: 700;
	letter-spacing: -.04em;
}

h1 { font-size: clamp(2.25rem, 6vw, 3.9rem); line-height: 1.08; }
h2 { font-size: clamp(1.8rem, 4vw, 2.85rem); line-height: 1.08; }
h3 { font-size: 1.16rem; line-height: 1.2; }

.button.wpt-button-dark {
	background: var(--wpt-ink);
	color: #fff;
	border-radius: var(--wpt-radius-sm);
	font-weight: 700;
	box-shadow: 0 10px 22px rgba(32, 33, 36, .12);
}

.button.wpt-button-dark:hover,
.button.wpt-button-dark:focus {
	background: #3f4148;
	color: #fff;
}

.button.wpt-button-blue {
	background: var(--wpt-blue);
	color: #fff;
	border-radius: var(--wpt-radius-sm);
	font-weight: 700;
	box-shadow: 0 10px 22px rgba(69, 141, 240, .18);
}

.button.wpt-button-blue:hover,
.button.wpt-button-blue:focus {
	background: var(--wpt-blue-dark);
	color: #fff;
}

.wpt-header .button,
.final-cta .button { margin-bottom: 0; }

.wpt-header {
	background: rgba(255, 255, 255, .94);
	backdrop-filter: blur(14px);
	border-bottom: 1px solid var(--wpt-line);
	position: sticky;
	top: 0;
	z-index: 30;
	padding: 11px 0;
}

.wpt-header-row { min-height: 45px; }

.wpt-logo,
.wpt-footer-logo {
	display: inline-flex;
	align-items: center;
	font-size: 22px;
	letter-spacing: -.045em;
	font-weight: 700;
	line-height: 1;
	color: var(--wpt-ink);
	text-decoration: none;
}

.wpt-logo span,
.wpt-footer-logo span {
	display: inline-block;
	width: 8px;
	height: 8px;
	background: var(--wpt-blue);
	border-radius: 999px;
	margin-left: 4px;
	transform: translateY(-1px);
}

.wpt-logo-image img,
.wpt-footer-logo-image img {
	display: block;
	width: auto;
	height: 45px;
	margin: 0;
	padding: 0;
}

.wpt-nav-menu { margin-right: .75rem; }

.wpt-nav-menu.simple li + li,
.wpt-footer-menu.simple li + li { margin-left: .75rem; }

.wpt-nav-menu a,
.wpt-footer-menu a {
	color: var(--wpt-muted);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.15;
	padding: 0;
	text-decoration: none;
}

.wpt-nav-menu a:hover,
.wpt-nav-menu a:focus,
.wpt-footer-menu a:hover,
.wpt-footer-menu a:focus { color: var(--wpt-ink); }

.wpt-header-cta { padding-left: .75rem; }

.wpt-menu-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border: 1px solid var(--wpt-line);
	border-radius: 999px;
	background: #fff;
	color: var(--wpt-ink);
	font-size: 18px;
	box-shadow: 0 10px 22px rgba(32, 33, 36, .08);
	cursor: pointer;
}

.wpt-menu-toggle:hover,
.wpt-menu-toggle:focus {
	border-color: rgba(32, 33, 36, .26);
	outline: none;
}

.wpt-mobile-offcanvas {
	background: #fff;
	box-shadow: -24px 0 60px rgba(16, 17, 19, .18);
	padding: 0;
}

.wpt-mobile-offcanvas .close-button {
	color: var(--wpt-ink);
	font-size: 32px;
	right: 18px;
	top: 15px;
}

.wpt-mobile-offcanvas-inner {
	padding: 28px 22px 22px;
}

.wpt-mobile-nav {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 24px;
}

.wpt-mobile-nav a:not(.button) {
	display: flex;
	align-items: center;
	min-height: 42px;
	border-radius: 12px;
	padding: 10px 11px;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.15;
	color: var(--wpt-ink);
	background: var(--wpt-soft);
	text-decoration: none;
}

.wpt-mobile-nav a:not(.button):hover,
.wpt-mobile-nav a:not(.button):focus { background: var(--wpt-soft-2); }

.wpt-mobile-nav .button { margin: 4px 0 0; }

.wpt-footer {
	padding: 32px 0;
	border-top: 1px solid var(--wpt-line);
	background: #fff;
}

.wpt-footer-copy { font-size: 13px; max-width: 440px; margin-bottom: 0; }
.wpt-footer-menu { justify-content: flex-start; margin-top: .75rem; }
.wpt-footer-meta { font-size: 13px; margin: 18px 0 0; }

.section-pad { padding: 52px 0; }
.section-pad-sm { padding: 38px 0; }
.soft-section { background: #f8fafc; border-top: 1px solid var(--wpt-line); border-bottom: 1px solid var(--wpt-line); }
.cream-section { background: var(--wpt-cream); }
.dark-section { background: var(--wpt-black); color: #fff; }
.dark-section h2, .dark-section h3, .dark-section h4 { color: #fff; }
.dark-section p { color: rgba(255, 255, 255, .72); }

.eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 10px;
	line-height: 1;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--wpt-muted);
	background: #fff;
	border: 1px solid var(--wpt-line);
	border-radius: 999px;
	padding: 8px 11px;
	margin-bottom: 14px;
}

.eyebrow::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 999px;
	background: var(--wpt-green);
	box-shadow: 0 0 0 4px rgba(192, 233, 193, .35);
}

.dark-section .eyebrow {
	color: #fff;
	background: rgba(255, 255, 255, .08);
	border-color: rgba(255, 255, 255, .16);
}

.hero-section {
	background:
		radial-gradient(circle at 72% 0%, rgba(69, 141, 240, .42), transparent 29%),
		linear-gradient(180deg, #08090b 0%, #101113 100%);
	overflow: hidden;
	padding: 62px 0 58px;
}

.hero-section h1,
.hero-section .hero-word { color: #fff; }
.hero-section .hero-word.accent { color: var(--wpt-blue); }
.hero-copy { color: rgba(255, 255, 255, .78); font-size: 16px; max-width: 620px; margin-bottom: 22px; margin-top: 15px; }
.wpt-hero-actions .button { margin-bottom: .55rem; }

.wpt-review-panel {
	background: #fff;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 24px;
	box-shadow: var(--wpt-shadow-card);
	padding: 24px;
	margin-top: 30px;
}

.wpt-simple-review-top { display: block; margin-bottom: 18px; }

.wpt-review-label {
	display: inline-flex;
	align-items: center;
	border-radius: 999px;
	background: var(--wpt-soft-2);
	color: var(--wpt-ink);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .06em;
	line-height: 1;
	text-transform: uppercase;
	padding: 8px 10px;
	margin-bottom: 12px;
}

.wpt-review-panel-title { font-size: 1.45rem; line-height: 1.12; letter-spacing: -.04em; margin: 0 0 8px; }
.wpt-review-panel-copy { font-size: 14px; line-height: 1.42; margin: 0; color: var(--wpt-muted); }
.input-label { display: block; margin: 0 0 6px; font-size: 12px; font-weight: 700; color: var(--wpt-ink); line-height: 1; }
.input-label span { color: var(--wpt-muted); font-weight: 600; }
.input-wrap { margin-bottom: 12px; }

.input-wrap input,
.input-wrap textarea {
	width: 100%;
	border: 1px solid var(--wpt-line);
	background-color: var(--wpt-soft);
	border-radius: 14px;
	font-size: 15px;
	padding: 11px 12px;
	margin: 0;
	color: var(--wpt-ink);
	box-shadow: none;
	outline: none;
	font-family: "Inter", sans-serif;
}

.input-wrap input { min-height: 48px; }
.input-wrap textarea { min-height: 132px; resize: vertical; }

.input-wrap input:focus,
.input-wrap textarea:focus {
	border-color: var(--wpt-blue);
	background: #fff;
	box-shadow: 0 0 0 4px rgba(69, 141, 240, .12);
}

.wpt-simple-form .button { margin-top: 4px; margin-bottom: 8px; }
.form-note { font-size: 12px; line-height: 1.3; color: var(--wpt-muted); text-align: center; margin: 0; }
.wpt-hidden-field { position: absolute !important; left: -10000px !important; top: auto !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

.form-message {
	border-radius: 14px;
	padding: 12px 13px;
	font-size: 13px;
	line-height: 1.35;
	margin: 0 0 14px;
}

.form-message strong { display: block; margin-bottom: 6px; color: var(--wpt-ink); }
.form-message ul { margin: 0 0 0 18px; }
.form-message li { font-size: 13px; line-height: 1.35; }
.form-error { background: #fff2f0; border: 1px solid #ffd0ca; color: #8a2418; }

.section-intro { font-size: 18px; margin-top: 15px; margin-bottom: 10px; }
.section-heading-row { margin-bottom: 24px; }

.pain-card,
.partner-card,
.system-card,
.outcome-card,
.wpt-client-proof-card,
.partnership-panel {
	background: #fff;
	border: 1px solid var(--wpt-line);
	border-radius: var(--wpt-radius);
}

.pain-card,
.outcome-card { padding: 18px; height: 100%; }
.pain-card p, .outcome-card p, .system-card p { font-size: 14px; margin-bottom: 0; }

.pain-number {
	width: 45px;
	height: 45px;
	border-radius: 999px;
	background: var(--wpt-soft-2);
	color: var(--wpt-ink);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 13px;
}

.partner-card { padding: 22px; height: 100%; }
.partner-card.dark { background: var(--wpt-ink); border-color: var(--wpt-ink); }
.partner-card.dark h3 { color: #fff; }
.partner-card.dark p { color: rgba(255, 255, 255, .72); }

.check-list { list-style: none; padding: 0; margin: 17px 0 0; }
.check-list li { display: flex; gap: 10px; color: var(--wpt-muted); font-size: 14px; line-height: 1.45; margin-bottom: 10px; }
.partner-card.dark .check-list li { color: rgba(255, 255, 255, .8); }
.check-dot { width: 17px; height: 17px; flex: 0 0 auto; border-radius: 999px; background: var(--wpt-green); margin-top: 2px; position: relative; }
.check-dot::after { content: ""; position: absolute; left: 5px; top: 4px; width: 6px; height: 8px; border-right: 2px solid var(--wpt-ink); border-bottom: 2px solid var(--wpt-ink); transform: rotate(42deg); }

.wpt-system-row { margin-top: 22px; }
.system-card { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .16); padding: 18px; height: 100%; }
.system-tag { display: inline-flex; align-items: center; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .15); border-radius: 999px; color: rgba(255, 255, 255, .74); font-size: 10px; font-weight: 700; letter-spacing: .07em; line-height: 1; text-transform: uppercase; padding: 7px 9px; margin-bottom: 13px; }
.system-tag i, .partnership-panel h3 i, .wpt-testimonial-result i { margin-right: .45rem; }

.outcome-icon { width: 36px; height: 36px; border-radius: 12px; background: var(--wpt-soft-2); color: var(--wpt-ink); display: flex; align-items: center; justify-content: center; font-weight: 700; margin-bottom: 13px; }

.wpt-client-proof-card { border-radius: var(--wpt-radius-lg); overflow: hidden; height: 100%; }
.wpt-client-proof-top { background: var(--wpt-ink); padding: 18px; }
.wpt-client-proof-top h3 { color: #fff; margin: 0; font-size: 1.35rem; }
.wpt-client-proof-body { padding: 18px; }
.wpt-testimonial-result { display: inline-flex; align-items: center; border-radius: 999px; background: var(--wpt-soft-2); color: var(--wpt-ink); font-size: 11px; font-weight: 700; line-height: 1; padding: 8px 10px; margin-bottom: .85rem; }
.wpt-testimonial-result i { color: var(--wpt-blue); }
.wpt-testimonial-quote { font-size: 1rem; line-height: 1.38; color: var(--wpt-ink); margin: 0 0 1rem; }
.wpt-testimonial-quote::before { content: "“"; color: var(--wpt-blue); font-weight: 800; }
.wpt-testimonial-quote::after { content: "”"; color: var(--wpt-blue); font-weight: 800; }
.wpt-testimonial-person { border-top: 1px solid var(--wpt-line); padding-top: .85rem; margin-top: .85rem; }
.wpt-testimonial-person strong { display: block; font-size: 16px; font-weight: bold; line-height: 1.2; color: var(--wpt-ink); }
.wpt-testimonial-person span { display: block; font-size: 12px; line-height: 1.25; color: var(--wpt-muted); margin-top: 3px; }

.partnership-panel { border-radius: var(--wpt-radius-lg); padding: 22px; box-shadow: var(--wpt-shadow-soft); margin-top: 10px; }
.final-cta { border-radius: var(--wpt-radius-lg); background: var(--wpt-ink); padding: 24px; position: relative; overflow: hidden; }
.final-cta::after { content: ""; position: absolute; right: -80px; top: -80px; width: 210px; height: 210px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .12); }
.final-cta h2 { color: #fff; font-size: clamp(1.9rem, 5vw, 3rem); }
.final-cta p { color: rgba(255, 255, 255, .72); margin-bottom: 18px; }
.final-cta .button { background: var(--wpt-blue) !important; box-shadow: 0 10px 22px rgba(69, 141, 240, .18); }
.final-cta .button:hover, .final-cta .button:focus { background: var(--wpt-blue-dark) !important; }

.wpt-page-hero { background: radial-gradient(circle at 75% 0%, rgba(69, 141, 240, .11), transparent 30%), linear-gradient(180deg, #fff 0%, var(--wpt-soft) 100%); }
.wpt-page-kicker { margin-bottom: 12px; }
.wpt-page-copy { font-size: 18px; max-width: 640px; margin-top: 16px; }
.wpt-page-panel { background: #fff; border: 1px solid var(--wpt-line); border-radius: var(--wpt-radius-lg); box-shadow: var(--wpt-shadow-soft); padding: 24px; }
.wpt-page-panel .wpt-review-panel { margin: 0; }
.wpt-simple-page .wpt-review-panel { box-shadow: var(--wpt-shadow-soft); border-color: var(--wpt-line); }
.wpt-simple-page .check-list { margin-top: 22px; }
.wpt-thankyou-card { background: #fff; border: 1px solid var(--wpt-line); border-radius: var(--wpt-radius-lg); box-shadow: var(--wpt-shadow-soft); padding: clamp(24px, 5vw, 42px); text-align: center; }
.wpt-thankyou-icon { display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 54px; border-radius: 999px; background: var(--wpt-soft-2); color: var(--wpt-ink); font-size: 22px; margin-bottom: 16px; }
.wpt-thankyou-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 24px; }
.wpt-thankyou-actions .button { margin: 0; }

@media screen and (min-width: 40em) {
	.section-pad { padding: 64px 0; }
	.section-pad-sm { padding: 48px 0; }
	.hero-section { padding: 68px 0 66px; }
	.wpt-hero-actions .button { margin-bottom: 0; }
	.wpt-footer-menu { justify-content: flex-end; margin-top: 0; }
}

@media screen and (min-width: 64em) {
	.section-pad { padding: 76px 0; }
	.section-pad-sm { padding: 56px 0; }
	.hero-section { padding: 80px 0 76px; }
	.hero-copy { font-size: 17px; }
	.wpt-review-panel { margin-top: 0; }
	.partnership-panel { padding: 28px; margin-top: 0; }
	.final-cta { padding: 34px; }
}

@media screen and (max-width: 39.9375em) {
	.wpt-header { padding: 10px 0; }
	.wpt-header-cta { padding-left: .5rem; }
	.hero-section { padding-top: 42px; padding-bottom: 44px; }
	h1 { font-size: clamp(2.15rem, 12vw, 3rem); line-height: 1.08; }
	h2 { font-size: clamp(1.8rem, 9vw, 2.45rem); line-height: 1.12; }
	.hero-copy { font-size: 15px; line-height: 1.45; }
	.wpt-review-panel { margin-top: 26px; padding: 18px; border-radius: 20px; }
	.section-pad { padding-top: 48px; padding-bottom: 48px; }
	.section-pad-sm { padding-top: 38px; padding-bottom: 38px; }
	.section-heading-row { margin-bottom: 20px; }
	.pain-card, .outcome-card { display: grid; grid-template-columns: 44px 1fr; column-gap: 14px; align-items: start; padding: 16px; border-radius: 18px; }
	.pain-number, .outcome-icon { grid-column: 1; grid-row: 1 / span 2; width: 42px; height: 42px; margin: 0; border-radius: 13px; flex: 0 0 auto; }
	.pain-card h3, .pain-card p, .outcome-card h3, .outcome-card p { grid-column: 2; }
	.pain-card h3, .outcome-card h3 { margin-top: 0; margin-bottom: .35rem; }
	.partner-card, .system-card, .wpt-client-proof-card, .partnership-panel { border-radius: 18px; }
	.final-cta { padding: 22px; }
	.final-cta .button { width: 100%; margin-top: .4rem !important; }
	.wpt-page-panel, .wpt-thankyou-card { padding: 20px; border-radius: 20px; }
	.wpt-page-copy { font-size: 16px; }
}
