/*
 * Whobam public design system
 * Editorial civic utility: high contrast, warm paper, precise rules and restrained motion.
 */

:root {
	--whb-accent: #0e6b63;
	--whb-ink: #101514;
	--whb-paper: #f3f1ea;
	--whb-signal: #d95f37;
	--whb-white: #fffef9;
	--whb-dark: #121817;
	--whb-muted: #66706c;
	--whb-line: #d5d6cf;
	--whb-line-dark: rgba(255, 255, 255, 0.18);
	--whb-soft: #e9e8e1;
	--whb-success: #1f6f4a;
	--whb-warning: #9a5b13;
	--whb-error: #a6362a;
	--whb-body-font: Inter, Aptos, "Segoe UI", -apple-system, BlinkMacSystemFont, Helvetica, Arial, sans-serif;
	--whb-head-font: "Arial Narrow", "Aptos Display", "Roboto Condensed", "Helvetica Neue", Arial, sans-serif;
	--whb-mono-font: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
	--whb-container: 1240px;
	--whb-gutter: clamp(20px, 4vw, 58px);
	--whb-radius: 4px;
	--whb-radius-lg: 10px;
	--whb-shadow: 0 18px 42px rgba(16, 21, 20, 0.08);
}

html {
	scroll-padding-top: 128px;
}

html:focus-within {
	scroll-behavior: smooth;
}

body.whb-site {
	margin: 0 !important;
	background: var(--whb-paper) !important;
	color: var(--whb-ink) !important;
	font-family: var(--whb-body-font) !important;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

body.whb-site,
body.whb-site .whb-app {
	min-width: 320px;
}

body.whb-site * {
	box-sizing: border-box;
}

body.whb-site img,
body.whb-site svg {
	display: block;
	max-width: 100%;
}

body.whb-site button,
body.whb-site input,
body.whb-site select,
body.whb-site textarea {
	font: inherit;
}

body.whb-site button,
body.whb-site [type="button"],
body.whb-site [type="submit"] {
	cursor: pointer;
}

body.whb-site .whb-app a {
	color: inherit;
	text-decoration: none;
}

body.whb-site .whb-app p,
body.whb-site .whb-app h1,
body.whb-site .whb-app h2,
body.whb-site .whb-app h3,
body.whb-site .whb-app h4,
body.whb-site .whb-app ul,
body.whb-site .whb-app ol,
body.whb-site .whb-app figure,
body.whb-site .whb-app blockquote {
	margin-top: 0;
}

body.whb-site .whb-app h1,
body.whb-site .whb-app h2,
body.whb-site .whb-app h3,
body.whb-site .whb-app h4 {
	color: inherit;
	font-family: var(--whb-head-font);
	font-weight: 700;
	letter-spacing: -0.035em;
	line-height: 1.03;
}

body.whb-site .whb-app h1 {
	font-size: clamp(3rem, 6.5vw, 6.7rem);
}

body.whb-site .whb-app h2 {
	font-size: clamp(2.15rem, 4vw, 4.4rem);
}

body.whb-site .whb-app h3 {
	font-size: clamp(1.35rem, 2vw, 2rem);
}

body.whb-site .whb-app ::selection {
	background: var(--whb-signal);
	color: #fff;
}

.whb-app {
	position: relative;
	min-height: 100vh;
	overflow: clip;
	background: var(--whb-paper);
}

.whb-main {
	min-height: 60vh;
}

.whb-container {
	width: min(calc(100% - (var(--whb-gutter) * 2)), var(--whb-container));
	margin-inline: auto;
}

.whb-skip-link {
	position: fixed;
	z-index: 999999;
	top: 12px;
	left: 12px;
	padding: 12px 18px;
	background: var(--whb-ink);
	color: #fff !important;
	transform: translateY(-160%);
	transition: transform 160ms ease;
}

.whb-skip-link:focus {
	transform: translateY(0);
}

.whb-app :focus-visible {
	outline: 3px solid var(--whb-signal);
	outline-offset: 3px;
}

.screen-reader-text,
.whb-trap {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* Header */
.whb-header {
	position: sticky;
	z-index: 1000;
	top: 0;
	background: rgba(243, 241, 234, 0.98);
	border-bottom: 1px solid var(--whb-line);
	transition: background 180ms ease, box-shadow 180ms ease;
}

.admin-bar .whb-header {
	top: 32px;
}

.whb-header.is-scrolled {
	background: rgba(255, 254, 249, 0.98);
	box-shadow: 0 6px 24px rgba(16, 21, 20, 0.07);
}

.whb-header-line {
	min-height: 34px;
	background: var(--whb-ink);
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.115em;
	line-height: 1.2;
	text-transform: uppercase;
}

.whb-header-line-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 34px;
	gap: 22px;
}

.whb-header-line a {
	color: #fff !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.45);
}

.whb-nav-wrap {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	min-height: 78px;
	gap: 28px;
}

.whb-brand {
	display: inline-flex;
	align-items: center;
	align-self: center;
	gap: 11px;
	flex: 0 0 auto;
}

.whb-symbol {
	width: 38px;
	height: 38px;
}

.whb-symbol svg rect {
	fill: none;
	stroke: var(--whb-ink);
	stroke-width: 2;
}

.whb-symbol svg path {
	fill: none;
	stroke: var(--whb-ink);
	stroke-linecap: square;
	stroke-linejoin: miter;
	stroke-width: 2.4;
}

.whb-symbol svg .whb-symbol-signal {
	stroke: var(--whb-signal);
	stroke-width: 3;
}

.whb-wordmark {
	font-family: var(--whb-head-font);
	font-size: 1.62rem;
	font-weight: 800;
	letter-spacing: -0.055em;
	line-height: 1;
}

.whb-logo-image {
	width: auto;
	max-width: 190px;
	height: 44px;
	object-fit: contain;
}

.whb-primary-nav {
	display: flex;
	align-items: stretch;
	justify-content: flex-end;
	gap: 0;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: -0.01em;
}

.whb-primary-nav > a {
	position: relative;
	display: flex;
	align-items: center;
	padding: 0 14px;
	white-space: nowrap;
}

.whb-primary-nav > a:not(.whb-nav-action)::after {
	position: absolute;
	right: 14px;
	bottom: 17px;
	left: 14px;
	height: 2px;
	content: "";
	background: var(--whb-accent);
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 180ms ease;
}

.whb-primary-nav > a:hover::after,
.whb-primary-nav > a[aria-current="page"]::after {
	transform: scaleX(1);
	transform-origin: left;
}

.whb-nav-action {
	align-self: center;
	min-height: 42px;
	margin-left: 10px;
	padding-inline: 17px !important;
	background: var(--whb-ink);
	color: #fff !important;
	gap: 9px;
	transition: background 160ms ease, transform 160ms ease;
}

.whb-nav-action:hover {
	background: var(--whb-accent);
	transform: translateY(-1px);
}

.whb-menu-button {
	display: none;
	align-items: center;
	align-self: center;
	gap: 10px;
	min-height: 44px;
	padding: 0 0 0 16px;
	border: 0;
	border-left: 1px solid var(--whb-line);
	background: transparent;
	color: var(--whb-ink);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.whb-menu-icon {
	position: relative;
	display: block;
	width: 24px;
	height: 18px;
}

.whb-menu-icon i {
	position: absolute;
	left: 0;
	width: 24px;
	height: 2px;
	background: currentColor;
	transition: transform 180ms ease, top 180ms ease;
}

.whb-menu-icon i:first-child { top: 4px; }
.whb-menu-icon i:last-child { top: 12px; }
.whb-menu-button[aria-expanded="true"] .whb-menu-icon i:first-child { top: 9px; transform: rotate(45deg); }
.whb-menu-button[aria-expanded="true"] .whb-menu-icon i:last-child { top: 9px; transform: rotate(-45deg); }

/* Shared typography and actions */
.whb-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 18px;
	color: var(--whb-accent);
	font-family: var(--whb-mono-font);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.09em;
	line-height: 1.35;
	text-transform: uppercase;
}

.whb-eyebrow > span {
	display: block;
	width: 22px;
	height: 2px;
	background: var(--whb-signal);
}

.whb-eyebrow.light {
	color: rgba(255, 255, 255, 0.7);
}

.whb-section-heading {
	max-width: 760px;
	margin-bottom: clamp(36px, 5vw, 70px);
}

.whb-section-heading h2 {
	margin-bottom: 22px;
}

.whb-section-heading > p:not(.whb-eyebrow) {
	max-width: 650px;
	margin-bottom: 0;
	color: var(--whb-muted);
	font-size: clamp(1rem, 1.35vw, 1.15rem);
}

.whb-section-heading.compact {
	max-width: 650px;
	margin-bottom: 38px;
}

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

.whb-section-heading.row > div {
	max-width: 780px;
}

.whb-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 21px;
	border: 1px solid transparent;
	border-radius: 0;
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.025em;
	line-height: 1.2;
	text-align: center;
	transition: transform 160ms ease, background 160ms ease, color 160ms ease, border-color 160ms ease;
}

.whb-button:hover {
	transform: translateY(-2px);
}

.whb-button-dark {
	background: var(--whb-ink);
	color: #fff !important;
}

.whb-button-dark:hover {
	background: var(--whb-accent);
}

.whb-button-outline {
	border-color: var(--whb-ink);
	background: transparent;
	color: var(--whb-ink) !important;
}

.whb-button-outline:hover {
	background: var(--whb-ink);
	color: #fff !important;
}

.whb-button-paper {
	border-color: var(--whb-paper);
	background: var(--whb-paper);
	color: var(--whb-ink) !important;
}

.whb-button-paper:hover {
	border-color: #fff;
	background: #fff;
}

.whb-text-link,
.whb-card-link {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	font-size: 0.84rem;
	font-weight: 800;
	border-bottom: 1px solid currentColor;
}

.whb-text-link span,
.whb-card-link span {
	transition: transform 160ms ease;
}

.whb-text-link:hover span,
.whb-card-link:hover span {
	transform: translate(3px, -1px);
}

/* Notices */
.whb-notice-wrap {
	padding-top: 28px;
}

.whb-notice {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 17px 20px;
	border: 1px solid var(--whb-line);
	border-left-width: 4px;
	background: var(--whb-white);
	box-shadow: 0 8px 24px rgba(16, 21, 20, 0.05);
}

.whb-notice > span {
	flex: 0 0 10px;
	width: 10px;
	height: 10px;
	margin-top: 7px;
	border-radius: 50%;
	background: var(--whb-muted);
}

.whb-notice strong,
.whb-notice code {
	display: block;
}

.whb-notice code {
	width: max-content;
	margin-top: 8px;
	padding: 5px 8px;
	background: var(--whb-soft);
	font-family: var(--whb-mono-font);
	font-size: 0.82rem;
}

.whb-notice-success { border-left-color: var(--whb-success); }
.whb-notice-success > span { background: var(--whb-success); }
.whb-notice-warning { border-left-color: var(--whb-warning); }
.whb-notice-warning > span { background: var(--whb-warning); }
.whb-notice-error { border-left-color: var(--whb-error); }
.whb-notice-error > span { background: var(--whb-error); }

/* Home hero */
.whb-hero {
	position: relative;
	padding: clamp(64px, 9vw, 126px) 0 clamp(74px, 10vw, 144px);
	border-bottom: 1px solid var(--whb-line);
}

.whb-hero::before,
.whb-hero::after {
	position: absolute;
	z-index: 0;
	content: "";
	pointer-events: none;
}

.whb-hero::before {
	top: 0;
	right: max(var(--whb-gutter), calc((100vw - var(--whb-container)) / 2));
	width: 1px;
	height: 100%;
	background: var(--whb-line);
}

.whb-hero::after {
	right: 0;
	bottom: 25%;
	width: 38%;
	height: 1px;
	background: var(--whb-line);
}

.whb-hero-grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1.38fr) minmax(320px, 0.62fr);
	align-items: end;
	gap: clamp(50px, 7vw, 100px);
}

.whb-hero-copy h1 {
	max-width: 960px;
	margin-bottom: 30px;
}

.whb-hero-intro {
	max-width: 770px;
	margin-bottom: 38px;
	color: #48514e;
	font-size: clamp(1.05rem, 1.6vw, 1.35rem);
	line-height: 1.55;
}

.whb-command-search {
	max-width: 780px;
	margin-bottom: 25px;
}

.whb-command-search > label {
	display: block;
	margin-bottom: 8px;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.whb-command-search > div {
	display: grid;
	grid-template-columns: 1fr auto;
	border: 2px solid var(--whb-ink);
	background: var(--whb-white);
}

.whb-command-search input {
	width: 100%;
	min-height: 62px;
	padding: 14px 18px;
	border: 0;
	background: transparent;
	color: var(--whb-ink);
	font-size: 1rem;
	outline: 0;
}

.whb-command-search input::placeholder {
	color: #7c8481;
}

.whb-command-search button {
	display: flex;
	align-items: center;
	gap: 16px;
	min-height: 62px;
	padding: 0 23px;
	border: 0;
	background: var(--whb-ink);
	color: #fff;
	font-size: 0.82rem;
	font-weight: 800;
}

.whb-command-search button span {
	font-size: 1.2rem;
}

.whb-command-search button:hover {
	background: var(--whb-accent);
}

.whb-hero-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 22px;
}

.whb-start-board {
	position: relative;
	border-top: 3px solid var(--whb-ink);
	background: var(--whb-white);
	box-shadow: var(--whb-shadow);
}

.whb-start-board::before {
	position: absolute;
	top: -10px;
	right: 24px;
	width: 32px;
	height: 7px;
	content: "";
	background: var(--whb-signal);
}

