/**
 * GreenUp žinynas front end styles.
 *
 * Every colour and typeface is read from the active theme's own custom
 * properties (Impreza defines --color-content-* and --font-*), with the current
 * GreenUp values as fallbacks. Changing the palette in the theme options
 * therefore restyles the knowledge base too.
 *
 * All selectors are prefixed .gukb- so nothing collides with WPBakery output.
 */

.gukb {
	--gukb-green: var(--color-content-link, #53851d);
	--gukb-lime: var(--color-content-primary, #77ab3f);
	--gukb-green-deep: #3c5f18;
	--gukb-soft: var(--color-content-secondary, #f6f8f3);
	--gukb-soft-2: var(--color-content-bg-alt, #fafafa);
	--gukb-ink: var(--color-content-heading, #3d3d3d);
	--gukb-body: var(--color-content-text, #757575);
	--gukb-gray: var(--color-content-faded, #949494);
	--gukb-line: var(--color-content-border, #e6e6e6);
	--gukb-bg: var(--color-content-bg, #ffffff);

	--gukb-font-h: var(--font-h1, "Nunito", sans-serif);
	--gukb-font-b: var(--font-body, "Roboto", sans-serif);

	--gukb-fs-h1: clamp(30px, 5vw, 50px);
	--gukb-fs-h2: clamp(23px, 3vw, 32px);
	--gukb-fs-h3: 19px;
	--gukb-fs-lead: 17px;
	--gukb-fs-body: 16px;
	--gukb-fs-small: 14px;
	--gukb-fs-label: 13px;

	--gukb-maxw: 1180px;
	--gukb-pad: 20px;
	--gukb-radius: 12px;
	--gukb-shadow: 0 18px 36px rgba(60, 95, 24, 0.12);
}

@media (min-width: 561px) {
	.gukb {
		--gukb-pad: 32px;
	}
}

/* --------------------------------------------------------------- layout */

.gukb-wrap {
	max-width: var(--gukb-maxw);
	margin-inline: auto;
	padding-inline: var(--gukb-pad);
	box-sizing: border-box;
}

.gukb-section {
	padding-block: 56px;
}

.gukb-alt {
	background: var(--gukb-soft-2);
	border-block: 1px solid var(--gukb-line);
}

.gukb-band {
	background: var(--gukb-soft-2);
	border-block: 1px solid var(--gukb-line);
	padding-block: 56px;
	text-align: center;
}

@media (min-width: 961px) {
	.gukb-section,
	.gukb-band {
		padding-block: 84px;
	}
}

.gukb-section__head {
	margin-bottom: 32px;
}

.gukb-section__head--center {
	text-align: center;
	max-width: 760px;
	margin-inline: auto;
}

.gukb-section__head--center p {
	margin-top: 14px;
	color: var(--gukb-gray);
	font-size: var(--gukb-fs-small);
}

/* ----------------------------------------------------------- typography */

.gukb .gukb-h1,
.gukb .gukb-h2,
.gukb .gukb-h3 {
	font-family: var(--gukb-font-h);
	color: var(--gukb-ink);
	line-height: 1.18;
	letter-spacing: 0.01em;
	margin: 0;
	text-wrap: balance;
}

.gukb .gukb-h1 {
	font-size: var(--gukb-fs-h1);
	font-weight: 600;
}

.gukb .gukb-h2 {
	font-size: var(--gukb-fs-h2);
	font-weight: 600;
}

.gukb .gukb-h3 {
	font-size: var(--gukb-fs-h3);
	font-weight: 600;
}

.gukb .gukb-label {
	display: inline-block;
	font-family: var(--gukb-font-h);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-size: var(--gukb-fs-label);
	font-weight: 700;
	color: var(--gukb-green);
	line-height: 1.4;
}

.gukb a.gukb-label {
	text-decoration: none;
}

.gukb .gukb-lead {
	font-size: var(--gukb-fs-lead);
	line-height: 1.7;
	color: var(--gukb-body);
	margin: 0;
}

.gukb .gukb-sub {
	font-size: var(--gukb-fs-small);
	color: var(--gukb-gray);
	margin: 0;
}

.gukb-prose {
	max-width: 720px;
	margin-inline: auto;
}

.gukb-prose p {
	color: var(--gukb-body);
	margin-bottom: 20px;
}

.gukb-prose p:last-child {
	margin-bottom: 0;
}

.gukb-quote {
	font-family: var(--gukb-font-h);
	font-weight: 400;
	font-size: clamp(19px, 2.4vw, 22px);
	line-height: 1.5;
	color: var(--gukb-green-deep);
	max-width: 760px;
	margin: 0 auto 32px;
	padding-inline: 16px;
	border: 0;
	text-align: center;
}

/* -------------------------------------------------------------- buttons */

.gukb .gukb-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--gukb-font-h);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-size: var(--gukb-fs-label);
	padding: 15px 28px;
	border-radius: 5px;
	border: 2px solid var(--gukb-green);
	background: var(--gukb-green);
	color: #fff;
	text-decoration: none;
	transition: background-color 0.18s, border-color 0.18s;
}

.gukb .gukb-btn:hover,
.gukb .gukb-btn:focus {
	background: var(--gukb-green-deep);
	border-color: var(--gukb-green-deep);
	color: #fff;
}

.gukb .gukb-link {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	font-family: var(--gukb-font-h);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-size: var(--gukb-fs-label);
	color: var(--gukb-green);
	text-decoration: none;
	padding-block: 12px;
	border-bottom: 2px solid transparent;
}

.gukb .gukb-link:hover {
	border-bottom-color: var(--gukb-green);
}

.gukb .gukb-arrow {
	width: 16px;
	height: 16px;
	flex: none;
	transition: transform 0.18s;
}

.gukb a:hover .gukb-arrow {
	transform: translateX(4px);
}

.gukb a:focus-visible,
.gukb button:focus-visible,
.gukb input:focus-visible {
	outline: 3px solid var(--gukb-lime);
	outline-offset: 3px;
}

.gukb-cta-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
	margin-top: 28px;
}

/* ---------------------------------------------------------- breadcrumbs */

.gukb-crumbs {
	border-bottom: 1px solid var(--gukb-line);
	background: var(--gukb-bg);
	font-size: 13px;
	color: var(--gukb-gray);
}

.gukb-crumbs .gukb-wrap {
	padding-block: 14px;
}

.gukb-crumbs a {
	color: var(--gukb-gray);
	text-decoration: none;
}

.gukb-crumbs a:hover {
	color: var(--gukb-green);
}

.gukb-crumbs__sep {
	margin-inline: 7px;
	opacity: 0.6;
}

.gukb-crumbs__current {
	color: var(--gukb-ink);
}

/* --------------------------------------------------------- index: hero */

.gukb-index-hero {
	padding-block: 48px 28px;
	text-align: center;
}

@media (min-width: 961px) {
	.gukb-index-hero {
		padding-block: 68px 32px;
	}
}

.gukb-index-hero .gukb-label {
	margin-bottom: 16px;
}

.gukb-index-hero .gukb-h1 {
	max-width: 20ch;
	margin: 0 auto 18px;
}

.gukb-index-hero .gukb-lead {
	max-width: 62ch;
	margin: 0 auto 12px;
}

.gukb-index-hero .gukb-sub {
	max-width: 66ch;
	margin: 0 auto 30px;
}

/* ------------------------------------------------------------- search */

.gukb-search {
	position: relative;
	max-width: 560px;
	margin-inline: auto;
	text-align: left;
}

.gukb-search > svg {
	position: absolute;
	left: 20px;
	top: 29px;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	color: var(--gukb-green);
	pointer-events: none;
}

.gukb-search input {
	width: 100%;
	height: 58px;
	border: 1px solid var(--gukb-line);
	border-radius: 40px;
	padding: 0 24px 0 52px;
	font-size: 16px;
	font-family: var(--gukb-font-b);
	color: var(--gukb-ink);
	background: var(--gukb-bg);
	transition: border-color 0.16s;
	box-sizing: border-box;
	-webkit-appearance: none;
	appearance: none;
}

.gukb-search input:focus {
	border-color: var(--gukb-green);
}

.gukb-search__results {
	position: absolute;
	inset-inline: 0;
	top: calc(100% + 8px);
	z-index: 40;
	background: var(--gukb-bg);
	border: 1px solid var(--gukb-line);
	border-radius: var(--gukb-radius);
	box-shadow: var(--gukb-shadow);
	max-height: 60vh;
	overflow-y: auto;
	padding: 6px;
}

.gukb-search__results a {
	display: block;
	padding: 11px 14px;
	border-radius: 8px;
	text-decoration: none;
	color: var(--gukb-ink);
}

.gukb-search__results a:hover,
.gukb-search__results a.is-active {
	background: var(--gukb-soft);
}

.gukb-search__t {
	display: block;
	font-family: var(--gukb-font-h);
	font-weight: 600;
	font-size: 15px;
}

.gukb-search__c {
	display: block;
	font-size: 12px;
	color: var(--gukb-green);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin-top: 2px;
}

.gukb-search__d {
	display: block;
	font-size: 13px;
	color: var(--gukb-body);
	margin-top: 4px;
}

.gukb-search__empty {
	padding: 16px;
	font-size: 14px;
	color: var(--gukb-gray);
}

.gukb-search__status {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	margin: 0;
}

/* -------------------------------------------------------------- stats */

.gukb-stats-wrap {
	padding-block: 4px 24px;
}

.gukb-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1px;
	background: var(--gukb-line);
	border: 1px solid var(--gukb-line);
	border-radius: 14px;
	overflow: hidden;
	max-width: 720px;
	margin-inline: auto;
}

.gukb-stat {
	background: var(--gukb-bg);
	padding: 22px 10px;
	text-align: center;
}

.gukb-stat__num {
	font-family: var(--gukb-font-h);
	font-weight: 300;
	font-size: clamp(28px, 6vw, 40px);
	color: var(--gukb-ink);
	line-height: 1;
	font-variant-numeric: tabular-nums;
}

.gukb-stat__lbl {
	font-family: var(--gukb-font-h);
	text-transform: uppercase;
	letter-spacing: 0.09em;
	font-size: 11px;
	color: var(--gukb-green);
	font-weight: 700;
	margin-top: 9px;
}

/* --------------------------------------------------------- topic grid */

.gukb-topic-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px;
}

@media (min-width: 561px) {
	.gukb-topic-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 961px) {
	.gukb-topic-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 22px;
	}
}

.gukb-topic-card {
	display: flex;
	flex-direction: column;
	gap: 12px;
	border: 1px solid var(--gukb-line);
	border-radius: 14px;
	padding: 24px;
	background: var(--gukb-bg);
	min-height: 150px;
	text-decoration: none;
	transition: box-shadow 0.2s, transform 0.2s, border-color 0.2s;
}

.gukb-topic-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--gukb-shadow);
	border-color: var(--gukb-lime);
}

.gukb-topic-card__count {
	font-family: var(--gukb-font-h);
	text-transform: uppercase;
	letter-spacing: 0.07em;
	font-size: 12px;
	color: var(--gukb-green);
	font-weight: 700;
}

.gukb .gukb-topic-card__title {
	font-family: var(--gukb-font-h);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.28;
	color: var(--gukb-ink);
	margin: 0;
}

.gukb-go {
	margin-top: auto;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--gukb-green);
	font-family: var(--gukb-font-h);
	text-transform: uppercase;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.05em;
}

