/* ==========================================================================
   Krzysztof Broda — Ivory Editorial (wariant jasny)
   Motyw potomny GeneratePress. Sekcje stron to bloki Gutenberga z klasami kb-*.
   ========================================================================== */

:root {
	/* Nazwy zmiennych jak w wariancie ciemnym: --kb-black = tło, --kb-off-white = tekst główny. */
	--kb-black: #F7F3EC;
	--kb-charcoal: #EFE8DC;
	--kb-ink: #E6DDCC;
	--kb-grey-dark: #CFC3AD;
	--kb-grey-mid: #7D8591;
	--kb-grey-light: #4F5A6B;
	--kb-off-white: #0F1B2D;
	--kb-cream: #2E3A4D;
	--kb-gold: #8A6427;
	--kb-gold-bright: #A87A30;
	--kb-gold-dark: #6E4F1E;
	--kb-line: rgba(15, 27, 45, .12);
	--kb-line-bright: rgba(138, 100, 39, .38);

	--kb-serif: 'Cormorant Garamond', 'Cormorant', Georgia, 'Times New Roman', serif;
	--kb-sans: 'Jost', 'Futura', 'Helvetica Neue', Arial, sans-serif;

	--kb-wrap: 1340px;
	--kb-gutter: 48px;
	--kb-section: 150px;
	--kb-header-h: 84px;
	--kb-ease: cubic-bezier(.2, .7, .2, 1);
}

@media (max-width: 1024px) {
	:root { --kb-gutter: 32px; --kb-section: 110px; }
}

@media (max-width: 768px) {
	:root { --kb-gutter: 20px; --kb-section: 80px; --kb-header-h: 68px; }
}

/* --------------------------------------------------------------------------
   Base
   -------------------------------------------------------------------------- */

html { scroll-behavior: smooth; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
}

body.kb-site {
	background-color: var(--kb-black);
	color: var(--kb-off-white);
	font-family: var(--kb-sans);
	font-weight: 300;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

/* Subtelna złota poświata w tle całej strony */
body.kb-site::before {
	content: '';
	position: fixed;
	inset: 0;
	background:
		radial-gradient(ellipse 1200px 800px at 15% -10%, rgba(138, 100, 39, .07), transparent 60%),
		radial-gradient(ellipse 900px 700px at 105% 105%, rgba(138, 100, 39, .045), transparent 60%);
	pointer-events: none;
	z-index: 0;
}

body.kb-site > * { position: relative; z-index: 1; }
body.kb-site .site-header { z-index: 100; }

.kb-site ::selection { background: var(--kb-gold); color: var(--kb-black); }

.kb-site a { transition: color .3s ease, border-color .3s ease, background-color .3s ease; }

.kb-site :focus-visible {
	outline: 1px solid var(--kb-gold);
	outline-offset: 4px;
}

.kb-site .screen-reader-text:focus {
	background: var(--kb-gold);
	color: var(--kb-black);
}

/* --------------------------------------------------------------------------
   Header (GeneratePress) — przyklejony, z rozmyciem
   -------------------------------------------------------------------------- */

.kb-site .site-header {
	position: sticky;
	top: 0;
	background: rgba(247, 243, 236, .84) !important;
	-webkit-backdrop-filter: blur(20px) saturate(140%);
	backdrop-filter: blur(20px) saturate(140%);
	border-bottom: 1px solid var(--kb-line);
	transition: background-color .4s ease, border-color .4s ease;
}

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

@media (max-width: 782px) {
	.kb-site.admin-bar .site-header { top: 46px; }
}

@media (max-width: 600px) {
	.kb-site.admin-bar .site-header { top: 0; }
}

.kb-site .site-header.is-scrolled { background: rgba(247, 243, 236, .96) !important; }

.kb-site .inside-header {
	padding: 0 var(--kb-gutter);
	min-height: var(--kb-header-h);
	max-width: var(--kb-wrap);
}

/* Tytuł witryny: "Krzysztof Broda" — Broda kursywą w złocie */
.kb-site .main-title {
	font-family: var(--kb-serif) !important;
	font-size: 25px !important;
	font-weight: 500 !important;
	letter-spacing: .02em !important;
	line-height: 1.2;
	margin: 0;
}

.kb-site .main-title a,
.kb-site .main-title a:hover {
	color: var(--kb-off-white) !important;
	text-decoration: none;
}

.kb-site .main-title .kb-title-accent {
	font-style: italic;
	font-weight: 500;
	color: var(--kb-gold);
	transition: color .3s ease;
}

.kb-site .main-title a:hover .kb-title-accent { color: var(--kb-gold-bright); }

.kb-site .site-description { display: none; }

/* Nawigacja */
.kb-site .main-navigation,
.kb-site .main-navigation ul ul {
	background-color: transparent !important;
}

.kb-site .main-navigation .main-nav ul li a {
	font-family: var(--kb-sans) !important;
	font-size: 12px !important;
	font-weight: 400 !important;
	letter-spacing: .16em !important;
	text-transform: uppercase !important;
	line-height: 44px !important;
	padding: 0 20px !important;
	color: var(--kb-grey-light) !important;
	background: transparent !important;
	position: relative;
}

.kb-site .main-navigation .main-nav ul li a:hover,
.kb-site .main-navigation .main-nav ul li a:focus,
.kb-site .main-navigation .main-nav ul li[class*="current-menu-"] > a {
	color: var(--kb-off-white) !important;
	background: transparent !important;
}

.kb-site .main-navigation .main-nav ul li[class*="current-menu-item"] > a::after,
.kb-site .main-navigation .main-nav ul li a:hover::after {
	content: '';
	position: absolute;
	left: 50%;
	bottom: 4px;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--kb-gold);
	transform: translateX(-50%);
}