.whb-board-head {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding: 18px 19px;
	border-bottom: 1px solid var(--whb-line);
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.whb-board-head small {
	color: var(--whb-muted);
	font-size: 0.68rem;
}

.whb-start-board > a {
	display: grid;
	grid-template-columns: 36px 1fr 22px;
	align-items: center;
	gap: 12px;
	min-height: 92px;
	padding: 15px 18px;
	border-bottom: 1px solid var(--whb-line);
	transition: background 140ms ease;
}

.whb-start-board > a:last-child {
	border-bottom: 0;
}

.whb-start-board > a:hover {
	background: var(--whb-soft);
}

.whb-start-board > a b {
	color: var(--whb-signal);
	font-family: var(--whb-mono-font);
	font-size: 0.73rem;
}

.whb-start-board > a span {
	display: block;
}

.whb-start-board > a strong,
.whb-start-board > a small {
	display: block;
}

.whb-start-board > a strong {
	margin-bottom: 3px;
	font-family: var(--whb-head-font);
	font-size: 1.08rem;
	line-height: 1.2;
}

.whb-start-board > a small {
	color: var(--whb-muted);
	font-size: 0.75rem;
	line-height: 1.45;
}

.whb-start-board > a i {
	font-style: normal;
	transition: transform 140ms ease;
}

.whb-start-board > a:hover i {
	transform: translateX(4px);
}

/* Service index */
.whb-service-index,
.whb-content-section,
.whb-editorial-section,
.whb-recognition-section,
.whb-directory-section,
.whb-profile-content-section,
.whb-reviews-section,
.whb-advice-directory,
.whb-related-section,
.whb-method-section,
.whb-recognition-list-section,
.whb-nomination-section,
.whb-contact-section,
.whb-privacy-section {
	padding: clamp(76px, 9vw, 132px) 0;
}

.whb-service-index {
	background: var(--whb-white);
}

.whb-service-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-top: 1px solid var(--whb-line);
	border-left: 1px solid var(--whb-line);
}

.whb-service-tile {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 330px;
	padding: clamp(25px, 3vw, 42px);
	border-right: 1px solid var(--whb-line);
	border-bottom: 1px solid var(--whb-line);
	background: var(--whb-white);
	transition: background 160ms ease, color 160ms ease;
}

.whb-service-tile.wide {
	grid-column: span 2;
}

.whb-service-tile > span {
	margin-bottom: auto;
	font-family: var(--whb-mono-font);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.whb-service-tile h3 {
	max-width: 520px;
	margin-bottom: 16px;
	font-size: clamp(1.55rem, 2.2vw, 2.6rem) !important;
}

.whb-service-tile p {
	max-width: 520px;
	margin-bottom: 0;
	color: var(--whb-muted);
	font-size: 0.93rem;
}

.whb-service-tile > b {
	position: absolute;
	top: 28px;
	right: 28px;
	color: var(--whb-line);
	font-family: var(--whb-mono-font);
	font-size: 1.1rem;
}

.whb-service-tile:hover {
	background: var(--whb-soft);
}

.whb-service-tile.dark {
	background: var(--whb-ink);
	color: #fff;
}

.whb-service-tile.dark p {
	color: rgba(255, 255, 255, 0.68);
}

.whb-service-tile.dark:hover {
	background: var(--whb-accent);
}

.whb-service-tile.signal {
	border-bottom-color: var(--whb-signal);
	background: var(--whb-signal);
	color: #fff;
}

.whb-service-tile.signal p {
	color: rgba(255, 255, 255, 0.78);
}

.whb-service-tile.signal > b {
	color: rgba(255, 255, 255, 0.35);
}

.whb-service-tile.signal:hover {
	background: #bd4928;
}

/* Artisan cards */
.whb-content-section {
	border-top: 1px solid var(--whb-line);
}

.whb-artisan-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}

.whb-artisan-grid.directory-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.whb-artisan-card {
	min-width: 0;
	border: 1px solid var(--whb-line);
	background: var(--whb-white);
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.whb-artisan-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--whb-shadow);
}

.whb-artisan-media {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-bottom: 1px solid var(--whb-line);
	background: var(--whb-soft);
}

.whb-artisan-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(0.85);
	transition: transform 400ms ease, filter 300ms ease;
}

.whb-artisan-card:hover .whb-artisan-media img {
	transform: scale(1.025);
	filter: saturate(1);
}

.whb-image-fallback {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: #dfe1da;
}

.whb-image-fallback i {
	position: absolute;
	top: 12%;
	right: 12%;
	bottom: 12%;
	left: 12%;
	border: 1px solid rgba(16, 21, 20, 0.22);
}

.whb-image-fallback i::before,
.whb-image-fallback i::after {
	position: absolute;
	content: "";
	background: rgba(16, 21, 20, 0.18);
}

.whb-image-fallback i::before {
	top: 50%;
	left: -8%;
	width: 116%;
	height: 1px;
}

.whb-image-fallback i::after {
	top: -8%;
	left: 50%;
	width: 1px;
	height: 116%;
}

.whb-image-fallback b {
	position: relative;
	z-index: 1;
	font-family: var(--whb-head-font);
	font-size: clamp(2.4rem, 5vw, 4.8rem);
	letter-spacing: -0.06em;
}

.whb-card-index {
	position: absolute;
	right: 12px;
	bottom: 12px;
	padding: 5px 8px;
	background: var(--whb-ink);
	color: #fff;
	font-family: var(--whb-mono-font);
	font-size: 0.63rem;
	letter-spacing: 0.05em;
}

.whb-artisan-body {
	padding: 22px;
}

.whb-card-flags,
.whb-profile-flags {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 17px;
}

.whb-card-flags > span:not(.whb-verify-badge),
.whb-profile-flags > span:not(.whb-verify-badge) {
	color: var(--whb-muted);
	font-family: var(--whb-mono-font);
	font-size: 0.67rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.whb-verify-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 7px;
	border: 1px solid currentColor;
	color: var(--whb-accent);
	font-family: var(--whb-mono-font);
	font-size: 0.61rem;
	font-weight: 800;
	letter-spacing: 0.045em;
	line-height: 1.2;
	text-transform: uppercase;
}

.whb-verify-badge::before {
	width: 6px;
	height: 6px;
	content: "";
	background: currentColor;
}

.whb-verify-badge.neutral {
	color: var(--whb-muted);
}

.whb-artisan-body h3 {
	margin-bottom: 8px;
}

.whb-artisan-body h3 a:hover {
	color: var(--whb-accent);
}

.whb-card-location {
	margin-bottom: 12px;
	color: var(--whb-muted);
	font-size: 0.78rem;
	font-weight: 700;
}

.whb-artisan-body > p:not(.whb-card-location) {
	min-height: 68px;
	margin-bottom: 20px;
	color: #4e5754;
	font-size: 0.87rem;
}

.whb-artisan-card-base {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 14px;
	padding-top: 16px;
	border-top: 1px solid var(--whb-line);
}

.whb-artisan-card-base > a {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	background: var(--whb-ink);
	color: #fff !important;
	font-size: 1.1rem;
	transition: background 150ms ease;
}

.whb-artisan-card-base > a:hover {
	background: var(--whb-accent);
}

.whb-rating {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
}

.whb-rating .stars {
	display: inline-flex;
	gap: 1px;
	color: var(--whb-signal);
	font-size: 0.9rem;
	letter-spacing: -0.08em;
}

.whb-rating strong {
	font-family: var(--whb-mono-font);
	font-size: 0.77rem;
}

.whb-rating small {
	color: var(--whb-muted);
	font-size: 0.7rem;
}

/* Advice editorial */
.whb-editorial-section {
	background: var(--whb-soft);
	border-block: 1px solid var(--whb-line);
}

.whb-editorial-layout {
	display: grid;
	grid-template-columns: minmax(260px, 0.55fr) minmax(0, 1.45fr);
	gap: clamp(50px, 8vw, 110px);
}

.whb-article-stack {
	border-top: 2px solid var(--whb-ink);
}

.whb-advice-row {
	display: grid;
	grid-template-columns: 1fr 48px;
	align-items: center;
	gap: 20px;
	min-height: 166px;
	padding: 26px 0;
	border-bottom: 1px solid #c8cac3;
}

.whb-advice-row > div > span,
.whb-advice-card-top span,
.whb-recognition-card-head small {
	color: var(--whb-accent);
	font-family: var(--whb-mono-font);
	font-size: 0.67rem;
	font-weight: 700;
	letter-spacing: 0.075em;
	text-transform: uppercase;
}

.whb-advice-row h3 {
	margin: 8px 0 8px;
}

.whb-advice-row h3 a:hover {
	color: var(--whb-accent);
}

.whb-advice-row p {
	margin-bottom: 0;
	color: var(--whb-muted);
	font-size: 0.87rem;
}

.whb-advice-row > a {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border: 1px solid var(--whb-ink);
	font-size: 1.1rem;
	transition: background 150ms ease, color 150ms ease;
}

.whb-advice-row > a:hover {
	background: var(--whb-ink);
	color: #fff;
}

/* Process */
.whb-process-section {
	padding: clamp(86px, 10vw, 150px) 0;
	background: var(--whb-ink);
	color: #fff;
}

.whb-process-grid {
	display: grid;
	grid-template-columns: minmax(300px, 0.75fr) minmax(0, 1.25fr);
	gap: clamp(55px, 9vw, 130px);
}

.whb-process-section .whb-section-heading p:not(.whb-eyebrow) {
	color: rgba(255, 255, 255, 0.62);
}

.whb-process-list {
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--whb-line-dark);
	list-style: none;
}

.whb-process-list li {
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 20px;
	padding: 24px 0;
	border-bottom: 1px solid var(--whb-line-dark);
}

.whb-process-list li > b {
	color: var(--whb-signal);
	font-family: var(--whb-mono-font);
	font-size: 0.72rem;
}

.whb-process-list strong,
.whb-process-list span {
	display: block;
}

.whb-process-list strong {
	margin-bottom: 5px;
	font-family: var(--whb-head-font);
	font-size: 1.35rem;
}

.whb-process-list span {
	color: rgba(255, 255, 255, 0.62);
	font-size: 0.9rem;
}

/* Recognition */
.whb-recognition-section {
	background: var(--whb-white);
}

.whb-recognition-intro {
	display: grid;
	grid-template-columns: 1fr minmax(280px, 0.55fr);
	gap: clamp(40px, 7vw, 100px);
	align-items: end;
}

.whb-recognition-intro > p {
	margin-bottom: 70px;
	padding: 20px 0 20px 24px;
	border-left: 3px solid var(--whb-signal);
	color: var(--whb-muted);
}

.whb-recognition-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 12px;
	border-top: 1px solid var(--whb-line);
	border-left: 1px solid var(--whb-line);
}

.whb-recognition-card {
	display: flex;
	flex-direction: column;
	min-height: 330px;
	padding: 30px;
	border-right: 1px solid var(--whb-line);
	border-bottom: 1px solid var(--whb-line);
	background: var(--whb-white);
}

.whb-recognition-card-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 46px;
}

.whb-recognition-card-head > span {
	font-family: var(--whb-mono-font);
	font-size: 1.3rem;
	font-weight: 700;
}

.whb-recognition-card-head small {
	max-width: 145px;
	text-align: right;
}

.whb-recognition-card h3 {
	margin-bottom: 8px;
}

.whb-recognition-card h3 a:hover {
	color: var(--whb-accent);
}

.whb-recognition-card > p {
	color: var(--whb-muted);
	font-size: 0.88rem;
}

.whb-recognition-card .whb-institution {
	margin-bottom: 18px;
	color: var(--whb-ink);
	font-size: 0.76rem;
	font-weight: 700;
}

.whb-recognition-card .whb-card-link {
	margin-top: auto;
	align-self: flex-start;
}

.whb-recognition-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 24px;
	margin-top: 32px;
}

/* Page hero */
.whb-page-hero {
	padding: clamp(70px, 9vw, 128px) 0;
	border-bottom: 1px solid var(--whb-line);
	background: var(--whb-paper);
}

.whb-page-hero.compact {
	padding-block: clamp(60px, 7vw, 96px);
}

.whb-page-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.62fr);
	align-items: end;
	gap: clamp(50px, 8vw, 120px);
}

.whb-page-hero h1 {
	max-width: 900px;
	margin-bottom: 0;
	font-size: clamp(3rem, 6vw, 6rem) !important;
}

.whb-page-hero-grid > p {
	margin-bottom: 8px;
	padding: 22px 0 22px 24px;
	border-left: 2px solid var(--whb-signal);
	color: var(--whb-muted);
	font-size: 1rem;
}

/* Directory filters and results */
.whb-directory-section,
.whb-advice-directory {
	background: var(--whb-white);
}

.whb-directory-filter,
.whb-filter {
	display: grid;
	grid-template-columns: minmax(210px, 1.4fr) repeat(3, minmax(140px, 0.65fr)) auto auto;
	align-items: end;
	gap: 12px;
	margin-bottom: 20px;
	padding: 22px;
	border: 1px solid var(--whb-line);
	background: var(--whb-paper);
}

.whb-filter {
	grid-template-columns: minmax(220px, 1.5fr) repeat(2, minmax(160px, 0.7fr)) auto;
}

.whb-filter-reset[hidden] {
	display: none !important;
}

.whb-form-field,
.whb-filter-search {
	min-width: 0;
}

.whb-form-field label,
.whb-filter-search label,
.whb-rating-input > legend {
	display: block;
	margin-bottom: 7px;
	color: inherit;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.035em;
	line-height: 1.3;
}

.whb-form-field input,
.whb-form-field select,
.whb-form-field textarea,
.whb-filter-search input,
.whb-command-search input {
	-webkit-appearance: none;
	appearance: none;
}

.whb-form-field input,
.whb-form-field select,
.whb-form-field textarea,
.whb-filter-search input {
	width: 100%;
	min-height: 48px;
	padding: 11px 13px;
	border: 1px solid #bfc2ba;
	border-radius: 0;
	background: var(--whb-white);
	color: var(--whb-ink);
	outline: 0;
	transition: border-color 140ms ease, box-shadow 140ms ease, background 140ms ease;
}

.whb-form-field textarea {
	min-height: 120px;
	resize: vertical;
}

.whb-form-field select {
	padding-right: 38px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath d='m1 1 6 6 6-6' fill='none' stroke='%23101514' stroke-width='1.5'/%3E%3C/svg%3E");
	background-position: right 13px center;
	background-repeat: no-repeat;
}

.whb-form-field input:focus,
.whb-form-field select:focus,
.whb-form-field textarea:focus,
.whb-filter-search input:focus {
	border-color: var(--whb-accent);
	box-shadow: 0 0 0 3px rgba(14, 107, 99, 0.13);
}

.whb-form-field input.is-invalid,
.whb-form-field select.is-invalid,
.whb-form-field textarea.is-invalid {
	border-color: var(--whb-error);
	box-shadow: 0 0 0 3px rgba(166, 54, 42, 0.12);
}