/* ------------------------------------------------------------- A to Ž */

.gukb-alphabet {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 32px;
}

.gukb-alphabet a {
	min-width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--gukb-line);
	border-radius: 8px;
	background: var(--gukb-bg);
	font-family: var(--gukb-font-h);
	font-weight: 600;
	font-size: 14px;
	color: var(--gukb-ink);
	text-decoration: none;
	transition: border-color 0.16s, color 0.16s;
}

.gukb-alphabet a:hover {
	border-color: var(--gukb-green);
	color: var(--gukb-green);
}

.gukb-az-group {
	padding-block: 20px;
	border-top: 1px solid var(--gukb-line);
	scroll-margin-top: 90px;
}

.gukb .gukb-az-letter {
	font-family: var(--gukb-font-h);
	font-size: 22px;
	font-weight: 700;
	color: var(--gukb-green);
	margin: 0 0 12px;
}

.gukb-az-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 8px 24px;
}

@media (min-width: 561px) {
	.gukb-az-list {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 961px) {
	.gukb-az-list {
		grid-template-columns: repeat(3, 1fr);
	}
}

.gukb-az-list a {
	color: var(--gukb-body);
	text-decoration: none;
	font-size: var(--gukb-fs-small);
}

.gukb-az-list a:hover {
	color: var(--gukb-green);
}

/* --------------------------------------------------------- topic page */

.gukb-topic-hero {
	padding-block: 40px 24px;
}

@media (min-width: 961px) {
	.gukb-topic-hero {
		padding-block: 56px 26px;
	}
}

.gukb-topic-hero .gukb-label {
	margin-bottom: 12px;
}

.gukb-topic-hero .gukb-h1 {
	margin-bottom: 16px;
}

.gukb-topic-hero .gukb-lead {
	max-width: 72ch;
}

.gukb-chipnav {
	position: sticky;
	top: 0;
	z-index: 20;
	background: color-mix(in srgb, var(--gukb-bg) 96%, transparent);
	backdrop-filter: blur(6px);
	border-block: 1px solid var(--gukb-line);
}

.gukb-chipnav .gukb-wrap {
	display: flex;
	gap: 10px;
	overflow-x: auto;
	padding-block: 13px;
	scrollbar-width: thin;
	-webkit-overflow-scrolling: touch;
}

.gukb-chip {
	flex: none;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--gukb-font-h);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 12px;
	font-weight: 700;
	color: var(--gukb-ink);
	background: var(--gukb-soft-2);
	border: 1px solid var(--gukb-line);
	border-radius: 40px;
	padding: 9px 16px;
	white-space: nowrap;
	text-decoration: none;
	transition: border-color 0.16s, color 0.16s;
}

