.ww-shell {
	width: 100%;
	margin-right: auto;
	margin-left: auto;
}

.ww-shell--content {
	max-width: var(--ww-content);
}

.ww-shell--wide,
.ww-page-shell.ww-shell--wide {
	max-width: var(--ww-wide);
}

.ww-shell--reading {
	max-width: var(--ww-reading);
}

.ww-shell--flush,
.ww-page-shell.ww-shell--flush {
	max-width: none;
}

.ww-block,
.ww-page-intro,
.ww-grid,
.ww-empty,
.ww-disclosure {
	width: 100%;
	max-width: var(--ww-shell-width);
	margin-right: auto;
	margin-left: auto;
}

/* Nested blocks fill their shell: a shell is the single source of section
   width, so grids/intros inside one must not re-constrain or overflow. */
.ww-shell .ww-block,
.ww-shell .ww-page-intro,
.ww-shell .ww-grid,
.ww-shell .ww-empty,
.ww-shell .ww-disclosure {
	max-width: none;
}

.ww-block--hero {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(460px, 560px);
	align-items: start;
	gap: 56px;
	max-width: var(--ww-shell-width);
	padding: 56px var(--ww-gutter) 72px;
}

.ww-home-hero {
	grid-template-columns: minmax(0, 1fr);
	max-width: var(--ww-shell-width);
	align-items: center;
	min-height: 0;
	border-bottom: 1px solid var(--ww-line);
}

.ww-home-hero:has(.ww-hero__media) {
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	gap: 48px;
}

.ww-hero__media {
	min-width: 0;
}

.ww-hero__media img {
	width: 100%;
	height: auto;
	display: block;
}

.ww-page-intro:has(.ww-page-intro__media) {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	gap: 40px;
	align-items: center;
}

.ww-page-intro__copy {
	min-width: 0;
}

.ww-page-intro__media {
	min-width: 0;
}

.ww-page-intro__media img {
	width: 100%;
	height: auto;
	max-height: 320px;
	object-fit: contain;
	display: block;
}

@media (max-width: 820px) {
	.ww-home-hero:has(.ww-hero__media),
	.ww-page-intro:has(.ww-page-intro__media) {
		grid-template-columns: 1fr;
	}
	.ww-hero__media {
		max-width: 420px;
	}
}

.ww-home-hero .ww-lede {
	max-width: 680px;
}

.ww-hero__copy {
	min-width: 0;
}

.ww-eyebrow,
.ww-card__label {
	margin: 0;
	color: var(--ww-accent);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.3;
	text-transform: uppercase;
}

.ww-breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin: 0;
	color: var(--ww-faint);
	font-size: 0.72rem;
	font-weight: 800;
	line-height: 1.3;
	text-transform: none;
}

.ww-breadcrumbs a {
	color: var(--ww-muted);
	text-decoration: none;
}

.ww-breadcrumbs a:hover {
	color: var(--ww-accent);
}

.ww-breadcrumbs__separator {
	color: var(--ww-line);
}

.ww-block--hero h1,
.ww-page-intro h1 {
	max-width: 820px;
	margin: 12px 0 18px;
	color: var(--ww-ink);
	font-size: 3.72rem;
	font-weight: 800;
	line-height: 1.02;
	letter-spacing: 0;
}

.ww-lede {
	max-width: 650px;
	margin: 0;
	color: var(--ww-muted);
	font-size: 1.02rem;
	line-height: 1.62;
}

.ww-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 28px;
}

.ww-hero-proof {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 22px;
}

.ww-hero-proof span {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-sm);
	background: var(--ww-surface);
	padding: 4px 8px;
	color: var(--ww-navy);
	font-size: 0.72rem;
	font-weight: 800;
}

.ww-home-kpis {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
	max-width: 650px;
	margin-top: 18px;
}

.ww-home-kpis > div {
	display: grid;
	gap: 4px;
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-sm);
	background: var(--ww-surface);
	padding: 10px 12px;
}

.ww-home-kpis span {
	color: var(--ww-faint);
	font-size: 0.66rem;
	font-weight: 800;
	text-transform: uppercase;
}

.ww-home-kpis strong {
	color: var(--ww-ink);
	font-size: 0.95rem;
	font-variant-numeric: tabular-nums;
	line-height: 1.15;
}

.ww-button {
	display: inline-flex;
	min-height: 46px;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border-radius: var(--ww-radius-md);
	padding: 0 18px;
	font-size: 0.82rem;
	font-weight: 800;
	text-decoration: none;
}

.ww-button-primary {
	background: var(--ww-navy);
	color: var(--ww-surface);
}

.ww-button-primary:visited {
	color: var(--ww-surface);
}

.ww-button-primary:hover {
	background: var(--ww-ink);
	color: var(--ww-surface);
}

.ww-button-secondary {
	border: 1px solid var(--ww-line);
	background: var(--ww-surface);
	color: var(--ww-navy);
}

.ww-button-secondary:hover {
	border-color: var(--ww-accent);
	color: var(--ww-accent);
}

.ww-button-tertiary {
	border: 1px solid var(--ww-line);
	background: var(--ww-paper);
	color: var(--ww-ink);
}

.ww-button-tertiary:hover {
	border-color: var(--ww-caution);
	color: var(--ww-warning);
}

/* Disabled buttons (F-006): native disabled and aria-disabled links share one muted treatment. */
.ww-button:disabled,
.ww-button[aria-disabled="true"] {
	border-color: var(--ww-line);
	background: var(--ww-paper);
	color: var(--ww-faint);
	cursor: not-allowed;
	opacity: 0.75;
}

.ww-button:disabled:hover,
.ww-button[aria-disabled="true"]:hover {
	border-color: var(--ww-line);
	background: var(--ww-paper);
	color: var(--ww-faint);
}

.ww-panel {
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-md);
	background: var(--ww-surface);
	box-shadow: 0 16px 40px rgba(23, 40, 50, 0.08);
}

.ww-panel--snapshot {
	border-top: 4px solid var(--ww-accent);
	padding: 30px;
}

.ww-console-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 18px;
}

.ww-console-head .ww-panel__kicker {
	margin: 0;
}

.ww-console-status {
	border: 1px solid var(--ww-caution);
	border-radius: 999px;
	padding: 5px 9px;
	color: var(--ww-warning);
	font-size: 0.72rem;
	font-weight: 800;
}

.ww-underwriting-demo {
	border: 1px solid var(--ww-line);
	border-top: 4px solid var(--ww-accent);
	border-radius: var(--ww-radius-md);
	background: var(--ww-surface);
	box-shadow: 0 24px 64px rgba(23, 40, 50, 0.14);
	padding: 26px;
}

.ww-deal-desk {
	position: relative;
	overflow: hidden;
	border-color: rgba(23, 40, 50, 0.18);
	background: #fbfcfc;
	box-shadow: 0 30px 76px rgba(23, 40, 50, 0.16);
}

.ww-deal-desk::before {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 36px;
	border-bottom: 1px solid var(--ww-line);
	background: var(--ww-paper);
	content: "";
}

.ww-deal-desk > * {
	position: relative;
}

.ww-deal-desk__toolbar {
	padding-top: 18px;
}

.ww-demo-toolbar,
.ww-demo-property,
.ww-demo-result {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
}

.ww-demo-toolbar {
	margin-bottom: 18px;
}

.ww-demo-toolbar strong {
	display: block;
	margin-top: 4px;
	color: var(--ww-ink);
	font-size: 1rem;
}

.ww-status-pill {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	border-radius: 999px;
	padding: 4px 10px;
	font-size: 0.72rem;
	font-weight: 800;
}

.ww-status-pill--watch {
	border: 1px solid var(--ww-caution);
	background: var(--ww-caution-surface);
	color: var(--ww-warning);
}

.ww-demo-property {
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-md);
	background: var(--ww-paper);
	padding: 13px 14px;
}

.ww-deal-desk__summary {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	overflow: hidden;
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-md);
	background: var(--ww-surface);
}

.ww-deal-desk__summary > div {
	display: grid;
	gap: 4px;
	min-width: 0;
	border-left: 1px solid var(--ww-line);
	padding: 13px 12px;
}

.ww-deal-desk__summary > div:first-child {
	border-left: 0;
}

.ww-deal-desk__summary span,
.ww-deal-desk__checks span {
	color: var(--ww-faint);
	font-size: 0.68rem;
	font-weight: 800;
	text-transform: uppercase;
}

.ww-deal-desk__summary strong,
.ww-deal-desk__checks strong {
	color: var(--ww-ink);
	font-variant-numeric: tabular-nums;
	line-height: 1.2;
}

.ww-demo-property span,
.ww-demo-inputs span,
.ww-demo-result span,
.ww-risk-list {
	color: var(--ww-muted);
}

.ww-demo-property strong,
.ww-demo-inputs strong,
.ww-demo-result strong {
	color: var(--ww-ink);
	font-variant-numeric: tabular-nums;
}

.ww-demo-inputs {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-top: 12px;
}

.ww-demo-inputs > div {
	display: grid;
	gap: 4px;
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-sm);
	padding: 11px 12px;
}

.ww-demo-inputs span,
.ww-demo-result span {
	font-size: 0.72rem;
	font-weight: 800;
}

.ww-demo-results {
	display: grid;
	gap: 0;
	margin-top: 16px;
	border-top: 1px solid var(--ww-line);
}

.ww-demo-result {
	border-bottom: 1px solid var(--ww-line);
	padding: 13px 0;
}

.ww-demo-result strong {
	font-size: 1.18rem;
}

.ww-demo-result--negative strong {
	color: var(--ww-negative);
}

.ww-risk-list {
	display: grid;
	gap: 7px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
	font-size: 0.76rem;
	line-height: 1.45;
}

.ww-risk-list li {
	border-left: 3px solid var(--ww-caution);
	padding-left: 9px;
}

.ww-deal-desk__checks {
	display: grid;
	gap: 10px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
}

.ww-deal-desk__checks li {
	display: grid;
	grid-template-columns: minmax(120px, 0.72fr) minmax(0, 1fr);
	gap: 12px;
	align-items: center;
	border: 1px solid var(--ww-line);
	border-left: 4px solid var(--ww-caution);
	border-radius: var(--ww-radius-sm);
	background: var(--ww-surface);
	padding: 12px;
}

.ww-console-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-bottom: 18px;
}

.ww-market-kpi-strip {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 10px;
	margin-bottom: 18px;
}

.ww-console-grid > div,
.ww-market-kpi-strip > div {
	display: grid;
	gap: 3px;
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-sm);
	background: var(--ww-paper);
	padding: 11px 12px;
}

.ww-console-grid span,
.ww-market-kpi-strip span {
	color: var(--ww-faint);
	font-size: 0.7rem;
	font-weight: 800;
}

.ww-market-kpi-strip > div {
	position: relative;
	padding-top: 12px;
}