/* Linki-kotwice (#uslugi itd.) nie są „bieżącą stroną” */
.kb-site .main-navigation .main-nav ul li.kb-anchor[class*="current-menu-"] > a { color: var(--kb-grey-light) !important; }
.kb-site .main-navigation .main-nav ul li.kb-anchor[class*="current-menu-"] > a::after { display: none; }
.kb-site .main-navigation .main-nav ul li.kb-anchor > a:hover { color: var(--kb-off-white) !important; }
.kb-site .main-navigation .main-nav ul li.kb-anchor > a:hover::after { display: block; }

.kb-site .main-navigation ul ul {
	background-color: var(--kb-charcoal) !important;
	border: 1px solid var(--kb-line);
}

/* Przełącznik języka (w pasku menu) */
.kb-site .menu-bar-items { align-items: center; }

.kb-lang {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-left: 24px;
	padding-left: 24px;
	border-left: 1px solid var(--kb-line);
	font-family: var(--kb-sans);
	font-size: 11px;
	font-weight: 400;
	letter-spacing: .2em;
	text-transform: uppercase;
	line-height: 1;
}

.kb-lang a,
.kb-site .main-navigation .kb-lang a {
	color: var(--kb-grey-light) !important;
	text-decoration: none;
	padding: 6px 0;
}

.kb-lang a:hover,
.kb-site .main-navigation .kb-lang a:hover { color: var(--kb-off-white) !important; }

.kb-lang a.is-current,
.kb-site .main-navigation .kb-lang a.is-current { color: var(--kb-gold) !important; }

.kb-lang__sep { color: var(--kb-grey-mid); }

/* Mobile toggle */
.kb-site .menu-toggle,
.kb-site .mobile-menu-control-wrapper .menu-toggle,
.kb-site .main-navigation .menu-toggle {
	background: transparent !important;
	color: var(--kb-off-white) !important;
	font-family: var(--kb-sans) !important;
	font-size: 11px !important;
	letter-spacing: .2em !important;
	text-transform: uppercase !important;
	padding: 0 0 0 16px !important;
	line-height: 44px !important;
	border: 0 !important;
}

.kb-site .mobile-menu-control-wrapper .kb-lang { margin-left: 0; padding-left: 0; border-left: 0; margin-right: 8px; }

@media (max-width: 768px) {
	.kb-site .main-navigation.toggled .main-nav > ul {
		background: var(--kb-black);
		border-top: 1px solid var(--kb-line);
		padding: 12px 0 20px;
	}

	.kb-site .main-navigation.toggled .main-nav ul li a {
		line-height: 48px !important;
		padding: 0 var(--kb-gutter) !important;
	}

	.kb-site .main-navigation .main-nav ul li a::after { display: none !important; }
	.kb-site .main-title { font-size: 21px !important; }
}

/* --------------------------------------------------------------------------
   Kontener szablonu „pełna szerokość” (strony kb)
   -------------------------------------------------------------------------- */

.kb-landing .site.grid-container,
.kb-landing #page {
	max-width: none !important;
	width: 100%;
	padding: 0 !important;
	background: transparent !important;
}

.kb-landing .site-content {
	display: block !important;
	padding: 0 !important;
	background: transparent !important;
}

.kb-main {
	display: block;
	width: 100%;
	min-width: 0;
	overflow-x: clip;
}

/* Grupy w motywach klasycznych dostają wewnętrzny kontener — niech nie psuje siatek */
.kb-main .wp-block-group__inner-container { display: contents; }

.kb-main p,
.kb-main h1,
.kb-main h2,
.kb-main h3,
.kb-main figure { margin: 0; }

.kb-main em { font-style: italic; }

.kb-wrap {
	width: 100%;
	max-width: var(--kb-wrap);
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: var(--kb-gutter);
	padding-right: var(--kb-gutter);
	box-sizing: border-box;
}

.kb-section {
	position: relative;
	padding-top: var(--kb-section);
	padding-bottom: var(--kb-section);
	scroll-margin-top: calc(var(--kb-header-h) - 1px);
}

/* --------------------------------------------------------------------------
   Typografia elementów wspólnych
   -------------------------------------------------------------------------- */