.gukb-chip:hover {
	border-color: var(--gukb-green);
	color: var(--gukb-green);
}

.gukb-chip__n {
	color: var(--gukb-green);
	font-variant-numeric: tabular-nums;
}

.gukb-subsec {
	padding-block: 44px;
	border-bottom: 1px solid var(--gukb-line);
	scroll-margin-top: 80px;
}

.gukb-subsec:last-of-type {
	border-bottom: 0;
}

.gukb-subsec__head {
	display: flex;
	align-items: baseline;
	gap: 14px;
	margin-bottom: 10px;
}

.gukb-subsec__num {
	font-family: var(--gukb-font-h);
	font-weight: 300;
	font-size: 34px;
	color: var(--gukb-lime);
	line-height: 1;
	font-variant-numeric: tabular-nums;
	flex: none;
}

.gukb-subsec__desc {
	color: var(--gukb-body);
	max-width: 72ch;
	margin: 0 0 26px;
}

.gukb-term-cards {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
}

@media (min-width: 701px) {
	.gukb-term-cards {
		grid-template-columns: repeat(2, 1fr);
		gap: 16px;
	}
}

.gukb-term-card {
	display: block;
	border: 1px solid var(--gukb-line);
	border-radius: var(--gukb-radius);
	padding: 20px;
	background: var(--gukb-bg);
	text-decoration: none;
	transition: box-shadow 0.2s, transform 0.2s, border-color 0.2s;
}