.ww-market-kpi-strip .ww-icon {
	width: 16px;
	height: 16px;
	color: var(--ww-accent);
	stroke-width: 2.2;
}

.ww-market-kpi-strip strong {
	color: var(--ww-ink);
	font-size: 1.05rem;
	font-weight: 800;
}

.ww-console-grid strong,
.ww-market-kpi-strip strong,
.ww-snapshot-row strong,
.ww-metric-row strong,
.calculator-page .calculator-output-value,
.ww-market-metrics strong {
	font-variant-numeric: tabular-nums;
}

.ww-panel__kicker {
	margin: 0 0 20px;
	color: var(--ww-faint);
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0;
	text-transform: uppercase;
}

.ww-snapshot-row {
	display: flex;
	justify-content: space-between;
	gap: 14px;
	border-top: 1px solid var(--ww-line);
	padding: 15px 0;
	color: var(--ww-muted);
}

.ww-snapshot-row strong {
	color: var(--ww-navy);
	font-size: 1.15rem;
}

.ww-panel__note {
	margin: 18px 0 0;
	color: var(--ww-faint);
	font-size: 0.72rem;
	line-height: 1.55;
}

.ww-block--section {
	max-width: var(--ww-shell-width);
	padding: 0 var(--ww-gutter) 68px;
}

.ww-operation-flow {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	max-width: var(--ww-shell-width);
	margin-top: -36px;
	margin-bottom: 72px;
	padding: 0 var(--ww-gutter);
}

.ww-operation-step {
	display: grid;
	min-height: 164px;
	align-content: start;
	gap: 10px;
	border: 1px solid var(--ww-line);
	border-left: 0;
	background: var(--ww-surface);
	padding: 22px;
	color: inherit;
	text-decoration: none;
	box-shadow: 0 14px 34px rgba(23, 40, 50, 0.065);
}

.ww-operation-step:first-child {
	border-left: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-md) 0 0 var(--ww-radius-md);
}

.ww-operation-step:last-child {
	border-radius: 0 var(--ww-radius-md) var(--ww-radius-md) 0;
}

.ww-operation-step span {
	width: fit-content;
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-sm);
	background: var(--ww-paper);
	padding: 4px 8px;
	color: var(--ww-accent);
	font-size: 0.7rem;
	font-weight: 800;
}

.ww-operation-step strong {
	color: var(--ww-ink);
	font-size: 1rem;
	line-height: 1.2;
}

.ww-operation-step small {
	color: var(--ww-muted);
	font-size: 0.78rem;
	font-weight: 600;
	line-height: 1.5;
}

.ww-operation-step--market span,
.ww-operation-step--record span {
	color: var(--ww-warning);
}

.ww-operation-step:hover {
	position: relative;
	z-index: 1;
	border-color: rgba(44, 104, 118, 0.42);
	box-shadow: 0 18px 40px rgba(23, 40, 50, 0.1);
}

.ww-block--section > .ww-grid,
.ww-home-grid {
	padding: 0;
}

.ww-section-heading {
	max-width: 760px;
	margin-bottom: 30px;
}

.ww-section-heading-row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	max-width: none;
}

.ww-block--section .ww-section-heading h2 {
	margin: 10px 0 0;
	color: var(--ww-ink);
	font-size: clamp(1.7rem, 2.4vw, 2rem);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: 0;
}

.ww-block--section h3 {
	margin: 14px 0 8px;
	color: var(--ww-navy);
	font-size: 1.05rem;
	line-height: 1.25;
}

.ww-block--section p {
	color: var(--ww-muted);
}

.ww-home-tools {
	padding-bottom: 72px;
}

.ww-home-tool-layout {
	display: grid;
	grid-template-columns: minmax(250px, 0.72fr) minmax(0, 2fr);
	align-items: stretch;
	gap: 18px;
}

.ww-home-tool-note {
	display: grid;
	align-content: start;
	gap: 12px;
	border: 1px solid var(--ww-line);
	border-top-color: var(--ww-line);
	border-radius: var(--ww-radius-md);
	background: var(--ww-tint);
	padding: 24px;
	box-shadow: 0 8px 22px rgba(23, 40, 50, 0.035);
}

.ww-home-tool-note strong {
	color: var(--ww-ink);
	font-size: 1.18rem;
	line-height: 1.22;
}

.ww-home-tool-note p {
	margin: 0;
	font-size: 0.86rem;
	line-height: 1.6;
}

.ww-decision-system .ww-section-heading {
	max-width: 850px;
}

.ww-decision-rail {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-md);
	background: var(--ww-surface);
	box-shadow: 0 8px 22px rgba(23, 40, 50, 0.035);
}

.ww-decision-rail > div {
	min-width: 0;
	border-left: 1px solid var(--ww-line);
	padding: 24px;
}

.ww-decision-rail > div:first-child {
	border-left: 0;
}

.ww-decision-rail span {
	color: var(--ww-accent);
	font-size: 0.78rem;
	font-weight: 800;
}

.ww-decision-rail strong {
	display: block;
	margin-top: 14px;
	color: var(--ww-navy);
	font-size: 1.08rem;
	line-height: 1.2;
}

.ww-decision-rail p {
	margin: 10px 0 0;
	font-size: 0.84rem;
	line-height: 1.6;
}

.ww-decision-system > .ww-text-link {
	margin-top: 18px;
}

.ww-section--tint {
	max-width: none;
	padding: 64px var(--ww-gutter) 72px;
	border-top: 1px solid var(--ww-line);
	border-bottom: 1px solid var(--ww-line);
	background: #f3f6f6;
}

.ww-section--tint > * {
	max-width: var(--ww-content);
	margin-right: auto;
	margin-left: auto;
}

.ww-feature-grid,
.ww-grid--cards,
.ww-grid--markets,
.ww-grid--guides,
.ww-grid--states {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.ww-feature-grid > div,
.ww-card {
	display: flex;
	flex-direction: column;
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-md);
	background: var(--ww-surface);
	padding: 26px;
	box-shadow: 0 1px 0 rgba(23, 40, 50, 0.025);
	transition: border-color 160ms ease;
}

.ww-card:hover,
.ww-feature-grid > div:hover {
	border-color: rgba(44, 104, 118, 0.42);
	box-shadow: 0 1px 0 rgba(23, 40, 50, 0.025);
}

.ww-feature-grid strong {
	color: var(--ww-accent);
}

.ww-feature-grid p,
.ww-card__body,
.ww-card > p:not(.ww-card__label),
.ww-methodology-block li {
	color: var(--ww-muted);
	font-size: 0.84rem;
	line-height: 1.6;
}

.ww-card__title {
	margin: 12px 0 8px;
	color: var(--ww-navy);
	font-size: 1.24rem;
	line-height: 1.2;
}

.ww-card__topline {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.ww-card__topline span {
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-sm);
	background: var(--ww-paper);
	padding: 4px 8px;
	color: var(--ww-faint);
	font-size: 0.68rem;
	font-weight: 800;
	white-space: nowrap;
}

.ww-grid--guides .ww-card {
	min-height: 258px;
}

.ww-grid--guides .ww-card__title {
	font-size: 1.6rem;
	line-height: 1.08;
}

.ww-market-guide-section .ww-card__title {
	font-size: 1.05rem;
	line-height: 1.3;
}

.ww-card__title a {
	color: inherit;
	text-decoration: none;
}

.ww-card__title a:hover {
	color: var(--ww-accent);
}

.ww-card__meta {
	margin: 20px 0 0;
	color: var(--ww-faint);
	font-size: 0.72rem;
}

.ww-card__meta + .ww-card__meta {
	margin-top: 8px;
}

.ww-card__chips,
.ww-guide-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.ww-card__chips,
.ww-card__metadata {
	margin: 14px 0 0;
	padding: 0;
	list-style: none;
}

.ww-card__chips li,
.ww-guide-meta span {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-sm);
	background: var(--ww-paper);
	padding: 4px 8px;
	color: var(--ww-navy);
	font-size: 0.72rem;
	font-weight: 800;
}

.ww-card__metadata {
	display: grid;
	gap: 8px;
	border-top: 1px solid var(--ww-line);
	padding-top: 12px;
}

.ww-card__metadata li {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 14px;
	color: var(--ww-faint);
	font-size: 0.72rem;
}

.ww-card__metadata span {
	font-weight: 800;
	text-transform: uppercase;
}

.ww-card__metadata strong {
	color: var(--ww-navy);
	font-weight: 800;
	text-align: right;
}

.ww-guide-meta {
	margin-top: 18px;
	justify-content: center;
}

.ww-resource-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 14px;
	margin-bottom: 20px;
	color: var(--ww-muted);
	font-size: 0.82rem;
	font-weight: 700;
}

.ww-resource-meta span {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
}

.ww-resource-count {
	color: var(--ww-ink);
	font-size: 0.82rem;
	font-weight: 800;
}

.ww-card__decision {
	display: grid;
	gap: 5px;
	margin: 16px 0 0;
	border-top: 1px solid var(--ww-line);
	padding: 10px 0 0;
}

.ww-card__decision span,
.ww-tool-card__kpis li,
.ww-calculator-brief__grid span {
	color: var(--ww-faint);
	font-size: 0.68rem;
	font-weight: 800;
	text-transform: uppercase;
}

.ww-card__decision strong {
	color: var(--ww-ink);
	font-size: 0.9rem;
	line-height: 1.35;
}

.ww-tool-card__kpis {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin: 14px 0 0;
	padding: 0;
	list-style: none;
}

.ww-tool-card__kpis li {
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-sm);
	background: var(--ww-tint);
	padding: 5px 8px;
	color: var(--ww-navy);
}

.ww-card__action,
.ww-text-link {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin-top: 14px;
	color: var(--ww-accent);
	font-size: 0.78rem;
	font-weight: 800;
	text-decoration: none;
}

.ww-card__action {
	min-height: 44px;
	margin-top: auto;
}

.ww-card__action:hover,
.ww-text-link:hover {
	color: var(--ww-navy);
}

.ww-home-principles {
	padding-bottom: 64px;
}

.ww-home-principles .ww-grid {
	gap: 0;
	border-top: 1px solid var(--ww-line);
	border-bottom: 1px solid var(--ww-line);
}

.ww-home-principles .ww-home-principle {
	border: 0;
	border-left: 1px solid var(--ww-line);
	border-radius: 0;
	background: transparent;
	padding: 24px 26px 20px;
	box-shadow: none;
}

.ww-home-principles .ww-home-principle:first-child {
	border-left: 0;
	padding-left: 0;
}

.ww-home-principles .ww-home-principle:last-child {
	padding-right: 0;
}

.ww-home-principles .ww-home-principle:hover {
	border-color: var(--ww-line);
	box-shadow: none;
}

.ww-home-principles .ww-card__title {
	font-size: 1.08rem;
	font-weight: 700;
}

.ww-home-tools {
	padding-top: 4px;
}

.ww-market-screening {
	border-bottom: 0;
}