.kb-eyebrow {
	display: inline-flex !important;
	align-items: center;
	gap: 16px;
	font-family: var(--kb-sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .26em;
	text-transform: uppercase;
	color: var(--kb-gold);
	margin-bottom: 44px !important;
}

.kb-eyebrow::before,
.kb-eyebrow::after {
	content: '';
	width: 40px;
	height: 1px;
	background: linear-gradient(to right, transparent, var(--kb-gold));
	flex: none;
}

.kb-eyebrow::after { background: linear-gradient(to left, transparent, var(--kb-gold)); }

.kb-meta {
	display: flex !important;
	align-items: center;
	gap: 16px;
	font-family: var(--kb-sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .26em;
	text-transform: uppercase;
	color: var(--kb-gold);
	margin-bottom: 30px !important;
}

.kb-meta__num {
	font-family: var(--kb-serif);
	font-style: italic;
	font-size: 15px;
	letter-spacing: 0;
	text-transform: none;
	font-weight: 400;
}

.kb-meta__num::after {
	content: '';
	display: inline-block;
	width: 64px;
	height: 1px;
	margin-left: 16px;
	vertical-align: middle;
	background: linear-gradient(to right, var(--kb-gold), transparent);
}

.kb-title {
	font-family: var(--kb-serif) !important;
	font-size: clamp(40px, 5.2vw, 70px) !important;
	font-weight: 300 !important;
	line-height: 1.06 !important;
	letter-spacing: -.02em !important;
	color: var(--kb-off-white) !important;
	max-width: 22ch;
}

.kb-main h1 em,
.kb-main h2 em,
.kb-main h3 em,
.kb-title em {
	font-style: italic;
	font-weight: 400;
	color: var(--kb-gold);
}

.kb-intro,
.kb-lead {
	font-family: var(--kb-serif);
	font-style: italic;
	font-weight: 300;
	font-size: clamp(19px, 1.6vw, 22px);
	line-height: 1.55;
	color: var(--kb-cream);
	max-width: 620px;
}

.kb-intro { margin-top: 28px !important; }

.kb-head { margin-bottom: 90px; max-width: 900px; }

@media (max-width: 768px) {
	.kb-head { margin-bottom: 56px; }
}

/* --------------------------------------------------------------------------
   Przyciski
   -------------------------------------------------------------------------- */

.kb-main .wp-block-buttons,
.kb-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.kb-site .wp-block-button__link,
.kb-site .kb-btn {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	border-radius: 0 !important;
	padding: 20px 34px !important;
	font-family: var(--kb-sans) !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	letter-spacing: .2em !important;
	text-transform: uppercase !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	border: 1px solid var(--kb-gold) !important;
	background: var(--kb-gold) !important;
	color: var(--kb-black) !important;
	transition: background-color .35s var(--kb-ease), color .35s var(--kb-ease), border-color .35s var(--kb-ease), letter-spacing .35s var(--kb-ease) !important;
}

.kb-site .wp-block-button__link::after,
.kb-site .kb-btn::after {
	content: '→';
	font-size: 14px;
	letter-spacing: 0;
	transition: transform .3s var(--kb-ease);
}

.kb-site .wp-block-button__link:hover,
.kb-site .wp-block-button__link:focus,
.kb-site .kb-btn:hover {
	background: var(--kb-gold-bright) !important;
	border-color: var(--kb-gold-bright) !important;
	color: var(--kb-black) !important;
}

.kb-site .wp-block-button__link:hover::after,
.kb-site .kb-btn:hover::after { transform: translateX(5px); }

.kb-site .is-style-outline .wp-block-button__link,
.kb-site .kb-btn--ghost {
	background: transparent !important;
	color: var(--kb-off-white) !important;
	border-color: var(--kb-line-bright) !important;
}

.kb-site .is-style-outline .wp-block-button__link:hover,
.kb-site .kb-btn--ghost:hover {
	background: transparent !important;
	color: var(--kb-gold) !important;
	border-color: var(--kb-gold) !important;
}

.kb-site .kb-download .wp-block-button__link::after { content: '↓'; }
.kb-site .kb-download .wp-block-button__link:hover::after { transform: translateY(3px); }

/* Linki zwykłe w treści kb */
.kb-main a:not(.wp-block-button__link):not(.kb-btn) {
	color: var(--kb-off-white);
	text-decoration: none;
}

.kb-main a:not(.wp-block-button__link):not(.kb-btn):hover { color: var(--kb-gold); }

/* --------------------------------------------------------------------------
   Portret (shortcode [kb_portrait])
   -------------------------------------------------------------------------- */

.kb-portrait {
	position: relative;
	margin: 0;
	aspect-ratio: 4 / 5;
	width: 100%;
}

.kb-portrait__img {
	position: absolute;
	inset: 0;
	overflow: hidden;
	background: linear-gradient(140deg, var(--kb-ink), var(--kb-charcoal));
	border: 1px solid var(--kb-line-bright);
	z-index: 1;
}

.kb-portrait__img img,
.kb-portrait__img svg {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 20%;
}

.kb-portrait__img img {
	filter: grayscale(.25) contrast(1.04);
	transition: filter .8s ease, transform 1.2s var(--kb-ease);
}

.kb-portrait:hover .kb-portrait__img img { filter: grayscale(0) contrast(1.02); transform: scale(1.02); }

.kb-portrait__img::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(15, 27, 45, .78) 0%, rgba(15, 27, 45, 0) 45%);
	pointer-events: none;
}

.kb-portrait--hero .kb-portrait__frame {
	position: absolute;
	top: -16px;
	right: -16px;
	bottom: 16px;
	left: 16px;
	border: 1px solid var(--kb-line-bright);
	pointer-events: none;
	z-index: 0;
}

.kb-portrait__caption {
	position: absolute;
	left: 32px;
	bottom: 30px;
	right: 32px;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.kb-portrait__name {
	font-family: var(--kb-serif);
	font-size: 23px;
	font-weight: 400;
	color: var(--kb-off-white);
	line-height: 1.2;
}

.kb-portrait__role {
	font-family: var(--kb-sans);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--kb-gold);
}

/* Narożniki w stylu muzealnym (wariant „about”) */
.kb-portrait--about .kb-portrait__frame,
.kb-portrait--about::before {
	content: '';
	position: absolute;
	width: 80px;
	height: 80px;
	border: 1px solid var(--kb-gold);
	z-index: 2;
	pointer-events: none;
}

.kb-portrait--about::before { top: -12px; left: -12px; border-right: 0; border-bottom: 0; }
.kb-portrait--about .kb-portrait__frame { bottom: -12px; right: -12px; border-left: 0; border-top: 0; }

.kb-portrait--cv { aspect-ratio: 4 / 5; max-width: 340px; }

/* --------------------------------------------------------------------------
   HERO
   -------------------------------------------------------------------------- */

.kb-hero {
	padding-top: clamp(80px, 10vw, 140px);
	padding-bottom: clamp(90px, 11vw, 160px);
	overflow: hidden;
}

.kb-hero::before {
	content: '01';
	position: absolute;
	top: -110px;
	right: -60px;
	font-family: var(--kb-serif);
	font-style: italic;
	font-weight: 300;
	font-size: clamp(300px, 42vw, 620px);
	line-height: 1;
	color: var(--kb-gold);
	opacity: .045;
	pointer-events: none;
	z-index: 0;
}

.kb-hero__grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
	gap: clamp(48px, 7vw, 100px);
	align-items: center;
}

.kb-hero__title {
	font-family: var(--kb-serif) !important;
	font-size: clamp(50px, 6.6vw, 104px) !important;
	font-weight: 300 !important;
	line-height: 1 !important;
	letter-spacing: -.02em !important;
	color: var(--kb-off-white) !important;
	margin-bottom: 40px !important;
	overflow-wrap: normal !important;
	word-break: normal !important;
	hyphens: manual;
}