.gukb-term-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 30px rgba(60, 95, 24, 0.1);
	border-color: var(--gukb-lime);
}

.gukb .gukb-term-card h3 {
	font-family: var(--gukb-font-h);
	font-size: 17px;
	font-weight: 700;
	color: var(--gukb-ink);
	margin: 0 0 7px;
}

.gukb .gukb-term-card p {
	font-size: 14px;
	color: var(--gukb-body);
	line-height: 1.55;
	margin: 0;
}

/* ---------------------------------------------------------- term page */

.gukb-term {
	max-width: 900px;
	margin-inline: auto;
	padding-block: 36px 8px;
}

@media (min-width: 961px) {
	.gukb-term {
		padding-block: 52px 10px;
	}
}

.gukb-term__cat {
	margin-bottom: 16px;
}

.gukb-term__title {
	margin-bottom: 12px;
}

.gukb-term__en {
	display: block;
	font-family: var(--gukb-font-h);
	font-weight: 400;
	color: var(--gukb-gray);
	font-size: clamp(17px, 2.4vw, 23px);
	letter-spacing: 0;
	margin-top: 8px;
}

.gukb-term__aka {
	font-size: var(--gukb-fs-small);
	color: var(--gukb-gray);
	margin: 0;
}

.gukb-term__aka b {
	color: var(--gukb-body);
	font-weight: 500;
}

