@layer ww-components {
.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 {
	margin: 0;
	color: var(--ww-accent-deep);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.3;
	text-transform: uppercase;
}

.ww-card__label {
	margin: 0;
	color: var(--ww-muted);
	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-deep);
}

.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: clamp(2.1rem, 1.2rem + 4.5vw, 3.72rem);
	font-weight: 800;
	line-height: 1.04;
	letter-spacing: -0.015em;
	text-wrap: balance;
}

.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-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 {
	border: 2px solid var(--ww-accent);
	background: var(--ww-accent);
	color: var(--ww-ink);
	box-shadow: 0 6px 18px color-mix(in srgb, var(--ww-accent) 20%, transparent);
}

.ww-hero__copy .ww-button,
.ww-calculator-actions__controls .ww-button {
	margin-top: 18px;
}

.ww-button + .ww-button {
	margin-left: 10px;
}

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

.ww-button-primary:hover,
.ww-button-primary:focus-visible {
	border-color: var(--ww-navy);
	background: var(--ww-navy);
	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-navy);
	color: var(--ww-navy);
}

.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-navy);
	color: var(--ww-ink);
}

/* 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-status-pill {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	border-radius: 999px;
	padding: 4px 10px;
	font-size: 0.72rem;
	font-weight: 800;
}

.calculator-page .calculator-output-value {
	font-variant-numeric: tabular-nums;
}

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

.ww-home-main {
	padding-top: 54px;
}

.ww-home-main .ww-block--section {
	margin-bottom: 32px;
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-lg);
	background: var(--ww-surface);
	box-shadow: 0 10px 28px rgba(23, 40, 50, 0.035);
	padding-top: 54px;
}

.ww-home-main .ww-block--section:nth-of-type(2) {
	background: var(--ww-paper);
}




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

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

.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-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: 24px;
}

.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-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-deep);
}

.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-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-deep);
	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-tools {
	padding-top: 4px;
}

.ww-market-screening {
	border-bottom: 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-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-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-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-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-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 a {
	color: var(--ww-accent-deep);
}

.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-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-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 {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 36px;
	padding: 18px 0 40px;
	border-top: 1px solid var(--ww-line);
	color: var(--ww-faint);
}

.ww-calculator-disclaimer__icon {
	flex: 0 0 16px;
	margin-top: 2px;
	color: var(--ww-muted);
}

.ww-calculator-disclaimer__text {
	max-width: none;
	color: var(--ww-faint);
	font-size: 0.68rem;
	line-height: 1.55;
}

.ww-pagination,
.ww-list-meta,
.ww-screening-panel,
.ww-state-overview,
.ww-strategy-brief,
.ww-strategy-next-links,
.ww-topic-nav,
.ww-detail,
.ww-auth-layout,

.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-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-article-intro:has(.ww-detail-hero__media) {
		grid-template-columns: 1fr;
	}
}


.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-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-strategy-brief__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 16px;
}














.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-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: 44px;
	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-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-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-strategy-brief {
		grid-template-columns: 1fr;
	}














	.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;
	}
}


@media (max-width: 1040px) {



}

@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-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-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-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-block--section,
		.ww-page-intro,
		.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-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-next-links {
		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-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-deal-desk__summary > div,

	.ww-deal-desk__summary > div:first-child,






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

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


		.ww-console-grid,


	.ww-strategy-brief,


	.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-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-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);
	}
}





/* Related rows + category nav: canonical home (moved out of inline critical CSS). */
.ww-relations-rows { border-top: 1px solid var(--ww-line); }
.ww-relations-row { display: grid; grid-template-columns: 44px minmax(0,1fr) 24px; gap: 12px; align-items: baseline; padding: 14px 0; border-bottom: 1px solid var(--ww-line); text-decoration: none; }
.ww-relations-row__index { font-size: .75rem; font-weight: 800; color: var(--ww-faint); }
.ww-relations-row__title { font-size: .95rem; font-weight: 700; color: var(--ww-ink); }
.ww-relations-row__go { color: var(--ww-accent); font-weight: 800; }
.ww-relations-row:hover .ww-relations-row__title { text-decoration: underline; }
.ww-relations-subtitle { font-size: 1.35rem; font-weight: 800; letter-spacing: 0; margin: 0 0 18px; color: var(--ww-ink); }
.ww-grid.ww-grid--cards.ww-relations-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 20px; padding: 0 0 32px; }
@media (max-width: 900px) { .ww-grid.ww-grid--cards.ww-relations-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 560px) { .ww-grid.ww-grid--cards.ww-relations-grid { grid-template-columns: 1fr; } }
.ww-calculator-category-nav, .ww-category-nav { margin: 0 0 36px; }