/* Rozmiar tytułu dopasowany do szerokości kolumny tekstu — najdłuższe słowo („Restrukturyzacja”) zawsze się mieści */
.kb-hero__text { container-type: inline-size; }

@supports (font-size: 1cqi) {
	.kb-hero__title { font-size: clamp(38px, 12.6cqi, 104px) !important; }
}

.kb-hero .kb-lead { margin-bottom: 52px !important; }

.kb-hero .wp-block-buttons { margin-bottom: 68px !important; }

.kb-status {
	position: relative;
	padding: 36px 0 0 30px;
	border-top: 1px solid var(--kb-line);
	max-width: 560px;
	font-size: 11px;
	font-weight: 400;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--kb-grey-light);
}

.kb-status::before {
	content: '';
	position: absolute;
	left: 0;
	top: 41px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--kb-gold);
	box-shadow: 0 0 0 0 rgba(138, 100, 39, .6);
	animation: kb-pulse 2.8s ease-out infinite;
	flex: none;
}

.kb-status strong { color: var(--kb-off-white); font-weight: 500; }

@keyframes kb-pulse {
	0% { box-shadow: 0 0 0 0 rgba(138, 100, 39, .55); }
	70% { box-shadow: 0 0 0 12px rgba(138, 100, 39, 0); }
	100% { box-shadow: 0 0 0 0 rgba(138, 100, 39, 0); }
}

@media (prefers-reduced-motion: reduce) {
	.kb-status::before { animation: none; box-shadow: 0 0 14px var(--kb-gold); }
}

.kb-hero__media { padding: 16px 16px 0 0; }

/* --------------------------------------------------------------------------
   CREDENTIALS
   -------------------------------------------------------------------------- */

.kb-creds {
	padding-top: 64px;
	padding-bottom: 64px;
	border-top: 1px solid var(--kb-line);
	border-bottom: 1px solid var(--kb-line);
	background: linear-gradient(to right, var(--kb-charcoal), var(--kb-ink), var(--kb-charcoal));
}

.kb-creds__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.kb-cred {
	text-align: center;
	padding: 4px 20px;
	position: relative;
}

.kb-cred + .kb-cred::before {
	content: '';
	position: absolute;
	left: 0;
	top: 15%;
	height: 70%;
	width: 1px;
	background: linear-gradient(to bottom, transparent, var(--kb-line-bright), transparent);
}

.kb-cred__num {
	font-family: var(--kb-serif);
	font-size: clamp(42px, 4.4vw, 58px);
	font-weight: 300;
	line-height: 1;
	letter-spacing: -.02em;
	color: var(--kb-gold);
	margin-bottom: 14px !important;
}

.kb-cred__label {
	font-size: 10px;
	font-weight: 500;
	letter-spacing: .25em;
	text-transform: uppercase;
	color: var(--kb-off-white);
}

.kb-cred__desc {
	margin-top: 6px !important;
	font-family: var(--kb-serif);
	font-style: italic;
	font-size: 15px;
	color: var(--kb-grey-light);
}

/* --------------------------------------------------------------------------
   USŁUGI
   -------------------------------------------------------------------------- */

.kb-services__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	background: var(--kb-line);
	border: 1px solid var(--kb-line);
}

.kb-service {
	position: relative;
	background: var(--kb-black);
	padding: 56px 52px 60px;
	transition: background-color .5s ease;
}

.kb-service::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	height: 1px;
	width: 0;
	background: var(--kb-gold);
	transition: width .6s var(--kb-ease);
}

.kb-service:hover { background: var(--kb-charcoal); }
.kb-service:hover::after { width: 100%; }

.kb-service__top {
	display: flex !important;
	justify-content: space-between;
	align-items: baseline;
	padding-bottom: 20px;
	margin-bottom: 38px !important;
	border-bottom: 1px solid var(--kb-line);
}

.kb-service__num {
	font-family: var(--kb-serif);
	font-style: italic;
	font-size: 19px;
	color: var(--kb-gold);
}

.kb-service__tag {
	font-size: 10px;
	font-weight: 400;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--kb-grey-light);
}

.kb-service__title {
	font-family: var(--kb-serif) !important;
	font-size: clamp(26px, 2.3vw, 32px) !important;
	font-weight: 400 !important;
	line-height: 1.18 !important;
	letter-spacing: -.01em !important;
	color: var(--kb-off-white) !important;
	margin-bottom: 18px !important;
}

.kb-service__text {
	font-size: 15px;
	line-height: 1.8;
	color: var(--kb-grey-light);
	max-width: 460px;
}

/* --------------------------------------------------------------------------
   EKSPERTYZA
   -------------------------------------------------------------------------- */

.kb-expertise {
	overflow: hidden;
	background: linear-gradient(180deg, var(--kb-black), var(--kb-charcoal));
}

.kb-expertise::before,
.kb-expertise::after {
	content: '';
	position: absolute;
	top: 50%;
	border-radius: 50%;
	transform: translateY(-50%);
	pointer-events: none;
}

.kb-expertise::before { right: -320px; width: 760px; height: 760px; border: 1px solid var(--kb-line-bright); opacity: .7; }
.kb-expertise::after { right: -200px; width: 520px; height: 520px; border: 1px solid var(--kb-line); }

.kb-expertise > *,
.kb-expertise .kb-wrap { position: relative; z-index: 1; }

.kb-expertise__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 80px;
	position: relative;
}

.kb-expertise__grid::before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 1px;
	background: var(--kb-line);
}

.kb-exp-item {
	display: flex !important;
	align-items: baseline;
	gap: 28px;
	padding: 30px 0 !important;
	border-bottom: 1px solid var(--kb-line);
	font-family: var(--kb-serif);
	font-size: clamp(21px, 1.9vw, 25px);
	font-weight: 400;
	line-height: 1.3;
	color: var(--kb-off-white);
	transition: padding .45s var(--kb-ease), color .3s ease;
}