.gukb-canon {
	background: var(--gukb-soft-2);
	border-left: 4px solid var(--gukb-green);
	border-radius: 0 var(--gukb-radius) var(--gukb-radius) 0;
	padding: 24px 22px;
	margin-block: 32px;
}

@media (min-width: 561px) {
	.gukb-canon {
		padding: 28px 30px;
	}
}

.gukb-canon .gukb-label {
	margin-bottom: 10px;
}

.gukb-canon p {
	font-size: clamp(18px, 2.4vw, 22px);
	line-height: 1.5;
	color: var(--gukb-ink);
	font-weight: 500;
	margin: 0;
}

.gukb-sect {
	margin-block: 40px;
}

.gukb-sect > .gukb-label {
	margin-bottom: 14px;
}

.gukb-sect p {
	font-size: var(--gukb-fs-body);
	color: var(--gukb-body);
	margin: 0 0 16px;
}

.gukb-sect p:last-child {
	margin-bottom: 0;
}

.gukb-sect__intro {
	margin-bottom: 16px;
}

/* tabs */

.gukb-tabs {
	margin-block: 34px;
}

.gukb-tabbar {
	display: inline-flex;
	gap: 6px;
	background: var(--gukb-soft);
	border-radius: 40px;
	padding: 5px;
	margin-bottom: 22px;
	max-width: 100%;
	flex-wrap: wrap;
}

.gukb-tabbar button {
	font-family: var(--gukb-font-h);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-weight: 700;
	font-size: var(--gukb-fs-label);
	padding: 11px 22px;
	border: 0;
	border-radius: 40px;
	background: transparent;
	color: var(--gukb-green-deep);
	cursor: pointer;
	transition: background-color 0.16s, color 0.16s;
}

@media (min-width: 561px) {
	.gukb-tabbar button {
		padding: 12px 28px;
	}
}

.gukb-tabbar button[aria-selected="true"] {
	background: var(--gukb-green);
	color: #fff;
}

.gukb-tabpanel {
	border-left: 3px solid var(--gukb-green);
	padding-left: 20px;
}

.gukb-tabpanel p {
	font-size: var(--gukb-fs-body);
	color: var(--gukb-body);
	margin: 0;
}

.gukb-tabpanel--big p {
	font-family: var(--gukb-font-h);
	font-weight: 400;
	font-size: clamp(19px, 2.8vw, 26px);
	line-height: 1.4;
	color: var(--gukb-ink);
}

/* tables */

