/* WQGEO 2.6 — evidence-led service, people, case and system layouts. */

.wo-steps {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 14px;
}

.wo-step:last-child {
	grid-column: auto;
	max-width: none;
}

.wq-service-matrix {
	margin: clamp(34px, 5vw, 72px) 0;
	border-top: 1px solid var(--wo-border);
}

.wq-service-matrix > article {
	display: grid;
	grid-template-columns: 58px minmax(240px, .8fr) minmax(360px, 1.35fr) auto;
	gap: clamp(20px, 3vw, 48px);
	align-items: center;
	padding: 28px 4px;
	color: var(--wo-text);
	border-bottom: 1px solid var(--wo-border);
	transition: transform .25s ease, background-color .25s ease;
}

.wq-service-matrix > article:hover {
	transform: translateX(8px);
	background: rgba(255, 255, 255, .36);
}

.wq-service-matrix > article > b,
.wq-signature-module > span,
.wq-person-card span,
.wq-person-hero span {
	color: var(--wo-accent);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.wq-service-matrix h2 {
	margin: 0 0 8px;
	font-size: clamp(23px, 2vw, 34px);
}

.wq-service-matrix h2 a {
	color: inherit;
	text-decoration: none;
}

.wq-service-matrix p,
.wq-service-matrix dl {
	margin: 0;
}

.wq-service-matrix dl {
	display: grid;
	grid-template-columns: max-content 1fr;
	gap: 4px 16px;
}

.wq-service-matrix dt {
	color: var(--wo-muted);
	font-size: 13px;
}

.wq-service-matrix dd {
	margin: 0;
}

.wq-service-action a {
	white-space: nowrap;
	color: var(--wo-accent);
	font-weight: 750;
	text-decoration: none;
}

.wq-people-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin: 36px 0 64px;
}

.wq-person-card {
	display: grid;
	grid-template-rows: auto 1fr;
	min-width: 0;
	overflow: hidden;
	color: var(--wo-text);
	text-decoration: none;
	background: rgba(255, 253, 249, .82);
	border: 1px solid var(--wo-border);
	border-radius: 18px;
	box-shadow: 0 18px 48px rgba(103, 62, 37, .08);
	transition: transform .28s ease, box-shadow .28s ease;
}

.wq-person-card:hover {
	transform: translateY(-7px);
	box-shadow: 0 28px 70px rgba(103, 62, 37, .14);
}

.wq-person-card img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

.wq-person-image {
	display: block;
}

.wq-person-card > div {
	padding: 24px;
}

.wq-person-card h2 {
	margin: 7px 0 11px;
	font-size: clamp(26px, 2.3vw, 38px);
}

.wq-person-card h2 a {
	color: inherit;
	text-decoration: none;
}

.wq-person-card p {
	margin: 0 0 18px;
	color: var(--wo-muted);
}

.wq-person-more {
	color: var(--wo-accent);
	font-weight: 750;
	text-decoration: none;
}

.wq-person-hero {
	display: grid;
	grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
	gap: clamp(38px, 7vw, 96px);
	align-items: center;
	margin: 12px 0 clamp(52px, 8vw, 100px);
}

.wq-person-hero img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: 20px;
	box-shadow: 0 25px 80px rgba(103, 62, 37, .16);
}

.wq-person-hero .wq-answer {
	margin: 18px 0 20px;
}

.wq-signature-module {
	position: relative;
	margin: clamp(50px, 7vw, 92px) 0;
	padding: clamp(28px, 5vw, 64px);
	overflow: hidden;
	background:
		radial-gradient(circle at 95% 0, rgba(233, 75, 22, .14), transparent 34%),
		linear-gradient(135deg, rgba(255, 255, 255, .86), rgba(250, 234, 220, .66));
	border: 1px solid var(--wo-border);
	border-radius: 20px;
}

.wq-signature-module h2 {
	margin: 10px 0 26px;
}

.wq-knowledge-chain {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 24px 0;
	overflow-x: auto;
	padding-bottom: 7px;
}

.wq-knowledge-chain b {
	flex: 0 0 auto;
	padding: 12px 16px;
	background: #fffaf6;
	border: 1px solid rgba(233, 75, 22, .25);
	border-radius: 999px;
}

.wq-knowledge-chain i {
	color: var(--wo-accent);
	font-style: normal;
	font-weight: 800;
}

.wq-system-console {
	margin: clamp(38px, 6vw, 84px) 0;
	overflow: hidden;
	background: #f6eee7;
	border: 1px solid #dfc8b7;
	border-radius: 20px;
	box-shadow: 0 30px 90px rgba(61, 39, 24, .12);
}

.wq-system-console > header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	padding: 22px 28px;
	color: #fff8f2;
	background: #211a16;
}

.wq-system-console header div {
	display: grid;
	gap: 3px;
}

.wq-system-console header span {
	color: #ff7441;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .17em;
}

.wq-system-console header strong {
	font-size: 20px;
}

.wq-system-console header time {
	color: #c9b9ad;
	font-size: 13px;
}

.wq-system-grid {
	display: grid;
	grid-template-columns: minmax(220px, .55fr) minmax(0, 1.45fr);
}

.wq-system-grid > aside {
	padding: 30px;
	background: rgba(255, 255, 255, .48);
	border-right: 1px solid #dfc8b7;
}

.wq-system-grid aside > b {
	color: var(--wo-accent);
	font-size: 12px;
	letter-spacing: .08em;
}

.wq-system-grid aside > p {
	margin: 14px 0 28px;
	font-family: var(--wo-heading);
	font-size: clamp(21px, 2.2vw, 30px);
	font-weight: 750;
}