.kb-exp-item:hover { padding-left: 14px !important; color: var(--kb-off-white); }

.kb-exp-item__idx {
	font-style: italic;
	font-size: 16px;
	color: var(--kb-gold);
	min-width: 28px;
	flex: none;
}

/* --------------------------------------------------------------------------
   O MNIE
   -------------------------------------------------------------------------- */

.kb-about {
	background: var(--kb-charcoal);
	border-top: 1px solid var(--kb-line);
	border-bottom: 1px solid var(--kb-line);
}

.kb-about__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
	gap: clamp(56px, 7vw, 100px);
	align-items: center;
}

.kb-about__media { padding: 12px; }

.kb-quote {
	position: relative;
	font-family: var(--kb-serif);
	font-size: clamp(28px, 2.9vw, 40px);
	font-weight: 300;
	line-height: 1.28;
	letter-spacing: -.01em;
	color: var(--kb-off-white);
	margin-bottom: 44px !important;
	padding-top: 64px;
}

.kb-quote::before {
	content: '“';
	position: absolute;
	top: -6px;
	left: -6px;
	height: 60px;
	overflow: hidden;
	font-family: var(--kb-serif);
	font-style: italic;
	font-size: 120px;
	line-height: 1;
	color: var(--kb-gold);
}

.kb-quote em { color: var(--kb-gold); }

.kb-bio {
	font-size: 15.5px;
	line-height: 1.9;
	color: var(--kb-cream);
	max-width: 580px;
}

.kb-bio + .kb-bio { margin-top: 18px !important; }

.kb-signature {
	display: flex !important;
	flex-direction: column;
	gap: 4px;
	margin-top: 40px !important;
	padding-top: 30px;
	border-top: 1px solid var(--kb-line-bright);
}

.kb-signature strong {
	font-family: var(--kb-serif);
	font-size: 23px;
	font-weight: 400;
	color: var(--kb-off-white);
}

.kb-signature span {
	font-size: 11px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--kb-gold);
}

/* --------------------------------------------------------------------------
   CTA / KONTAKT (strona główna)
   -------------------------------------------------------------------------- */

.kb-cta {
	text-align: center;
	overflow: hidden;
	padding-top: calc(var(--kb-section) + 20px);
	padding-bottom: calc(var(--kb-section) + 20px);
}

.kb-cta::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 50% 50%, rgba(138, 100, 39, .07), transparent 60%);
	pointer-events: none;
}

.kb-cta .kb-wrap { position: relative; }

.kb-cta .kb-meta { justify-content: center; }

.kb-cta__title {
	font-family: var(--kb-serif) !important;
	font-size: clamp(46px, 6vw, 88px) !important;
	font-weight: 300 !important;
	line-height: 1.04 !important;
	letter-spacing: -.02em !important;
	color: var(--kb-off-white) !important;
	margin-bottom: 22px !important;
}

.kb-cta .kb-lead { margin: 0 auto 56px !important; }

.kb-cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	max-width: 680px;
	margin: 0 auto 48px !important;
	text-align: left;
}

.kb-card {
	display: flex !important;
	flex-direction: column;
	gap: 12px;
	padding: 28px 30px;
	background: rgba(255, 255, 255, .6);
	border: 1px solid var(--kb-line);
	transition: border-color .3s ease, background-color .3s ease;
}

.kb-card:hover { border-color: var(--kb-line-bright); background: rgba(138, 100, 39, .035); }

.kb-card__label {
	font-size: 10px;
	font-weight: 500;
	letter-spacing: .25em;
	text-transform: uppercase;
	color: var(--kb-grey-light);
}

.kb-card a,
.kb-main .kb-card a:not(.wp-block-button__link) {
	font-family: var(--kb-serif);
	font-size: clamp(20px, 1.8vw, 24px);
	font-weight: 400;
	color: var(--kb-off-white);
	word-break: break-word;
}

.kb-card:hover a,
.kb-main .kb-card a:not(.wp-block-button__link):hover { color: var(--kb-gold); }

.kb-cta .wp-block-buttons { justify-content: center; }

/* --------------------------------------------------------------------------
   Nagłówek podstron
   -------------------------------------------------------------------------- */

.kb-pagehead {
	padding-top: clamp(80px, 9vw, 130px);
	padding-bottom: clamp(60px, 6vw, 90px);
	border-bottom: 1px solid var(--kb-line);
	overflow: hidden;
}

.kb-pagehead::before {
	content: '';
	position: absolute;
	top: -80px;
	right: -40px;
	font-family: var(--kb-serif);
	font-style: italic;
	font-weight: 300;
	font-size: clamp(240px, 32vw, 460px);
	line-height: 1;
	color: var(--kb-gold);
	opacity: .04;
	pointer-events: none;
}

.kb-pagehead--cv::before { content: 'CV'; }
.kb-pagehead--contact::before { content: '@'; }

.kb-pagehead__title {
	font-family: var(--kb-serif) !important;
	font-size: clamp(46px, 6vw, 92px) !important;
	font-weight: 300 !important;
	line-height: 1.02 !important;
	letter-spacing: -.02em !important;
	color: var(--kb-off-white) !important;
	max-width: 16ch;
}

.kb-pagehead .wp-block-buttons { margin-top: 48px !important; }

/* --------------------------------------------------------------------------
   ŻYCIORYS
   -------------------------------------------------------------------------- */

.kb-cv__grid {
	display: grid;
	grid-template-columns: minmax(0, 340px) minmax(0, 1fr);
	gap: clamp(56px, 7vw, 110px);
	align-items: start;
}

.kb-cv__aside {
	position: sticky;
	top: calc(var(--kb-header-h) + 40px);
	display: flex;
	flex-direction: column;
	gap: 48px;
}

.kb-cv__aside .kb-portrait { margin-bottom: 0; }

.kb-cv__box-title {
	font-size: 10px;
	font-weight: 500;
	letter-spacing: .25em;
	text-transform: uppercase;
	color: var(--kb-gold);
	padding-bottom: 14px;
	margin-bottom: 16px !important;
	border-bottom: 1px solid var(--kb-line);
}