.whb-check-control {
	display: flex;
	align-items: center;
	gap: 9px;
	min-height: 48px;
	font-size: 0.76rem;
	font-weight: 700;
}

.whb-check-control input,
.whb-consent input {
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	accent-color: var(--whb-accent);
}

.whb-results-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 32px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--whb-line);
	font-size: 0.78rem;
	font-weight: 800;
}

.whb-results-bar a {
	border-bottom: 1px solid currentColor;
}

.whb-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 7px;
	margin-top: 50px;
}

.whb-pagination .page-numbers {
	display: grid;
	place-items: center;
	min-width: 42px;
	height: 42px;
	padding: 0 9px;
	border: 1px solid var(--whb-line);
	background: var(--whb-white);
	font-size: 0.76rem;
	font-weight: 800;
}

.whb-pagination .page-numbers.current,
.whb-pagination a.page-numbers:hover {
	border-color: var(--whb-ink);
	background: var(--whb-ink);
	color: #fff;
}

.whb-empty-state {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 32px;
	padding: clamp(32px, 5vw, 58px);
	border: 1px solid var(--whb-line);
	background: var(--whb-paper);
}

.whb-empty-state strong,
.whb-empty-state span {
	display: block;
}

.whb-empty-state strong {
	margin-bottom: 7px;
	font-family: var(--whb-head-font);
	font-size: clamp(1.5rem, 2.5vw, 2.4rem);
	line-height: 1.1;
}

.whb-empty-state span {
	color: var(--whb-muted);
}

.whb-empty-inline {
	padding: 25px;
	border: 1px solid var(--whb-line);
	background: var(--whb-soft);
}

.whb-empty-inline strong,
.whb-empty-inline span {
	display: block;
}

.whb-empty-inline span {
	margin-top: 5px;
	color: var(--whb-muted);
	font-size: 0.86rem;
}

/* Application and dark forms */
.whb-application-section,
.whb-support-section,
.whb-nomination-section {
	padding: clamp(80px, 10vw, 145px) 0;
	background: var(--whb-ink);
	color: #fff;
}

.whb-application-grid,
.whb-support-grid,
.whb-nomination-grid {
	display: grid;
	grid-template-columns: minmax(280px, 0.62fr) minmax(0, 1.38fr);
	gap: clamp(50px, 9vw, 130px);
	align-items: start;
}

.whb-application-section .whb-section-heading > p:not(.whb-eyebrow),
.whb-support-section .whb-section-heading > p:not(.whb-eyebrow),
.whb-nomination-section .whb-section-heading > p:not(.whb-eyebrow) {
	color: rgba(255, 255, 255, 0.63);
}

.whb-check-list {
	margin: 28px 0 0;
	padding: 0;
	border-top: 1px solid var(--whb-line-dark);
	list-style: none;
}

.whb-check-list li {
	position: relative;
	padding: 13px 0 13px 25px;
	border-bottom: 1px solid var(--whb-line-dark);
	font-size: 0.86rem;
}

.whb-check-list li::before {
	position: absolute;
	top: 20px;
	left: 1px;
	width: 10px;
	height: 2px;
	content: "";
	background: var(--whb-signal);
}

.whb-form {
	position: relative;
}

.whb-form-on-dark {
	padding: clamp(25px, 4vw, 48px);
	border: 1px solid var(--whb-line-dark);
	background: #19201f;
}

.whb-form-on-dark .whb-form-field input,
.whb-form-on-dark .whb-form-field select,
.whb-form-on-dark .whb-form-field textarea {
	border-color: rgba(255, 255, 255, 0.26);
	background-color: #101514;
	color: #fff;
}

.whb-form-on-dark .whb-form-field select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath d='m1 1 6 6 6-6' fill='none' stroke='%23ffffff' stroke-width='1.5'/%3E%3C/svg%3E");
}

.whb-form-on-dark .whb-form-field input::placeholder,
.whb-form-on-dark .whb-form-field textarea::placeholder {
	color: rgba(255, 255, 255, 0.42);
}

.whb-form-grid {
	display: grid;
	gap: 18px;
}

.whb-form-grid.two {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.whb-form-grid .full {
	grid-column: 1 / -1;
}

.whb-consent {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 20px 0;
	font-size: 0.76rem;
	line-height: 1.55;
}

.whb-consent input {
	margin-top: 2px;
}

.whb-form-disclaimer {
	margin: 0 0 22px;
	padding: 14px 16px;
	border-left: 3px solid var(--whb-signal);
	background: rgba(255, 255, 255, 0.05);
	color: rgba(255, 255, 255, 0.7);
	font-size: 0.79rem;
}

.whb-closed-panel {
	padding: 30px;
	border: 1px solid var(--whb-line-dark);
	background: #19201f;
}

.whb-closed-panel strong,
.whb-closed-panel a {
	display: block;
}

.whb-closed-panel a {
	width: max-content;
	margin-top: 14px;
	border-bottom: 1px solid currentColor;
}

/* Artisan profile */
.whb-profile-hero {
	padding: clamp(50px, 7vw, 94px) 0 clamp(66px, 9vw, 120px);
	border-bottom: 1px solid var(--whb-line);
}

.whb-breadcrumb {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 34px;
	color: var(--whb-muted);
	font-family: var(--whb-mono-font);
	font-size: 0.67rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.whb-breadcrumb a:hover {
	color: var(--whb-accent);
}

.whb-profile-grid {
	display: grid;
	grid-template-columns: minmax(260px, 0.62fr) minmax(0, 1fr) minmax(220px, 0.45fr);
	align-items: stretch;
	gap: clamp(30px, 5vw, 70px);
}

.whb-profile-media {
	min-height: 400px;
	border: 1px solid var(--whb-line);
	background: var(--whb-soft);
}

.whb-profile-media img,
.whb-profile-media .whb-image-fallback {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.whb-profile-main {
	align-self: center;
}

.whb-profile-main h1 {
	margin-bottom: 13px;
	font-size: clamp(3rem, 5.6vw, 5.7rem) !important;
}

.whb-profile-location {
	margin-bottom: 20px;
	color: var(--whb-muted);
	font-weight: 700;
}

.whb-profile-summary {
	max-width: 680px;
	margin-bottom: 24px;
	color: #4d5653;
	font-size: 1.04rem;
}

.whb-profile-rating {
	margin-bottom: 26px;
}

.whb-profile-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px 18px;
}

.whb-profile-facts {
	align-self: center;
	border-top: 2px solid var(--whb-ink);
}

.whb-profile-facts > div {
	padding: 18px 0;
	border-bottom: 1px solid var(--whb-line);
}

.whb-profile-facts span,
.whb-profile-facts strong {
	display: block;
}

.whb-profile-facts span {
	margin-bottom: 4px;
	color: var(--whb-muted);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.whb-profile-facts strong {
	font-size: 0.9rem;
}

.whb-profile-content-section {
	background: var(--whb-white);
}

.whb-profile-content-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
	align-items: start;
	gap: clamp(50px, 8vw, 110px);
}

.whb-prose {
	max-width: 790px;
	font-size: 1rem;
}

.whb-prose > *:first-child {
	margin-top: 0;
}

.whb-prose h2,
.whb-prose h3,
.whb-prose h4 {
	margin-top: 1.65em;
	margin-bottom: 0.65em;
}

.whb-prose h2 {
	font-size: clamp(2rem, 3.1vw, 3.2rem) !important;
}

.whb-prose h3 {
	font-size: clamp(1.45rem, 2.2vw, 2rem) !important;
}

.whb-prose p,
.whb-prose ul,
.whb-prose ol {
	margin-bottom: 1.35em;
}

.whb-prose a {
	color: var(--whb-accent) !important;
	text-decoration: underline !important;
	text-decoration-thickness: 1px !important;
	text-underline-offset: 3px;
}

.whb-prose blockquote {
	margin: 2em 0;
	padding: 18px 0 18px 25px;
	border-left: 4px solid var(--whb-signal);
	font-family: var(--whb-head-font);
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.35;
}

.whb-prose table {
	width: 100%;
	border-collapse: collapse;
}

.whb-prose th,
.whb-prose td {
	padding: 12px;
	border: 1px solid var(--whb-line);
	text-align: left;
}

.whb-safety-card {
	position: sticky;
	top: 142px;
	padding: 30px;
	border-top: 5px solid var(--whb-signal);
	background: var(--whb-ink);
	color: #fff;
}

.admin-bar .whb-safety-card {
	top: 174px;
}

.whb-safety-card > span {
	font-family: var(--whb-mono-font);
	font-size: 0.67rem;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.whb-safety-card h2 {
	margin: 26px 0 24px;
	font-size: 2.1rem !important;
}

.whb-safety-card ul {
	margin: 0 0 22px;
	padding: 0;
	border-top: 1px solid var(--whb-line-dark);
	list-style: none;
}

.whb-safety-card li {
	padding: 11px 0;
	border-bottom: 1px solid var(--whb-line-dark);
	font-size: 0.85rem;
}

.whb-safety-card p {
	margin-bottom: 0;
	color: rgba(255, 255, 255, 0.62);
	font-size: 0.78rem;
}

/* Reviews */
.whb-reviews-section {
	border-top: 1px solid var(--whb-line);
	background: var(--whb-paper);
}

.whb-review-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(340px, 0.8fr);
	align-items: start;
	gap: clamp(36px, 6vw, 80px);
}

.whb-review-list {
	display: grid;
	gap: 16px;
}

.whb-review-card {
	padding: clamp(22px, 3vw, 34px);
	border: 1px solid var(--whb-line);
	background: var(--whb-white);
}

.whb-review-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 24px;
}

.whb-review-head > div:first-child {
	display: flex;
	align-items: center;
	gap: 12px;
}

.whb-review-avatar {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	background: var(--whb-ink);
	color: #fff;
	font-family: var(--whb-mono-font);
	font-size: 0.72rem;
}

.whb-review-head strong,
.whb-review-head small {
	display: block;
}

.whb-review-head small {
	margin-top: 2px;
	color: var(--whb-muted);
	font-size: 0.7rem;
}

.whb-review-text {
	color: #414a47;
}

.whb-review-text p:last-child {
	margin-bottom: 0;
}

.whb-review-subratings {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px;
	margin-top: 22px;
	padding-top: 16px;
	border-top: 1px solid var(--whb-line);
}

.whb-review-subratings span {
	padding: 4px 7px;
	border: 1px solid var(--whb-line);
	color: var(--whb-muted);
	font-family: var(--whb-mono-font);
	font-size: 0.62rem;
}

.whb-review-subratings .positive {
	border-color: var(--whb-accent);
	color: var(--whb-accent);
}

.whb-review-form-card {
	position: sticky;
	top: 142px;
	padding: clamp(24px, 3.5vw, 42px);
	border: 1px solid var(--whb-line);
	background: var(--whb-white);
	box-shadow: var(--whb-shadow);
}

.admin-bar .whb-review-form-card {
	top: 174px;
}

.whb-review-form-card h2 {
	margin-bottom: 14px;
	font-size: 2.25rem !important;
}

.whb-review-form-card > p {
	margin-bottom: 24px;
	color: var(--whb-muted);
	font-size: 0.82rem;
}

.whb-form.compact .whb-form-field input,
.whb-form.compact .whb-form-field select,
.whb-form.compact .whb-form-field textarea {
	min-height: 44px;
}

.whb-rating-input {
	min-width: 0;
	margin: 17px 0;
	padding: 0;
	border: 0;
}

.whb-star-options {
	display: flex;
	flex-direction: row-reverse;
	justify-content: flex-end;
	width: max-content;
}

.whb-star-options input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.whb-star-options label {
	padding: 0 2px;
	color: #b9bcb5;
	font-size: 1.65rem;
	line-height: 1;
	cursor: pointer;
}

.whb-star-options input:checked ~ label,
.whb-star-options label:hover,
.whb-star-options label:hover ~ label {
	color: var(--whb-signal);
}

.whb-star-options input:focus-visible + label {
	outline: 3px solid var(--whb-signal);
	outline-offset: 2px;
}

.whb-rating-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.whb-rating-grid .whb-star-options label {
	font-size: 1.15rem;
}

/* Advice directory and articles */
.whb-topic-rail {
	display: flex;
	align-items: center;
	gap: 8px;
	overflow-x: auto;
	margin-bottom: 30px;
	padding-bottom: 8px;
	scrollbar-width: thin;
}

.whb-topic-rail a {
	flex: 0 0 auto;
	padding: 8px 11px;
	border: 1px solid var(--whb-line);
	background: var(--whb-white);
	font-size: 0.72rem;
	font-weight: 700;
}

.whb-topic-rail a:hover,
.whb-topic-rail a.is-active {
	border-color: var(--whb-ink);
	background: var(--whb-ink);
	color: #fff;
}

.whb-advice-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid var(--whb-line);
	border-left: 1px solid var(--whb-line);
}

.whb-advice-card {
	display: flex;
	flex-direction: column;
	min-height: 360px;
	padding: clamp(24px, 3vw, 35px);
	border-right: 1px solid var(--whb-line);
	border-bottom: 1px solid var(--whb-line);
	background: var(--whb-white);
}

.whb-advice-card-top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 58px;
}

.whb-advice-card-top small {
	color: var(--whb-muted);
	font-family: var(--whb-mono-font);
	font-size: 0.66rem;
}

.whb-advice-card h2 {
	margin-bottom: 18px;
	font-size: clamp(1.55rem, 2.3vw, 2.45rem) !important;
}

.whb-advice-card h2 a:hover {
	color: var(--whb-accent);
}

.whb-advice-card > p {
	color: var(--whb-muted);
	font-size: 0.88rem;
}

.whb-advice-card .whb-card-link {
	align-self: flex-start;
	margin-top: auto;
}

.whb-article-page,
.whb-recognition-page {
	padding: clamp(52px, 7vw, 95px) 0 clamp(80px, 10vw, 145px);
	background: var(--whb-white);
}

.whb-article-header {
	max-width: 1030px;
	margin: 0 auto clamp(50px, 7vw, 92px);
	padding-bottom: 36px;
	border-bottom: 1px solid var(--whb-line);
}

.whb-article-tax,
.whb-recognition-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 20px;
}