.gukb-table-scroll {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.gukb .gukb-facts,
.gukb .gukb-compare {
	width: 100%;
	min-width: 460px;
	border-collapse: collapse;
	border: 1px solid var(--gukb-line);
	border-radius: var(--gukb-radius);
	overflow: hidden;
	margin: 0;
}

.gukb .gukb-facts td {
	padding: 13px 16px;
	font-size: var(--gukb-fs-small);
	border-top: 1px solid var(--gukb-line);
	vertical-align: top;
}

.gukb .gukb-facts tr:first-child td {
	border-top: 0;
}

.gukb .gukb-facts td:first-child {
	background: var(--gukb-soft-2);
	font-weight: 600;
	color: var(--gukb-ink);
	font-family: var(--gukb-font-h);
	width: 46%;
}

.gukb .gukb-facts td:last-child {
	color: var(--gukb-body);
}

.gukb .gukb-compare th,
.gukb .gukb-compare td {
	padding: 12px 15px;
	font-size: var(--gukb-fs-small);
	text-align: left;
	border-top: 1px solid var(--gukb-line);
}

.gukb .gukb-compare thead th {
	background: var(--gukb-green-deep);
	color: #fff;
	font-family: var(--gukb-font-h);
	text-transform: uppercase;
	letter-spacing: 0.03em;
	font-weight: 600;
	font-size: 12px;
	border: 0;
}

.gukb .gukb-compare tbody th {
	background: var(--gukb-soft-2);
	font-weight: 600;
	color: var(--gukb-ink);
	font-family: var(--gukb-font-h);
}

.gukb .gukb-compare tbody td {
	color: var(--gukb-body);
}

.gukb-note {
	font-size: 12px;
	color: var(--gukb-gray);
	margin-top: 10px;
}

/* mistake callout */

.gukb-mistake {
	background: #fbf6e9;
	border: 1px solid #ecdcae;
	border-radius: var(--gukb-radius);
	padding: 20px 22px;
}

.gukb-mistake .gukb-label {
	color: #9a7b1e;
	margin-bottom: 8px;
}

.gukb-mistake p {
	color: var(--gukb-ink);
	margin: 0;
}

/* chips */

.gukb-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
}

.gukb-chips--center {
	justify-content: center;
}

.gukb-chips a {
	font-family: var(--gukb-font-h);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	font-size: 12px;
	padding: 9px 15px;
	border: 1px solid var(--gukb-line);
	border-radius: 40px;
	color: var(--gukb-ink);
	text-decoration: none;
	transition: border-color 0.16s, color 0.16s, background-color 0.16s;
}

.gukb-chips a:hover {
	border-color: var(--gukb-green);
	color: var(--gukb-green);
	background: var(--gukb-soft-2);
}

/* source box + pager */

.gukb-srcbox {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
	align-items: center;
	background: var(--gukb-soft-2);
	border: 1px solid var(--gukb-line);
	border-radius: var(--gukb-radius);
	padding: 16px 20px;
	font-size: 13px;
	color: var(--gukb-body);
	margin-top: 36px;
}

.gukb-srcbox a {
	color: var(--gukb-green);
}

.gukb-srcbox__label {
	display: block;
	font-family: var(--gukb-font-h);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--gukb-green);
	font-size: 12px;
	margin-bottom: 4px;
}

.gukb-srcbox__author {
	display: inline-block;
	margin-left: 6px;
}

.gukb-srcbox__updated {
	font-family: var(--gukb-font-h);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--gukb-green);
	font-weight: 700;
	font-size: 12px;
	white-space: nowrap;
}

.gukb-pager {
	display: flex;
	flex-direction: column;
	gap: 18px;
	border-top: 1px solid var(--gukb-line);
	margin-top: 34px;
	padding-top: 24px;
}

@media (min-width: 561px) {
	.gukb-pager {
		flex-direction: row;
		justify-content: space-between;
		gap: 14px;
	}

	.gukb-pager a:last-child {
		text-align: right;
		align-items: flex-end;
	}
}

.gukb-pager a {
	display: flex;
	flex-direction: column;
	gap: 4px;
	text-decoration: none;
	max-width: 46%;
}

@media (max-width: 560px) {
	.gukb-pager a {
		max-width: 100%;
	}
}

.gukb-pager__k {
	font-family: var(--gukb-font-h);
	text-transform: uppercase;
	letter-spacing: 0.07em;
	font-size: 11px;
	color: var(--gukb-green);
	font-weight: 700;
}