.kb-cv__box p:not(.kb-cv__box-title) {
	font-size: 15px;
	line-height: 1.7;
	color: var(--kb-cream);
}

.kb-cv__box p:not(.kb-cv__box-title) + p:not(.kb-cv__box-title) { margin-top: 6px !important; }

.kb-cv__box .kb-tags {
	display: flex !important;
	flex-wrap: wrap;
	gap: 8px;
}

.kb-tag {
	display: inline-block;
	padding: 7px 12px;
	border: 1px solid var(--kb-line);
	font-size: 11px;
	letter-spacing: .08em;
	color: var(--kb-cream);
	line-height: 1.2;
}

.kb-cv__heading {
	font-family: var(--kb-serif) !important;
	font-size: clamp(32px, 3.4vw, 46px) !important;
	font-weight: 300 !important;
	line-height: 1.1 !important;
	color: var(--kb-off-white) !important;
	margin-bottom: 36px !important;
}

.kb-cv__heading:not(:first-child) { margin-top: 96px !important; }

.kb-timeline { border-top: 1px solid var(--kb-line); }

.kb-tl-item {
	display: grid;
	grid-template-columns: 190px minmax(0, 1fr);
	column-gap: 40px;
	padding: 30px 0;
	border-bottom: 1px solid var(--kb-line);
	transition: background-color .4s ease;
}

.kb-tl-item__date {
	grid-row: 1 / span 2;
	font-family: var(--kb-serif);
	font-style: italic;
	font-size: 18px;
	color: var(--kb-gold);
	line-height: 1.4;
	padding-top: 2px;
}

.kb-tl-item__role {
	font-family: var(--kb-serif) !important;
	font-size: clamp(21px, 1.9vw, 25px) !important;
	font-weight: 400 !important;
	line-height: 1.25 !important;
	color: var(--kb-off-white) !important;
	margin-bottom: 8px !important;
}

.kb-tl-item__org {
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--kb-grey-light);
	line-height: 1.6;
}

.kb-tl-item--featured .kb-tl-item__role { color: var(--kb-off-white) !important; }
.kb-tl-item--featured .kb-tl-item__org { color: var(--kb-gold); }

/* --------------------------------------------------------------------------
   KONTAKT
   -------------------------------------------------------------------------- */

.kb-contact__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr);
	gap: clamp(56px, 7vw, 110px);
	align-items: start;
}

