.wso-aq-root {
	--wso-ink: #173642;
	--wso-teal: #1f5566;
	--wso-teal-deep: #0f2e38;
	--wso-paper: #eaf0ee;
	--wso-paper-card: #ffffff;
	--wso-line: #cbd8d6;
	--wso-accent: #c76b3f;
	max-width: 700px;
	margin: 0 auto;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
	color: var(--wso-ink);
	font-size: 19px;
	line-height: 1.55;
}

.wso-aq-root p { margin: 0 0 1em; }

.wso-aq-root h2, .wso-aq-root h3 {
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 600;
	line-height: 1.2;
	margin: 0 0 0.5em;
}

.wso-aq-root h2 { font-size: 2.2rem; color: var(--wso-teal-deep); }
.wso-aq-root h3 { font-size: 1.55rem; }

.wso-aq-card {
	background: var(--wso-paper-card);
	border: 1px solid var(--wso-line);
	border-radius: 4px;
	padding: 2rem;
}

.wso-aq-loading, .wso-aq-error { text-align: center; padding: 2rem 0; }

/* Progress */
.wso-aq-progress {
	margin-bottom: 1.5rem;
}
.wso-aq-progress-bar {
	height: 4px;
	background: var(--wso-teal);
	border-radius: 2px;
	transition: width 0.25s ease;
}
.wso-aq-progress::before {
	content: "";
	display: block;
	height: 4px;
	background: var(--wso-line);
	border-radius: 2px;
	margin-bottom: -4px;
}
.wso-aq-progress-label {
	display: inline-block;
	margin-top: 0.5rem;
	font-size: 0.85rem;
	color: var(--wso-teal);
}

.wso-aq-hint { font-size: 1rem; color: #5b7177; margin-top: 0; }

/* Intro form */
.wso-aq-intro-form {
	display: grid;
	gap: 0.25rem;
	margin: 1.5rem 0;
}
.wso-aq-intro-form label {
	font-size: 0.95rem;
	font-weight: 600;
	margin-top: 0.75rem;
}
.wso-aq-intro-form input {
	padding: 0.7rem 0.8rem;
	border: 1px solid var(--wso-line);
	border-radius: 3px;
	font-size: 1.05rem;
	font-family: inherit;
}
.wso-aq-field-error { color: #a4332a; font-size: 1rem; }

/* Options */
.wso-aq-options {
	display: grid;
	gap: 0.6rem;
	margin: 1.25rem 0 1.75rem;
}
.wso-aq-option {
	text-align: left;
	padding: 0.9rem 1.1rem;
	border: 1px solid var(--wso-line);
	border-radius: 3px;
	background: var(--wso-paper);
	color: var(--wso-ink);
	font-size: 1.08rem;
	font-family: inherit;
	cursor: pointer;
	transition: border-color 0.15s ease, background 0.15s ease;
}
.wso-aq-option:hover { border-color: var(--wso-teal); }
.wso-aq-option.is-selected {
	background: var(--wso-teal);
	border-color: var(--wso-teal);
	color: #fff;
}

/* Nav / buttons */
.wso-aq-nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
}
.wso-aq-btn {
	padding: 0.8rem 1.6rem;
	border-radius: 3px;
	border: 1px solid transparent;
	font-size: 1.08rem;
	font-family: inherit;
	cursor: pointer;
	text-decoration: none;
	display: inline-block;
}
.wso-aq-btn-primary {
	background: var(--wso-teal-deep);
	color: #fff;
	margin-left: auto;
}
.wso-aq-btn-primary:hover { background: var(--wso-teal); }
.wso-aq-btn-primary.is-disabled {
	background: var(--wso-line);
	color: #8a9a98;
	cursor: not-allowed;
	pointer-events: none;
}
.wso-aq-btn-secondary {
	background: transparent;
	border-color: var(--wso-line);
	color: var(--wso-ink);
}
.wso-aq-btn-secondary:hover { border-color: var(--wso-teal); }

/* Result screen */
.wso-aq-result .wso-aq-eyebrow {
	margin: 0;
	font-size: 0.9rem;
	color: var(--wso-teal);
	font-weight: 600;
}
.wso-aq-result h2 { font-size: 2.4rem; margin-top: 0.1em; }
.wso-aq-tagline {
	font-style: italic;
	color: #46605f;
	margin-top: -0.25em;
}
.wso-aq-result .wso-aq-btn-primary {
	margin: 1.25rem 0 0.5rem;
	display: inline-block;
}

/* Radar / spider chart */
.wso-aq-radar-wrap {
	margin: 2rem 0 0.5rem;
	display: flex;
	justify-content: center;
}
.wso-aq-radar { width: 100%; max-width: 440px; height: auto; }
.wso-aq-radar-grid {
	fill: none;
	stroke: var(--wso-line);
	stroke-width: 1;
}
.wso-aq-radar-axis {
	stroke: var(--wso-line);
	stroke-width: 1;
}
.wso-aq-radar-label {
	font-size: 12.5px;
	fill: var(--wso-ink);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
}
.wso-aq-radar-shape {
	fill: var(--wso-accent);
	fill-opacity: 0.28;
	stroke: var(--wso-accent);
	stroke-width: 2;
	stroke-linejoin: round;
}
.wso-aq-radar-dot { fill: var(--wso-accent); }

/* Call to action */
.wso-aq-cta {
	margin-top: 2rem;
	padding: 1.5rem;
	background: var(--wso-paper);
	border-radius: 4px;
	text-align: center;
}
.wso-aq-cta h4 {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.25rem;
	margin: 0 0 0.4em;
	color: var(--wso-teal-deep);
}
.wso-aq-cta p { color: #46605f; margin-bottom: 1rem; }

.wso-aq-result .wso-aq-btn-secondary { margin-top: 1.5rem; }

@media (max-width: 480px) {
	.wso-aq-root { font-size: 17px; }
	.wso-aq-card { padding: 1.25rem; }
	.wso-aq-root h2 { font-size: 1.7rem; }
	.wso-aq-radar-label { font-size: 10.5px; }
}