.ww-guides-section {
	padding-top: 56px;
}

.ww-guides-section .ww-section-heading {
	max-width: var(--ww-content);
	margin-right: auto;
	margin-left: auto;
	padding-top: 0;
}

.ww-guides-section .ww-home-guide-list {
	border-top: 1px solid var(--ww-line);
	padding-top: 0;
}

.ww-guides-section .ww-home-guide-row:first-child {
	border-top: 0;
}

.ww-pagination {
	max-width: var(--ww-content);
	margin: 0 auto;
	padding: 0 var(--ww-gutter) 72px;
}

.ww-pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.ww-pagination .page-numbers {
	display: inline-flex;
	min-width: 44px;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-sm);
	padding: 0 12px;
	background: var(--ww-surface);
	color: var(--ww-navy);
	font-size: 0.82rem;
	font-weight: 800;
	text-decoration: none;
}

.ww-pagination .page-numbers.current,
.ww-pagination .page-numbers:hover {
	border-color: var(--ww-accent);
	background: var(--ww-tint);
	color: var(--ww-navy);
}

.ww-list-meta {
	max-width: var(--ww-content);
	margin: 0 auto 20px;
	padding: 0 var(--ww-gutter);
	color: var(--ww-muted);
	font-size: 0.9rem;
}

.ww-calculator-archive-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.ww-calculator-archive-meta span {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-sm);
	background: var(--ww-surface);
	padding: 4px 9px;
	color: var(--ww-navy);
	font-size: 0.74rem;
	font-weight: 800;
}

.ww-calculator-selector {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.35fr) minmax(240px, 0.55fr);
	gap: 18px;
	max-width: var(--ww-content);
	margin: 0 auto 22px;
	padding: 0 var(--ww-gutter);
}

.ww-calculator-selector__intro,
.ww-calculator-selector__group,
.ww-calculator-selector__note {
	min-width: 0;
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-md);
	background: var(--ww-surface);
	box-shadow: 0 8px 22px rgba(23, 40, 50, 0.035);
}

.ww-calculator-selector__intro {
	padding: 22px;
}

.ww-calculator-selector__intro h2 {
	margin: 8px 0 0;
	color: var(--ww-ink);
	font-size: 1.2rem;
	line-height: 1.18;
}

.ww-calculator-selector__intro p {
	margin: 10px 0 0;
	color: var(--ww-muted);
	font-size: 0.84rem;
	line-height: 1.55;
}

.ww-calculator-selector__groups {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
}

.ww-calculator-selector__group {
	display: grid;
	gap: 8px;
	padding: 16px;
}

.ww-calculator-selector__group > span,
.ww-calculator-selector__note {
	color: var(--ww-accent);
	font-size: 0.7rem;
	font-weight: 800;
	text-transform: uppercase;
}

.ww-calculator-selector__group ul,
.ww-calculator-selector__note ol {
	display: grid;
	gap: 7px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ww-calculator-selector__group a {
	display: flex;
	align-items: center;
	min-height: 42px;
	border-top: 1px solid var(--ww-line);
	color: var(--ww-ink);
	font-size: 0.82rem;
	font-weight: 800;
	line-height: 1.25;
	text-decoration: none;
}

.ww-calculator-selector__group li:first-child a {
	border-top: 0;
}

.ww-calculator-selector__group a:hover {
	color: var(--ww-accent);
}

.ww-calculator-selector__note {
	display: block;
	background: var(--ww-tint);
	padding: 18px;
	color: var(--ww-muted);
	font-size: 0.78rem;
	font-weight: 600;
	line-height: 1.5;
	text-transform: none;
}

.ww-calculator-selector__note p {
	margin: 0;
}

.ww-page-intro {
	padding: 58px var(--ww-gutter) 34px;
}

.ww-archive-intro {
	padding-top: 42px;
	padding-bottom: 24px;
}

.ww-archive-intro h1 {
	max-width: 760px;
	font-size: 3rem;
}

.ww-archive-intro .ww-lede {
	max-width: 700px;
}

.ww-tool-header {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 420px);
	gap: 28px;
	max-width: var(--ww-content);
	margin: 0 auto;
	padding: 34px var(--ww-gutter) 18px;
}

.ww-tool-header h1 {
	max-width: 760px;
	margin: 10px 0 14px;
	color: var(--ww-ink);
	font-size: 2.72rem;
	font-weight: 800;
	line-height: 1.06;
	letter-spacing: 0;
}

.ww-tool-header__copy {
	min-width: 0;
}

.ww-tool-header__meta {
	display: grid;
	gap: 0;
	align-self: start;
	margin: 0;
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-md);
	background: var(--ww-surface);
	box-shadow: 0 8px 22px rgba(23, 40, 50, 0.035);
}

.ww-tool-header__meta div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	border-top: 1px solid var(--ww-line);
	padding: 14px 16px;
}

.ww-tool-header__meta div:first-child {
	border-top: 0;
}

.ww-tool-header__meta dt {
	color: var(--ww-faint);
	font-size: 0.68rem;
	font-weight: 800;
	text-transform: uppercase;
}

.ww-tool-header__meta dd {
	margin: 0;
	color: var(--ww-navy);
	font-size: 0.82rem;
	font-weight: 800;
	text-align: right;
}

.ww-calculator-brief {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 430px);
	gap: 18px;
	max-width: var(--ww-content);
	margin: 0 auto 22px;
	padding: 0 var(--ww-gutter);
}

.ww-calculator-brief__primary,
.ww-calculator-brief__grid,
.ww-verification-list {
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-md);
	background: var(--ww-surface);
	box-shadow: 0 8px 22px rgba(23, 40, 50, 0.035);
}

.ww-calculator-brief__primary {
	padding: 22px;
}

.ww-calculator-brief__primary h2 {
	margin: 8px 0 0;
	color: var(--ww-ink);
	font-size: 1.35rem;
	line-height: 1.18;
}

.ww-calculator-brief__primary p:not(.ww-card__label) {
	margin: 10px 0 0;
	color: var(--ww-muted);
	font-size: 0.9rem;
	line-height: 1.55;
}

.ww-calculator-brief__grid {
	display: grid;
	gap: 0;
}

.ww-calculator-brief__grid > div {
	display: grid;
	gap: 4px;
	border-top: 1px solid var(--ww-line);
	padding: 13px 16px;
}

.ww-calculator-brief__grid > div:first-child {
	border-top: 0;
}

.ww-calculator-brief__grid strong {
	color: var(--ww-navy);
	font-size: 0.86rem;
	line-height: 1.35;
}

.ww-verification-list {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ww-verification-list li {
	border-left: 1px solid var(--ww-line);
	padding: 13px 16px;
	color: var(--ww-muted);
	font-size: 0.8rem;
	line-height: 1.45;
}

.ww-verification-list li:first-child {
	border-left: 0;
}

.ww-calculator-workflow {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	margin: 0;
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-md);
	background: var(--ww-surface);
	padding: 0;
	list-style: none;
	box-shadow: 0 8px 22px rgba(23, 40, 50, 0.035);
}

.ww-calculator-workflow li {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 4px 12px;
	align-items: start;
	border-left: 1px solid var(--ww-line);
	padding: 16px;
}

.ww-calculator-workflow li:first-child {
	border-left: 0;
}

.ww-calculator-workflow span {
	grid-row: 1 / span 2;
	display: inline-grid;
	width: 34px;
	height: 34px;
	place-items: center;
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-sm);
	background: var(--ww-tint);
	color: var(--ww-accent);
	font-size: 0.72rem;
	font-weight: 800;
}

.ww-calculator-workflow strong {
	color: var(--ww-ink);
	font-size: 0.9rem;
	line-height: 1.25;
}

.ww-calculator-workflow small {
	color: var(--ww-muted);
	font-size: 0.78rem;
	line-height: 1.45;
}

.ww-calculator-record-bridge {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 22px;
	border: 1px solid var(--ww-line);
	border-left: 4px solid var(--ww-accent);
	border-radius: var(--ww-radius-md);
	background: var(--ww-paper);
	padding: 18px 20px;
}

.ww-calculator-record-bridge strong {
	display: block;
	color: var(--ww-ink);
	font-size: 1rem;
	line-height: 1.3;
}

.ww-calculator-record-bridge p:not(.ww-card__label) {
	max-width: 760px;
	margin: 6px 0 0;
	color: var(--ww-muted);
	font-size: 0.84rem;
	line-height: 1.5;
}

.ww-calculator-record-bridge .ww-button {
	flex: 0 0 auto;
}

.ww-screening-panel {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 520px);
	gap: 18px;
	max-width: var(--ww-content);
	margin: 0 auto 28px;
	padding: 0 var(--ww-gutter);
}

.ww-screening-panel__primary,
.ww-screening-panel__grid {
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-md);
	background: var(--ww-surface);
	box-shadow: 0 8px 22px rgba(23, 40, 50, 0.035);
}

.ww-screening-panel__primary {
	padding: 22px;
}

.ww-screening-panel__primary h2 {
	margin: 8px 0 0;
	color: var(--ww-ink);
	font-size: 1.32rem;
	line-height: 1.18;
}

.ww-screening-panel__primary p:not(.ww-card__label) {
	margin: 10px 0 0;
	color: var(--ww-muted);
	font-size: 0.88rem;
	line-height: 1.55;
}

.ww-screening-panel__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
}

.ww-screening-panel__grid > div {
	display: grid;
	gap: 5px;
	border-top: 1px solid var(--ww-line);
	border-left: 1px solid var(--ww-line);
	padding: 14px 16px;
}

.ww-screening-panel__grid > div:nth-child(-n+2) {
	border-top: 0;
}

.ww-screening-panel__grid > div:nth-child(odd) {
	border-left: 0;
}

.ww-screening-panel__grid span {
	color: var(--ww-faint);
	font-size: 0.68rem;
	font-weight: 800;
	text-transform: uppercase;
}

.ww-screening-panel__grid strong {
	color: var(--ww-ink);
	font-size: 0.86rem;
	line-height: 1.35;
}

.ww-screening-panel__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 16px;
}

.ww-state-overview h2 {
	max-width: 680px;
	margin: 8px 0 0;
	color: var(--ww-ink);
	font-size: 1.45rem;
	line-height: 1.18;
}

.ww-state-overview p:not(.ww-card__label) {
	max-width: 700px;
	margin: 10px 0 0;
	color: var(--ww-muted);
	font-size: 0.88rem;
	line-height: 1.55;
}

.ww-state-overview {
	display: block;
	max-width: var(--ww-content);
	margin: 0 auto 30px;
	padding: 0 var(--ww-gutter) 28px;
	border-bottom: 1px solid var(--ww-line);
}

.ww-state-overview__facts {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px 24px;
	margin: 0;
}

.ww-state-overview__facts div {
	border-top: 1px solid var(--ww-line);
	padding-top: 9px;
}