.kb-contact__info {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.kb-note {
	margin-top: 20px !important;
	font-size: 14px;
	line-height: 1.75;
	color: var(--kb-grey-light);
}

.kb-contact__form {
	padding: 52px;
	background: var(--kb-charcoal);
	border: 1px solid var(--kb-line);
	position: relative;
}

.kb-contact__form::before {
	content: '';
	position: absolute;
	top: -1px;
	left: -1px;
	width: 80px;
	height: 1px;
	background: var(--kb-gold);
}

.kb-form-title {
	font-family: var(--kb-serif) !important;
	font-size: 32px !important;
	font-weight: 300 !important;
	line-height: 1.15 !important;
	color: var(--kb-off-white) !important;
	margin-bottom: 32px !important;
}

.kb-form-fallback p { color: var(--kb-cream); line-height: 1.8; margin-bottom: 28px; }

/* Fluent Forms — ciemny styl */
.kb-site .fluentform .ff-el-group { margin-bottom: 26px; }

.kb-site .fluentform .ff-el-input--label label,
.kb-site .fluentform .ff-el-input--label {
	font-family: var(--kb-sans) !important;
	font-size: 10px !important;
	font-weight: 500 !important;
	letter-spacing: .22em !important;
	text-transform: uppercase !important;
	color: var(--kb-grey-light) !important;
}

.kb-site .fluentform .ff-el-is-required.asterisk-right label::after,
.kb-site .fluentform .ff-el-is-required.asterisk-left label::before { color: var(--kb-gold) !important; }

.kb-site .fluentform .ff-el-form-control,
.kb-site .fluentform input[type="text"],
.kb-site .fluentform input[type="email"],
.kb-site .fluentform input[type="tel"],
.kb-site .fluentform textarea,
.kb-site .fluentform select {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid var(--kb-grey-dark) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: var(--kb-off-white) !important;
	font-family: var(--kb-sans) !important;
	font-size: 16px !important;
	font-weight: 300 !important;
	padding: 12px 0 !important;
	transition: border-color .3s ease !important;
}

.kb-site .fluentform textarea { min-height: 130px; resize: vertical; }

.kb-site .fluentform .ff-el-form-control::placeholder { color: var(--kb-grey-mid) !important; opacity: 1; }

.kb-site .fluentform .ff-el-form-control:focus {
	border-bottom-color: var(--kb-gold) !important;
	outline: none !important;
}

.kb-site .fluentform .ff-el-form-check label,
.kb-site .fluentform .ff_t_c,
.kb-site .fluentform .ff-el-tc label,
.kb-site .fluentform .ff-el-form-check-label {
	font-size: 13px !important;
	line-height: 1.65 !important;
	color: var(--kb-grey-light) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

.kb-site .fluentform input[type="checkbox"] { accent-color: var(--kb-gold); }

.kb-site .fluentform .ff-btn-submit,
.kb-site .fluentform button[type="submit"] {
	background: var(--kb-gold) !important;
	color: var(--kb-black) !important;
	border: 1px solid var(--kb-gold) !important;
	border-radius: 0 !important;
	padding: 20px 36px !important;
	font-family: var(--kb-sans) !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	letter-spacing: .2em !important;
	text-transform: uppercase !important;
	box-shadow: none !important;
	transition: background-color .35s ease !important;
}

.kb-site .fluentform .ff-btn-submit:hover { background: var(--kb-gold-bright) !important; opacity: 1 !important; }

.kb-site .fluentform .error,
.kb-site .fluentform .text-danger { color: #B3412F !important; font-size: 13px !important; }

.kb-site .ff-message-success {
	background: transparent !important;
	border: 1px solid var(--kb-line-bright) !important;
	box-shadow: none !important;
	color: var(--kb-cream) !important;
	padding: 28px !important;
	font-size: 16px;
	line-height: 1.8;
}

/* --------------------------------------------------------------------------
   Stopka
   -------------------------------------------------------------------------- */

.kb-site .site-footer {
	background: var(--kb-black) !important;
	border-top: 1px solid var(--kb-line);
	color: var(--kb-grey-light);
}

.kb-site .site-footer .footer-widgets { display: none; }

.kb-footer__inner {
	display: grid;
	grid-template-columns: minmax(0, 2fr) repeat(3, minmax(0, 1fr));
	gap: 60px;
	max-width: var(--kb-wrap);
	margin: 0 auto;
	padding: 96px var(--kb-gutter) 72px;
	box-sizing: border-box;
}

.kb-footer__logo {
	font-family: var(--kb-serif);
	font-size: 36px;
	font-weight: 400;
	line-height: 1.1;
	color: var(--kb-off-white);
	margin: 0 0 22px;
}

.kb-footer__logo em { font-style: italic; color: var(--kb-gold); }

.kb-footer__tag {
	font-family: var(--kb-serif);
	font-style: italic;
	font-weight: 300;
	font-size: 18px;
	line-height: 1.6;
	color: var(--kb-cream);
	max-width: 360px;
	margin: 0;
}

.kb-footer__title {
	font-size: 10px;
	font-weight: 500;
	letter-spacing: .25em;
	text-transform: uppercase;
	color: var(--kb-gold);
	margin: 0 0 24px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--kb-line);
}

.kb-footer__list { list-style: none; margin: 0; padding: 0; }

.kb-footer__list li { margin: 0 0 12px; }

.kb-site .kb-footer a {
	color: var(--kb-grey-light);
	text-decoration: none;
	font-size: 14px;
	letter-spacing: .02em;
}

.kb-site .kb-footer a:hover,
.kb-site .kb-footer a[aria-current] { color: var(--kb-gold); }

.kb-site .site-info {
	background: transparent !important;
	color: var(--kb-grey-mid) !important;
	border-top: 1px solid var(--kb-line);
}

.kb-site .site-footer .site-info .inside-site-info {
	max-width: var(--kb-wrap) !important;
	padding: 30px var(--kb-gutter) 34px !important;
	margin: 0 auto !important;
	box-sizing: border-box;
}

.kb-site .copyright-bar { width: 100%; }

.kb-copyright {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 12px 30px;
	font-size: 11px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--kb-grey-mid);
}

.kb-copyright a { color: var(--kb-grey-mid) !important; text-decoration: none; }
.kb-copyright a:hover { color: var(--kb-gold) !important; }

.kb-copyright__sep { margin: 0 10px; color: var(--kb-grey-dark); }

/* --------------------------------------------------------------------------
   Animacje wejścia (tylko gdy JS działa)
   -------------------------------------------------------------------------- */

.kb-js .kb-reveal {
	opacity: 0;
	transform: translateY(22px);
	transition: opacity 1s var(--kb-ease), transform 1s var(--kb-ease);
	transition-delay: var(--kb-delay, 0s);
}

.kb-js .kb-reveal.is-visible { opacity: 1; transform: none; }

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

/* --------------------------------------------------------------------------
   Responsywność
   -------------------------------------------------------------------------- */

@media (max-width: 1024px) {
	.kb-hero__grid { grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); }
	.kb-service { padding: 44px 36px 48px; }
	.kb-expertise__grid { column-gap: 48px; }
	.kb-footer__inner { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.kb-footer__brand { grid-column: 1 / -1; }
	.kb-cv__grid { grid-template-columns: minmax(0, 280px) minmax(0, 1fr); }
	.kb-tl-item { grid-template-columns: 150px minmax(0, 1fr); column-gap: 28px; }
	.kb-contact__form { padding: 40px; }
}

@media (max-width: 860px) {
	.kb-hero__grid,
	.kb-about__grid,
	.kb-cv__grid,
	.kb-contact__grid { grid-template-columns: minmax(0, 1fr); }

	.kb-hero__media { max-width: 440px; width: 100%; }
	.kb-about__media { max-width: 420px; width: 100%; }

	.kb-services__grid,
	.kb-expertise__grid,
	.kb-cards { grid-template-columns: minmax(0, 1fr); }

	.kb-expertise__grid::before { display: none; }

	.kb-creds__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 44px; }
	.kb-cred:nth-child(3)::before { display: none; }

	.kb-cv__aside { position: static; display: grid; grid-template-columns: minmax(0, 260px) minmax(0, 1fr); gap: 32px 40px; }
	.kb-cv__aside .kb-portrait { grid-row: span 2; }
}

@media (max-width: 600px) {
	.kb-hero::before { top: -40px; right: -30px; }
	.kb-hero .wp-block-buttons { margin-bottom: 48px !important; }
	.kb-status { letter-spacing: .14em; line-height: 1.8; }
	.kb-service { padding: 36px 24px 40px; }
	.kb-exp-item { gap: 18px; padding: 24px 0 !important; }
	.kb-cv__aside { grid-template-columns: minmax(0, 1fr); }
	.kb-cv__aside .kb-portrait { grid-row: auto; max-width: 300px; }
	.kb-tl-item { grid-template-columns: minmax(0, 1fr); }
	.kb-tl-item__date { grid-row: auto; margin-bottom: 8px !important; font-size: 16px; }
	.kb-contact__form { padding: 32px 22px; }
	.kb-footer__inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 44px 28px; padding-top: 72px; }
	.kb-site .wp-block-button__link { padding: 18px 26px !important; }
	.kb-main .wp-block-buttons { flex-direction: column; align-items: stretch; }
	.kb-main .wp-block-button { width: 100%; }
	.kb-site .wp-block-button__link { width: 100%; justify-content: center; }
	.kb-copyright { flex-direction: column; letter-spacing: .14em; }
}