.gukb-pager__t {
	font-family: var(--gukb-font-h);
	font-weight: 600;
	color: var(--gukb-ink);
	font-size: 15px;
}

/* ---------------------------------------------------------- CTA band */

.gukb-cta .gukb-h2 {
	margin-bottom: 12px;
}

.gukb-cta__text {
	max-width: 560px;
	margin: 0 auto 24px;
	color: var(--gukb-body);
}

/* -------------------------------------------------------- author page */

.gukb-author-hero {
	padding-block: 44px;
}

@media (min-width: 961px) {
	.gukb-author-hero {
		padding-block: 68px;
	}
}

.gukb-author-hero__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 44px;
	align-items: center;
}

@media (min-width: 961px) {
	.gukb-author-hero__grid {
		grid-template-columns: 1fr 1fr;
		gap: 72px;
	}
}

.gukb-author-hero .gukb-label {
	margin-bottom: 16px;
}

.gukb-author-hero .gukb-h1 {
	margin-bottom: 14px;
}

.gukb-author-role {
	font-family: var(--gukb-font-h);
	font-size: var(--gukb-fs-small);
	color: var(--gukb-green);
	letter-spacing: 0.04em;
	margin-bottom: 22px;
	text-transform: uppercase;
	font-weight: 600;
}

.gukb-author-hero .gukb-lead {
	max-width: 48ch;
}

.gukb-figure {
	position: relative;
	display: flex;
	justify-content: center;
	max-width: 420px;
	margin-inline: auto;
	width: 100%;
}

.gukb-blob {
	position: absolute;
	inset: 0;
	z-index: 0;
	background: var(--gukb-soft);
	border-radius: 46% 54% 58% 42% / 50% 44% 56% 50%;
}

.gukb-photo {
	position: relative;
	z-index: 1;
	width: 82%;
	aspect-ratio: 4 / 5;
	margin-block: 8%;
	border-radius: 14px;
	overflow: hidden;
	background: linear-gradient(150deg, #cfe0b6, #b3cd8c);
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 26px 52px rgba(60, 95, 24, 0.14);
}

.gukb-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.gukb-photo__glow {
	position: absolute;
	top: -40px;
	right: -40px;
	width: 180px;
	height: 180px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 255, 255, 0.7), transparent 68%);
}

.gukb-photo__init {
	position: relative;
	z-index: 1;
	font-family: var(--gukb-font-h);
	font-weight: 600;
	font-size: 58px;
	color: #fff;
}

.gukb-nametag {
	position: absolute;
	z-index: 2;
	right: 4%;
	bottom: 3%;
	background: var(--gukb-bg);
	border-radius: 10px;
	padding: 12px 16px;
	box-shadow: 0 14px 30px rgba(60, 95, 24, 0.16);
}

.gukb-nametag__n {
	font-family: var(--gukb-font-h);
	font-weight: 700;
	color: var(--gukb-ink);
	font-size: var(--gukb-fs-small);
}

.gukb-nametag__r {
	font-size: 12px;
	color: var(--gukb-gray);
}

.gukb-creds {
	background: var(--gukb-soft-2);
	border-block: 1px solid var(--gukb-line);
}

.gukb-creds .gukb-wrap {
	display: grid;
	grid-template-columns: 1fr;
	gap: 28px;
	padding-block: 40px;
}

@media (min-width: 561px) {
	.gukb-creds .gukb-wrap {
		grid-template-columns: repeat(2, 1fr);
		gap: 34px;
	}
}

@media (min-width: 961px) {
	.gukb-creds .gukb-wrap {
		grid-template-columns: repeat(4, 1fr);
		gap: 44px;
		padding-block: 50px;
	}
}

.gukb-cred {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.gukb-cred__ic {
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: var(--gukb-bg);
	border: 1px solid var(--gukb-line);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--gukb-green);
}

.gukb-cred__ic svg {
	width: 22px;
	height: 22px;
}

.gukb-cred__k {
	font-family: var(--gukb-font-h);
	text-transform: uppercase;
	letter-spacing: 0.09em;
	font-size: var(--gukb-fs-label);
	font-weight: 700;
	color: var(--gukb-green);
}