.ww-state-overview__facts dt {
	color: var(--ww-faint);
	font-size: 0.68rem;
	font-weight: 800;
	text-transform: uppercase;
}

.ww-state-overview__facts dd {
	margin: 4px 0 0;
	color: var(--ww-ink);
	font-size: 0.9rem;
	font-weight: 800;
	line-height: 1.3;
}

.ww-market-evidence-panel h3 {
	margin: 0 0 10px;
	color: var(--ww-ink);
	font-size: 0.84rem;
	line-height: 1.3;
}

.ww-market-evidence-panel__sources {
	margin-top: 18px;
}

.ww-market-evidence-panel__sources ul {
	margin: 0;
	padding-left: 18px;
	color: var(--ww-muted);
	font-size: 0.82rem;
	line-height: 1.55;
}

.ww-market-archive-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.ww-market-archive-meta span {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-sm);
	background: var(--ww-surface);
	padding: 4px 9px;
	color: var(--ww-navy);
	font-size: 0.74rem;
	font-weight: 800;
}

.ww-state-chip-grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 8px;
	max-width: var(--ww-content);
	margin: 0 auto 28px;
	padding: 0 var(--ww-gutter);
}

.ww-state-chip {
	display: grid;
	gap: 4px;
	min-width: 0;
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-sm);
	background: var(--ww-surface);
	padding: 11px 12px;
	color: var(--ww-navy);
	text-decoration: none;
	box-shadow: 0 8px 22px rgba(23, 40, 50, 0.03);
}

.ww-state-chip:hover {
	border-color: var(--ww-accent);
	color: var(--ww-accent);
}

.ww-state-chip span {
	color: var(--ww-accent);
	font-size: 0.68rem;
	font-weight: 800;
	text-transform: uppercase;
}

.ww-state-chip strong,
.ww-state-chip small {
	overflow-wrap: anywhere;
}

.ww-state-chip strong {
	font-size: 0.92rem;
	line-height: 1.2;
}

.ww-state-chip small {
	color: var(--ww-faint);
	font-size: 0.72rem;
	font-weight: 700;
	line-height: 1.35;
}

.ww-page-shell {
	max-width: var(--ww-content);
	margin: 0 auto;
	padding: 0 var(--ww-gutter) 80px;
	color: var(--ww-body-copy);
	font-size: 1rem;
	line-height: 1.75;
}

.ww-page-shell--structured {
	/* Width comes from the shell modifier (--wide, or --flush for workspace).
	   This hook must not override it. */
	padding-bottom: 0;
}

.ww-page-shell--reading {
	max-width: var(--ww-reading);
}

.ww-page-shell > :first-child {
	margin-top: 0;
}

.ww-page-shell > :last-child {
	margin-bottom: 0;
}

.ww-page-shell h1,
.ww-page-shell h2,
.ww-page-shell h3,
.ww-page-shell h4 {
	color: var(--ww-navy);
	line-height: 1.2;
}

.ww-page-shell h1 {
	font-size: 2.6rem;
}

.ww-page-shell h2 {
	margin-top: 2rem;
	font-size: 1.65rem;
}

.ww-page-shell h3 {
	margin-top: 1.5rem;
	font-size: 1.2rem;
}

.ww-page-shell a {
	color: var(--ww-accent);
}

.ww-page-shell a.ww-button-primary {
	color: var(--ww-surface);
}

.ww-page-shell a.ww-button-primary:hover,
.ww-page-shell a.ww-button-primary:visited {
	color: var(--ww-surface);
}

.ww-page-shell .wp-block-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: var(--ww-space-2);
	margin: 1.5rem 0;
}

.ww-page-shell .wp-block-button__link {
	border-radius: var(--ww-radius-sm);
	background: var(--ww-navy);
	color: var(--ww-surface);
	font-size: 0.82rem;
	font-weight: 800;
	text-decoration: none;
}

.ww-page-shell .wp-block-button__link:hover {
	background: var(--ww-ink);
	color: var(--ww-surface);
}

.ww-page-shell .wp-block-table {
	overflow-x: auto;
	margin: 1.5rem 0;
}

.ww-page-shell table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.9rem;
}

.ww-page-shell th,
.ww-page-shell td {
	padding: 0.7rem 0.8rem;
	border: 1px solid var(--ww-line);
	text-align: left;
	vertical-align: top;
}

.ww-page-shell th {
	background: var(--ww-tint);
	color: var(--ww-navy);
	font-weight: 800;
}

/* Article/guide content element system: tables, lists, checklists, display math.
   Post bodies render bare <table>/<ul> markup, so the theme owns their styling
   here instead of per-post fixes. */
.ww-detail__main table,
.ww-guide-content table,
.ww-article-body table {
	width: 100%;
	border-collapse: collapse;
	margin: 1.5rem 0;
	font-size: 0.88rem;
	line-height: 1.6;
}

.ww-detail__main th,
.ww-detail__main td,
.ww-guide-content th,
.ww-guide-content td,
.ww-article-body th,
.ww-article-body td {
	padding: 0.7rem 0.8rem;
	border: 1px solid var(--ww-line);
	text-align: left;
	vertical-align: top;
}

.ww-detail__main thead th,
.ww-guide-content thead th,
.ww-article-body thead th {
	background: var(--ww-tint);
	color: var(--ww-navy);
	font-weight: 800;
	white-space: nowrap;
}

.ww-detail__main tbody tr:nth-child(even),
.ww-guide-content tbody tr:nth-child(even),
.ww-article-body tbody tr:nth-child(even) {
	background: rgba(23, 40, 50, 0.025);
}

.ww-detail__main ul,
.ww-guide-content ul,
.ww-article-body ul {
	margin: 1rem 0;
	padding-left: 1.4rem;
}

.ww-detail__main li + li,
.ww-guide-content li + li,
.ww-article-body li + li {
	margin-top: 0.45rem;
}

/* Checklist lists carry their own boxes; drop the native bullets. */
.ww-detail__main li:has(> input[type="checkbox"]),
.ww-guide-content li:has(> input[type="checkbox"]),
.ww-article-body li:has(> input[type="checkbox"]) {
	list-style: none;
}

.ww-detail__main li > input[type="checkbox"],
.ww-guide-content li > input[type="checkbox"],
.ww-article-body li > input[type="checkbox"] {
	margin-right: 0.55rem;
	accent-color: var(--ww-accent);
}

/* Display-math paragraphs rendered by MathJax. */
.ww-detail__main .mjx-container[jax="CHTML"][display="true"],
.ww-guide-content .mjx-container[jax="CHTML"][display="true"],
.ww-article-body .mjx-container[jax="CHTML"][display="true"] {
	margin: 1.2rem 0;
	overflow-x: auto;
	overflow-y: hidden;
}

/* Article related-articles: three-column card grid. */
.ww-article-related {
	max-width: var(--ww-content);
	margin: 0 auto;
	padding: 44px var(--ww-gutter) 80px;
	border-top: 1px solid var(--ww-line);
}

.ww-article-related .ww-section-heading {
	margin-bottom: 24px;
}

.ww-article-related__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.ww-card--article .ww-card__title {
	font-size: 1.05rem;
	line-height: 1.3;
}

@media (max-width: 900px) {
	.ww-article-related__grid {
		grid-template-columns: 1fr;
	}
}

.ww-content-shell {
	max-width: var(--ww-shell-width);
	margin-right: auto;
	margin-left: auto;
	padding-bottom: 80px;
}

.ww-market-page {
	padding-bottom: 42px;
}

.ww-market-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
	align-items: end;
	gap: 48px;
	max-width: var(--ww-content);
	margin: 0 auto;
	padding: 52px var(--ww-gutter) 38px;
	border-bottom: 1px solid var(--ww-line);
}

.ww-market-hero__copy {
	min-width: 0;
}

.ww-market-hero__copy .ww-breadcrumbs {
	margin-bottom: 28px;
}

.ww-market-hero__copy h1 {
	max-width: 800px;
	margin: 10px 0 0;
	color: var(--ww-ink);
	font-size: clamp(2.8rem, 5vw, 4.5rem);
	line-height: 0.98;
	letter-spacing: 0;
}

.ww-market-hero__copy .ww-lede {
	max-width: 720px;
	margin: 20px 0 0;
	color: var(--ww-muted);
	font-size: 1.02rem;
	line-height: 1.55;
}

.ww-market-hero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	margin-top: 24px;
	color: var(--ww-faint);
	font-size: 0.76rem;
	font-weight: 700;
}

.ww-market-hero__signal {
	display: grid;
	gap: 8px;
	min-width: 0;
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-md);
	background: var(--ww-tint);
	padding: 22px;
}

.ww-market-hero__signal strong {
	color: var(--ww-navy);
	font-size: 1.8rem;
	line-height: 1.1;
	font-variant-numeric: tabular-nums;
}

.ww-market-hero__signal > span {
	color: var(--ww-accent);
	font-size: 0.74rem;
	font-weight: 800;
}

.ww-market-hero__signal p:not(.ww-card__label) {
	margin: 2px 0 8px;
	color: var(--ww-muted);
	font-size: 0.78rem;
	line-height: 1.5;
}

.ww-market-hero__signal .ww-button {
	justify-self: start;
}

.ww-market-signals {
	max-width: var(--ww-content);
	margin: 0 auto;
	padding: 38px var(--ww-gutter) 42px;
	border-bottom: 1px solid var(--ww-line);
}

.ww-market-signals .ww-section-heading {
	margin-bottom: 20px;
}

.ww-market-signals__heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	max-width: none;
}

.ww-market-signals__note {
	max-width: 280px;
	margin: 0;
	color: var(--ww-faint);
	font-size: 0.76rem;
	line-height: 1.5;
	text-align: right;
}

.ww-market-signals .ww-section-heading h2,
.ww-market-resource-section .ww-section-heading h2 {
	max-width: 720px;
	margin: 8px 0 0;
	color: var(--ww-ink);
	font-size: 1.65rem;
	line-height: 1.12;
}

.ww-market-signals .ww-market-kpi-strip {
	margin: 0;
	padding: 0;
}

.ww-market-resource-section {
	max-width: var(--ww-content);
	margin: 0 auto;
	padding: 44px var(--ww-gutter) 48px;
	border-bottom: 1px solid var(--ww-line);
}

.ww-market-resource-section .ww-section-heading {
	margin-bottom: 0;
}

.ww-market-resource-section .ww-section-heading > p:not(.ww-card__label) {
	max-width: 680px;
	margin: 12px 0 0;
	color: var(--ww-muted);
	font-size: 0.88rem;
	line-height: 1.55;
}

.ww-market-resource-section .ww-grid {
	margin-top: 24px;
	padding: 0;
}

.ww-market-resource-section .ww-card {
	min-height: 250px;
}

.ww-market-guide-section {
	background: #f3f6f6;
}

.ww-calculator-disclaimer {
	margin-top: 28px;
	padding: 18px 0 36px;
	border-top: 1px solid var(--ww-line);
}