.whb-article-tax span,
.whb-recognition-meta span {
	padding: 5px 8px;
	border: 1px solid var(--whb-line);
	font-family: var(--whb-mono-font);
	font-size: 0.65rem;
	font-weight: 700;
	text-transform: uppercase;
}

.whb-article-header h1 {
	margin-bottom: 25px;
	font-size: clamp(3rem, 6.4vw, 6.5rem) !important;
}

.whb-article-header > p {
	max-width: 800px;
	color: var(--whb-muted);
	font-size: 1.13rem;
}

.whb-article-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 22px;
	margin-top: 26px;
	font-family: var(--whb-mono-font);
	font-size: 0.68rem;
	text-transform: uppercase;
}

.whb-article-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(230px, 0.34fr);
	align-items: start;
	gap: clamp(50px, 8vw, 120px);
	max-width: 1030px;
	margin-inline: auto;
}

.whb-article-aside {
	position: sticky;
	top: 142px;
}

.whb-article-alert,
.whb-advice-escalation,
.whb-boundary-note,
.whb-source-note,
.whb-emergency-note,
.whb-men-disclaimer {
	margin-bottom: 20px;
	padding: 20px;
	border-left: 3px solid var(--whb-signal);
	background: var(--whb-paper);
	font-size: 0.78rem;
}

.whb-article-alert strong,
.whb-advice-escalation strong,
.whb-boundary-note strong,
.whb-source-note strong,
.whb-emergency-note strong,
.whb-men-disclaimer strong {
	display: block;
	margin-bottom: 6px;
}

.whb-print-button {
	width: 100%;
}

.whb-related-section {
	border-top: 1px solid var(--whb-line);
	background: var(--whb-paper);
}

/* Legal support and step form */
.whb-support-copy h1 {
	max-width: 900px;
}

.whb-triage-explainer {
	margin-top: 35px;
	border-top: 1px solid var(--whb-line-dark);
}

.whb-triage-step {
	display: grid;
	grid-template-columns: 36px 1fr;
	gap: 12px;
	padding: 14px 0;
	border-bottom: 1px solid var(--whb-line-dark);
}

.whb-triage-step > span {
	color: var(--whb-signal);
	font-family: var(--whb-mono-font);
	font-size: 0.7rem;
}

.whb-triage-step strong,
.whb-triage-step small {
	display: block;
}

.whb-triage-step small {
	margin-top: 3px;
	color: rgba(255, 255, 255, 0.6);
	font-size: 0.76rem;
}

.whb-step-form {
	scroll-margin-top: 140px;
}

.whb-form-progress,
.whb-step-progress {
	display: flex;
	align-items: center;
	gap: 7px;
	margin-bottom: 30px;
}

.whb-form-progress span,
.whb-step-progress span {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1 1 0;
	min-height: 34px;
	border: 1px solid var(--whb-line-dark);
	color: rgba(255, 255, 255, 0.55);
	font-family: var(--whb-mono-font);
	font-size: 0.66rem;
	text-align: center;
	text-transform: uppercase;
}

.whb-form-progress span.is-current,
.whb-step-progress span.is-current {
	border-color: var(--whb-signal);
	background: var(--whb-signal);
	color: #fff;
}

.whb-form-progress span.is-complete,
.whb-step-progress span.is-complete {
	border-color: var(--whb-accent);
	background: var(--whb-accent);
	color: #fff;
}

.whb-form-step[hidden] {
	display: none !important;
}

html:not(.whb-js) .whb-form-step,
html:not(.whb-js-ready) .whb-form-step {
	display: block !important;
}

.whb-form-step-label {
	margin-bottom: 20px;
	font-family: var(--whb-head-font);
	font-size: clamp(1.75rem, 3vw, 2.7rem);
	font-weight: 700;
	line-height: 1.1;
}

.whb-step-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 24px;
}

.whb-step-actions .whb-back {
	border: 0;
	border-bottom: 1px solid currentColor;
	background: transparent;
	color: rgba(255, 255, 255, 0.8);
	font-size: 0.78rem;
	font-weight: 800;
}

/* Men's route */
.whb-men-route {
	background: var(--whb-white);
}

.whb-men-routes {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 1px;
	background: var(--whb-line);
	border: 1px solid var(--whb-line);
}

.whb-guidance-block {
	grid-column: span 4;
	min-height: 330px;
	padding: clamp(26px, 3vw, 40px);
	background: var(--whb-white);
}

.whb-guidance-block:nth-child(1),
.whb-guidance-block:nth-child(4) {
	grid-column: span 7;
}

.whb-guidance-block:nth-child(2),
.whb-guidance-block:nth-child(5) {
	grid-column: span 5;
}

.whb-guidance-block > span {
	font-family: var(--whb-mono-font);
	font-size: 0.68rem;
	font-weight: 700;
	color: var(--whb-signal);
}

.whb-guidance-block h2 {
	margin: 50px 0 18px;
	font-size: clamp(1.8rem, 3vw, 3.2rem) !important;
}

.whb-guidance-block p {
	color: var(--whb-muted);
}

.whb-guidance-block a {
	display: inline-flex;
	margin-top: 8px;
	border-bottom: 1px solid currentColor;
	font-size: 0.8rem;
	font-weight: 800;
}

.whb-emergency-note,
.whb-men-disclaimer {
	max-width: 880px;
	margin-top: 34px;
}

/* Justice methodology */
.whb-method-section {
	background: var(--whb-white);
}

.whb-method-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-top: 1px solid var(--whb-line);
	border-left: 1px solid var(--whb-line);
}

.whb-method-grid > article {
	min-height: 310px;
	padding: 30px;
	border-right: 1px solid var(--whb-line);
	border-bottom: 1px solid var(--whb-line);
}

.whb-method-grid > article > span {
	color: var(--whb-signal);
	font-family: var(--whb-mono-font);
	font-size: 0.72rem;
	font-weight: 700;
}

.whb-method-grid h2 {
	margin: 60px 0 18px;
	font-size: 1.9rem !important;
}

.whb-method-grid p {
	color: var(--whb-muted);
	font-size: 0.87rem;
}

.whb-recognition-list-section {
	border-top: 1px solid var(--whb-line);
}

.whb-nomination-rules {
	margin-top: 30px;
	padding-top: 24px;
	border-top: 1px solid var(--whb-line-dark);
}

.whb-nomination-rules h3 {
	font-size: 1.4rem !important;
}

.whb-nomination-rules ul {
	padding-left: 19px;
	color: rgba(255, 255, 255, 0.66);
	font-size: 0.82rem;
}

.whb-recognition-page-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(270px, 0.55fr);
	gap: clamp(50px, 8vw, 120px);
	align-items: start;
	max-width: 1050px;
	margin-inline: auto;
}

.whb-recognition-page h1 {
	font-size: clamp(3rem, 6vw, 6.2rem) !important;
}

.whb-evidence {
	margin-top: 35px;
	padding-top: 26px;
	border-top: 1px solid var(--whb-line);
}

.whb-source-url {
	display: inline-flex;
	word-break: break-word;
}

/* Contact and privacy */
.whb-contact-section {
	background: var(--whb-white);
}

.whb-contact-grid {
	display: grid;
	grid-template-columns: minmax(260px, 0.55fr) minmax(0, 1fr);
	gap: clamp(50px, 9vw, 130px);
	align-items: start;
}

.whb-contact-details {
	border-top: 2px solid var(--whb-ink);
}

.whb-contact-details > div,
.whb-contact-details > a {
	display: block;
	padding: 18px 0;
	border-bottom: 1px solid var(--whb-line);
}

.whb-contact-details span,
.whb-contact-details strong {
	display: block;
}

.whb-contact-details span {
	margin-bottom: 4px;
	color: var(--whb-muted);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.whb-contact-routing {
	margin-top: 34px;
	padding: 22px;
	border-left: 3px solid var(--whb-signal);
	background: var(--whb-paper);
	font-size: 0.82rem;
}

.whb-contact-form {
	padding: clamp(26px, 4vw, 48px);
	border: 1px solid var(--whb-line);
	background: var(--whb-paper);
}

.whb-privacy-section {
	background: var(--whb-white);
}

.whb-privacy-layout {
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr);
	align-items: start;
	gap: clamp(50px, 8vw, 110px);
}

.whb-privacy-layout > nav {
	position: sticky;
	top: 142px;
	border-top: 2px solid var(--whb-ink);
}

.whb-privacy-layout > nav a {
	display: block;
	padding: 12px 0;
	border-bottom: 1px solid var(--whb-line);
	font-size: 0.78rem;
	font-weight: 700;
}

.whb-privacy-layout > nav a:hover {
	color: var(--whb-accent);
}

.whb-privacy-layout .whb-prose section {
	scroll-margin-top: 150px;
	padding-bottom: 34px;
	border-bottom: 1px solid var(--whb-line);
}

/* Footer */
.whb-footer {
	padding-top: clamp(65px, 8vw, 110px);
	background: var(--whb-dark);
	color: #fff;
}

.whb-footer-grid {
	display: grid;
	grid-template-columns: minmax(260px, 1.4fr) repeat(3, minmax(150px, 0.6fr));
	gap: clamp(32px, 5vw, 75px);
	padding-bottom: clamp(55px, 7vw, 90px);
}

.whb-footer .whb-symbol svg rect,
.whb-footer .whb-symbol svg path {
	stroke: #fff;
}

.whb-footer .whb-symbol svg .whb-symbol-signal {
	stroke: var(--whb-signal);
}

.whb-footer-brand .whb-brand,
.whb-footer-brand > .whb-symbol,
.whb-footer-brand > .whb-wordmark {
	display: inline-flex;
}

.whb-footer-brand > .whb-symbol {
	vertical-align: middle;
}

.whb-footer-brand > .whb-wordmark {
	margin-left: 10px;
	vertical-align: middle;
}

.whb-footer-brand p {
	max-width: 350px;
	margin: 25px 0 0;
	color: rgba(255, 255, 255, 0.58);
	font-size: 0.85rem;
}

.whb-footer h2 {
	margin-bottom: 19px;
	font-family: var(--whb-mono-font) !important;
	font-size: 0.7rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.07em !important;
	text-transform: uppercase;
}

.whb-footer-links a,
.whb-footer-contact a,
.whb-footer-contact p {
	display: block;
	margin-bottom: 10px;
	color: rgba(255, 255, 255, 0.68) !important;
	font-size: 0.8rem;
}

.whb-footer-links a:hover,
.whb-footer-contact a:hover {
	color: #fff !important;
}

.whb-footer-base {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 66px;
	border-top: 1px solid var(--whb-line-dark);
	color: rgba(255, 255, 255, 0.47);
	font-family: var(--whb-mono-font);
	font-size: 0.63rem;
	letter-spacing: 0.035em;
	text-transform: uppercase;
}

/* WordPress editor content safeguards */
.whb-prose .alignwide {
	max-width: 100%;
}

.whb-prose .alignfull {
	width: 100%;
}

.whb-prose .wp-block-image img {
	height: auto;
}


/* Route-specific composition */
.legal-hero,
.men-hero {
	background: var(--whb-ink);
	color: #fff;
	border-bottom-color: var(--whb-line-dark);
}

.legal-hero .whb-eyebrow,
.men-hero .whb-eyebrow {
	color: rgba(255, 255, 255, 0.7);
}

.legal-hero .whb-page-hero-grid > div:last-child > p,
.men-hero .whb-page-hero-grid > div:last-child > p {
	margin: 0 0 22px;
	padding: 18px 0 18px 22px;
	border-left: 2px solid var(--whb-signal);
	color: rgba(255, 255, 255, 0.67);
}

.whb-triage-explainer {
	margin: 0;
	padding: 0;
	border: 0;
	background: var(--whb-white);
}

.whb-triage-explainer > .whb-container {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-left: 1px solid var(--whb-line);
}

.whb-triage-explainer .whb-triage-step {
	display: grid;
	grid-template-columns: 34px 1fr;
	grid-template-rows: auto auto;
	align-items: start;
	gap: 4px 12px;
	min-height: 140px;
	padding: 28px;
	border-right: 1px solid var(--whb-line);
	border-bottom: 1px solid var(--whb-line);
	color: var(--whb-ink);
}

.whb-triage-explainer .whb-triage-step b {
	grid-row: 1 / 3;
	color: var(--whb-signal);
	font-family: var(--whb-mono-font);
	font-size: 0.7rem;
}

.whb-triage-explainer .whb-triage-step span {
	font-family: var(--whb-head-font);
	font-size: 1.35rem;
	font-weight: 700;
	line-height: 1.1;
}

.whb-triage-explainer .whb-triage-step p {
	margin: 0;
	color: var(--whb-muted);
	font-size: 0.82rem;
}

.whb-support-copy .whb-guidance-block {
	min-height: 0;
	margin: 0;
	padding: 19px 0;
	border-top: 1px solid var(--whb-line-dark);
	background: transparent;
	color: #fff;
}

.whb-support-copy .whb-guidance-block + .whb-guidance-block {
	margin-top: 4px;
}

.whb-support-copy .whb-guidance-block strong {
	display: block;
	margin-bottom: 9px;
	font-family: var(--whb-head-font);
	font-size: 1.25rem;
}

.whb-support-copy .whb-guidance-block ul {
	margin: 0;
	padding-left: 18px;
	color: rgba(255, 255, 255, 0.62);
	font-size: 0.8rem;
}

.whb-support-copy .whb-emergency-note {
	margin-top: 24px;
	border-left-color: var(--whb-signal);
	background: rgba(255, 255, 255, 0.06);
	color: rgba(255, 255, 255, 0.68);
}

.whb-support-section .whb-step-form {
	padding: clamp(25px, 4vw, 48px);
	background: var(--whb-white);
	color: var(--whb-ink);
	box-shadow: 0 24px 58px rgba(0, 0, 0, 0.2);
}

.whb-support-section .whb-form-progress {
	gap: 9px;
}

.whb-support-section .whb-form-progress span {
	min-height: 30px;
	border-color: var(--whb-line);
	color: var(--whb-muted);
}

.whb-support-section .whb-form-progress span.active,
.whb-support-section .whb-form-progress span.is-current {
	border-color: var(--whb-signal);
	background: var(--whb-signal);
	color: #fff;
}

.whb-support-section .whb-form-progress span.is-complete {
	border-color: var(--whb-accent);
	background: var(--whb-accent);
	color: #fff;
}

