:root{
	--pwpm-navy:#0b1730;
	--pwpm-text:#152033;
	--pwpm-muted:#667085;
	--pwpm-line:#e3e9f2;
	--pwpm-bg:#f4f7fb;
	--pwpm-success:#16945f;
	--pwpm-shadow:0 18px 50px rgba(12,28,57,.09);
}

.pwpm-tool{
	--pwpm-primary:#1769ff;
	--pwpm-accent:#ffd43b;
	color:var(--pwpm-text);
	background:var(--pwpm-bg);
	font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	line-height:1.55;
	padding:34px 0 44px;
}

.pwpm-tool *{box-sizing:border-box}
.pwpm-tool a{text-decoration:none}

.pwpm-container{
	width:min(1180px,calc(100% - 32px));
	margin-inline:auto;
}

.pwpm-shell{
	position:relative;
	background:#fff;
	border:1px solid rgba(11,18,32,.06);
	border-radius:30px;
	overflow:hidden;
	box-shadow:0 18px 45px rgba(11,18,32,.12);
}

.pwpm-hero{
	position:relative;
	min-height:430px;
	overflow:hidden;
	background:
		linear-gradient(135deg, rgba(27,101,255,.16), rgba(11,68,255,.10)),
		var(--pwpm-hero-image,linear-gradient(135deg,#eef5ff,#dceaff 48%,#b6cff8));
	background-size:cover;
	background-position:center;
}

.pwpm-hero:before{
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(90deg, rgba(11,18,32,.76) 0%, rgba(11,18,32,.54) 35%, rgba(11,18,32,.22) 65%, rgba(11,18,32,.03) 100%);
	z-index:0;
}

.pwpm-hero:after{
	content:"";
	position:absolute;
	inset:0;
	background:
		radial-gradient(900px 420px at 12% 12%, rgba(255,255,255,.10), transparent 52%),
		linear-gradient(180deg, rgba(255,255,255,0) 75%, rgba(11,18,32,.10) 100%);
	pointer-events:none;
	z-index:0;
}

.pwpm-hero-grid{
	position:relative;
	z-index:1;
	display:grid;
	align-items:center;
	min-height:430px;
}

.pwpm-hero-copy{
	max-width:700px;
	padding:54px 44px 116px;
}

.pwpm-eyebrow{
	display:inline-flex;
	padding:8px 14px;
	border-radius:999px;
	background:linear-gradient(180deg,var(--pwpm-primary),#0b44ff);
	color:#fff;
	font-size:12px;
	font-weight:900;
	letter-spacing:.03em;
	text-transform:uppercase;
	box-shadow:0 12px 24px rgba(27,101,255,.22);
}

.pwpm-hero h1{
	margin:17px 0 14px;
	color:#fff;
	font-size:clamp(42px,5.4vw,74px);
	line-height:1.01;
	letter-spacing:-.055em;
	text-shadow:0 6px 20px rgba(0,0,0,.22);
}

.pwpm-hero p{
	max-width:680px;
	margin:0;
	color:rgba(255,255,255,.92);
	font-size:18px;
	text-shadow:0 2px 12px rgba(0,0,0,.18);
}

.pwpm-hero-actions{
	display:flex;
	flex-wrap:wrap;
	gap:12px;
	margin-top:25px;
}

.pwpm-button{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:58px;
	padding:14px 28px;
	border-radius:999px;
	font-size:15px;
	font-weight:900;
	transition:transform .18s ease,box-shadow .18s ease;
}

.pwpm-button:hover{
	transform:translateY(-1px);
	box-shadow:0 14px 28px rgba(11,18,32,.14);
}

.pwpm-button--primary{
	border:1px solid transparent;
	background:linear-gradient(180deg,var(--pwpm-primary),#0b44ff);
	color:#fff!important;
	box-shadow:0 16px 32px rgba(27,101,255,.28);
}

.pwpm-button--outline,
.pwpm-button--accent{
	border:1px solid transparent;
	background:var(--pwpm-accent);
	color:var(--pwpm-navy)!important;
	box-shadow:0 14px 28px rgba(243,200,74,.25);
}

.pwpm-tool-body{
	position:relative;
	z-index:3;
	margin-top:-52px;
	padding:0 0 36px;
	background:transparent;
}


.pwpm-stepper{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:0;
	overflow:hidden;
	border:1px solid var(--pwpm-line);
	border-radius:22px 22px 0 0;
	background:#fff;
	box-shadow:0 -8px 28px rgba(12,28,57,.06);
}

.pwpm-step{
	position:relative;
	display:flex;
	align-items:center;
	gap:11px;
	min-height:72px;
	padding:16px 22px;
	color:#68758a;
}

.pwpm-step:not(:last-child):after{
	content:"";
	position:absolute;
	top:50%;
	right:0;
	width:1px;
	height:32px;
	background:var(--pwpm-line);
	transform:translateY(-50%);
}

.pwpm-step span{
	display:grid;
	place-items:center;
	flex:0 0 34px;
	width:34px;
	height:34px;
	border:1px solid #dce3ee;
	border-radius:50%;
	background:#fff;
	font-size:12px;
	font-weight:900;
}

.pwpm-step strong{
	font-size:13px;
	white-space:nowrap;
}

.pwpm-step.is-active{color:var(--pwpm-navy)}
.pwpm-step.is-active span{
	border-color:var(--pwpm-primary);
	background:var(--pwpm-primary);
	color:#fff;
}

.pwpm-step.is-complete span{
	border-color:#b9cdf7;
	background:#edf4ff;
	color:var(--pwpm-primary);
}

.pwpm-questionnaire{
	overflow:hidden;
	border:1px solid var(--pwpm-line);
	border-top:0;
	border-radius:0 0 22px 22px;
	background:#fff;
	box-shadow:var(--pwpm-shadow);
}

.pwpm-question-panel{
	display:none;
	padding:34px;
}

.pwpm-question-panel.is-active{display:block}

.pwpm-question-heading{
	max-width:760px;
	margin-bottom:25px;
}

.pwpm-question-heading>span{
	color:var(--pwpm-primary);
	font-size:12px;
	font-weight:900;
	text-transform:uppercase;
}

.pwpm-question-heading h2{
	margin:6px 0 7px;
	color:var(--pwpm-navy);
	font-size:32px;
	line-height:1.1;
	letter-spacing:-.035em;
}

.pwpm-question-heading p{
	margin:0;
	color:var(--pwpm-muted);
}

.pwpm-choice-grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:12px;
}

.pwpm-choice{
	position:relative;
	display:grid;
	grid-template-columns:42px minmax(0,1fr) 24px;
	gap:12px;
	align-items:center;
	min-height:70px;
	padding:13px 15px;
	border:1px solid #dfe5ef;
	border-radius:14px;
	background:#fff;
	cursor:pointer;
	transition:border-color .18s ease,background .18s ease,transform .18s ease;
}

.pwpm-choice:hover{
	transform:translateY(-1px);
	border-color:#b8ccf8;
}

.pwpm-choice input{
	position:absolute;
	opacity:0;
	pointer-events:none;
}

.pwpm-choice-icon{
	display:grid;
	place-items:center;
	width:42px;
	height:42px;
	border-radius:12px;
	background:#f1f5fc;
	color:var(--pwpm-primary);
	font-size:17px;
	font-weight:900;
}

.pwpm-choice strong{
	color:#27344a;
	font-size:14px;
}

.pwpm-choice i{
	display:grid;
	place-items:center;
	width:22px;
	height:22px;
	border:1px solid #d8e0ec;
	border-radius:50%;
	color:transparent;
	font-size:11px;
	font-style:normal;
}

.pwpm-choice.is-selected{
	border-color:var(--pwpm-primary);
	background:#f4f8ff;
	box-shadow:0 0 0 3px rgba(23,105,255,.09);
}

.pwpm-choice.is-selected i{
	border-color:var(--pwpm-primary);
	background:var(--pwpm-primary);
	color:#fff;
}

.pwpm-panel-actions{
	display:flex;
	justify-content:flex-end;
	gap:10px;
	margin-top:26px;
	padding-top:22px;
	border-top:1px solid #edf0f5;
}

.pwpm-panel-actions button{
	min-height:45px;
	padding:10px 18px;
	border-radius:12px;
	font:inherit;
	font-size:14px;
	font-weight:900;
	cursor:pointer;
}

.pwpm-panel-actions button:disabled{
	opacity:.45;
	cursor:not-allowed;
}

.pwpm-next,
.pwpm-submit{
	border:1px solid var(--pwpm-primary);
	background:var(--pwpm-primary);
	color:#fff;
}

.pwpm-back{
	border:1px solid #d9e1ec;
	background:#fff;
	color:var(--pwpm-navy);
}

.pwpm-location-box{
	max-width:760px;
	padding:23px;
	border:1px solid #dfe5ef;
	border-radius:16px;
	background:#fbfcfe;
}

.pwpm-location-box>label{
	display:block;
	margin-bottom:8px;
	color:var(--pwpm-navy);
	font-size:13px;
	font-weight:900;
}

.pwpm-location-box select{
	width:100%;
	min-height:52px;
	padding:0 14px;
	border:1px solid #d8e0ec;
	border-radius:12px;
	background:#fff;
	color:var(--pwpm-text);
	font:inherit;
}

.pwpm-privacy-note{
	display:flex;
	gap:10px;
	align-items:flex-start;
	margin-top:18px;
	padding:14px;
	border-radius:12px;
	background:#eef5ff;
	color:#53627a;
	font-size:13px;
}

.pwpm-privacy-note span{
	display:grid;
	place-items:center;
	flex:0 0 24px;
	width:24px;
	height:24px;
	border-radius:8px;
	background:var(--pwpm-primary);
	color:#fff;
	font-weight:900;
}

.pwpm-privacy-note p{margin:1px 0 0}

.pwpm-result-region{
	display:none;
	scroll-margin-top:25px;
	margin-top:22px;
}

.pwpm-result-region.is-visible{display:block}

.pwpm-loading,
.pwpm-error{
	display:flex;
	justify-content:center;
	align-items:center;
	gap:13px;
	min-height:160px;
	padding:30px;
	border:1px solid var(--pwpm-line);
	border-radius:20px;
	background:#fff;
	box-shadow:var(--pwpm-shadow);
}

.pwpm-loading span{
	width:25px;
	height:25px;
	border:3px solid #d9e5fd;
	border-top-color:var(--pwpm-primary);
	border-radius:50%;
	animation:pwpm-spin .8s linear infinite;
}

@keyframes pwpm-spin{to{transform:rotate(360deg)}}

.pwpm-error{color:#a12626}

.pwpm-result-heading{
	display:flex;
	justify-content:space-between;
	align-items:center;
	margin:0 0 10px;
}

.pwpm-result-heading span{
	color:var(--pwpm-navy);
	font-size:22px;
	font-weight:900;
}

.pwpm-result-heading strong{
	padding:7px 10px;
	border-radius:999px;
	background:#eef5ff;
	color:var(--pwpm-primary);
	font-size:12px;
}

.pwpm-results-list{
	display:grid;
	gap:16px;
}

.pwpm-result-card{
	display:grid;
	grid-template-columns:minmax(0,1.25fr) 210px minmax(250px,.8fr) 170px;
	gap:0;
	overflow:hidden;
	border:1px solid var(--pwpm-line);
	border-radius:20px;
	background:#fff;
	box-shadow:var(--pwpm-shadow);
}

.pwpm-result-card--primary{border-color:#bfd2fb}

.pwpm-professional-main,
.pwpm-score-panel,
.pwpm-why-panel,
.pwpm-result-actions{
	padding:22px;
}

.pwpm-score-panel,
.pwpm-why-panel,
.pwpm-result-actions{
	border-left:1px solid #edf0f5;
}

.pwpm-professional-identity{
	display:grid;
	grid-template-columns:82px minmax(0,1fr);
	gap:16px;
	align-items:start;
}

.pwpm-avatar{
	display:grid;
	place-items:center;
	width:82px;
	height:82px;
	overflow:hidden;
	border:4px solid #edf4ff;
	border-radius:50%;
	background:#fff;
	box-shadow:0 8px 22px rgba(10,35,83,.08);
}

.pwpm-avatar img{
	width:100%;
	height:100%;
	object-fit:cover;
}

.pwpm-avatar span{
	color:var(--pwpm-primary);
	font-size:23px;
	font-weight:950;
}

.pwpm-result-labels{
	display:flex;
	flex-wrap:wrap;
	gap:6px;
	margin-bottom:5px;
}

.pwpm-result-labels span{
	padding:4px 7px;
	border-radius:999px;
	font-size:9px;
	font-weight:900;
	text-transform:uppercase;
}

.pwpm-featured-label{
	background:#eaf2ff;
	color:var(--pwpm-primary);
}

.pwpm-best-label{
	background:#e7f8ef;
	color:#0e7a4c;
}

.pwpm-result-card h3{
	margin:0;
	color:var(--pwpm-navy);
	font-size:23px;
	line-height:1.12;
}

.pwpm-service-name{
	display:block;
	margin-top:4px;
	color:var(--pwpm-primary);
	font-size:13px;
}

.pwpm-area{
	margin:7px 0 0;
	color:#69768a;
	font-size:12px;
}

.pwpm-summary{
	margin:13px 0 0;
	color:#56647a;
	font-size:13px;
}

.pwpm-highlights{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin-top:16px;
}

.pwpm-highlights span{
	padding:6px 8px;
	border-radius:9px;
	background:#f4f7fb;
	color:#53627a;
	font-size:11px;
	font-weight:700;
}

.pwpm-score-panel>span{
	display:block;
	color:#53627a;
	font-size:11px;
	font-weight:800;
}

.pwpm-score-panel>strong{
	display:block;
	margin:3px 0;
	color:var(--pwpm-success);
	font-size:45px;
	line-height:1;
	letter-spacing:-.05em;
}

.pwpm-score-panel>small{
	display:block;
	color:#7a8698;
	font-size:10px;
}

.pwpm-score-bars{
	display:grid;
	gap:10px;
	margin-top:17px;
}

.pwpm-score-row>div:first-child{
	display:flex;
	justify-content:space-between;
	gap:8px;
	color:#53627a;
	font-size:10px;
}

.pwpm-score-track{
	overflow:hidden;
	height:5px;
	margin-top:4px;
	border-radius:999px;
	background:#e9edf3;
}

.pwpm-score-track i{
	display:block;
	height:100%;
	border-radius:inherit;
	background:var(--pwpm-success);
}

.pwpm-why-panel h4{
	margin:0 0 12px;
	color:var(--pwpm-navy);
	font-size:14px;
}

.pwpm-why-panel ul{
	display:grid;
	gap:9px;
	margin:0;
	padding:0;
	list-style:none;
}

.pwpm-why-panel li{
	display:grid;
	grid-template-columns:20px minmax(0,1fr);
	gap:8px;
	color:#59677a;
	font-size:11px;
}

.pwpm-why-panel li span{
	display:grid;
	place-items:center;
	width:18px;
	height:18px;
	border-radius:50%;
	background:var(--pwpm-primary);
	color:#fff;
	font-size:9px;
}

.pwpm-result-actions{
	display:flex;
	flex-direction:column;
	justify-content:center;
	gap:10px;
}

.pwpm-result-actions .pwpm-button{width:100%}

.pwpm-bubbles{
	grid-column:1/-1;
	display:flex;
	flex-wrap:wrap;
	gap:7px;
	padding:13px 22px 18px;
	border-top:1px solid #edf0f5;
}

.pwpm-bubbles span{
	padding:6px 9px;
	border:1px solid #cfe0ff;
	border-radius:999px;
	background:#f5f9ff;
	color:var(--pwpm-primary);
	font-size:10px;
	font-weight:800;
}

.pwpm-empty-result{
	padding:38px;
	border:1px solid #f0d98b;
	border-radius:20px;
	background:linear-gradient(135deg,#fffdf5,#fff9df);
	box-shadow:var(--pwpm-shadow);
	text-align:center;
}

.pwpm-empty-icon{
	display:grid;
	place-items:center;
	width:62px;
	height:62px;
	margin:0 auto 13px;
	border-radius:18px;
	background:var(--pwpm-accent);
	color:var(--pwpm-navy);
	font-size:27px;
}

.pwpm-empty-result>span{
	color:#806400;
	font-size:11px;
	font-weight:900;
	text-transform:uppercase;
}

.pwpm-empty-result h3{
	margin:7px 0 8px;
	color:var(--pwpm-navy);
	font-size:30px;
}

.pwpm-empty-result>p{
	max-width:700px;
	margin:0 auto;
	color:#626c7d;
}

.pwpm-empty-summary{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:10px;
	max-width:830px;
	margin:24px auto;
}

.pwpm-empty-summary div{
	padding:13px;
	border:1px solid #efdfaa;
	border-radius:12px;
	background:rgba(255,255,255,.75);
}

.pwpm-empty-summary strong,
.pwpm-empty-summary span{
	display:block;
}

.pwpm-empty-summary strong{
	color:#705900;
	font-size:10px;
	text-transform:uppercase;
}

.pwpm-empty-summary span{
	margin-top:3px;
	color:#4e5969;
	font-size:12px;
}

.pwpm-trust-strip{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:14px;
	margin-top:22px;
	padding:22px;
	border:1px solid #d9e5f8;
	border-radius:18px;
	background:#f7faff;
}

.pwpm-trust-strip>div{
	display:grid;
	grid-template-columns:31px minmax(0,1fr);
	gap:10px;
	align-items:start;
}

.pwpm-trust-strip>div>span{
	display:grid;
	place-items:center;
	width:31px;
	height:31px;
	border-radius:10px;
	background:#e8f1ff;
	color:var(--pwpm-primary);
	font-weight:900;
}

.pwpm-trust-strip p{
	margin:0;
	color:#6a7789;
	font-size:11px;
}

.pwpm-trust-strip strong{
	display:block;
	margin-bottom:2px;
	color:var(--pwpm-navy);
	font-size:12px;
}

.pwpm-disclaimer{
	margin-top:14px;
	color:#7a8493;
	font-size:11px;
	text-align:center;
}


.pwpm-stepper,
.pwpm-questionnaire,
.pwpm-result-region,
.pwpm-trust-strip,
.pwpm-disclaimer{
	width:calc(100% - 56px);
	margin-inline:auto;
}

.pwpm-stepper{
	position:relative;
	z-index:2;
	border-radius:24px 24px 0 0;
	background:#fff;
	box-shadow:0 -8px 28px rgba(12,28,57,.04), 0 14px 30px rgba(12,28,57,.08);
}

.pwpm-questionnaire{
	background:linear-gradient(180deg,#ffffff 0%,#fbfcff 100%);
}

.pwpm-result-region{margin-top:24px}
.pwpm-result-region.is-visible{display:block}

.pwpm-trust-strip{
	margin-top:22px;
	background:#f7faff;
}

.pwpm-disclaimer{
	padding:0 0 2px;
}


/* Result navigation: change answers or begin a new match */
.pwpm-result-toolbar{
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:12px;
	margin:0 0 14px;
}

.pwpm-result-toolbar button{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:44px;
	padding:10px 17px;
	border-radius:999px;
	font:inherit;
	font-size:13px;
	font-weight:900;
	cursor:pointer;
	transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}

.pwpm-result-toolbar button:hover{
	transform:translateY(-1px);
	box-shadow:0 10px 22px rgba(11,18,32,.10);
}

.pwpm-change-match{
	border:1px solid #d7e0ed;
	background:#fff;
	color:var(--pwpm-navy);
}

.pwpm-restart-match{
	border:1px solid transparent;
	background:linear-gradient(180deg,var(--pwpm-primary),#0b44ff);
	color:#fff;
	box-shadow:0 12px 24px rgba(27,101,255,.20);
}

@media(max-width:1050px){
	.pwpm-result-card{
		grid-template-columns:minmax(0,1fr) 210px;
	}
	.pwpm-why-panel,
	.pwpm-result-actions{
		border-top:1px solid #edf0f5;
	}
	.pwpm-why-panel{border-left:0}
	.pwpm-result-actions{border-left:1px solid #edf0f5}
}

@media(max-width:800px){
	.pwpm-hero{min-height:400px}
	.pwpm-hero-grid{min-height:400px}
	.pwpm-hero-copy{padding:44px 28px 92px}
	.pwpm-stepper,
	.pwpm-questionnaire,
	.pwpm-result-region,
	.pwpm-trust-strip,
	.pwpm-disclaimer{width:calc(100% - 32px)}
	.pwpm-stepper{grid-template-columns:repeat(4,1fr)}
	.pwpm-step{justify-content:center;padding:13px 7px}
	.pwpm-step strong{display:none}
	.pwpm-choice-grid{grid-template-columns:1fr}
	.pwpm-result-card{grid-template-columns:1fr}
	.pwpm-score-panel,
	.pwpm-why-panel,
	.pwpm-result-actions{
		border-top:1px solid #edf0f5;
		border-left:0;
	}
	.pwpm-result-actions{flex-direction:row}
	.pwpm-trust-strip{grid-template-columns:1fr}
}

@media(max-width:560px){
	.pwpm-container{width:min(100% - 20px,1180px)}
	.pwpm-shell{border-radius:24px}
	.pwpm-hero h1{font-size:42px}
	.pwpm-hero p{font-size:17px}
	.pwpm-tool-body{margin-top:-34px}
	.pwpm-question-panel{padding:23px 18px}
	.pwpm-question-heading h2{font-size:27px}
	.pwpm-panel-actions{justify-content:space-between}
	.pwpm-result-heading{align-items:flex-start;gap:10px}
	.pwpm-professional-identity{grid-template-columns:64px minmax(0,1fr)}
	.pwpm-avatar{width:64px;height:64px}
	.pwpm-result-actions{flex-direction:column}
	.pwpm-empty-summary{grid-template-columns:1fr}
	.pwpm-stepper,
	.pwpm-questionnaire,
	.pwpm-result-region,
	.pwpm-trust-strip,
	.pwpm-disclaimer{width:calc(100% - 20px)}
}


@media(max-width:560px){
	.pwpm-result-toolbar{
		flex-direction:column-reverse;
		align-items:stretch;
	}

	.pwpm-result-toolbar button{
		width:100%;
	}
}