.ww-calculator-disclaimer .ww-disclosure {
	max-width: none;
	margin: 0;
	padding: 0;
	color: var(--ww-faint);
	font-size: 0.72rem;
	line-height: 1.55;
}

.ww-pagination,
.ww-list-meta,
.ww-calculator-selector,
.ww-calculator-brief,
.ww-screening-panel,
.ww-state-overview,
.ww-market-evidence-panel,
.ww-strategy-directory-rail,
.ww-strategy-brief,
.ww-strategy-next-links,
.ww-topic-nav,
.ww-detail,
.ww-auth-layout,
.ww-calculator-runbook,
.ww-tool-header {
	max-width: var(--ww-shell-width);
}

.ww-detail-intro {
	padding-bottom: 28px;
}

/* Detail headers share one hero-media pattern (unDraw, brand recolored).
   Copy is wrapped so the artwork always lands in the right column. */
.ww-detail-intro:has(.ww-detail-hero__media),
.ww-guide-intro:has(.ww-detail-hero__media),
.ww-tool-header:has(.ww-detail-hero__media),
.ww-article-intro:has(.ww-detail-hero__media) {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	gap: 40px;
	align-items: center;
}

.ww-detail-hero__copy {
	min-width: 0;
}

.ww-detail-hero__media {
	min-width: 0;
}

.ww-detail-hero__media img {
	width: 100%;
	height: auto;
	max-height: 300px;
	object-fit: contain;
	display: block;
}

@media (max-width: 820px) {
	.ww-detail-intro:has(.ww-detail-hero__media),
	.ww-guide-intro:has(.ww-detail-hero__media),
	.ww-tool-header:has(.ww-detail-hero__media),
	.ww-article-intro:has(.ww-detail-hero__media) {
		grid-template-columns: 1fr;
	}
}

.ww-quality-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	max-width: var(--ww-shell-width);
	margin: 0 auto;
	padding: 0 var(--ww-gutter) 36px;
}

.ww-market-kpi-strip {
	max-width: var(--ww-shell-width);
	margin: 0 auto 28px;
	padding: 0 var(--ww-gutter);
}

.ww-market-kpi-strip > div {
	background: var(--ww-surface);
	box-shadow: 0 8px 22px rgba(23, 40, 50, 0.035);
}

.ww-quality-block {
	min-width: 0;
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-md);
	background: var(--ww-surface);
	padding: 20px;
}

.ww-quality-block h2 {
	margin: 0 0 10px;
	color: var(--ww-navy);
	font-size: 1rem;
	line-height: 1.25;
}

.ww-quality-block p {
	margin: 0;
	color: var(--ww-muted);
	font-size: 0.8rem;
	line-height: 1.55;
}

.ww-quality-block p + p {
	margin-top: 10px;
}

.ww-quality-list {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ww-quality-list > div {
	border-top: 1px solid var(--ww-line);
	padding-top: 9px;
}

.ww-quality-list dt {
	color: var(--ww-faint);
	font-size: 0.68rem;
	font-weight: 800;
	text-transform: uppercase;
}

.ww-quality-list dd {
	margin: 3px 0 0;
	color: var(--ww-ink);
	font-size: 0.8rem;
	overflow-wrap: anywhere;
}

.ww-quality-list--bullets {
	display: block;
	margin-top: 10px;
	padding-left: 18px;
	list-style: disc;
}

.ww-quality-list--bullets li {
	margin-top: 5px;
	color: var(--ww-muted);
	font-size: 0.78rem;
	line-height: 1.5;
}

.ww-tag-list {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
}

.ww-tag,
.ww-tag-list a {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-sm);
	padding: 4px 8px;
	background: var(--ww-tint);
	color: var(--ww-navy);
	font-size: 0.72rem;
	font-weight: 700;
	text-decoration: none;
}

.ww-tag-list a:hover {
	border-color: var(--ww-accent);
	color: var(--ww-accent);
}

.ww-grid {
	padding: 0 var(--ww-gutter) 72px;
}

.ww-state-card {
	display: grid;
	gap: 7px;
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-md);
	background: var(--ww-surface);
	padding: 22px 24px;
	color: var(--ww-navy);
	text-decoration: none;
	box-shadow: 0 8px 22px rgba(23, 40, 50, 0.035);
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.ww-state-card:hover {
	border-color: var(--ww-accent);
	box-shadow: 0 14px 34px rgba(23, 40, 50, 0.07);
	transform: translateY(-1px);
}

.ww-state-card strong {
	font-size: 1.05rem;
	line-height: 1.25;
}

.ww-state-card a {
	text-decoration: none;
}

.ww-state-card__title-link {
	color: var(--ww-navy);
}

.ww-state-card__title-link:hover,
.ww-state-card__latest:hover,
.ww-state-card__action:hover,
.ww-market-card__state-link:hover,
.ww-state-back-link:hover {
	color: var(--ww-accent);
}

.ww-state-card__code {
	color: var(--ww-accent);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0;
	text-transform: uppercase;
}

.ww-state-card__meta {
	color: var(--ww-muted);
	font-size: 0.8rem;
	font-weight: 700;
}

.ww-state-card__metrics {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 6px;
	margin-top: 6px;
}

.ww-state-card__metrics > span {
	display: grid;
	gap: 2px;
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-sm);
	background: var(--ww-paper);
	padding: 7px 8px;
}

.ww-state-card__metrics small {
	color: var(--ww-faint);
	font-size: 0.65rem;
	font-weight: 800;
	text-transform: uppercase;
}

.ww-state-card__metrics b {
	color: var(--ww-ink);
	font-size: 0.78rem;
	font-variant-numeric: tabular-nums;
}

.ww-state-card small {
	color: var(--ww-faint);
	font-size: 0.76rem;
}

.ww-state-card__latest {
	color: var(--ww-faint);
	font-size: 0.76rem;
	font-weight: 700;
	line-height: 1.45;
}

.ww-state-card__action {
	align-self: end;
	margin-top: 4px;
	color: var(--ww-accent);
	font-size: 0.78rem;
	font-weight: 800;
}

.ww-market-card__state-link,
.ww-state-back-link {
	color: inherit;
	text-decoration: none;
}

.ww-market-metrics {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
	margin: 20px 0;
}

.ww-market-metrics span {
	display: grid;
	gap: 4px;
	border-top: 1px solid var(--ww-line);
	padding-top: 10px;
}

.ww-market-metrics small {
	color: var(--ww-faint);
	font-size: 0.68rem;
}

.ww-market-metrics strong {
	color: var(--ww-navy);
	font-size: 1rem;
}

.ww-market-card__evidence {
	margin: 0;
	color: var(--ww-faint);
	font-size: 0.72rem;
	font-weight: 700;
	line-height: 1.45;
}

.ww-market-evidence-panel {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 28px;
	max-width: var(--ww-content);
	margin: 0 auto 28px;
	padding: 24px var(--ww-gutter);
	border-top: 1px solid var(--ww-line);
	border-bottom: 1px solid var(--ww-line);
}

.ww-market-evidence-panel__intro,
.ww-market-evidence-panel__verification {
	min-width: 0;
}

.ww-market-evidence-panel h2 {
	margin: 8px 0 14px;
	color: var(--ww-navy);
	font-size: 1rem;
	line-height: 1.25;
}

.ww-quality-list,
.ww-market-definition-list {
	display: grid;
	gap: 10px;
	margin: 0;
}

.ww-quality-list div,
.ww-market-definition-list div {
	border-top: 1px solid var(--ww-line);
	padding-top: 9px;
}

.ww-quality-list dt,
.ww-market-definition-list dt {
	color: var(--ww-faint);
	font-size: 0.68rem;
	font-weight: 800;
	text-transform: uppercase;
}

.ww-quality-list dd,
.ww-market-definition-list dd {
	margin: 4px 0 0;
	color: var(--ww-muted);
	font-size: 0.82rem;
	line-height: 1.5;
}

.ww-quality-list--bullets {
	margin: 0;
	padding-left: 18px;
	color: var(--ww-muted);
	font-size: 0.82rem;
	line-height: 1.55;
}

.ww-quality-list--bullets li + li {
	margin-top: 6px;
}

.ww-market-evidence-panel__note {
	margin: 14px 0 0;
	border-left: 3px solid var(--ww-caution);
	background: var(--ww-caution-surface);
	padding: 10px 12px;
	color: var(--ww-caution-ink);
	font-size: 0.78rem;
	font-weight: 700;
	line-height: 1.5;
}

.ww-strategy-brief__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 16px;
}

.ww-strategy-directory-rail {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: 18px;
	max-width: var(--ww-content);
	margin: 0 auto 28px;
	padding: 0 var(--ww-gutter);
}

.ww-strategy-directory-rail__copy,
.ww-strategy-directory-rail__steps {
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-md);
	background: var(--ww-surface);
	box-shadow: 0 8px 22px rgba(23, 40, 50, 0.035);
}

.ww-strategy-directory-rail__copy {
	padding: 22px;
}

.ww-strategy-directory-rail__copy h2 {
	margin: 8px 0 0;
	color: var(--ww-ink);
	font-size: 1.28rem;
	line-height: 1.18;
}

.ww-strategy-directory-rail__copy p:not(.ww-card__label) {
	margin: 10px 0 0;
	color: var(--ww-muted);
	font-size: 0.88rem;
	line-height: 1.55;
}

.ww-strategy-directory-rail__steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	overflow: hidden;
}

.ww-strategy-directory-rail__steps li {
	min-width: 0;
	border-left: 1px solid var(--ww-line);
}

.ww-strategy-directory-rail__steps li:first-child {
	border-left: 0;
}

.ww-strategy-directory-rail__steps a {
	display: grid;
	align-content: start;
	gap: 6px;
	height: 100%;
	padding: 18px 16px;
	color: var(--ww-ink);
	text-decoration: none;
}

.ww-strategy-directory-rail__steps a:hover {
	background: var(--ww-tint);
}

.ww-strategy-directory-rail__steps span {
	color: var(--ww-accent);
	font-size: 0.68rem;
	font-weight: 800;
}

.ww-strategy-directory-rail__steps strong {
	font-size: 0.86rem;
	line-height: 1.3;
}

.ww-strategy-directory-rail__steps small {
	color: var(--ww-faint);
	font-size: 0.74rem;
	line-height: 1.45;
}

.ww-strategy-brief {
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(280px, 0.75fr);
	gap: 18px;
	max-width: var(--ww-content);
	margin: 0 auto 36px;
	padding: 0 var(--ww-gutter);
}

.ww-strategy-brief__main,
.ww-strategy-facts {
	min-width: 0;
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-md);
	background: var(--ww-surface);
	padding: 24px;
	box-shadow: 0 8px 22px rgba(23, 40, 50, 0.035);
}

.ww-strategy-brief__main {
	border-top: 4px solid var(--ww-accent);
}