/* Container queries: grids respond to their actual container (sidebar,
   embed, narrow pattern columns), not just the viewport. Viewport media
   rules below stay as the base behavior; these only collapse earlier
   where the container is genuinely narrow. */
.ww-block--section,
.ww-article-related,
.ww-calculator-shell {
	display: grid;
	gap: 40px;
	max-width: var(--ww-shell-width);
	margin: 0 auto;
	padding: 0 var(--ww-gutter) 72px;
}

.ww-calculator-education {
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-md);
	background: var(--ww-surface);
	padding: 28px 32px;
}

.ww-calculator-education h2 {
	margin: 0 0 12px;
	color: var(--ww-navy);
	font-size: 1.1rem;
}

.ww-calculator-education ul {
	display: grid;
	gap: 8px;
	margin: 0;
	padding-left: 20px;
	color: var(--ww-body-copy);
	font-size: 0.9rem;
	line-height: 1.6;
}

.ww-calculator-relations,
.ww-calculator-directory,
.ww-shell--wide {
	container-type: inline-size;
}

@container (max-width: 1020px) {
	.ww-feature-grid,
	.ww-grid--cards,
	.ww-grid--markets,
	.ww-grid--guides,
	.ww-grid--states,
	.ww-article-related__grid,
	.ww-grid.ww-grid--cards.ww-relations-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@container (max-width: 700px) {
	.ww-feature-grid,
	.ww-grid--cards,
	.ww-grid--markets,
	.ww-grid--guides,
	.ww-grid--states,
	.ww-grid--two,
	.ww-article-related__grid,
	.ww-grid.ww-grid--cards.ww-relations-grid {
		grid-template-columns: 1fr;
	}
}

/* Article featured image: native responsive thumbnail between hero and body. */
.ww-article-figure { max-width: var(--ww-content); margin: 28px auto 0; padding: 0 var(--ww-gutter); }
.ww-article-figure img { display: block; width: 100%; height: auto; border: 1px solid var(--ww-line); border-radius: var(--ww-radius-lg); }

/* Search form: single branded pattern reused on 404, search and widgets. */
.ww-search-form { max-width: 560px; margin: 20px auto 0; }
.ww-search-form__label { display: block; margin-bottom: 8px; font-size: 0.78rem; font-weight: 800; color: var(--ww-muted); }
.ww-search-form__row { display: flex; gap: 10px; }
.ww-search-form__input { flex: 1; min-width: 0; min-height: 46px; border: 1px solid var(--ww-line); border-radius: var(--ww-radius-md); background: var(--ww-surface); padding: 0 14px; color: var(--ww-ink); }
.ww-search-form__input:focus { outline: 2px solid var(--ww-focus); outline-offset: 1px; border-color: var(--ww-focus); }

/* Language switcher: quiet uppercase codes, never competing with the CTA. */
.ww-lang-switcher { display: inline-flex; align-items: center; gap: 2px; }
.ww-lang-switcher__link, .ww-lang-switcher__current { display: inline-flex; min-height: 44px; align-items: center; padding: 0 8px; font-size: 0.74rem; font-weight: 800; letter-spacing: 0.04em; text-decoration: none; }
.ww-lang-switcher__link { color: var(--ww-muted); }
.ww-lang-switcher__link:hover { color: var(--ww-accent); }
.ww-lang-switcher__current { color: var(--ww-surface); border-bottom: 2px solid var(--ww-accent); }

/* Error page: one narrow centered panel, vertically settled between header and footer. */
.ww-error-page { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 62vh; padding-top: 40px; padding-bottom: 64px; text-align: center; }
.ww-error-page__code { margin: 6px 0 0; color: var(--ww-navy); font-size: clamp(4.5rem, 12vw, 7.5rem); font-weight: 800; line-height: 1; letter-spacing: -0.03em; }
.ww-error-page h1 { margin-top: 10px; }
.ww-error-page .ww-lede { max-width: 560px; margin-right: auto; margin-left: auto; }
.ww-error-page .ww-search-form { width: 100%; margin-right: auto; margin-left: auto; }
.ww-error-page__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 28px; }

}