.whb-support-section .whb-form-progress i {
	flex: 0 0 14px;
	height: 1px;
	background: var(--whb-line);
}

.whb-support-section .whb-form-disclaimer {
	border-left-color: var(--whb-signal);
	background: var(--whb-paper);
	color: var(--whb-muted);
}

.whb-support-section .whb-step-actions .whb-back,
.whb-support-section .whb-consent {
	color: var(--whb-ink);
}

.whb-men-routes {
	display: block;
	padding: clamp(76px, 9vw, 132px) 0;
	border: 0;
	background: var(--whb-white);
}

.whb-men-routes > .whb-container {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 1px;
	border: 1px solid var(--whb-line);
	background: var(--whb-line);
}

.whb-men-route {
	grid-column: span 6;
	min-height: 330px;
	padding: clamp(27px, 4vw, 48px);
	background: var(--whb-white);
}

.whb-men-route:nth-child(3) {
	grid-column: span 5;
}

.whb-men-route:nth-child(4) {
	grid-column: span 7;
}

.whb-men-route.featured {
	background: var(--whb-accent);
	color: #fff;
}

.whb-men-route > span {
	font-family: var(--whb-mono-font);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.whb-men-route h2 {
	max-width: 560px;
	margin: 70px 0 20px;
	font-size: clamp(2rem, 3.4vw, 3.65rem) !important;
}

.whb-men-route p {
	max-width: 580px;
	color: var(--whb-muted);
}

.whb-men-route.featured p {
	color: rgba(255, 255, 255, 0.73);
}

.whb-men-route a {
	display: inline-flex;
	margin-top: 8px;
	border-bottom: 1px solid currentColor;
	font-size: 0.8rem;
	font-weight: 800;
}

.whb-men-disclaimer {
	max-width: none;
	margin: 0;
	padding: 26px 0;
	border: 0;
	background: var(--whb-signal);
	color: #fff;
}

.whb-men-disclaimer > .whb-container {
	display: grid;
	grid-template-columns: 120px 1fr;
	gap: 30px;
}

.whb-men-disclaimer strong {
	font-family: var(--whb-mono-font);
	font-size: 0.7rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.whb-men-disclaimer p {
	margin: 0;
	color: rgba(255, 255, 255, 0.82);
	font-size: 0.85rem;
}

.whb-method-grid {
	margin: 0;
	padding: 0;
	list-style: none;
}

.whb-method-grid > li {
	min-height: 310px;
	padding: 30px;
	border-right: 1px solid var(--whb-line);
	border-bottom: 1px solid var(--whb-line);
}

.whb-method-grid > li > b {
	color: var(--whb-signal);
	font-family: var(--whb-mono-font);
	font-size: 0.72rem;
}

.whb-method-grid > li h3 {
	margin: 60px 0 18px;
	font-size: 1.9rem !important;
}

.whb-method-grid > li p {
	color: var(--whb-muted);
	font-size: 0.87rem;
}

.whb-recognition-page > .whb-container > header {
	max-width: 1000px;
	margin-bottom: clamp(45px, 7vw, 85px);
	padding-bottom: 34px;
	border-bottom: 1px solid var(--whb-line);
}

.whb-recognition-page > .whb-container > header > p {
	color: var(--whb-muted);
	font-size: 1.05rem;
}

.whb-recognition-page-grid > aside > div {
	margin-bottom: 18px;
	padding: 22px;
	border-left: 3px solid var(--whb-signal);
	background: var(--whb-paper);
	font-size: 0.8rem;
}

.whb-recognition-page-grid > aside strong {
	display: block;
	margin-bottom: 7px;
}

/* Responsive */
@media (max-width: 1180px) {
	.whb-primary-nav > a {
		padding-inline: 9px;
		font-size: 0.76rem;
	}
	.whb-nav-action {
		padding-inline: 12px !important;
	}
	.whb-artisan-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.whb-artisan-grid.directory-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.whb-directory-filter {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
	.whb-filter-search {
		grid-column: span 2;
	}
	.whb-directory-filter .whb-button {
		grid-column: span 1;
	}
	.whb-profile-grid {
		grid-template-columns: minmax(250px, 0.58fr) minmax(0, 1fr);
	}
	.whb-profile-facts {
		grid-column: 1 / -1;
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		align-self: auto;
	}
	.whb-profile-facts > div {
		padding: 17px 18px;
		border-right: 1px solid var(--whb-line);
	}
}

@media (max-width: 980px) {
	html { scroll-padding-top: 98px; }
	.admin-bar .whb-header { top: 32px; }
	.whb-nav-wrap { min-height: 68px; }
	.whb-menu-button { display: inline-flex; }
	.whb-primary-nav {
		position: absolute;
		top: 100%;
		right: 0;
		left: 0;
		display: none;
		align-items: stretch;
		padding: 15px var(--whb-gutter) 26px;
		border-bottom: 1px solid var(--whb-line);
		background: var(--whb-white);
		box-shadow: var(--whb-shadow);
	}
	.whb-primary-nav.is-open {
		display: flex;
		flex-direction: column;
	}
	.whb-primary-nav > a {
		min-height: 50px;
		padding: 0 !important;
		border-bottom: 1px solid var(--whb-line);
	}
	.whb-primary-nav > a:not(.whb-nav-action)::after { display: none; }
	.whb-primary-nav > a[aria-current="page"] { color: var(--whb-accent); }
	.whb-nav-action {
		align-self: stretch;
		justify-content: space-between;
		margin: 14px 0 0;
		padding-inline: 16px !important;
	}
	.whb-hero-grid,
	.whb-page-hero-grid,
	.whb-editorial-layout,
	.whb-process-grid,
	.whb-application-grid,
	.whb-support-grid,
	.whb-nomination-grid,
	.whb-contact-grid {
		grid-template-columns: 1fr;
	}
	.whb-start-board {
		max-width: 700px;
	}
	.whb-service-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.whb-service-tile.wide { grid-column: span 2; }
	.whb-recognition-intro {
		grid-template-columns: 1fr;
	}
	.whb-recognition-intro > p {
		margin-bottom: 45px;
	}
	.whb-artisan-grid.directory-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.whb-directory-filter,
	.whb-filter {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.whb-filter-search {
		grid-column: 1 / -1;
	}
	.whb-profile-grid {
		grid-template-columns: minmax(230px, 0.58fr) minmax(0, 1fr);
	}
	.whb-profile-content-grid,
	.whb-review-layout,
	.whb-article-layout,
	.whb-recognition-page-grid {
		grid-template-columns: 1fr;
	}
	.whb-safety-card,
	.whb-review-form-card,
	.whb-article-aside {
		position: relative;
		top: auto;
	}
	.whb-advice-grid,
	.whb-recognition-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.whb-method-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.whb-guidance-block,
	.whb-guidance-block:nth-child(n) {
		grid-column: span 6;
	}
	.whb-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.whb-privacy-layout {
		grid-template-columns: 1fr;
	}
	.whb-privacy-layout > nav {
		position: static;
		display: flex;
		gap: 8px;
		overflow-x: auto;
		border-top: 0;
	}
	.whb-privacy-layout > nav a {
		flex: 0 0 auto;
		padding: 8px 10px;
		border: 1px solid var(--whb-line);
	}
}

@media (max-width: 782px) {
	.admin-bar .whb-header { top: 46px; }
	body.admin-bar.whb-site { padding-top: 0; }
	.whb-header-line { display: none; }
	.whb-hero { padding-top: 58px; }
	.whb-hero::before,
	.whb-hero::after { display: none; }
	.whb-section-heading.row {
		align-items: flex-start;
		flex-direction: column;
	}
	.whb-profile-grid {
		grid-template-columns: 1fr;
	}
	.whb-profile-media {
		min-height: 0;
		aspect-ratio: 4 / 3;
	}
	.whb-profile-facts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 680px) {
	:root { --whb-gutter: 18px; }
	body.whb-site { font-size: 15px; }
	.whb-wordmark { font-size: 1.43rem; }
	.whb-symbol { width: 34px; height: 34px; }
	.whb-command-search > div { grid-template-columns: 1fr; }
	.whb-command-search button { justify-content: space-between; }
	.whb-service-grid,
	.whb-artisan-grid,
	.whb-artisan-grid.directory-grid,
	.whb-advice-grid,
	.whb-recognition-grid,
	.whb-method-grid,
	.whb-form-grid.two,
	.whb-rating-grid,
	.whb-directory-filter,
	.whb-filter,
	.whb-footer-grid {
		grid-template-columns: 1fr;
	}
	.whb-service-tile.wide { grid-column: span 1; }
	.whb-service-tile { min-height: 285px; }
	.whb-directory-filter > *,
	.whb-filter > *,
	.whb-filter-search,
	.whb-directory-filter .whb-button {
		grid-column: auto;
	}
	.whb-empty-state {
		grid-template-columns: 1fr;
	}
	.whb-profile-facts { grid-template-columns: 1fr; }
	.whb-profile-facts > div { border-right: 0; }
	.whb-review-head {
		align-items: flex-start;
		flex-direction: column;
	}
	.whb-men-routes { grid-template-columns: 1fr; }
	.whb-guidance-block,
	.whb-guidance-block:nth-child(n) { grid-column: span 1; }
	.whb-footer-base {
		align-items: flex-start;
		flex-direction: column;
		justify-content: center;
		padding-block: 18px;
	}
	.whb-form-progress span,
	.whb-step-progress span {
		font-size: 0;
		min-height: 8px;
	}
	.whb-form-progress span.is-current,
	.whb-step-progress span.is-current { min-height: 12px; }
	.whb-step-actions {
		align-items: stretch;
		flex-direction: column-reverse;
	}
	.whb-step-actions .whb-button { width: 100%; }
}

@media (max-width: 480px) {
	.whb-menu-label { display: none; }
	.whb-profile-actions,
	.whb-recognition-actions,
	.whb-hero-actions {
		align-items: stretch;
		flex-direction: column;
	}
	.whb-profile-actions .whb-button,
	.whb-recognition-actions .whb-button,
	.whb-hero-actions .whb-button {
		width: 100%;
	}
	.whb-start-board > a {
		grid-template-columns: 30px 1fr 18px;
	}
}

@media (prefers-reduced-motion: reduce) {
	html:focus-within { scroll-behavior: auto; }
	.whb-app *,
	.whb-app *::before,
	.whb-app *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}

@media print {
	body.whb-site {
		background: #fff !important;
		color: #000 !important;
	}
	.whb-header,
	.whb-footer,
	.whb-review-form-card,
	.whb-related-section,
	.whb-print-button,
	.whb-notice-wrap,
	.whb-article-aside .whb-button,
	.whb-profile-actions,
	.whb-nomination-section,
	.whb-contact-form {
		display: none !important;
	}
	.whb-main,
	.whb-article-page,
	.whb-recognition-page {
		padding: 0 !important;
	}
	.whb-container,
	.whb-article-header,
	.whb-article-layout,
	.whb-recognition-page-grid {
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
	}
	.whb-article-layout,
	.whb-recognition-page-grid {
		display: block !important;
	}
	.whb-prose a::after {
		content: " (" attr(href) ")";
		font-size: 0.8em;
	}
}

@media (max-width: 980px) {
	.whb-triage-explainer > .whb-container {
		grid-template-columns: 1fr;
	}
	.whb-triage-explainer .whb-triage-step {
		min-height: 0;
	}
	.whb-men-routes > .whb-container {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.whb-men-route,
	.whb-men-route:nth-child(n) {
		grid-column: span 1;
	}
}

@media (max-width: 680px) {
	.whb-men-routes > .whb-container {
		grid-template-columns: 1fr;
	}
	.whb-men-disclaimer > .whb-container {
		grid-template-columns: 1fr;
		gap: 8px;
	}
	.whb-triage-explainer .whb-triage-step {
		padding: 22px 18px;
	}
}

/* WordPress pagination markup */
.whb-pagination > ul.page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 7px;
	width: auto;
	height: auto;
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	list-style: none;
}

.whb-pagination > ul.page-numbers > li {
	margin: 0;
}

.whb-pagination > ul.page-numbers > li > .page-numbers {
	display: grid;
	place-items: center;
	min-width: 42px;
	height: 42px;
	padding: 0 9px;
	border: 1px solid var(--whb-line);
	background: var(--whb-white);
	font-size: 0.76rem;
	font-weight: 800;
}

.whb-pagination > ul.page-numbers > li > .page-numbers.current,
.whb-pagination > ul.page-numbers > li > a.page-numbers:hover {
	border-color: var(--whb-ink);
	background: var(--whb-ink);
	color: #fff;
}

.whb-empty-state > span:first-child {
	position: relative;
	display: block;
	width: 88px;
	height: 88px;
	border: 1px solid var(--whb-line);
	background: var(--whb-white);
}

.whb-empty-state > span:first-child i {
	position: absolute;
	left: 17px;
	display: block;
	width: 52px;
	height: 2px;
	background: var(--whb-ink);
}

.whb-empty-state > span:first-child i:nth-child(1) { top: 27px; }
.whb-empty-state > span:first-child i:nth-child(2) { top: 43px; width: 35px; background: var(--whb-signal); }
.whb-empty-state > span:first-child i:nth-child(3) { top: 59px; width: 44px; }

.whb-empty-state > div h2 {
	margin-bottom: 8px;
	font-size: clamp(1.6rem, 2.6vw, 2.5rem) !important;
}

.whb-empty-state > div p {
	margin-bottom: 18px;
	color: var(--whb-muted);
}

/* ================================================================
   Whobam Surveys — v1.1.0
   A restrained research workspace: engineered, editorial and calm.
   ================================================================ */

.whb-service-tile.survey {
	grid-column: span 2;
	min-height: 300px;
	border-top: 5px solid var(--whb-accent);
	background:
		linear-gradient(90deg, transparent 0 49.8%, rgba(16, 21, 20, .07) 49.8% 50.2%, transparent 50.2%),
		var(--whb-white);
}

.whb-service-tile.survey::after {
	content: "FREE / ANONYMOUS / TOKEN CONTROL";
	position: absolute;
	right: 26px;
	bottom: 22px;
	color: var(--whb-muted);
	font-family: var(--whb-mono-font);
	font-size: .62rem;
	font-weight: 700;
	letter-spacing: .1em;
}

.whb-survey-hero {
	position: relative;
	padding: clamp(76px, 9vw, 142px) 0 clamp(82px, 10vw, 150px);
	border-bottom: 1px solid var(--whb-line);
	background: var(--whb-paper);
}

.whb-survey-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image:
		linear-gradient(rgba(16, 21, 20, .045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(16, 21, 20, .045) 1px, transparent 1px);
	background-size: 52px 52px;
	mask-image: linear-gradient(to right, transparent, #000 52%, #000);
}

.whb-survey-hero-grid {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(390px, .75fr);
	align-items: center;
	gap: clamp(46px, 8vw, 110px);
}

.whb-survey-hero-copy h1 {
	max-width: 850px;
	margin: 0 0 26px;
	font-size: clamp(4rem, 7.4vw, 8.4rem) !important;
	line-height: .9 !important;
}

.whb-survey-lead {
	max-width: 730px;
	margin-bottom: 34px;
	color: #4d5753;
	font-size: clamp(1.05rem, 1.7vw, 1.35rem);
	line-height: 1.62;
}

.whb-survey-principles {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	max-width: 760px;
	margin: 38px 0;
	border-top: 1px solid var(--whb-ink);
	border-bottom: 1px solid var(--whb-line);
}

.whb-survey-principles > div {
	min-height: 116px;
	padding: 19px 17px 17px 0;
	border-right: 1px solid var(--whb-line);
}

.whb-survey-principles > div + div {
	padding-left: 17px;
}

.whb-survey-principles > div:last-child {
	border-right: 0;
}

.whb-survey-principles strong,
.whb-survey-principles span {
	display: block;
}

.whb-survey-principles strong {
	margin-bottom: 25px;
	font-family: var(--whb-head-font);
	font-size: clamp(1.25rem, 2vw, 1.85rem);
	line-height: 1;
}

.whb-survey-principles span {
	max-width: 150px;
	color: var(--whb-muted);
	font-size: .78rem;
	line-height: 1.45;
}

.whb-survey-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 24px;
}

.whb-token-terminal,
.whb-token-gate-card {
	position: relative;
	border: 1px solid #27312f;
	border-radius: var(--whb-radius-lg);
	background: #101615;
	color: #edf1ec;
	box-shadow: 26px 30px 0 rgba(16, 21, 20, .08);
	overflow: hidden;
}

.whb-token-terminal::after {
	content: "WHOBAM / ACCESS NODE 01";
	position: absolute;
	right: -66px;
	bottom: 88px;
	transform: rotate(-90deg);
	color: rgba(255, 255, 255, .18);
	font-family: var(--whb-mono-font);
	font-size: .64rem;
	letter-spacing: .13em;
}

.whb-token-terminal-head {
	display: flex;
	align-items: center;
	gap: 7px;
	height: 45px;
	padding: 0 18px;
	border-bottom: 1px solid rgba(255, 255, 255, .13);
	background: #171e1d;
}

.whb-token-terminal-head > span {
	display: block;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .33);
}

.whb-token-terminal-head > span:nth-child(2) { background: var(--whb-signal); }
.whb-token-terminal-head > span:nth-child(3) { background: #63a78f; }

.whb-token-terminal-head small {
	margin-left: auto;
	color: rgba(255, 255, 255, .54);
	font-family: var(--whb-mono-font);
	font-size: .62rem;
	font-weight: 700;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.whb-token-terminal-body {
	padding: clamp(30px, 4vw, 54px);
}

.whb-terminal-index {
	margin-bottom: 28px;
	color: #89b9aa;
	font-family: var(--whb-mono-font);
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.whb-token-terminal h2 {
	max-width: 510px;
	margin-bottom: 38px;
	font-size: clamp(2rem, 3vw, 3.5rem) !important;
	line-height: 1 !important;
}

.whb-token-entry label {
	display: block;
	margin-bottom: 9px;
	color: rgba(255, 255, 255, .65);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.whb-token-entry > div {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	border: 1px solid rgba(255, 255, 255, .28);
	background: #0b100f;
}

.whb-token-entry input {
	min-width: 0;
	height: 62px;
	padding: 0 18px;
	border: 0;
	outline: 0;
	background: transparent;
	color: #fff;
	font-family: var(--whb-mono-font);
	font-size: clamp(.86rem, 1.4vw, 1.05rem);
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.whb-token-entry input::placeholder { color: rgba(255, 255, 255, .25); }

.whb-token-entry button {
	min-width: 132px;
	padding: 0 18px;
	border: 0;
	border-left: 1px solid rgba(255, 255, 255, .25);
	background: #e9eee8;
	color: #111716;
	font-size: .76rem;
	font-weight: 800;
}

.whb-token-entry button span { margin-left: 9px; }
.whb-token-entry button:hover { background: #fff; }

.whb-terminal-note {
	max-width: 510px;
	margin: 22px 0 0;
	color: rgba(255, 255, 255, .5);
	font-size: .77rem;
	line-height: 1.55;
}

.whb-survey-capabilities {
	padding: clamp(76px, 9vw, 132px) 0;
	background: var(--whb-white);
}

.whb-survey-cap-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 50px;
	border-top: 1px solid var(--whb-ink);
	border-left: 1px solid var(--whb-line);
}

.whb-survey-cap-grid article {
	position: relative;
	min-height: 285px;
	padding: 28px 28px 34px;
	border-right: 1px solid var(--whb-line);
	border-bottom: 1px solid var(--whb-line);
}

.whb-survey-cap-grid article b {
	display: block;
	margin-bottom: 64px;
	color: var(--whb-accent);
	font-family: var(--whb-mono-font);
	font-size: .72rem;
}

.whb-survey-cap-grid article h3 {
	max-width: 280px;
	margin-bottom: 15px;
}

.whb-survey-cap-grid article p {
	margin: 0;
	color: var(--whb-muted);
	font-size: .88rem;
}

.whb-survey-method {
	padding: clamp(74px, 8vw, 118px) 0;
	border-top: 1px solid var(--whb-line);
	border-bottom: 1px solid var(--whb-line);
	background: #e7e7df;
}

.whb-survey-method-grid {
	display: grid;
	grid-template-columns: minmax(0, .85fr) minmax(380px, 1fr);
	gap: clamp(50px, 9vw, 130px);
}

.whb-survey-method h2 {
	max-width: 610px;
	margin-bottom: 0;
}

.whb-survey-method-copy {
	padding-top: 31px;
	border-top: 1px solid var(--whb-ink);
}

.whb-survey-method-copy p {
	max-width: 760px;
	color: #49534f;
	font-size: 1rem;
}

.whb-survey-method-copy .whb-button { margin-top: 16px; }

/* Entry screen */
.whb-survey-entry {
	min-height: 72vh;
	padding: clamp(76px, 10vw, 150px) 0;
	background: var(--whb-paper);
}

.whb-survey-entry-grid {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(380px, .72fr);
	align-items: center;
	gap: clamp(50px, 10vw, 150px);
}

.whb-survey-entry-copy h1 {
	max-width: 780px;
	margin-bottom: 24px;
	font-size: clamp(3.5rem, 7vw, 7.5rem) !important;
	line-height: .92 !important;
}

.whb-survey-entry-copy > p:not(.whb-eyebrow) {
	max-width: 600px;
	color: var(--whb-muted);
	font-size: 1.08rem;
}

.whb-small-link {
	display: inline-block;
	margin-top: 22px;
	border-bottom: 1px solid currentColor;
	font-size: .78rem;
	font-weight: 800;
}

.whb-token-gate-card {
	padding-bottom: 36px;
}

.whb-token-gate-card > form,
.whb-token-gate-card > p,
.whb-token-gate-card > .whb-inline-error {
	margin-inline: clamp(28px, 4vw, 48px);
}

.whb-token-gate-card > form { margin-top: 38px; }

.whb-token-gate-card .whb-form-field label { color: rgba(255, 255, 255, .66); }
.whb-token-gate-card .whb-form-field input {
	border-color: rgba(255, 255, 255, .28);
	background: #0a0f0e;
	color: #fff;
	font-family: var(--whb-mono-font);
	letter-spacing: .04em;
	text-transform: uppercase;
}

.whb-token-gate-card > p {
	margin-top: 22px;
	color: rgba(255, 255, 255, .48);
	font-size: .78rem;
}

.whb-inline-error {
	margin-top: 28px;
	padding: 13px 15px;
	border-left: 3px solid #e36b55;
	background: rgba(217, 95, 55, .13);
	color: #ffd8cf;
	font-size: .82rem;
}

/* Survey Studio */
.whb-studio-shell {
	min-height: 72vh;
	padding: 42px 0 clamp(90px, 10vw, 150px);
	background: #ecebe4;
}

.whb-studio-header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 30px;
	padding-bottom: 26px;
	border-bottom: 1px solid var(--whb-ink);
}

.whb-studio-back {
	display: inline-block;
	margin-bottom: 20px;
	color: var(--whb-muted) !important;
	font-size: .72rem;
	font-weight: 800;
}

.whb-studio-user {
	display: grid;
	grid-template-columns: auto auto;
	gap: 3px 16px;
	justify-items: end;
	font-size: .78rem;
}

.whb-studio-user .whb-verification-state { grid-row: span 2; align-self: center; }
.whb-studio-user a { color: var(--whb-muted) !important; text-decoration: underline !important; }

.whb-verification-state {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 7px 9px;
	border: 1px solid var(--whb-line);
	background: var(--whb-white);
	font-family: var(--whb-mono-font);
	font-size: .62rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.whb-verification-state::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--whb-warning);
}
.whb-verification-state.is-verified::before { background: var(--whb-success); }

.whb-studio-alert {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-top: 18px;
	padding: 15px 18px;
	border-left: 3px solid var(--whb-warning);
	background: #fff5df;
}

.whb-studio-alert strong,
.whb-studio-alert span { display: block; }
.whb-studio-alert span { color: #735f3d; font-size: .78rem; }
.whb-studio-alert button { padding: 9px 13px; border: 1px solid #8b692d; background: transparent; font-weight: 800; }

.whb-studio-titlebar {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 30px;
	margin: 56px 0 28px;
}
.whb-studio-titlebar h1 { margin: 0 0 8px; font-size: clamp(2.7rem, 5vw, 5rem) !important; }
.whb-studio-titlebar p { margin: 0; color: var(--whb-muted); }

.whb-studio-metrics {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-top: 1px solid var(--whb-ink);
	border-left: 1px solid var(--whb-line);
	background: var(--whb-white);
}

.whb-studio-metrics > div {
	min-height: 132px;
	padding: 18px 20px;
	border-right: 1px solid var(--whb-line);
	border-bottom: 1px solid var(--whb-line);
}
.whb-studio-metrics span,
.whb-studio-metrics strong { display: block; }
.whb-studio-metrics span { margin-bottom: 31px; color: var(--whb-muted); font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.whb-studio-metrics strong { font-family: var(--whb-mono-font); font-size: 2rem; }

.whb-survey-list {
	margin-top: 26px;
	border-top: 1px solid var(--whb-ink);
	background: var(--whb-white);
}

.whb-survey-list-row {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr) 112px 130px 24px;
	align-items: center;
	gap: 22px;
	min-height: 132px;
	padding: 21px 24px;
	border-right: 1px solid var(--whb-line);
	border-bottom: 1px solid var(--whb-line);
	border-left: 1px solid var(--whb-line);
	transition: background 140ms ease;
}
.whb-survey-list-row:hover { background: #f5f6f0; }
.whb-survey-list-main h2 { margin: 0 0 6px; font-size: clamp(1.4rem, 2.2vw, 2rem) !important; }
.whb-survey-list-main p { margin: 0; color: var(--whb-muted); font-size: .82rem; }
.whb-survey-list-status small,
.whb-survey-list-data small,
.whb-survey-list-date small { display: block; color: var(--whb-muted); font-size: .61rem; text-transform: uppercase; }
.whb-survey-list-data span { font-family: var(--whb-mono-font); font-size: 1.55rem; }
.whb-survey-list-date span { font-size: .78rem; font-weight: 700; }
.whb-survey-list-arrow { font-size: 1.35rem; }

.whb-survey-status {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin-bottom: 9px;
	font-size: .7rem;
	font-weight: 800;
	text-transform: uppercase;
}
.whb-survey-status i { width: 8px; height: 8px; border-radius: 50%; background: #8a918e; }
.whb-survey-status.is-published i { background: var(--whb-success); box-shadow: 0 0 0 4px rgba(31, 111, 74, .12); }
.whb-survey-status.is-paused i { background: var(--whb-warning); }
.whb-survey-status.is-closed i,
.whb-survey-status.is-archived i { background: #7a7d7b; }
.whb-survey-status.is-draft i { background: var(--whb-signal); }

.whb-studio-empty {
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr);
	gap: 36px;
	margin-top: 28px;
	padding: clamp(34px, 6vw, 72px);
	border: 1px solid var(--whb-line);
	background: var(--whb-white);
}
.whb-studio-empty > span { color: var(--whb-signal); font-family: var(--whb-mono-font); font-size: 3rem; }
.whb-studio-empty h2 { max-width: 660px; margin-bottom: 12px; }
.whb-studio-empty p { max-width: 640px; color: var(--whb-muted); }

/* Authentication */
.whb-studio-auth {
	min-height: 72vh;
	padding: clamp(70px, 9vw, 132px) 0;
	background: #ecebe4;
}

.whb-studio-auth-intro {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, .5fr);
	gap: 50px;
	align-items: end;
	margin-bottom: 42px;
}
.whb-studio-auth-intro h1 { margin: 0; font-size: clamp(3.5rem, 7vw, 7.5rem) !important; line-height: .92 !important; }
.whb-studio-auth-intro > p { color: var(--whb-muted); font-size: 1rem; }

.whb-studio-auth-grid {
	display: grid;
	grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
	border-top: 1px solid var(--whb-ink);
}

.whb-studio-card {
	padding: clamp(28px, 5vw, 54px);
	border-right: 1px solid var(--whb-line);
	border-bottom: 1px solid var(--whb-line);
	border-left: 1px solid var(--whb-line);
	background: var(--whb-white);
}
.whb-studio-card + .whb-studio-card { border-left: 0; }
.whb-studio-card h2 { margin-bottom: 28px; }
.whb-card-index { margin-bottom: 46px; color: var(--whb-accent); font-family: var(--whb-mono-font); font-size: .69rem; font-weight: 800; }
.whb-studio-card #loginform p { margin-bottom: 18px; }
.whb-studio-card #loginform label { display: block; margin-bottom: 7px; font-size: .75rem; font-weight: 800; }
.whb-studio-card #loginform input[type="text"],
.whb-studio-card #loginform input[type="password"] { width: 100%; min-height: 50px; padding: 10px 13px; border: 1px solid var(--whb-line); background: #fff; }
.whb-studio-card #loginform .button { min-height: 48px; padding: 0 22px; border: 0; border-radius: 0; background: var(--whb-ink); color: #fff; font-weight: 800; }
.whb-studio-card #loginform .login-remember label { display: flex; align-items: center; gap: 8px; }
.whb-studio-activation { max-width: 760px; margin-inline: auto; }
.whb-studio-activation h1 { font-size: clamp(2.8rem, 5vw, 5.4rem) !important; }

/* Builder */
.whb-builder-head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 40px;
	align-items: end;
	margin: 48px 0 27px;
}
.whb-builder-title { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; }
.whb-builder-title h1 { margin: 0; font-size: clamp(2.6rem, 5vw, 5.3rem) !important; }
.whb-builder-head > div > p { max-width: 760px; margin: 10px 0 0; color: var(--whb-muted); }

.whb-builder-status-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 7px; }
.whb-builder-status-actions form { margin: 0; }
.whb-builder-status-actions button,
.whb-builder-more summary,
.whb-builder-more button {
	min-height: 39px;
	padding: 8px 12px;
	border: 1px solid var(--whb-ink);
	background: transparent;
	font-size: .69rem;
	font-weight: 800;
}
.whb-builder-status-actions button.is-primary { background: var(--whb-ink); color: #fff; }
.whb-builder-more { position: relative; }
.whb-builder-more summary { display: flex; align-items: center; list-style: none; cursor: pointer; }
.whb-builder-more summary::-webkit-details-marker { display: none; }
.whb-builder-more > div { position: absolute; z-index: 20; top: calc(100% + 7px); right: 0; min-width: 190px; padding: 7px; border: 1px solid var(--whb-line); background: #fff; box-shadow: var(--whb-shadow); }
.whb-builder-more form + form { margin-top: 5px; }
.whb-builder-more button { width: 100%; border-color: var(--whb-line); text-align: left; }
.whb-builder-more .is-delete { color: var(--whb-error); }

.whb-builder-tabs {
	display: flex;
	gap: 0;
	margin-bottom: 24px;
	border-top: 1px solid var(--whb-ink);
	border-bottom: 1px solid var(--whb-line);
	background: var(--whb-white);
}
.whb-builder-tabs a { min-width: 150px; padding: 16px 20px; border-right: 1px solid var(--whb-line); color: var(--whb-muted) !important; font-size: .72rem; font-weight: 800; }
.whb-builder-tabs a[aria-current="page"] { background: var(--whb-ink); color: #fff !important; }

.whb-builder-grid,
.whb-settings-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 390px);
	gap: 22px;
	align-items: start;
}

.whb-builder-panel,
.whb-question-editor,
.whb-settings-aside {
	border: 1px solid var(--whb-line);
	background: var(--whb-white);
}
.whb-builder-panel { padding: clamp(24px, 4vw, 42px); }
.whb-question-editor,
.whb-settings-aside { position: sticky; top: 125px; padding: 26px; }

.whb-panel-heading {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 28px;
	margin-bottom: 30px;
	padding-bottom: 22px;
	border-bottom: 1px solid var(--whb-line);
}
.whb-panel-heading > div { display: flex; align-items: baseline; gap: 15px; }
.whb-panel-heading > div > span { color: var(--whb-accent); font-family: var(--whb-mono-font); font-size: .68rem; font-weight: 800; }
.whb-panel-heading h2 { margin: 0; font-size: clamp(1.8rem, 3vw, 3rem) !important; }
.whb-panel-heading > p { max-width: 380px; margin: 0; color: var(--whb-muted); font-size: .78rem; }

.whb-question-list { border-top: 1px solid var(--whb-ink); }
.whb-question-row {
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr) auto;
	gap: 18px;
	align-items: start;
	padding: 21px 0;
	border-bottom: 1px solid var(--whb-line);
}
.whb-question-order { display: flex; flex-direction: column; align-items: center; gap: 5px; }
.whb-question-order > span { color: var(--whb-muted); font-family: var(--whb-mono-font); font-size: .65rem; }
.whb-question-order form { margin: 0; }
.whb-question-order button { display: grid; place-items: center; width: 27px; height: 25px; padding: 0; border: 1px solid var(--whb-line); background: transparent; }
.whb-question-content small { display: block; margin-bottom: 7px; color: var(--whb-accent); font-family: var(--whb-mono-font); font-size: .62rem; font-weight: 700; text-transform: uppercase; }
.whb-question-content strong { display: block; margin-bottom: 6px; font-size: .98rem; }
.whb-question-content p { margin: 0; color: var(--whb-muted); font-size: .76rem; }
.whb-question-controls { display: flex; align-items: center; gap: 5px; }
.whb-question-controls a,
.whb-question-controls button { padding: 7px 9px; border: 1px solid var(--whb-line); background: transparent; color: var(--whb-ink); font-size: .65rem; font-weight: 800; }
.whb-question-controls button { color: var(--whb-error); }
.whb-builder-lock { margin-bottom: 23px; padding: 14px 16px; border-left: 3px solid var(--whb-warning); background: #fff6df; color: #6f5a34; font-size: .8rem; }
.whb-builder-side-note { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--whb-line); color: var(--whb-muted); font-size: .76rem; }

.whb-studio-form .whb-form-field,
.whb-question-editor .whb-form-field,
.whb-token-generator .whb-form-field { margin-bottom: 18px; }

.whb-studio-form .whb-form-field label,
.whb-question-editor .whb-form-field label,
.whb-token-generator .whb-form-field label {
	display: block;
	margin-bottom: 7px;
	font-size: .73rem;
	font-weight: 800;
}

.whb-studio-form input:not([type="radio"]):not([type="checkbox"]),
.whb-studio-form select,
.whb-studio-form textarea,
.whb-question-editor input:not([type="radio"]):not([type="checkbox"]),
.whb-question-editor select,
.whb-question-editor textarea,
.whb-token-generator input:not([type="radio"]):not([type="checkbox"]) {
	width: 100%;
	min-height: 49px;
	padding: 10px 12px;
	border: 1px solid #c9ccc5;
	border-radius: 0;
	background: #fff;
	color: var(--whb-ink);
}
.whb-studio-form textarea,
.whb-question-editor textarea { min-height: 104px; resize: vertical; }
.whb-form-field > small { display: block; margin-top: 6px; color: var(--whb-muted); font-size: .68rem; }

.whb-form-grid { display: grid; gap: 16px; }
.whb-form-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.whb-form-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.whb-form-field.full { grid-column: 1 / -1; }

.whb-studio-fieldset {
	margin: 28px 0;
	padding: 0;
	border: 0;
}
.whb-studio-fieldset legend { margin-bottom: 12px; font-family: var(--whb-head-font); font-size: 1.25rem; font-weight: 700; }
.whb-option-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--whb-ink); border-left: 1px solid var(--whb-line); }
.whb-option-cards.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.whb-option-card { position: relative; min-height: 172px; border-right: 1px solid var(--whb-line); border-bottom: 1px solid var(--whb-line); cursor: pointer; }
.whb-option-card input { position: absolute; top: 18px; right: 18px; }
.whb-option-card > span { display: block; height: 100%; padding: 22px; }
.whb-option-card strong,
.whb-option-card small { display: block; }
.whb-option-card strong { margin-bottom: 42px; font-size: .87rem; }
.whb-option-card small { color: var(--whb-muted); font-size: .69rem; line-height: 1.5; }
.whb-option-card:has(input:checked) { background: #e7f0eb; box-shadow: inset 0 0 0 2px var(--whb-accent); }

.whb-check-row { display: flex; align-items: flex-start; gap: 11px; margin: 14px 0; cursor: pointer; }
.whb-check-row input { margin-top: 4px; }
.whb-check-row span { color: #4c5652; font-size: .78rem; }
.whb-studio-checks { margin: 24px 0; padding: 20px; border: 1px solid var(--whb-line); background: #f4f4ee; }
.whb-form-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 25px; }
.whb-form-footnote { margin-top: 14px; color: var(--whb-muted); font-size: .69rem; }
.whb-input-suffix { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
.whb-input-suffix span { display: flex; align-items: center; padding: 0 12px; border: 1px solid #c9ccc5; border-left: 0; background: #eceee8; font-size: .72rem; }

.whb-question-option-group { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--whb-line); }
.whb-question-option-group[hidden] { display: none !important; }
.whb-question-option-group h3 { margin-bottom: 15px; font-size: 1rem !important; }

.whb-settings-aside > div { padding-bottom: 22px; border-bottom: 1px solid var(--whb-line); }
.whb-settings-aside > div + div { padding-top: 22px; }
.whb-settings-aside strong { display: block; margin-bottom: 9px; }
.whb-settings-aside p { margin: 0; color: var(--whb-muted); font-size: .76rem; }

/* Token and response management */
.whb-token-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(310px, 390px); gap: 22px; align-items: start; }
.whb-access-link { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; margin-bottom: 22px; padding: 12px 14px; border: 1px solid var(--whb-line); background: #f4f4ee; }
.whb-access-link span { font-size: .69rem; font-weight: 800; }
.whb-access-link code { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.whb-access-link button { border: 0; border-bottom: 1px solid; background: transparent; font-size: .68rem; font-weight: 800; }
.whb-token-privacy-note,
.whb-response-boundary { margin: 20px 0; padding: 17px 18px; border-left: 3px solid var(--whb-accent); background: #eaf1ed; }
.whb-token-privacy-note strong,
.whb-response-boundary strong { display: block; margin-bottom: 6px; }
.whb-token-privacy-note p,
.whb-response-boundary p { margin: 0; color: #53605b; font-size: .76rem; }
.whb-token-table-wrap { max-width: 100%; overflow-x: auto; border-top: 1px solid var(--whb-ink); }
.whb-token-table { width: 100%; min-width: 760px; border-collapse: collapse; font-size: .75rem; }
.whb-token-table th,
.whb-token-table td { padding: 12px 10px; border-bottom: 1px solid var(--whb-line); text-align: left; vertical-align: top; }
.whb-token-table th { color: var(--whb-muted); font-size: .61rem; text-transform: uppercase; }
.whb-token-table td span,
.whb-token-table td small { display: block; }
.whb-token-table td small { color: var(--whb-muted); }
.whb-token-state { font-weight: 800; text-transform: uppercase; }
.whb-token-state.is-active { color: var(--whb-success); }
.whb-token-state.is-revoked { color: var(--whb-error); }
.whb-table-action { padding: 5px 7px; border: 1px solid var(--whb-line); background: transparent; color: var(--whb-error); font-size: .64rem; font-weight: 800; }
.whb-panel-empty { padding: 30px; border: 1px dashed #b9beb7; text-align: center; }
.whb-panel-empty strong,
.whb-panel-empty span { display: block; }
.whb-panel-empty span { margin-top: 7px; color: var(--whb-muted); font-size: .76rem; }

.whb-responses-panel { max-width: 100%; }
.whb-response-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--whb-ink); border-left: 1px solid var(--whb-line); }
.whb-response-summary > div { min-height: 125px; padding: 18px; border-right: 1px solid var(--whb-line); border-bottom: 1px solid var(--whb-line); }
.whb-response-summary span,
.whb-response-summary strong { display: block; }
.whb-response-summary span { margin-bottom: 32px; color: var(--whb-muted); font-size: .66rem; font-weight: 800; text-transform: uppercase; }
.whb-response-summary strong { font-family: var(--whb-head-font); font-size: 1.45rem; }
.whb-recent-responses { margin-top: 28px; }
.whb-recent-responses h3 { font-size: 1.2rem !important; }
.whb-recent-responses > div { display: grid; grid-template-columns: minmax(0, 1fr) 160px 70px; gap: 20px; padding: 11px 0; border-bottom: 1px solid var(--whb-line); font-size: .72rem; }
.whb-recent-responses small { color: var(--whb-muted); text-align: right; }
.whb-button.is-disabled { pointer-events: none; opacity: .45; }

/* Live survey */
.whb-live-survey {
	min-height: 100vh;
	background: #e8e9e3;
}

.whb-live-survey-container {
	display: grid;
	grid-template-columns: 70px minmax(0, 1fr);
	min-height: calc(100vh - 118px);
}

.whb-live-survey-rail {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	padding: 24px 0;
	border-right: 1px solid #313b38;
	background: var(--whb-ink);
	color: #fff;
}
.whb-live-rail-brand { display: flex; flex-direction: column; align-items: center; gap: 9px; }
.whb-live-rail-brand span { display: grid; place-items: center; width: 35px; height: 35px; border: 1px solid rgba(255,255,255,.45); font-family: var(--whb-head-font); font-size: 1.3rem; font-weight: 800; }
.whb-live-rail-brand small { writing-mode: vertical-rl; color: rgba(255,255,255,.44); font-family: var(--whb-mono-font); font-size: .55rem; letter-spacing: .18em; }
.whb-live-rail-state { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.whb-live-rail-state i { width: 8px; height: 8px; border-radius: 50%; background: #62ab8d; box-shadow: 0 0 0 5px rgba(98,171,141,.12); }
.whb-live-rail-state span { writing-mode: vertical-rl; color: rgba(255,255,255,.58); font-size: .59rem; text-transform: uppercase; }

.whb-live-survey-main { width: min(100%, 980px); margin-inline: auto; padding: 36px clamp(24px, 6vw, 76px) 72px; }
.whb-live-survey-header { display: flex; justify-content: space-between; gap: 30px; padding-bottom: 18px; border-bottom: 1px solid #bdc1bb; color: var(--whb-muted); font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.whb-live-survey-header a { border-bottom: 1px solid currentColor; }
.whb-live-intro { padding: clamp(46px, 7vw, 86px) 0 28px; }
.whb-live-intro .whb-eyebrow { margin-bottom: 17px; }
.whb-live-intro h1 { max-width: 880px; margin-bottom: 21px; font-size: clamp(3.1rem, 7vw, 7.1rem) !important; line-height: .91 !important; }
.whb-live-intro p { max-width: 720px; color: #58625e; font-size: 1rem; }

.whb-live-privacy { margin-bottom: 30px; border-top: 1px solid var(--whb-ink); border-bottom: 1px solid #bdc1bb; background: rgba(255,255,255,.34); }
.whb-live-privacy summary { display: flex; justify-content: space-between; gap: 20px; padding: 15px 16px; cursor: pointer; list-style: none; font-size: .72rem; font-weight: 800; }
.whb-live-privacy summary::-webkit-details-marker { display: none; }
.whb-live-privacy summary span { color: var(--whb-success); text-transform: uppercase; }
.whb-live-privacy summary b { border-bottom: 1px solid currentColor; }
.whb-live-privacy > div { padding: 0 16px 18px; color: #55605b; }
.whb-live-privacy p { margin-bottom: 9px; white-space: pre-line; }
.whb-live-privacy small { color: var(--whb-muted); }

.whb-live-form { border-top: 1px solid var(--whb-ink); background: var(--whb-white); }
.whb-live-progress { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 20px; padding: 17px 22px; border-right: 1px solid var(--whb-line); border-bottom: 1px solid var(--whb-line); border-left: 1px solid var(--whb-line); }
.whb-live-progress > div { height: 3px; background: #d9dcd6; }
.whb-live-progress > div span { display: block; height: 100%; background: var(--whb-accent); transition: width 180ms ease; }
.whb-live-progress p { margin: 0; font-family: var(--whb-mono-font); font-size: .67rem; }

.whb-survey-page { border-right: 1px solid var(--whb-line); border-left: 1px solid var(--whb-line); }
.whb-survey-page[hidden] { display: none !important; }
.whb-live-question { padding: clamp(24px, 5vw, 47px); border-bottom: 1px solid var(--whb-line); }
.whb-live-question-head { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 15px; margin-bottom: 24px; }
.whb-live-question-head > span { padding-top: 3px; color: var(--whb-accent); font-family: var(--whb-mono-font); font-size: .68rem; font-weight: 800; }
.whb-live-question-head label { display: block; max-width: 720px; font-family: var(--whb-head-font); font-size: clamp(1.35rem, 2.7vw, 2.25rem); font-weight: 700; letter-spacing: -.025em; line-height: 1.08; }
.whb-live-question-head label b { color: var(--whb-signal); }
.whb-live-question-head p { max-width: 670px; margin: 9px 0 0; color: var(--whb-muted); font-size: .79rem; }
.whb-live-answer { margin-left: 51px; }
.whb-live-answer > input,
.whb-live-answer > textarea,
.whb-live-answer > select { width: min(100%, 700px); min-height: 52px; padding: 12px 14px; border: 1px solid #bfc4bd; border-radius: 0; background: #fff; }
.whb-live-answer > textarea { min-height: 140px; resize: vertical; }
.whb-live-answer .is-invalid,
.whb-live-answer :invalid:focus { border-color: var(--whb-error); box-shadow: 0 0 0 2px rgba(166,54,42,.1); }

.whb-live-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; max-width: 720px; }
.whb-live-choice-grid.two { grid-template-columns: repeat(2, minmax(0, 220px)); }
.whb-live-choice-grid label { position: relative; cursor: pointer; }
.whb-live-choice-grid input { position: absolute; opacity: 0; }
.whb-live-choice-grid span { display: flex; align-items: center; min-height: 54px; padding: 12px 15px; border: 1px solid #c2c6c0; background: #fff; font-size: .82rem; }
.whb-live-choice-grid input:checked + span { border-color: var(--whb-accent); background: #e7f0eb; box-shadow: inset 4px 0 0 var(--whb-accent); }
.whb-live-choice-grid input:focus-visible + span { outline: 3px solid var(--whb-signal); outline-offset: 2px; }

.whb-live-scale { max-width: 760px; }
.whb-live-scale > div { display: flex; gap: 7px; margin: 8px 0; }
.whb-live-scale label { position: relative; flex: 1; min-width: 42px; cursor: pointer; }
.whb-live-scale input { position: absolute; opacity: 0; }
.whb-live-scale span { display: grid; place-items: center; min-height: 49px; border: 1px solid #c2c6c0; background: #fff; font-family: var(--whb-mono-font); font-size: .75rem; }
.whb-live-scale input:checked + span { border-color: var(--whb-ink); background: var(--whb-ink); color: #fff; }
.whb-live-scale > small { color: var(--whb-muted); font-size: .65rem; }
.whb-live-scale > small:last-child { display: block; text-align: right; }

.whb-matrix-wrap { max-width: 100%; overflow-x: auto; }
.whb-live-matrix { width: 100%; min-width: 630px; border-collapse: collapse; }
.whb-live-matrix th,
.whb-live-matrix td { padding: 12px; border: 1px solid var(--whb-line); text-align: center; }
.whb-live-matrix thead th { background: #eef0eb; font-size: .68rem; }
.whb-live-matrix tbody th { max-width: 240px; text-align: left; font-size: .77rem; }
.whb-live-matrix input { width: 18px; height: 18px; accent-color: var(--whb-accent); }

.whb-live-consent { display: flex; align-items: flex-start; gap: 12px; max-width: 720px; padding: 16px; border: 1px solid var(--whb-line); background: #f3f4ef; cursor: pointer; }
.whb-live-consent input { margin-top: 4px; accent-color: var(--whb-accent); }
.whb-live-consent span { font-size: .82rem; }
.whb-live-information { padding: 2px 0; }
.whb-live-information small { color: var(--whb-accent); font-family: var(--whb-mono-font); font-size: .68rem; }
.whb-live-information h2 { max-width: 720px; margin: 10px 0 12px; font-size: clamp(2rem, 4vw, 3.7rem) !important; }
.whb-live-information p { max-width: 720px; margin: 0; color: var(--whb-muted); }

.whb-live-navigation { display: flex; align-items: center; justify-content: flex-end; gap: 10px; padding: 22px clamp(24px, 5vw, 47px); border-bottom: 1px solid var(--whb-line); }
.whb-live-navigation .whb-button-outline { margin-right: auto; }
.whb-live-footer { display: flex; justify-content: space-between; gap: 25px; padding: 16px 0; color: var(--whb-muted); font-size: .66rem; }
.whb-live-footer a { border-bottom: 1px solid currentColor; }

.whb-survey-complete { min-height: 72vh; display: grid; align-items: center; padding: 80px 0; }
.whb-complete-card { max-width: 850px; padding: clamp(38px, 7vw, 80px); border-top: 5px solid var(--whb-success); background: var(--whb-white); box-shadow: var(--whb-shadow); }
.whb-complete-mark { display: grid; place-items: center; width: 54px; height: 54px; margin-bottom: 42px; border: 1px solid var(--whb-success); color: var(--whb-success); font-size: 1.5rem; }
.whb-complete-card h1 { margin-bottom: 18px; font-size: clamp(2.7rem, 5vw, 5.3rem) !important; }
.whb-complete-card > p:not(.whb-eyebrow) { color: var(--whb-muted); }
.whb-complete-card .whb-button { margin-top: 18px; }

.whb-survey-notice-wrap { padding-top: 18px; }
.whb-survey-notice { display: flex; align-items: center; gap: 12px; padding: 13px 16px; border: 1px solid var(--whb-line); background: #fff; font-size: .8rem; }
.whb-survey-notice > span { width: 8px; height: 8px; border-radius: 50%; background: var(--whb-warning); }
.whb-survey-notice.is-success > span { background: var(--whb-success); }
.whb-survey-notice.is-error > span { background: var(--whb-error); }

@media (max-width: 1100px) {
	.whb-survey-hero-grid,
	.whb-survey-entry-grid { grid-template-columns: 1fr; }
	.whb-token-terminal,
	.whb-token-gate-card { max-width: 690px; }
	.whb-survey-cap-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.whb-builder-grid,
	.whb-settings-layout,
	.whb-token-grid { grid-template-columns: minmax(0, 1fr) 320px; }
	.whb-survey-list-row { grid-template-columns: 130px minmax(0, 1fr) 90px 24px; }
	.whb-survey-list-date { display: none; }
	.whb-option-cards { grid-template-columns: 1fr; }
	.whb-option-card { min-height: 130px; }
	.whb-option-card strong { margin-bottom: 22px; }
}

@media (max-width: 820px) {
	.whb-service-tile.survey { grid-column: span 1; }
	.whb-survey-hero-copy h1,
	.whb-survey-entry-copy h1,
	.whb-studio-auth-intro h1 { font-size: clamp(3.2rem, 14vw, 6rem) !important; }
	.whb-survey-principles { grid-template-columns: 1fr; }
	.whb-survey-principles > div,
	.whb-survey-principles > div + div { min-height: 0; padding: 16px 0; border-right: 0; border-bottom: 1px solid var(--whb-line); }
	.whb-survey-principles > div:last-child { border-bottom: 0; }
	.whb-survey-principles strong { margin-bottom: 8px; }
	.whb-survey-principles span { max-width: none; }
	.whb-survey-cap-grid { grid-template-columns: 1fr; }
	.whb-survey-cap-grid article { min-height: 230px; }
	.whb-survey-method-grid,
	.whb-studio-auth-intro { grid-template-columns: 1fr; }
	.whb-studio-auth-grid { grid-template-columns: 1fr; }
	.whb-studio-card + .whb-studio-card { border-left: 1px solid var(--whb-line); border-top: 0; }
	.whb-studio-header,
	.whb-studio-titlebar,
	.whb-builder-head { align-items: flex-start; flex-direction: column; display: flex; }
	.whb-studio-user { justify-items: start; }
	.whb-studio-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.whb-survey-list-row { grid-template-columns: 115px minmax(0, 1fr) 24px; }
	.whb-survey-list-data { display: none; }
	.whb-builder-tabs { overflow-x: auto; }
	.whb-builder-tabs a { min-width: max-content; }
	.whb-builder-grid,
	.whb-settings-layout,
	.whb-token-grid { grid-template-columns: 1fr; }
	.whb-question-editor,
	.whb-settings-aside { position: static; }
	.whb-form-grid.three { grid-template-columns: 1fr; }
	.whb-option-cards.two { grid-template-columns: 1fr; }
	.whb-response-summary { grid-template-columns: 1fr; }
	.whb-live-survey-container { grid-template-columns: 1fr; }
	.whb-live-survey-rail { display: none; }
	.whb-live-survey-main { padding-inline: var(--whb-gutter); }
	.whb-live-choice-grid { grid-template-columns: 1fr; }
	.whb-live-answer { margin-left: 0; }
	.whb-live-question-head { grid-template-columns: 28px minmax(0, 1fr); }
	.whb-live-scale > div { flex-wrap: wrap; }
	.whb-live-scale label { flex: 0 0 50px; }
}

@media (max-width: 560px) {
	.whb-survey-hero,
	.whb-survey-entry,
	.whb-studio-auth { padding-block: 54px 76px; }
	.whb-survey-actions { align-items: flex-start; flex-direction: column; }
	.whb-token-terminal { box-shadow: 10px 12px 0 rgba(16,21,20,.08); }
	.whb-token-terminal-body { padding: 26px 20px 30px; }
	.whb-token-entry > div { grid-template-columns: 1fr; }
	.whb-token-entry button { min-height: 50px; border-top: 1px solid rgba(255,255,255,.25); border-left: 0; }
	.whb-token-terminal::after { display: none; }
	.whb-studio-alert { align-items: flex-start; flex-direction: column; }
	.whb-studio-metrics { grid-template-columns: 1fr 1fr; }
	.whb-studio-metrics > div { min-height: 105px; }
	.whb-survey-list-row { grid-template-columns: 1fr 20px; gap: 12px; }
	.whb-survey-list-status { grid-column: 1; }
	.whb-survey-list-main { grid-column: 1; }
	.whb-survey-list-arrow { grid-column: 2; grid-row: 1 / 3; }
	.whb-studio-empty { grid-template-columns: 1fr; }
	.whb-builder-status-actions { justify-content: flex-start; }
	.whb-builder-panel,
	.whb-question-editor,
	.whb-settings-aside { padding: 20px 17px; }
	.whb-panel-heading { flex-direction: column; }
	.whb-question-row { grid-template-columns: 40px minmax(0, 1fr); }
	.whb-question-controls { grid-column: 2; justify-content: flex-start; }
	.whb-form-grid.two { grid-template-columns: 1fr; }
	.whb-access-link { grid-template-columns: 1fr; }
	.whb-live-survey-main { padding: 22px 16px 50px; }
	.whb-live-survey-header { flex-direction: column; gap: 5px; }
	.whb-live-question { padding: 25px 18px; }
	.whb-live-question-head { grid-template-columns: 1fr; }
	.whb-live-question-head > span { margin-bottom: -7px; }
	.whb-live-navigation { align-items: stretch; flex-direction: column-reverse; padding: 18px; }
	.whb-live-navigation .whb-button { width: 100%; margin: 0; }
	.whb-live-footer { flex-direction: column; }
	.whb-recent-responses > div { grid-template-columns: 1fr; gap: 2px; }
	.whb-recent-responses small { text-align: left; }
}

/* Survey v1.1.0 release hardening */
.whb-field-lock-note{margin:.8rem 0 0;padding:.8rem 1rem;border-left:3px solid var(--whb-signal);background:rgba(217,95,55,.08);font-size:.9rem;line-height:1.55}
.whb-option-card input:disabled+span{opacity:.65;cursor:not-allowed}
.whb-live-choice-grid[data-whb-required-checkbox-group].is-invalid{outline:2px solid #a33b2a;outline-offset:5px;border-radius:4px}
.whb-check-row a,.whb-consent a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.whb-response-shell{min-height:100vh;background:var(--whb-paper)}
.whb-response-main{min-height:100vh;padding:0}
.whb-response-shell .whb-survey-live-head,.whb-response-shell .whb-token-gate-head{padding-top:clamp(2rem,5vw,5rem)}
@media (max-width:720px){.whb-response-shell .whb-live-survey-card,.whb-response-shell .whb-token-gate-card{border-radius:0;box-shadow:none}}