/* ==========================================================================
   Wariant jasny — „wyspy” w granacie, przyciski i drobne korekty
   ========================================================================== */

/* Ciemne (granatowe) sekcje: pasek osiągnięć i stopka — te same zmienne, inne wartości */
.kb-creds,
.kb-site .site-footer {
	--kb-black: #0F1B2D;
	--kb-charcoal: #16243A;
	--kb-ink: #1C2C45;
	--kb-grey-dark: #2C3B54;
	--kb-grey-mid: #8B95A6;
	--kb-grey-light: #AAB3C1;
	--kb-off-white: #F3EEE4;
	--kb-cream: #DCD3C2;
	--kb-gold: #C9A961;
	--kb-gold-bright: #E0BE72;
	--kb-line: rgba(243, 238, 228, .12);
	--kb-line-bright: rgba(201, 169, 97, .32);
	color: var(--kb-off-white);
}

.kb-creds { background: linear-gradient(100deg, #0F1B2D, #16243A 50%, #0F1B2D); border-color: transparent; }

/* Przyciski: granat z jasnym tekstem, hover w ciemnym złocie (kontrast WCAG AA) */
.kb-site .wp-block-button__link,
.kb-site .kb-btn,
.kb-site .fluentform .ff-btn-submit,
.kb-site .fluentform button[type="submit"] {
	background: var(--kb-off-white) !important;
	border-color: var(--kb-off-white) !important;
	color: var(--kb-black) !important;
}

.kb-site .wp-block-button__link:hover,
.kb-site .wp-block-button__link:focus,
.kb-site .kb-btn:hover,
.kb-site .fluentform .ff-btn-submit:hover {
	background: var(--kb-gold-dark) !important;
	border-color: var(--kb-gold-dark) !important;
	color: var(--kb-black) !important;
}

.kb-site .is-style-outline .wp-block-button__link,
.kb-site .kb-btn--ghost {
	background: transparent !important;
	color: var(--kb-off-white) !important;
	border-color: rgba(15, 27, 45, .35) !important;
}

.kb-site .is-style-outline .wp-block-button__link:hover,
.kb-site .kb-btn--ghost:hover {
	background: transparent !important;
	color: var(--kb-gold) !important;
	border-color: var(--kb-gold) !important;
}

/* Portret: podpis zawsze jasny na ciemnym gradiencie zdjęcia */
.kb-portrait__name { color: #F7F3EC; }
.kb-portrait__role { color: #E0BE72; }
.kb-portrait__img { box-shadow: 0 30px 60px -30px rgba(15, 27, 45, .35); }
.kb-portrait__img img { filter: none; }
.kb-portrait:hover .kb-portrait__img img { filter: none; }

/* Gdy portretu jeszcze nie ma — placeholder jest jasny, więc podpis bez gradientu w granacie */
.kb-portrait__img:has(svg)::after { background: none; }
.kb-portrait:has(svg) .kb-portrait__name { color: var(--kb-off-white); }
.kb-portrait:has(svg) .kb-portrait__role { color: var(--kb-gold); }

/* Delikatniejsze dekoracje na jasnym tle */
.kb-hero::before { opacity: .07; }
.kb-pagehead::before { opacity: .06; }
body.kb-site::before { opacity: .8; }

/* Karty i formularz — białe „kartki” */
.kb-card { box-shadow: 0 1px 0 rgba(15, 27, 45, .04); }
.kb-contact__form { background: #FFFFFF; box-shadow: 0 30px 60px -40px rgba(15, 27, 45, .25); }
.kb-service:hover { background: #FFFFFF; }
.kb-site .fluentform input[type="checkbox"] { accent-color: var(--kb-off-white); }

/* Nagłówek: cień przy przewijaniu zamiast ciemnej linii */
.kb-site .site-header.is-scrolled { box-shadow: 0 10px 30px -20px rgba(15, 27, 45, .25); }

/* Strony spoza szablonu kb (np. polityka prywatności, 404) — jasne tło niezależnie od kolorów GeneratePress */
.kb-site:not(.kb-landing) .site,
.kb-site:not(.kb-landing) .site-content,
.kb-site:not(.kb-landing) .inside-article,
.kb-site:not(.kb-landing) .one-container .container,
.kb-site:not(.kb-landing) .separate-containers .inside-article {
	background-color: var(--kb-black) !important;
	color: var(--kb-cream);
}

.kb-site:not(.kb-landing) h1,
.kb-site:not(.kb-landing) h2,
.kb-site:not(.kb-landing) h3,
.kb-site:not(.kb-landing) .entry-title { color: var(--kb-off-white) !important; }

.kb-site:not(.kb-landing) .entry-content a { color: var(--kb-gold); }

.kb-site input[type="search"],
.kb-site input[type="text"],
.kb-site input[type="email"] {
	background: #FFFFFF;
	color: var(--kb-off-white);
	border: 1px solid var(--kb-line);
}

/* Bardzo wąskie telefony (≤360 px): nagłówek mieści logo, PL/EN i menu w jednej linii */
@media (max-width: 360px) {
	.kb-site .main-title { font-size: 19px !important; }
	.kb-lang { gap: 5px; letter-spacing: .12em; }
	.kb-site .mobile-menu-control-wrapper .kb-lang { margin-right: 4px; }
	.kb-site .menu-toggle,
	.kb-site .mobile-menu-control-wrapper .menu-toggle { padding-left: 8px !important; }
	.kb-site .inside-header { padding: 0 16px; }
}

/* Długi adres e-mail w stopce nie wychodzi poza ekran */
.kb-site .kb-footer a { overflow-wrap: anywhere; }

@media (max-width: 400px) {
	.kb-footer__inner { grid-template-columns: minmax(0, 1fr); }
}