.wq-system-grid dl {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 10px 16px;
	margin: 0;
}

.wq-system-grid dt {
	color: var(--wo-muted);
}

.wq-system-grid dd {
	margin: 0;
	font-weight: 700;
}

.wq-system-grid .is-positive {
	color: #25764b;
}

.wq-system-grid > main {
	min-width: 0;
	padding: 30px;
}

.wq-console-kpis {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1px;
	background: #dfc8b7;
	border: 1px solid #dfc8b7;
	border-radius: 12px;
	overflow: hidden;
}

.wq-console-kpis span {
	display: grid;
	gap: 3px;
	padding: 16px;
	background: #fffaf6;
}

.wq-console-kpis small {
	color: var(--wo-muted);
}

.wq-console-kpis b {
	font-size: 27px;
}

.wq-console-chart {
	display: flex;
	align-items: flex-end;
	gap: clamp(10px, 2vw, 25px);
	height: 170px;
	padding: 26px 20px 0;
	border-bottom: 1px solid #caa58d;
}

.wq-console-chart i {
	flex: 1;
	height: var(--h);
	min-width: 18px;
	background: linear-gradient(180deg, #ff7040, #cf3d11);
	border-radius: 6px 6px 0 0;
}

.wq-system-grid ol {
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
}

.wq-system-grid ol li {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding: 10px 0;
	border-bottom: 1px solid #dfc8b7;
}

.wq-system-grid ol span {
	min-width: 0;
	overflow: hidden;
	color: var(--wo-muted);
	text-overflow: ellipsis;
	white-space: nowrap;
}

.wq-case-hero {
	display: block;
	width: 100%;
	max-height: 680px;
	margin: 6px 0 38px;
	object-fit: cover;
	border-radius: 20px;
}

.wq-case-metric-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 12px;
	margin: 32px 0 60px;
}

.wq-case-metric-grid > div {
	min-width: 0;
	padding: 20px;
	background: rgba(255, 253, 249, .8);
	border-top: 3px solid var(--wo-accent);
	box-shadow: 0 12px 34px rgba(103, 62, 37, .07);
}

.wq-case-metric-grid span,
.wq-case-metric-grid small {
	display: block;
	margin-bottom: 9px;
	color: var(--wo-muted);
}

.wq-case-metric-grid strong {
	display: block;
	margin-bottom: 5px;
	font-size: clamp(22px, 2.4vw, 34px);
}

.wq-facts-grid {
	margin: 34px 0 64px;
	padding: clamp(24px, 4vw, 50px);
	background: rgba(255, 253, 249, .76);
	border: 1px solid var(--wo-border);
	border-radius: 20px;
}

.wq-facts-grid dl {
	display: grid;
	grid-template-columns: minmax(150px, .35fr) 1fr;
	margin: 0;
}

.wq-facts-grid dt,
.wq-facts-grid dd {
	margin: 0;
	padding: 13px 0;
	border-bottom: 1px solid var(--wo-border);
}

.wq-facts-grid dt {
	color: var(--wo-muted);
}

.wq-facts-grid dd {
	font-weight: 650;
}

.wq-form-goals {
	margin: 0;
	padding: 0;
	border: 0;
}

.wq-form-goals legend {
	margin-bottom: 12px;
	font-weight: 700;
}

.wq-form-goals legend i {
	color: var(--wo-accent);
	font-style: normal;
}

.wq-form-goals > div {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.wq-form-goals label {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 48px;
	padding: 10px 13px;
	background: rgba(255, 255, 255, .62);
	border: 1px solid var(--wo-border);
	border-radius: 10px;
	cursor: pointer;
}

.wq-form-goals input {
	width: 18px;
	height: 18px;
	accent-color: var(--wo-accent);
}

@media (max-width: 1100px) {
	.wo-steps {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.wq-service-matrix > article {
		grid-template-columns: 48px minmax(210px, .8fr) minmax(290px, 1.2fr);
	}

	.wq-service-action {
		display: none;
	}

	.wq-case-metric-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	.wo-steps,
	.wq-people-grid,
	.wq-form-goals > div,
	.wq-console-kpis {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wq-service-matrix > article,
	.wq-person-hero,
	.wq-system-grid {
		grid-template-columns: 1fr;
	}

	.wq-service-matrix > article {
		gap: 12px;
		padding: 24px 0;
	}

	.wq-service-matrix > article > b {
		font-size: 12px;
	}

	.wq-service-matrix dl {
		grid-template-columns: 1fr;
	}

	.wq-service-matrix dt {
		margin-top: 7px;
	}

	.wq-person-hero {
		gap: 28px;
	}

	.wq-person-hero img {
		max-width: 520px;
	}

	.wq-system-grid > aside {
		border-right: 0;
		border-bottom: 1px solid #dfc8b7;
	}

	.wq-system-console > header {
		align-items: flex-start;
		flex-direction: column;
	}

	.wq-case-metric-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 460px) {
	.wo-steps,
	.wq-people-grid,
	.wq-form-goals > div,
	.wq-console-kpis,
	.wq-case-metric-grid {
		grid-template-columns: 1fr;
	}

	.wq-system-grid > aside,
	.wq-system-grid > main {
		padding: 22px;
	}

	.wq-system-grid ol li {
		align-items: flex-start;
		flex-direction: column;
	}

	.wq-facts-grid dl {
		grid-template-columns: 1fr;
	}

	.wq-facts-grid dt {
		padding-bottom: 2px;
		border-bottom: 0;
	}
}