.ww-strategy-brief h2,
.ww-strategy-facts h2 {
	margin: 8px 0 12px;
	color: var(--ww-navy);
	font-size: 1.2rem;
	line-height: 1.18;
}

.ww-strategy-brief__main p:not(.ww-card__label) {
	max-width: 760px;
	margin: 0;
	color: var(--ww-muted);
	font-size: 0.9rem;
	line-height: 1.6;
}

.ww-strategy-brief__main p + p {
	margin-top: 10px;
}

.ww-strategy-brief__audience {
	color: var(--ww-ink) !important;
	font-size: 1rem !important;
	font-weight: 800;
}

.ww-strategy-next-links {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	max-width: var(--ww-content);
	margin: 0 auto 18px;
	padding: 0 var(--ww-gutter);
}

/* Strategy detail: one container per section, headings always left aligned. */
.ww-detail--single.ww-strategy-detail {
	grid-template-columns: minmax(0, 1fr);
}

.ww-strategy-page .ww-section-heading {	max-width: none;
	margin-right: 0;
	margin-left: 0;
	text-align: left;
}

.ww-strategy-relations {
	max-width: var(--ww-content);
	margin-right: auto;
	margin-left: auto;
	padding-bottom: 8px;
}

.ww-strategy-relations .ww-grid {
	margin-bottom: 30px;
}

.ww-strategy-relations .ww-grid:last-child {
	margin-bottom: 0;
}

.ww-strategy-next-links a {
	display: grid;
	gap: 5px;
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-sm);
	background: var(--ww-surface);
	padding: 14px 16px;
	color: var(--ww-ink);
	text-decoration: none;
}

.ww-strategy-next-links a:hover {
	border-color: var(--ww-accent);
	background: var(--ww-tint);
}

.ww-strategy-next-links span {
	color: var(--ww-faint);
	font-size: 0.68rem;
	font-weight: 800;
	text-transform: uppercase;
}

.ww-strategy-next-links strong {
	color: var(--ww-navy);
	font-size: 0.84rem;
	line-height: 1.35;
}

.ww-grid--two {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ww-grid--four {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1040px) {
	.ww-grid--four {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	.ww-grid--four {
		grid-template-columns: 1fr;
	}
}

.ww-methodology-page {
	max-width: var(--ww-shell-width);
	margin: 0 auto;
	padding: 0 var(--ww-gutter) 80px;
}

.ww-methodology-section {
	border-top: 1px solid var(--ww-line);
	padding: 30px 0 0;
}

.ww-methodology-section + .ww-methodology-section {
	margin-top: 46px;
}

.ww-methodology-section__heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 22px;
}

.ww-methodology-section__heading h2 {
	max-width: 760px;
	margin: 8px 0 0;
	color: var(--ww-ink);
	font-size: 1.72rem;
	line-height: 1.16;
}

.ww-methodology-flow {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid var(--ww-line);
	border-bottom: 1px solid var(--ww-line);
}

.ww-methodology-step {
	min-width: 0;
	padding: 22px 24px 24px;
	border-left: 1px solid var(--ww-line);
}

.ww-methodology-step:first-child {
	border-left: 0;
}

.ww-methodology-step__number {
	display: block;
	color: var(--ww-accent);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0;
}

.ww-methodology-step h3,
.ww-methodology-definition h3 {
	margin: 12px 0 8px;
	color: var(--ww-navy);
	font-size: 1.05rem;
	line-height: 1.2;
}

.ww-methodology-step p,
.ww-methodology-definition p,
.ww-methodology-evidence p,
.ww-methodology-editorial-evidence p,
.ww-methodology-note {
	margin: 0;
	color: var(--ww-muted);
	font-size: 0.88rem;
	line-height: 1.6;
}

.ww-methodology-definitions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 42px;
}

.ww-methodology-definition {
	border-top: 1px solid var(--ww-line);
	padding: 18px 0 20px;
}

.ww-methodology-evidence,
.ww-methodology-editorial-evidence {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.ww-methodology-evidence > div,
.ww-methodology-editorial-evidence > div {
	min-width: 0;
	border-top: 2px solid var(--ww-accent);
	padding-top: 14px;
}

.ww-methodology-evidence strong,
.ww-methodology-editorial-evidence strong {
	display: block;
	margin-bottom: 8px;
	color: var(--ww-navy);
	font-size: 0.95rem;
}

.ww-methodology-note {
	max-width: 820px;
	margin-top: 24px;
	color: var(--ww-faint);
	font-size: 0.78rem;
}

.ww-methodology-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 42px;
}

.ww-home-guide-list {
	display: grid;
	gap: 0;
	max-width: var(--ww-content);
	margin: 0 auto;
}

.ww-home-guide-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	border-top: 1px solid var(--ww-line);
	padding: 24px 0;
}

.ww-home-guide-row:last-child {
	border-bottom: 1px solid var(--ww-line);
}

.ww-home-guide-row h3 {
	margin: 8px 0 8px;
	color: var(--ww-ink);
	font-size: 1.28rem;
	line-height: 1.2;
}

.ww-home-guide-row h3 a {
	color: inherit;
	text-decoration: none;
}

.ww-home-guide-row h3 a:hover {
	color: var(--ww-accent);
}

.ww-home-guide-row p:not(.ww-card__label) {
	max-width: 720px;
	margin: 0;
	color: var(--ww-muted);
	font-size: 0.9rem;
	line-height: 1.6;
}

.ww-topic-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	max-width: var(--ww-content);
	margin: 0 auto 28px;
	padding: 0 var(--ww-gutter);
}

.ww-topic-nav a {
	min-height: 36px;
	padding: 8px 0;
	color: var(--ww-muted);
	font-size: 0.82rem;
	font-weight: 800;
	text-decoration: none;
}

.ww-topic-nav a:hover,
.ww-topic-nav a.is-current {
	color: var(--ww-ink);
	border-bottom: 2px solid var(--ww-accent);
}

.ww-guide-related {
	max-width: 820px;
	margin: 0 auto 72px;
	padding: 0 var(--ww-gutter);
}

.ww-guide-related__list {
	display: grid;
	border-top: 1px solid var(--ww-line);
}

.ww-guide-related__list a {
	display: flex;
	justify-content: space-between;
	gap: 18px;
	border-bottom: 1px solid var(--ww-line);
	padding: 16px 0;
	color: var(--ww-navy);
	font-weight: 800;
	text-decoration: none;
}

.ww-guide-related__list a:hover {
	color: var(--ww-accent);
}

.ww-methodology-block ul {
	margin: 0;
	padding-left: 20px;
}

.ww-methodology-block li {
	margin: 10px 0;
}

.ww-empty {
	padding: 24px;
	color: var(--ww-muted);
}

.ww-disclosure {
	padding: 14px var(--ww-gutter) 72px;
	color: var(--ww-faint);
	font-size: 0.72rem;
}

.ww-detail {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
	gap: 36px;
	max-width: var(--ww-content);
	margin: 0 auto;
	padding: 0 var(--ww-gutter) 80px;
}

.ww-detail--single {
	grid-template-columns: minmax(0, 820px);
}

.ww-guide-banner {
	border-bottom: 1px solid var(--ww-line);
	background: var(--ww-tint);
}

.ww-guide-breadcrumbs {
	width: 100%;
	max-width: none;
	border-bottom: 1px solid rgba(31, 93, 109, 0.12);
}

.ww-guide-breadcrumbs__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	padding: 16px var(--ww-gutter) 14px;
}

.ww-guide-intro {
	padding: 48px var(--ww-gutter) 42px;
	text-align: center;
}

.ww-guide-intro h1 {
	max-width: 920px;
	margin: 12px auto 18px;
	color: var(--ww-ink);
	font-size: 3.5rem;
	font-weight: 800;
	line-height: 1.04;
	letter-spacing: 0;
}

.ww-guide-intro .ww-lede {
	margin-right: auto;
	margin-left: auto;
}

.ww-guide-next-step {
	max-width: 820px;
	margin: -34px auto 72px;
	padding: 0 var(--ww-gutter);
}

.ww-guide-layout {
	display: grid;
	grid-template-columns: minmax(180px, 220px) minmax(0, 1fr);
	gap: 36px;
	padding: 0 var(--ww-gutter) 24px;
}

.ww-guide-layout--without-toc {
	grid-template-columns: minmax(0, 980px);
	justify-content: center;
}

.ww-guide-content {
	min-width: 0;
}

.ww-guide-content > * + * {
	margin-top: 34px;
}

.ww-guide-detail {
	margin: 0;
	padding: 0;
}

.ww-guide-toc {
	align-self: start;
	position: sticky;
	top: 24px;
	border-top: 2px solid var(--ww-accent);
	background: var(--ww-paper);
	padding-top: 14px;
}

.ww-guide-toc__panel {
	margin: 0;
}

.ww-guide-toc__panel > summary {
	cursor: pointer;
	list-style: none;
	color: var(--ww-navy);
	font-size: 1.25rem;
	font-weight: 800;
	line-height: 1.25;
}

.ww-guide-toc__panel > summary::-webkit-details-marker {
	display: none;
}

.ww-guide-toc__panel > summary::after {
	float: right;
	color: var(--ww-accent);
	content: "＋";
	font-size: 1rem;
}

.ww-guide-toc__panel[open] > summary::after {
	content: "−";
}

.ww-guide-toc h2,
.ww-guide-section h2,
.ww-guide-cta h2,
.ww-guide-relations h2 {
	margin: 0 0 14px;
	color: var(--ww-navy);
	font-size: 1.25rem;
	line-height: 1.25;
}

.ww-guide-toc ol,
.ww-guide-sources ol {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 14px 0 0;
	list-style: none;
}

.ww-guide-toc a,
.ww-guide-sources a {
	color: var(--ww-accent);
	font-size: 0.82rem;
	font-weight: 700;
	line-height: 1.45;
	text-decoration: none;
}

.ww-guide-toc__item--level-3 {
	padding-left: 14px;
}

.ww-guide-toc__item--level-4 {
	padding-left: 28px;
}

.ww-guide-toc a {
	display: block;
	border-left: 2px solid transparent;
	padding: 3px 0 3px 10px;
}

.ww-guide-toc a:hover,
.ww-guide-toc a:focus-visible,
.ww-guide-toc a.is-active {
	border-left-color: var(--ww-accent);
	color: var(--ww-navy);
}

.ww-guide-section {
	padding: 0;
}

.ww-guide-stack {
	display: grid;
	gap: 12px;
}

.ww-guide-stack article,
.ww-guide-stack details {
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-sm);
	background: var(--ww-surface);
	padding: 16px 18px;
}

.ww-guide-stack h3 {
	margin: 0 0 8px;
	color: var(--ww-navy);
	font-size: 0.95rem;
	line-height: 1.35;
}

.ww-guide-stack p {
	margin: 8px 0 0;
	color: var(--ww-body-copy);
	font-size: 0.9rem;
	line-height: 1.6;
}