.gukb-cred__v {
	font-size: var(--gukb-fs-small);
	color: var(--gukb-ink);
	line-height: 1.55;
	font-weight: 500;
}

.gukb-comp {
	list-style: none;
	margin: 0 auto;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px;
	max-width: 900px;
}

@media (min-width: 761px) {
	.gukb-comp {
		grid-template-columns: repeat(2, 1fr);
		gap: 24px 44px;
	}
}

.gukb-comp li {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	font-size: var(--gukb-fs-body);
	color: var(--gukb-ink);
	line-height: 1.55;
	margin: 0;
}

.gukb-comp__ic {
	flex: none;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--gukb-bg);
	border: 1.5px solid var(--gukb-green);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 2px;
}

.gukb-comp__ic svg {
	width: 14px;
	height: 14px;
	color: var(--gukb-green);
}

.gukb-equip {
	margin-top: 60px;
}

.gukb-brands {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 14px;
	max-width: 1000px;
	margin: 32px auto 0;
}

@media (min-width: 561px) {
	.gukb-brands {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (min-width: 961px) {
	.gukb-brands {
		grid-template-columns: repeat(6, 1fr);
		gap: 16px;
	}
}

.gukb-brand {
	border: 1px solid var(--gukb-line);
	border-radius: var(--gukb-radius);
	background: var(--gukb-bg);
	padding: 22px 10px 18px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 112px;
	text-align: center;
}

.gukb-brand__mark {
	width: 34px;
	height: 34px;
	border-radius: 9px;
	background: var(--gukb-soft);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--gukb-font-h);
	font-weight: 700;
	font-size: 14px;
	color: var(--gukb-green);
}

.gukb-brand__name {
	font-family: var(--gukb-font-h);
	font-weight: 600;
	font-size: var(--gukb-fs-small);
	color: var(--gukb-ink);
	line-height: 1.25;
}

.gukb-art-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 22px;
	text-align: left;
}

@media (min-width: 701px) {
	.gukb-art-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 30px;
	}
}

.gukb-art {
	border: 1px solid var(--gukb-line);
	border-radius: var(--gukb-radius);
	overflow: hidden;
	background: var(--gukb-bg);
	display: flex;
	flex-direction: column;
	text-decoration: none;
	transition: box-shadow 0.2s, transform 0.2s;
}

.gukb-art:hover {
	transform: translateY(-5px);
	box-shadow: 0 22px 44px rgba(60, 95, 24, 0.12);
}

.gukb-art__thumb {
	aspect-ratio: 16 / 10;
	position: relative;
	overflow: hidden;
	background: linear-gradient(150deg, #dbe8c8, #bcd39c);
}

.gukb-art__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.gukb-art__sun {
	position: absolute;
	top: -24px;
	right: -24px;
	width: 120px;
	height: 120px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 255, 255, 0.65), transparent 66%);
}

.gukb-art__b {
	padding: 22px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	flex: 1;
}

.gukb-art__cat {
	font-family: var(--gukb-font-h);
	text-transform: uppercase;
	letter-spacing: 0.07em;
	font-size: var(--gukb-fs-label);
	color: var(--gukb-green);
	font-weight: 700;
}

.gukb .gukb-art h3 {
	font-family: var(--gukb-font-h);
	font-weight: 600;
	font-size: 18px;
	line-height: 1.35;
	color: var(--gukb-ink);
	margin: 0;
}

.gukb-art__read {
	margin-top: auto;
	padding-bottom: 0;
}

/* ----------------------------------------------------------- reveal */

/*
 * Content is visible by default. The script stamps .gukb-js on <html> before
 * paint, so a JavaScript failure can never leave the page blank.
 */
.gukb-js .gukb-reveal {
	opacity: 0;
	transform: translateY(16px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}

.gukb-js .gukb-reveal.is-in {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.gukb-js .gukb-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.gukb *,
	.gukb *::before,
	.gukb *::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
	}
}