.ww-guide-stack code {
	display: block;
	overflow-wrap: anywhere;
	color: var(--ww-navy);
	font-size: 0.88rem;
	font-weight: 700;
	white-space: normal;
}

.ww-guide-stack summary {
	cursor: pointer;
	color: var(--ww-navy);
	font-size: 0.92rem;
	font-weight: 800;
}

.ww-guide-sources li {
	padding: 5px 0;
	color: var(--ww-muted);
	font-size: 0.82rem;
	line-height: 1.5;
}

.ww-guide-sources li span {
	display: block;
	color: var(--ww-faint);
}

.ww-guide-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-top: 0;
	padding: 24px 0;
	border-top: 1px solid var(--ww-line);
	border-bottom: 1px solid var(--ww-line);
}

.ww-guide-cta h2 {
	margin-bottom: 0;
}

.ww-guide-relations {
	padding: 44px var(--ww-gutter) 72px;
}

.ww-guide-relations__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin-top: 24px;
}

.ww-guide-relations__grid h3 {
	margin: 0 0 10px;
	color: var(--ww-navy);
	font-size: 0.82rem;
}

.ww-guide-relations__grid ul {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ww-guide-relations__grid a {
	color: var(--ww-accent);
	font-size: 0.88rem;
	font-weight: 700;
	text-decoration: none;
}

.ww-article-intro {
	padding: 56px var(--ww-gutter) 36px;
}

.ww-article-intro h1 {
	max-width: 820px;
	margin: 12px 0 18px;
	color: var(--ww-ink);
	font-size: 3.5rem;
	font-weight: 800;
	line-height: 1.04;
	letter-spacing: 0;
}

.ww-article-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 14px;
	margin-top: 20px;
	color: var(--ww-muted);
	font-size: 0.82rem;
	font-weight: 700;
}

.ww-article-meta span {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-sm);
	background: var(--ww-paper);
	padding: 4px 8px;
	color: var(--ww-navy);
	font-size: 0.72rem;
	font-weight: 800;
}

.ww-article-body {
	padding: 0 var(--ww-gutter) 80px;
}

.ww-detail__main,
.ww-content-narrow {
	color: var(--ww-body-copy);
	font-size: 1rem;
	line-height: 1.75;
}

.ww-detail__main h2,
.ww-content-narrow h2 {
	margin: 28px 0 10px;
	color: var(--ww-navy);
	font-size: 1.45rem;
	line-height: 1.2;
}

.ww-detail__aside {
	height: max-content;
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-md);
	background: var(--ww-tint);
	padding: 24px;
}

.ww-metric-list {
	margin: 0;
}

.ww-metric-row {
	display: flex;
	justify-content: space-between;
	gap: 14px;
	border-top: 1px solid var(--ww-line);
	padding: 14px 0;
	color: var(--ww-muted);
	font-size: 0.8rem;
}

.ww-metric-row strong {
	color: var(--ww-navy);
	text-align: right;
}

.ww-content-narrow {
	max-width: var(--ww-reading);
	margin: 0 auto;
	padding: 0 var(--ww-gutter) 80px;
}

.ww-auth-form {
	display: grid;
	max-width: 500px;
	gap: 14px;
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-md);
	background: var(--ww-surface);
	padding: 24px;
}

.ww-auth-layout {
	display: grid;
	grid-template-columns: minmax(0, 500px) minmax(280px, 1fr);
	gap: 22px;
	max-width: var(--ww-content);
	margin: 0 auto;
	padding: 0 var(--ww-gutter) 80px;
}

.ww-auth-layout--single {
	grid-template-columns: minmax(0, 620px);
	justify-content: start;
}

.ww-auth-layout__main {
	min-width: 0;
	color: var(--ww-body-copy);
}

.ww-auth-layout__main > p:first-child {
	margin-top: 0;
}

.ww-auth-layout .ww-auth-form {
	max-width: none;
}

.ww-auth-context {
	height: max-content;
	border: 1px solid var(--ww-line);
	border-top: 4px solid var(--ww-accent);
	border-radius: var(--ww-radius-md);
	background: var(--ww-tint);
	box-shadow: 0 8px 22px rgba(23, 40, 50, 0.035);
	padding: 24px;
}

.ww-auth-context h2 {
	margin: 10px 0 0;
	color: var(--ww-ink);
	font-size: 1.28rem;
	line-height: 1.2;
}

.ww-auth-context p:not(.ww-card__label) {
	margin: 10px 0 0;
	color: var(--ww-muted);
	font-size: 0.88rem;
	line-height: 1.55;
}

.ww-auth-context__list {
	display: grid;
	gap: 10px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
}

.ww-auth-context__list li {
	margin: 0;
	border-top: 1px solid var(--ww-line);
	padding-top: 10px;
	color: var(--ww-muted);
	font-size: 0.82rem;
	line-height: 1.5;
}

.ww-auth-context__list li:first-child {
	border-top: 0;
	padding-top: 0;
}

.ww-auth-form label {
	display: grid;
	gap: 6px;
	color: var(--ww-navy);
	font-size: 0.8rem;
	font-weight: 700;
}

.ww-auth-form input:not([type="checkbox"]) {
	width: 100%;
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-sm);
	background: var(--ww-paper);
	padding: 10px 12px;
	color: var(--ww-ink);
}

.ww-auth-form input[type="hidden"] {
	display: none;
}

.ww-auth-form .ww-checkbox-label {
	display: flex;
	grid-template-columns: none;
	align-items: flex-start;
	gap: 8px;
	color: var(--ww-muted);
	font-weight: 500;
}

.ww-auth-form .ww-checkbox-label input {
	margin-top: 5px;
}

.ww-auth-status {
	min-height: 1.5em;
	color: var(--ww-positive);
	font-size: 0.8rem;
}

.ww-auth-status.is-error {
	color: var(--ww-negative);
}

.ww-content-narrow li {
	margin: 10px 0;
}

.ww-disclosure--risk {
	max-width: calc(var(--ww-content) - 48px);
	margin-bottom: 0;
	border-left: 3px solid var(--ww-caution);
	background: var(--ww-caution-surface);
	padding: 18px 20px;
	color: var(--ww-caution-ink);
}

.ww-disclosure--risk strong {
	color: var(--ww-caution-strong);
}

.ww-disclosure--risk p {
	margin: 6px 0 0;
}

.ww-card--tool,
.ww-card--strategy,
.ww-card--market,
.ww-card--guide {
	border-top-color: var(--ww-line);
}

.ww-focusable:focus-visible,
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 3px solid var(--ww-focus);
	outline-offset: 3px;
}

@media (max-width: 1040px) {
	.ww-block--hero {
		grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
		gap: 40px;
	}

	.ww-block--hero h1 {
		font-size: 3.2rem;
	}

	.ww-grid--cards,
	.ww-grid--markets,
	.ww-grid--guides,
	.ww-grid--states {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ww-home-tool-layout {
		grid-template-columns: 1fr;
	}

	.ww-calculator-selector {
		grid-template-columns: 1fr;
	}

	.ww-strategy-brief {
		grid-template-columns: 1fr;
	}

	.ww-strategy-directory-rail {
		grid-template-columns: 1fr;
	}

	.ww-market-evidence-panel {
		grid-template-columns: 1fr;
	}

	.ww-market-signals__heading {
		display: block;
	}

	.ww-market-signals__note {
		max-width: 560px;
		margin-top: 10px;
		text-align: left;
	}

	.ww-market-hero {
		grid-template-columns: minmax(0, 1fr) minmax(260px, 330px);
		gap: 28px;
	}

	.ww-operation-flow {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ww-operation-step,
	.ww-operation-step:first-child,
	.ww-operation-step:last-child {
		border: 1px solid var(--ww-line);
		border-radius: 0;
	}

	.ww-operation-step:first-child {
		border-radius: var(--ww-radius-md) 0 0 0;
	}

	.ww-operation-step:nth-child(2) {
		border-radius: 0 var(--ww-radius-md) 0 0;
	}

	.ww-operation-step:nth-child(3) {
		border-radius: 0 0 0 var(--ww-radius-md);
	}

	.ww-operation-step:last-child {
		border-radius: 0 0 var(--ww-radius-md) 0;
	}

	.ww-market-kpi-strip {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.ww-tool-header {
		grid-template-columns: 1fr;
		gap: 22px;
	}

	.ww-calculator-brief {
		grid-template-columns: 1fr;
	}

	.ww-calculator-workflow {
		grid-template-columns: 1fr;
	}

	.ww-calculator-workflow li,
	.ww-calculator-workflow li:first-child {
		border-top: 1px solid var(--ww-line);
		border-left: 0;
	}

	.ww-calculator-workflow li:first-child {
		border-top: 0;
	}

	.ww-screening-panel {
		grid-template-columns: 1fr;
	}

	.ww-state-chip-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.ww-auth-layout {
		grid-template-columns: 1fr;
	}

	.ww-verification-list {
		grid-template-columns: 1fr;
	}

	.ww-verification-list li,
	.ww-verification-list li:first-child {
		border-top: 1px solid var(--ww-line);
		border-left: 0;
	}

	.ww-verification-list li:first-child {
		border-top: 0;
	}
}

.ww-calculator-runbook {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
	gap: 0;
	max-width: var(--ww-content);
	margin: 0 auto 18px;
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-md);
	background: var(--ww-surface);
	box-shadow: 0 8px 22px rgba(23, 40, 50, 0.035);
}

.ww-calculator-runbook > div {
	display: grid;
	gap: 4px;
	min-width: 0;
	border-left: 1px solid var(--ww-line);
	padding: 14px 16px;
}

.ww-calculator-runbook > div:first-child {
	border-left: 0;
}

.ww-calculator-runbook span {
	color: var(--ww-faint);
	font-size: 0.66rem;
	font-weight: 800;
	text-transform: uppercase;
}

.ww-calculator-runbook strong {
	color: var(--ww-ink);
	font-size: 0.84rem;
	line-height: 1.32;
}

.ww-calculator-runbook .ww-text-link {
	align-self: center;
	margin: 0;
	padding: 14px 16px;
	white-space: nowrap;
}

@media (max-width: 1040px) {
	.ww-calculator-runbook {
		grid-template-columns: 1fr;
	}

	.ww-calculator-runbook > div,
	.ww-calculator-runbook > div:first-child {
		border-top: 1px solid var(--ww-line);
		border-left: 0;
	}

	.ww-calculator-runbook > div:first-child {
		border-top: 0;
	}

	.ww-calculator-runbook .ww-text-link {
		padding-top: 0;
	}
}

@media (max-width: 860px) {
	.ww-block--hero {
		display: block;
		padding-top: 48px;
		padding-bottom: 56px;
	}

	.ww-block--hero h1 {
		max-width: 720px;
		font-size: 3.35rem;
	}

	.ww-block--hero .ww-underwriting-demo {
		margin-top: 28px;
	}
}

@media (max-width: 900px) {
	.ww-detail {
		display: block;
	}

	.ww-guide-layout {
		display: block;
	}

	.ww-guide-toc {
		position: static;
		margin: 0 0 28px;
	}

	.ww-detail__aside {
		margin-top: 28px;
	}
}

@media (max-width: 760px) {
	.ww-home-tools .ww-home-grid .ww-card:nth-child(n + 4),
	.ww-market-screening .ww-state-card:nth-child(n + 4) {
		display: none;
	}

	.ww-block--hero {
		display: block;
		padding: 44px var(--ww-gutter-mobile) 54px;
	}

	.ww-state-card__metrics {
		display: flex;
		flex-wrap: wrap;
		gap: 8px 14px;
	}

	.ww-state-card__metrics > span {
		display: inline-flex;
		align-items: baseline;
		gap: 5px;
		border: 0;
		background: transparent;
		padding: 0;
	}

	.ww-state-card__metrics small {
		font-size: 0.62rem;
	}

	.ww-state-card__metrics b {
		font-size: 0.74rem;
	}

	.ww-block--hero h1,
	.ww-page-intro h1 {
		font-size: 2.55rem;
	}

	.ww-guide-intro {
		padding: 38px var(--ww-gutter-mobile) 34px;
	}

	.ww-guide-intro h1,
	.ww-article-intro h1 {
		font-size: 2.55rem;
	}

	.ww-guide-layout {
		padding-right: var(--ww-gutter-mobile);
		padding-left: var(--ww-gutter-mobile);
	}

	.ww-guide-content > * + * {
		margin-top: 30px;
	}

	.ww-archive-intro {
		padding-top: 34px;
		padding-bottom: 18px;
	}

	.ww-tool-header {
		display: block;
		padding: 34px var(--ww-gutter-mobile) 22px;
	}

	.ww-tool-header h1 {
		font-size: 2.2rem;
	}

	.ww-tool-header__meta {
		margin-top: 22px;
	}

	.ww-guide-relations {
		padding-right: var(--ww-gutter-mobile);
		padding-left: var(--ww-gutter-mobile);
	}

	.ww-guide-cta {
		display: grid;
		margin-top: 0;
	}

	.ww-guide-relations__grid {
		grid-template-columns: 1fr;
	}

	.ww-calculator-brief {
		padding-right: var(--ww-gutter-mobile);
		padding-left: var(--ww-gutter-mobile);
	}

	.ww-calculator-record-bridge {
		display: grid;
	}

	.ww-calculator-record-bridge .ww-button {
		justify-self: start;
	}

	.ww-screening-panel {
		padding-right: var(--ww-gutter-mobile);
		padding-left: var(--ww-gutter-mobile);
	}

	.ww-screening-panel__grid {
		grid-template-columns: 1fr;
	}

	.ww-screening-panel__grid > div,
	.ww-screening-panel__grid > div:nth-child(-n+2),
	.ww-screening-panel__grid > div:nth-child(odd) {
		border-top: 1px solid var(--ww-line);
		border-left: 0;
	}

	.ww-screening-panel__grid > div:first-child {
		border-top: 0;
	}

	.ww-panel--snapshot {
		margin-top: 28px;
	}

	.ww-block--section,
		.ww-page-intro,
		.ww-calculator-selector,
		.ww-calculator-runbook,
		.ww-strategy-directory-rail,
		.ww-grid,
		.ww-methodology-page,
		.ww-content-narrow,
		.ww-auth-layout,
		.ww-page-shell {
		padding-right: var(--ww-gutter-mobile);
		padding-left: var(--ww-gutter-mobile);
	}

	.ww-block--section .ww-home-grid {
		padding-right: 0;
		padding-left: 0;
	}

	.ww-home-principles .ww-grid {
		border-bottom: 0;
	}

	.ww-home-principles .ww-home-principle,
	.ww-home-principles .ww-home-principle:first-child,
	.ww-home-principles .ww-home-principle:last-child {
		border-top: 1px solid var(--ww-line);
		border-left: 0;
		padding: 22px 0;
	}

	.ww-home-principles .ww-home-principle:first-child {
		border-top: 0;
	}

	.ww-page-shell--structured {
		padding-right: 0;
		padding-left: 0;
	}

	.ww-section-heading-row {
		display: block;
	}

	.ww-section-heading-row .ww-text-link {
		margin-top: 12px;
	}

	.ww-strategy-directory-rail__steps,
	.ww-strategy-next-links {
		grid-template-columns: 1fr;
	}

	.ww-strategy-directory-rail__steps li {
		border-top: 1px solid var(--ww-line);
		border-left: 0;
	}

	.ww-strategy-directory-rail__steps li:first-child {
		border-top: 0;
	}

	.ww-calculator-selector__groups {
		grid-template-columns: 1fr;
	}

	.ww-feature-grid,
	.ww-grid--cards,
	.ww-grid--markets,
	.ww-grid--guides,
	.ww-grid--states,
	.ww-grid--two,
	.ww-methodology-flow,
	.ww-methodology-definitions,
	.ww-methodology-evidence,
	.ww-methodology-editorial-evidence,
	.ww-home-guide-list,
	.ww-quality-grid,
	.ww-decision-rail {
		grid-template-columns: 1fr;
	}

	.ww-methodology-section + .ww-methodology-section {
		margin-top: 36px;
	}

	.ww-methodology-section__heading h2 {
		font-size: 1.42rem;
	}

	.ww-methodology-step {
		border-top: 1px solid var(--ww-line);
		border-left: 0;
	}

	.ww-methodology-step:first-child {
		border-top: 0;
	}

	.ww-methodology-definitions {
		column-gap: 0;
	}

	.ww-methodology-evidence,
	.ww-methodology-editorial-evidence {
		gap: 0;
	}

	.ww-methodology-evidence > div,
	.ww-methodology-editorial-evidence > div {
		border-top: 1px solid var(--ww-line);
		border-top-color: var(--ww-line);
		padding: 18px 0;
	}

	.ww-methodology-evidence > div:first-child,
	.ww-methodology-editorial-evidence > div:first-child {
		border-top: 0;
	}

	.ww-home-guide-row {
		display: grid;
		gap: 14px;
	}

	.ww-home-hero {
		min-height: 0;
	}

	.ww-home-kpis {
		grid-template-columns: 1fr;
	}

	.ww-deal-desk {
		margin-top: 28px;
	}

	.ww-deal-desk__summary {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ww-deal-desk__summary > div,
	.ww-deal-desk__summary > div:first-child {
		border-top: 1px solid var(--ww-line);
		border-left: 0;
	}

	.ww-deal-desk__summary > div:first-child,
	.ww-deal-desk__summary > div:nth-child(2) {
		border-top: 0;
	}

	.ww-deal-desk__summary > div:nth-child(even) {
		border-left: 1px solid var(--ww-line);
	}

	.ww-deal-desk__checks li {
		grid-template-columns: 1fr;
		gap: 4px;
	}

	.ww-operation-flow {
		grid-template-columns: 1fr;
		margin-top: -18px;
		margin-bottom: 52px;
		padding-right: var(--ww-gutter-mobile);
		padding-left: var(--ww-gutter-mobile);
	}

	.ww-operation-step,
	.ww-operation-step:first-child,
	.ww-operation-step:nth-child(2),
	.ww-operation-step:nth-child(3),
	.ww-operation-step:last-child {
		min-height: 0;
		border: 1px solid var(--ww-line);
		border-radius: 0;
		box-shadow: none;
	}

	.ww-operation-step:first-child {
		border-radius: var(--ww-radius-md) var(--ww-radius-md) 0 0;
	}

	.ww-operation-step:last-child {
		border-radius: 0 0 var(--ww-radius-md) var(--ww-radius-md);
	}

	.ww-decision-rail > div,
	.ww-decision-rail > div:first-child {
		border-top: 1px solid var(--ww-line);
		border-left: 0;
	}

	.ww-decision-rail > div:first-child {
		border-top: 0;
	}

	.ww-card__topline {
		display: grid;
		align-items: start;
		justify-content: stretch;
		gap: 8px;
	}

	.ww-card__topline span {
		justify-self: start;
		white-space: normal;
	}

	.ww-quality-grid {
		padding-right: var(--ww-gutter-mobile);
		padding-left: var(--ww-gutter-mobile);
	}

		.ww-console-grid,
	.ww-market-evidence-panel {
			grid-template-columns: 1fr;
		}

		.ww-market-kpi-strip {
			grid-template-columns: repeat(3, minmax(0, 1fr));
		}


	.ww-market-evidence-panel,
	.ww-strategy-brief,
	.ww-market-kpi-strip {
		padding-right: var(--ww-gutter-mobile);
		padding-left: var(--ww-gutter-mobile);
	}

	.ww-market-hero {
		display: block;
		padding-top: 36px;
		padding-bottom: 30px;
	}

	.ww-market-hero__copy h1 {
		font-size: 2.7rem;
	}

	.ww-market-hero__signal {
		max-width: 480px;
		margin-top: 28px;
	}

	.ww-detail {
		padding-right: var(--ww-gutter-mobile);
		padding-left: var(--ww-gutter-mobile);
	}

	.ww-state-overview {
		padding-right: var(--ww-gutter-mobile);
		padding-left: var(--ww-gutter-mobile);
	}

	.ww-state-overview__facts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ww-market-kpi-strip {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ww-state-chip-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ww-market-signals,
	.ww-market-resource-section {
		padding-right: var(--ww-gutter-mobile);
		padding-left: var(--ww-gutter-mobile);
	}

	.ww-market-signals .ww-market-kpi-strip {
		padding-right: 0;
		padding-left: 0;
	}

	.ww-content-shell {
		padding-bottom: 56px;
	}

	.ww-page-shell h1 {
		font-size: 2rem;
	}

	.ww-disclosure--risk {
		width: auto;
		max-width: none;
		margin-right: var(--ww-gutter-mobile);
		margin-left: var(--ww-gutter-mobile);
	}

	.ww-guide-next-step {
		margin-top: -18px;
		margin-bottom: 52px;
		padding-right: var(--ww-gutter-mobile);
		padding-left: var(--ww-gutter-mobile);
	}

	.ww-article-intro {
		padding: 38px var(--ww-gutter-mobile) 28px;
	}

	.ww-article-body {
		padding-right: var(--ww-gutter-mobile);
		padding-left: var(--ww-gutter-mobile);
	}
}

.ww-market-evidence-panel__details {
	margin-top: 16px;
	border-top: 1px solid var(--ww-line);
	padding-top: 12px;
}

.ww-market-evidence-panel__details summary {
	cursor: pointer;
	color: var(--ww-accent);
	font-size: 0.82rem;
	font-weight: 800;
}

.ww-market-evidence-panel__details .ww-market-definition-list {
	margin-top: 14px;
}

.ww-market-evidence-panel__details .ww-quality-list--bullets {
	margin-top: 12px;
}
