/* ==========================================================================
   KKM Media – styl „naklejkowy” (twarde cienie, grube kontury, odręczne dopiski)
   Układ wzorowany na wk-digital.pl, kolory z kkmmedia.pl (granat + cyjan).
   ========================================================================== */

:root {
	--kkm-navy: #002D5B;
	--kkm-navy-2: #001f40;
	--kkm-cyan: #00D2FF;
	--kkm-cyan-soft: #9eeeff;
	--kkm-ink: #0a1a33;
	--kkm-ink-2: #33415a;
	--kkm-ink-3: #66728a;
	--kkm-paper: #f4f7f6;
	--kkm-paper-2: #e8eeef;
	--kkm-white: #ffffff;
	--kkm-line: rgba(10, 26, 51, .14);
	--kkm-on-dark: #c6d4e6;
	--kkm-ease: cubic-bezier(.2, .7, .2, 1);
	--kkm-font: 'Plus Jakarta Sans', system-ui, sans-serif;
	--kkm-font-head: 'Bricolage Grotesque', 'Plus Jakarta Sans', sans-serif;
	--kkm-font-hand: 'Caveat', cursive;

	/* paleta Blocksy – spójnie także na podstronach i blogu */
	--theme-palette-color-1: var(--kkm-navy);
	--theme-palette-color-2: #00a6cc;
	--theme-palette-color-3: var(--kkm-ink-2);
	--theme-palette-color-4: var(--kkm-ink);
	--theme-palette-color-5: #d3dde2;
	--theme-palette-color-6: var(--kkm-paper-2);
	--theme-palette-color-7: var(--kkm-paper);
	--theme-palette-color-8: var(--kkm-white);
	--theme-font-family: var(--kkm-font);
	--theme-content-vertical-spacing: clamp(28px, 4vw, 48px);
}

body {
	font-family: var(--kkm-font);
	background-color: var(--kkm-paper);
	color: var(--kkm-ink-2);
}
/* delikatne kropki papieru */
body::before {
	content: ''; position: fixed; inset: 0; z-index: -1; pointer-events: none; opacity: .55;
	background-image: radial-gradient(rgba(10, 26, 51, .07) 1px, transparent 1px); background-size: 26px 26px;
}
h1, h2, h3, h4, h5, h6 { font-family: var(--kkm-font-head); color: var(--kkm-ink); }
::selection { background: var(--kkm-cyan); color: var(--kkm-ink); }

/* ---------- nagłówek: pływająca „naklejka” ---------- */
#header { position: sticky; top: 0; z-index: 50; padding: 14px 20px 0; background: transparent; }
.admin-bar #header { top: 32px; }
#header [data-row="middle"] {
	max-width: 1240px; margin: 0 auto; background: rgba(255, 255, 255, .9) !important;
	backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
	border: 2px solid var(--kkm-ink); border-radius: 18px; box-shadow: 3px 3px 0 var(--kkm-ink);
	transition: box-shadow .25s var(--kkm-ease);
	--height: 72px;
}
.kkm-scrolled #header [data-row="middle"] { box-shadow: 5px 5px 0 var(--kkm-ink); }
#header [data-row="middle"] > .ct-container { padding-inline: 22px; }
.site-title { font-family: var(--kkm-font) !important; font-weight: 800 !important; font-size: 24px !important; letter-spacing: -1px; text-transform: uppercase; }
.site-title a { color: var(--kkm-navy) !important; }
.site-title a span { color: var(--kkm-cyan); }

.header-menu-1 .menu > li > .ct-menu-link {
	font-weight: 600; font-size: 15px; color: var(--kkm-ink) !important; padding: 8px 14px !important; height: auto !important;
	border-radius: 10px; transition: background .2s;
}
.header-menu-1 .menu > li:not(.kkm-menu-cta):hover > .ct-menu-link,
.header-menu-1 .menu > li.current-menu-item:not(.kkm-menu-cta) > .ct-menu-link,
.header-menu-1 .menu > li.current-menu-ancestor > .ct-menu-link { background: var(--kkm-cyan-soft); }
.header-menu-1 .menu { gap: 2px; align-items: center; }
.header-menu-1 .kkm-menu-cta { margin-left: 10px; }
#header .header-menu-1 .menu > li.kkm-menu-cta > .ct-menu-link,
#header .header-menu-1 .menu > li.kkm-menu-cta > .ct-menu-link:is(:hover, :focus, [aria-current]) {
	--theme-link-initial-color: #fff; --theme-link-hover-color: #fff; --theme-link-active-color: #fff;
	background: var(--kkm-navy); color: #fff !important; border: 2px solid var(--kkm-ink);
	border-radius: 12px; box-shadow: 3px 3px 0 var(--kkm-cyan); font-weight: 700;
	transition: transform .2s var(--kkm-ease), box-shadow .2s var(--kkm-ease);
}
.header-menu-1 .menu > li.kkm-menu-cta > .ct-menu-link:hover { transform: translate(-2px, -2px); box-shadow: 5px 5px 0 var(--kkm-cyan); }
.header-menu-1 .sub-menu {
	background: var(--kkm-white) !important; border: 2px solid var(--kkm-ink); border-radius: 14px !important;
	box-shadow: 4px 4px 0 var(--kkm-ink) !important; padding: 8px !important; margin-top: 6px;
}
.header-menu-1 .sub-menu .ct-menu-link { color: var(--kkm-ink) !important; font-weight: 600; border-radius: 8px; padding: 10px 12px !important; }
.header-menu-1 .sub-menu li:hover > .ct-menu-link { background: var(--kkm-cyan-soft); }
#header .ct-header-search { display: none; }
@media (max-width: 999px) {
	#header { padding: 10px 12px 0; }
	#header [data-row="middle"] { --height: 62px; }
}
@media (max-width: 782px) { .admin-bar #header { top: 46px; } }
@media (max-width: 600px) { .admin-bar #header { top: 0; } }

/* menu mobilne (offcanvas) – jasny panel zamiast ciemnego domyślnego z Blocksy */
#offcanvas { background: rgba(10, 26, 51, .45) !important; }
#offcanvas .ct-panel-inner { background: var(--kkm-paper) !important; border-left: 2px solid var(--kkm-ink); }
#offcanvas .ct-toggle-close { --theme-icon-color: var(--kkm-ink); color: var(--kkm-ink) !important; width: 44px; height: 44px; border: 2px solid var(--kkm-ink) !important; border-radius: 12px; background: var(--kkm-white); box-shadow: 3px 3px 0 var(--kkm-ink); }
#offcanvas .ct-toggle-close svg { fill: var(--kkm-ink) !important; }
#offcanvas [data-id="mobile-menu"] { --theme-link-initial-color: var(--kkm-ink); --theme-link-hover-color: var(--kkm-navy); --theme-link-active-color: var(--kkm-navy); width: 100%; }
#offcanvas .mobile-menu > ul > li { border-bottom: 1.5px solid var(--kkm-line); }
#offcanvas .mobile-menu > ul > li:last-child { border-bottom: 0; }
#offcanvas .mobile-menu a { color: var(--kkm-ink) !important; font-family: var(--kkm-font-head); font-weight: 800; font-size: 24px; letter-spacing: -.02em; padding-block: 14px !important; }
#offcanvas .mobile-menu .current-menu-item > a, #offcanvas .mobile-menu .current-menu-item > .ct-sub-menu-parent > a { color: var(--kkm-navy) !important; text-decoration: underline; text-decoration-color: var(--kkm-cyan); text-decoration-thickness: 4px; text-underline-offset: 6px; }
#offcanvas .mobile-menu .sub-menu { padding: 0 0 10px 14px; border-left: 3px solid var(--kkm-cyan); margin-left: 4px; }
#offcanvas .mobile-menu .sub-menu a { font-size: 18px; font-weight: 700; padding-block: 8px !important; color: var(--kkm-ink-2) !important; }
#offcanvas .ct-toggle-dropdown-mobile { color: var(--kkm-ink) !important; width: 38px; height: 38px; border: 1.5px solid var(--kkm-ink); border-radius: 10px; background: var(--kkm-white); }
#offcanvas .ct-toggle-dropdown-mobile svg { fill: var(--kkm-ink) !important; }
#offcanvas .mobile-menu > ul > li.kkm-menu-cta { border-bottom: 0; margin-top: 18px; }
#offcanvas .mobile-menu > ul > li.kkm-menu-cta > a {
	display: flex; justify-content: center; padding: 16px 20px !important; border-radius: 14px; background: var(--kkm-navy); color: #fff !important;
	font-size: 18px; text-decoration: none; border: 2px solid var(--kkm-ink); box-shadow: 4px 4px 0 var(--kkm-cyan);
}

/* ==========================================================================
   Strona typu landing (szablon „KKM – Landing”)
   ========================================================================== */
.kkm-landing { overflow-x: clip; }
.kkm-landing :is(h1, h2, h3, h4, p, ul, figure) { margin: 0; }
.kkm-wrap { width: min(1200px, 100% - 40px); margin-inline: auto; }
.kkm-section { padding-block: clamp(70px, 9vw, 120px); }

.kkm-landing h1, .kkm-landing h2 { font-weight: 800; letter-spacing: -.04em; line-height: 1.02; }
.kkm-landing h3 { font-weight: 700; letter-spacing: -.02em; line-height: 1.2; }
.kkm-landing p { line-height: 1.65; }

/* zakreślacz: kursywa w nagłówkach = podkreślenie cyjanem */
.kkm-landing :is(h1, h2) em, .kkm-footer h2 em {
	font-style: normal; color: inherit; padding: 0 .06em;
	background: linear-gradient(100deg, transparent .15em, var(--kkm-cyan) .15em, var(--kkm-cyan) calc(100% - .12em), transparent calc(100% - .12em)) 0 88% / 100% .42em no-repeat;
	-webkit-box-decoration-break: clone; box-decoration-break: clone;
}
.kkm-dark :is(h1, h2) em { color: #fff; background-image: linear-gradient(100deg, transparent .15em, #0077a8 .15em, #0077a8 calc(100% - .12em), transparent calc(100% - .12em)); }

/* odręczne dopiski */
.kkm-eyebrow, .kkm-hej, .kkm-sign, .kkm-note, .kkm-ribbon, .kkm-num {
	font-family: var(--kkm-font-hand) !important; font-weight: 700; letter-spacing: 0; line-height: 1;
}
.kkm-eyebrow { display: inline-flex; align-items: center; gap: 10px; font-size: 28px; color: var(--kkm-navy); transform: rotate(-2deg); margin-bottom: 14px !important; }
.kkm-eyebrow::before { content: ''; width: 28px; height: 4px; border-radius: 4px; background: var(--kkm-cyan); }
.kkm-dark .kkm-eyebrow { color: var(--kkm-cyan); }

/* nagłówki sekcji */
.kkm-head { text-align: center; max-width: 780px; margin: 0 auto clamp(40px, 5vw, 64px); }
.kkm-head h2 { font-size: clamp(34px, 5vw, 62px); }
.kkm-head p:not(.kkm-eyebrow) { font-size: 18px; margin-top: 18px; color: var(--kkm-ink-2); }
.kkm-head-left { text-align: left; margin-inline: 0; }

/* ---------- przyciski ---------- */
.kkm-btns { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.kkm-btns-center { justify-content: center; margin-top: 48px; }
.kkm-landing .wp-block-button__link {
	display: inline-flex; align-items: center; gap: 8px; padding: 16px 26px; border-radius: 14px;
	font-family: var(--kkm-font); font-weight: 700; font-size: 16px; line-height: 1.2; text-decoration: none;
	border: 2px solid var(--kkm-ink); transition: transform .2s var(--kkm-ease), box-shadow .2s var(--kkm-ease), background .2s;
}
.kkm-btn-primary .wp-block-button__link { background: var(--kkm-navy); color: #fff; box-shadow: 4px 4px 0 var(--kkm-ink); }
.kkm-btn-primary .wp-block-button__link:hover { background: var(--kkm-navy-2); color: #fff; transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--kkm-ink); }
.kkm-btn-secondary .wp-block-button__link { background: var(--kkm-white); color: var(--kkm-ink); box-shadow: 4px 4px 0 var(--kkm-cyan); }
.kkm-btn-secondary .wp-block-button__link:hover { color: var(--kkm-ink); transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--kkm-cyan); }
.kkm-landing .wp-block-button__link:active { transform: translate(3px, 3px); box-shadow: 1px 1px 0 var(--kkm-ink); }
.kkm-dark .kkm-btn-primary .wp-block-button__link { background: var(--kkm-cyan); color: var(--kkm-ink); border-color: var(--kkm-cyan); box-shadow: 4px 4px 0 #fff; }
.kkm-dark .kkm-btn-primary .wp-block-button__link:hover { background: #fff; border-color: #fff; box-shadow: 6px 6px 0 var(--kkm-cyan); }
.kkm-btn-ghost .wp-block-button__link { background: transparent; color: #fff; border-color: #fff; }
.kkm-btn-ghost .wp-block-button__link:hover { color: #fff; background: rgba(255, 255, 255, .08); transform: translate(-2px, -2px); }

/* ---------- HERO ---------- */
.kkm-hero { position: relative; padding: clamp(40px, 6vw, 80px) 0 clamp(70px, 8vw, 110px); }
.kkm-hero::before {
	content: ''; position: absolute; z-index: -1; width: 620px; height: 620px; right: -120px; top: -160px; border-radius: 50%;
	background: radial-gradient(circle, rgba(0, 210, 255, .28), transparent 62%);
}
.kkm-hero-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(40px, 6vw, 90px); align-items: center; }
.kkm-tag {
	display: inline-flex; align-items: center; gap: 10px; padding: 8px 16px; border-radius: 999px;
	background: var(--kkm-ink); color: #fff !important; font-size: 13px; font-weight: 600; letter-spacing: .02em; margin-bottom: 26px !important;
}
.kkm-tag::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--kkm-cyan); box-shadow: 0 0 0 4px rgba(0, 210, 255, .25); }
.kkm-hej { display: flex; align-items: center; gap: 12px; font-size: clamp(28px, 3.2vw, 38px); color: var(--kkm-navy); transform: rotate(-2deg); transform-origin: left center; margin-bottom: 16px !important; }
.kkm-hej::before {
	content: ''; flex: none; width: 48px; height: 48px; border-radius: 50%; border: 2px solid var(--kkm-ink); box-shadow: 2px 2px 0 var(--kkm-ink);
	background: url(/wp-content/uploads/2026/10/WhatsApp-Image-2025-09-19-at-21.46.52-e1758726436427.jpeg) 56% 22% / 260% auto no-repeat;
}
.kkm-hero h1 { font-size: clamp(40px, 5.6vw, 76px); letter-spacing: -.05em; line-height: .98; }
.kkm-hero h1 strong { display: block; color: var(--kkm-navy); font-weight: 800; min-height: 2em; }
.kkm-hero h1 strong.kkm-typing::after { content: ''; display: inline-block; width: .08em; height: .9em; margin-left: .06em; vertical-align: -.08em; background: var(--kkm-cyan); animation: kkm-blink .8s steps(1) infinite; }
@keyframes kkm-blink { 50% { opacity: 0; } }
.kkm-lead { font-size: clamp(17px, 1.4vw, 19px); max-width: 620px; margin-top: 24px !important; }
.kkm-lead strong { color: var(--kkm-ink); }
.kkm-trust { list-style: none; padding: 0 !important; display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px !important; }
.kkm-trust li { padding: 8px 14px; border: 1.5px solid var(--kkm-ink); border-radius: 999px; background: var(--kkm-white); color: var(--kkm-ink); font-size: 14px; font-weight: 600; }

/* portret przypięty taśmą */
.kkm-hero-visual { position: relative; padding: 20px 10px 40px; }
.kkm-hero-visual::before { content: ''; position: absolute; inset: 40px 0 60px 30px; background: var(--kkm-cyan); border: 2px solid var(--kkm-ink); border-radius: 10px; transform: rotate(-5deg); }
.kkm-portrait { position: relative; background: var(--kkm-white); border: 2px solid var(--kkm-ink); border-radius: 6px; padding: 12px 12px 54px; box-shadow: 8px 8px 0 var(--kkm-ink); transform: rotate(2deg); }
.kkm-portrait::before {
	content: ''; position: absolute; z-index: 3; top: -16px; left: 50%; width: 120px; height: 32px; margin-left: -60px; transform: rotate(-4deg);
	background: rgba(158, 238, 255, .85); border-left: 2px dashed rgba(10, 26, 51, .15); border-right: 2px dashed rgba(10, 26, 51, .15);
}
.kkm-portrait img { display: block; width: 100%; aspect-ratio: 4 / 4.6; object-fit: cover; object-position: 56% 30%; border-radius: 2px; }
.kkm-status {
	position: absolute; z-index: 4; left: 50%; bottom: 52px; transform: translateX(-50%) rotate(2deg); white-space: nowrap;
	display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; color: var(--kkm-ink) !important;
}
.kkm-status::before { content: ''; width: 10px; height: 10px; border-radius: 50%; background: #1fbf6a; box-shadow: 0 0 0 4px rgba(31, 191, 106, .2); animation: kkm-pulse 2s infinite; }
@keyframes kkm-pulse { 50% { box-shadow: 0 0 0 7px rgba(31, 191, 106, .08); } }
.kkm-float {
	position: absolute; z-index: 5; display: flex; flex-direction: column; padding: 12px 16px; background: var(--kkm-white);
	border: 2px solid var(--kkm-ink); border-radius: 12px; box-shadow: 3px 3px 0 var(--kkm-ink); font-size: 13px; color: var(--kkm-ink-3) !important; line-height: 1.3 !important;
	animation: kkm-float 6s ease-in-out infinite;
}
.kkm-float strong { font-family: var(--kkm-font-head); font-size: 16px; color: var(--kkm-ink); }
.kkm-float-1 { top: 18%; left: -36px; }
.kkm-float-2 { bottom: 22%; right: -24px; animation-delay: -3s; }
@keyframes kkm-float { 50% { translate: 0 -8px; } }
.kkm-note {
	position: absolute; z-index: 6; right: 0; top: -38px; font-size: clamp(22px, 2.2vw, 30px); color: var(--kkm-ink); transform: rotate(4deg);
	display: flex; align-items: flex-end; gap: 4px; white-space: nowrap;
}
.kkm-note::after {
	content: ''; width: 60px; height: 40px; background: var(--kkm-navy); transform: translateY(26px) scaleX(-1);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 90 50' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8c22 2 46 10 70 32'/%3E%3Cpath d='M60 40l15 1-3-14'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 90 50' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8c22 2 46 10 70 32'/%3E%3Cpath d='M60 40l15 1-3-14'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ---------- „Jesteś we właściwym miejscu” ---------- */
.kkm-fit { padding: clamp(50px, 7vw, 90px) 0 clamp(20px, 4vw, 40px); }
.kkm-fit-grid { display: grid; grid-template-columns: .9fr 1.3fr; gap: clamp(28px, 5vw, 70px); align-items: start; }
.kkm-fit h2 { font-size: clamp(34px, 4.4vw, 58px); line-height: 1; margin-bottom: 18px !important; }
.kkm-fit-head > p:not(.kkm-sign) { font-size: 18px; max-width: 460px; }
.kkm-sign { display: inline-block; font-size: clamp(24px, 2.6vw, 32px); color: var(--kkm-navy); transform: rotate(-2deg); margin-top: 18px !important; }
.kkm-fit-list { list-style: none; padding: 0 !important; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.kkm-fit-list li {
	position: relative; background: var(--kkm-white); border: 2px solid var(--kkm-ink); border-radius: 16px; padding: 22px 22px 22px 66px;
	font-size: 16px; line-height: 1.5; box-shadow: 4px 4px 0 var(--kkm-ink); transition: transform .25s var(--kkm-ease), box-shadow .25s var(--kkm-ease);
}
.kkm-fit-list li:nth-child(2) { transform: rotate(.6deg); }
.kkm-fit-list li:nth-child(3) { transform: rotate(-.6deg); }
.kkm-fit-list li:hover { transform: translate(-2px, -2px) rotate(0); box-shadow: 7px 7px 0 var(--kkm-cyan); }
.kkm-fit-list li strong { display: block; color: var(--kkm-ink); font-family: var(--kkm-font-head); font-size: 18px; margin-bottom: 4px; letter-spacing: -.02em; }
.kkm-fit-list li::before {
	content: '✓'; position: absolute; left: 20px; top: 20px; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center;
	background: var(--kkm-cyan); border: 2px solid var(--kkm-ink); font-weight: 800; color: var(--kkm-ink); font-size: 16px;
}

/* ---------- taśma usług ---------- */
.kkm-marquee { overflow: hidden; background: var(--kkm-cyan); border-block: 2px solid var(--kkm-ink); transform: rotate(-1deg); margin: 40px -10px 0; padding: 16px 0; }
.kkm-marquee-track { display: flex; width: max-content; animation: kkm-marquee 40s linear infinite; }
.kkm-marquee-track span { display: inline-flex; align-items: center; gap: 28px; padding-right: 28px; font-family: var(--kkm-font-head); font-weight: 800; font-size: 20px; color: var(--kkm-ink); white-space: nowrap; }
.kkm-marquee-track span::after { content: '✦'; font-size: 14px; }
@keyframes kkm-marquee { to { transform: translateX(-50%); } }

/* ---------- oferta: karty ---------- */
.kkm-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.kkm-card {
	position: relative; display: flex; flex-direction: column; background: var(--kkm-white); border: 2px solid var(--kkm-ink); border-radius: 18px;
	padding: 30px 26px; box-shadow: 4px 4px 0 var(--kkm-ink); transition: transform .25s var(--kkm-ease), box-shadow .25s var(--kkm-ease);
}
.kkm-card:hover { transform: translate(-3px, -3px); box-shadow: 8px 8px 0 var(--kkm-cyan); }
.kkm-icon {
	width: 58px; height: 58px; display: grid; place-items: center; font-size: 28px; line-height: 1 !important;
	background: var(--kkm-cyan); border: 2px solid var(--kkm-ink); border-radius: 14px; margin-bottom: 22px !important; transition: background .25s;
}
.kkm-card:hover .kkm-icon { background: var(--kkm-navy); }
.kkm-card h3 { font-size: 24px; margin-bottom: 16px !important; }
.kkm-checks { list-style: none; padding: 0 !important; display: grid; gap: 10px; margin-bottom: 22px !important; }
.kkm-checks li { position: relative; padding-left: 28px; font-size: 15.5px; color: var(--kkm-ink-2); }
.kkm-checks li::before { content: '✓'; position: absolute; left: 0; top: 1px; width: 19px; height: 19px; display: grid; place-items: center; border-radius: 50%; background: var(--kkm-cyan-soft); color: var(--kkm-navy); font-size: 11px; font-weight: 800; }
.kkm-more { margin-top: auto !important; }
.kkm-more a { color: var(--kkm-ink); font-weight: 700; text-decoration: underline; text-decoration-color: var(--kkm-cyan); text-decoration-thickness: 4px; text-underline-offset: 4px; }
.kkm-more a:hover { color: var(--kkm-navy); }

/* ---------- ciemne panele ---------- */
.kkm-dark { position: relative; background: var(--kkm-navy); color: var(--kkm-on-dark); overflow: hidden; }
.kkm-dark::before { content: ''; position: absolute; width: 760px; height: 760px; left: -200px; top: -300px; border-radius: 50%; background: radial-gradient(circle, rgba(0, 210, 255, .18), transparent 62%); pointer-events: none; }
.kkm-dark > * { position: relative; }
.kkm-dark :is(h2, h3) { color: #fff; }
.kkm-dark p, .kkm-dark .kkm-head p:not(.kkm-eyebrow) { color: var(--kkm-on-dark); }
.kkm-dark p strong { color: #fff; }
.kkm-benefits { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.kkm-benefit { padding: 28px; border: 1.5px solid rgba(255, 255, 255, .16); border-radius: 16px; background: rgba(255, 255, 255, .04); transition: border-color .25s, background .25s; }
.kkm-benefit:hover { border-color: var(--kkm-cyan); background: rgba(0, 210, 255, .06); }
.kkm-benefit .kkm-num { font-size: 46px; color: var(--kkm-cyan) !important; margin-bottom: 10px !important; }
.kkm-benefit h3 { font-size: 21px; margin-bottom: 10px !important; }
.kkm-benefit p { font-size: 15.5px; }

/* ---------- O mnie ---------- */
.kkm-about { background: var(--kkm-paper-2); border-block: 2px solid var(--kkm-ink); }
.kkm-about-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(40px, 6vw, 90px); align-items: center; }
.kkm-about-photo { position: relative; }
.kkm-about-photo figure { border: 2px solid var(--kkm-ink); border-radius: 22px; overflow: hidden; background: var(--kkm-white); box-shadow: 8px 8px 0 var(--kkm-cyan), 8px 8px 0 2px var(--kkm-ink); }
.kkm-about-photo img { display: block; width: 100%; height: auto; }
.kkm-ribbon {
	position: absolute; left: -14px; bottom: 28px; padding: 8px 18px; background: var(--kkm-navy); color: #fff !important; font-size: 26px;
	border: 2px solid var(--kkm-ink); border-radius: 10px; transform: rotate(-3deg); box-shadow: 3px 3px 0 var(--kkm-ink);
}
.kkm-about-text h2 { font-size: clamp(36px, 4.6vw, 60px); margin-bottom: 22px !important; }
.kkm-about-text > p:not(.kkm-eyebrow) { font-size: 18px; margin-bottom: 14px !important; }
.kkm-about-list { list-style: none; padding: 0 !important; display: grid; gap: 10px; margin-top: 24px !important; }
.kkm-about-list li { padding: 12px 16px; border: 1.5px solid var(--kkm-ink); background: var(--kkm-white); border-radius: 12px; font-weight: 600; color: var(--kkm-ink); }

/* ---------- FAQ ---------- */
.kkm-faq-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(30px, 5vw, 70px); align-items: start; }
.kkm-faq .kkm-head { position: sticky; top: 120px; margin-bottom: 0; }
.kkm-faq-list { display: grid; gap: 14px; }
.kkm-faq-list .wp-block-details {
	background: var(--kkm-white); border: 2px solid var(--kkm-ink); border-radius: 16px; box-shadow: 4px 4px 0 var(--kkm-ink);
	transition: box-shadow .25s var(--kkm-ease);
}
.kkm-faq-list .wp-block-details[open] { box-shadow: 6px 6px 0 var(--kkm-cyan), 6px 6px 0 2px var(--kkm-ink); }
.kkm-faq-list summary {
	list-style: none; cursor: pointer; position: relative; padding: 20px 64px 20px 24px;
	font-family: var(--kkm-font-head); font-weight: 700; font-size: 18px; color: var(--kkm-ink); letter-spacing: -.01em;
}
.kkm-faq-list summary::-webkit-details-marker { display: none; }
.kkm-faq-list summary::after {
	content: '+'; position: absolute; right: 18px; top: 50%; translate: 0 -50%; width: 32px; height: 32px; display: grid; place-items: center;
	border-radius: 50%; background: var(--kkm-cyan); border: 1.5px solid var(--kkm-ink); font-size: 20px; font-weight: 700; transition: rotate .25s var(--kkm-ease);
}
.kkm-faq-list details[open] summary::after { rotate: 45deg; }
.kkm-faq-list details > p { padding: 0 24px 22px; font-size: 16px; }

/* ---------- blog ---------- */
.kkm-blog { padding-top: 0; }
.kkm-posts .wp-block-post-template { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; list-style: none; padding: 0; margin: 0; }
.kkm-posts .wp-block-post {
	display: flex; flex-direction: column; background: var(--kkm-white); border: 2px solid var(--kkm-ink); border-radius: 18px; padding: 12px 12px 22px; margin: 0;
	box-shadow: 4px 4px 0 var(--kkm-ink); transition: transform .25s var(--kkm-ease), box-shadow .25s var(--kkm-ease);
}
.kkm-posts .wp-block-post:hover { transform: translate(-3px, -3px); box-shadow: 8px 8px 0 var(--kkm-cyan); }
.kkm-posts .wp-block-post-featured-image { margin: 0 0 16px; border: 1.5px solid var(--kkm-ink); border-radius: 12px; overflow: hidden; }
.kkm-posts .wp-block-post-featured-image img { transition: transform .5s var(--kkm-ease); }
.kkm-posts .wp-block-post:hover .wp-block-post-featured-image img { transform: scale(1.04); }
.kkm-posts .wp-block-post-terms { padding-inline: 10px; margin-bottom: 8px; font-size: 13px; font-weight: 700; }
.kkm-posts .wp-block-post-terms a { display: inline-block; padding: 3px 10px; border-radius: 999px; background: var(--kkm-cyan-soft); color: var(--kkm-navy); text-decoration: none; }
.kkm-posts .wp-block-post-title { padding-inline: 10px; font-size: 20px; line-height: 1.25; margin: 0 0 10px; }
.kkm-posts .wp-block-post-title a { color: var(--kkm-ink); text-decoration: none; }
.kkm-posts .wp-block-post-title a:hover { color: var(--kkm-navy); }
.kkm-posts .wp-block-post-excerpt { padding-inline: 10px; margin-top: auto; font-size: 15px; }
.kkm-posts .wp-block-post-excerpt__excerpt { margin: 0 0 12px; }
.kkm-posts .wp-block-post-excerpt__more-link { color: var(--kkm-ink); font-weight: 700; text-decoration: underline; text-decoration-color: var(--kkm-cyan); text-decoration-thickness: 3px; text-underline-offset: 3px; }

/* ---------- CTA ---------- */
.kkm-cta { text-align: center; }
.kkm-cta .kkm-wrap { max-width: 860px; }
.kkm-cta h2 { font-size: clamp(34px, 5vw, 60px); }
.kkm-cta .kkm-wrap > p:not(.kkm-eyebrow) { font-size: 18px; margin-top: 20px !important; }

/* ---------- kontakt ---------- */
.kkm-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: stretch; }
.kkm-contact-info {
	position: relative; overflow: hidden; background: var(--kkm-navy); border: 2px solid var(--kkm-ink); border-radius: 22px;
	box-shadow: 6px 6px 0 var(--kkm-cyan); padding: clamp(28px, 4vw, 48px); color: var(--kkm-on-dark);
}
.kkm-contact-info::before { content: ''; position: absolute; width: 420px; height: 420px; right: -160px; top: -160px; border-radius: 50%; background: radial-gradient(circle, rgba(0, 210, 255, .22), transparent 62%); }
.kkm-contact-info > * { position: relative; }
.kkm-contact-info .kkm-eyebrow { color: var(--kkm-cyan); }
.kkm-contact-info h2 { color: #fff; font-size: clamp(32px, 3.6vw, 46px); margin-bottom: 16px !important; }
.kkm-contact-info h2 em { color: #fff; background-image: linear-gradient(100deg, transparent .15em, #0077a8 .15em, #0077a8 calc(100% - .12em), transparent calc(100% - .12em)); }
.kkm-contact-info > p { color: var(--kkm-on-dark); font-size: 17px; }
.kkm-ci-list { list-style: none; padding: 0 !important; display: grid; gap: 12px; margin-top: 28px !important; }
.kkm-ci-list li { display: flex; align-items: center; gap: 14px; padding: 12px 14px; border: 1.5px solid rgba(255, 255, 255, .16); border-radius: 12px; color: #fff; font-weight: 600; }
.kkm-ci-list li span { flex: none; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; background: rgba(0, 210, 255, .14); font-size: 18px; }
.kkm-ci-list a { color: #fff; text-decoration: none; }
.kkm-ci-list a:hover { color: var(--kkm-cyan); }

.kkm-contact-form { position: relative; background: var(--kkm-white); border: 2px solid var(--kkm-ink); border-radius: 22px; box-shadow: 6px 6px 0 var(--kkm-ink); padding: clamp(28px, 4vw, 44px); overflow: hidden; }
.kkm-contact-form::before { content: ''; position: absolute; inset: 0 0 auto; height: 8px; background: var(--kkm-cyan); border-bottom: 2px solid var(--kkm-ink); }
.kkm-contact-form h3 { font-size: 30px; margin: 6px 0 8px !important; }
.kkm-contact-form > p { margin-bottom: 22px !important; }
.kkm-field { margin-bottom: 14px; }
.kkm-landing .wpcf7 :is(input[type="text"], input[type="email"], input[type="tel"], textarea) {
	width: 100%; padding: 15px 16px; border: 1.5px solid var(--kkm-ink); border-radius: 10px; background: var(--kkm-paper);
	font-family: inherit; font-size: 16px; color: var(--kkm-ink); transition: background .2s, box-shadow .2s, border-color .2s;
}
.kkm-landing .wpcf7 textarea { min-height: 130px; resize: vertical; }
.kkm-landing .wpcf7 :is(input, textarea):focus { outline: none; background: #fff; border-color: var(--kkm-navy); box-shadow: 3px 3px 0 var(--kkm-cyan); }
.kkm-consent { font-size: 13.5px; color: var(--kkm-ink-3); margin: 6px 0 18px; }
.kkm-consent .wpcf7-list-item { margin: 0; }
.kkm-consent label { display: flex; gap: 10px; align-items: flex-start; }
.kkm-consent input { margin-top: 3px; accent-color: var(--kkm-navy); }
.kkm-landing .wpcf7-submit {
	width: 100%; padding: 17px; border: 2px solid var(--kkm-ink); border-radius: 14px; background: var(--kkm-navy); color: #fff;
	font-family: inherit; font-weight: 700; font-size: 17px; cursor: pointer; box-shadow: 4px 4px 0 var(--kkm-cyan);
	transition: transform .2s var(--kkm-ease), box-shadow .2s var(--kkm-ease);
}
.kkm-landing .wpcf7-submit:hover { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--kkm-cyan); }
.kkm-landing .wpcf7-submit:disabled { background: var(--kkm-navy) !important; color: #fff !important; opacity: .55; cursor: not-allowed; transform: none; }
.kkm-landing .wpcf7-spinner { display: block; margin: 10px auto 0; }
.kkm-landing .wpcf7 form .wpcf7-response-output { margin: 16px 0 0; border-radius: 10px; padding: 12px 14px; }

/* ---------- stopka ---------- */
.kkm-footer { position: relative; overflow: hidden; background: var(--kkm-navy-2); color: var(--kkm-on-dark); padding: clamp(70px, 9vw, 110px) 0 28px; border-radius: 40px 40px 0 0; margin-top: 0; }
.kkm-footer::before { content: ''; position: absolute; width: 900px; height: 520px; right: -200px; top: -220px; background: radial-gradient(closest-side, rgba(0, 210, 255, .16), transparent); pointer-events: none; }
.kkm-footer > * { position: relative; }
.kkm-footer-cta { text-align: center; max-width: 860px; margin: 0 auto clamp(60px, 7vw, 90px); }
.kkm-footer-kicker { display: inline-flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #fff; margin: 0 0 18px; }
.kkm-footer-kicker i { width: 10px; height: 10px; border-radius: 50%; background: var(--kkm-cyan); }
.kkm-footer h2 { color: #fff; font-size: clamp(34px, 5vw, 62px); font-weight: 800; letter-spacing: -.04em; line-height: 1.02; margin: 0; }
.kkm-footer h2 em { font-family: var(--kkm-font-hand); font-weight: 700; letter-spacing: 0; font-size: 1.15em; color: var(--kkm-cyan); background: none; }
.kkm-footer-btns { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; margin-top: 34px; }
.kkm-fbtn { display: inline-flex; padding: 16px 26px; border-radius: 14px; font-weight: 700; text-decoration: none; transition: transform .2s var(--kkm-ease), box-shadow .2s var(--kkm-ease), background .2s; }
.kkm-fbtn-1 { background: var(--kkm-cyan); color: var(--kkm-ink); box-shadow: 4px 4px 0 #fff; }
.kkm-fbtn-1:hover { background: #fff; color: var(--kkm-ink); transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--kkm-cyan); }
.kkm-fbtn-2 { border: 2px solid rgba(255, 255, 255, .5); color: #fff; }
.kkm-fbtn-2:hover { color: #fff; border-color: #fff; transform: translate(-2px, -2px); }
.kkm-footer-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1.2fr; gap: 40px; padding-top: 50px; border-top: 1px solid rgba(255, 255, 255, .12); }
.kkm-footer-logo { font-weight: 800; font-size: 26px; letter-spacing: -1px; color: #fff; text-decoration: none; }
.kkm-footer-logo span { color: var(--kkm-cyan); }
.kkm-footer-brand p { margin: 16px 0 18px; max-width: 340px; font-size: 15px; line-height: 1.65; color: var(--kkm-on-dark); }
.kkm-footer-mail { color: #fff; font-size: 20px; font-weight: 700; text-decoration: none; border-bottom: 3px solid var(--kkm-cyan); }
.kkm-footer-mail:hover { color: var(--kkm-cyan); }
.kkm-footer h4 { color: var(--kkm-cyan); font-family: var(--kkm-font); font-size: 14px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin: 0 0 16px; }
.kkm-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.kkm-footer ul a, .kkm-footer-company a { color: var(--kkm-on-dark); text-decoration: none; transition: color .2s; }
.kkm-footer ul a:hover, .kkm-footer-company a:hover { color: #fff; }
.kkm-footer-company p { margin: 0 0 12px; font-size: 15px; line-height: 1.7; color: var(--kkm-on-dark); }
.kkm-footer-company strong { color: #fff; }
.kkm-footer-bottom { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 50px; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, .12); font-size: 14px; color: rgba(255, 255, 255, .55); }
.kkm-totop { color: rgba(255, 255, 255, .75); text-decoration: none; }
.kkm-totop:hover { color: var(--kkm-cyan); }

/* ---------- podstrony: wspólne sekcje ---------- */
.kkm-page-hero h1 { font-size: clamp(40px, 5.2vw, 70px); }
.kkm-page-hero .kkm-eyebrow { display: flex; margin-bottom: 10px !important; }
.kkm-story-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(30px, 5vw, 80px); align-items: start; }
.kkm-story .kkm-head { position: sticky; top: 120px; margin-bottom: 0; }
.kkm-story .kkm-head h2 { font-size: clamp(34px, 4.4vw, 56px); }
.kkm-story .kkm-sign { margin-top: 22px !important; }
.kkm-story-text p { font-size: 18px; margin-bottom: 20px !important; }
.kkm-story-text p:first-child { font-size: 21px; color: var(--kkm-ink); font-weight: 500; }
.kkm-story-text strong { color: var(--kkm-ink); }
.kkm-landing > .kkm-section:last-child { padding-bottom: clamp(50px, 6vw, 80px); }
.kkm-card > p:not(.kkm-icon):not(.kkm-more):not(.kkm-num) { font-size: 15.5px; margin-bottom: 16px !important; }
.kkm-benefits-4 { grid-template-columns: repeat(4, 1fr); }
.kkm-values { padding-bottom: clamp(60px, 8vw, 100px); }
.kkm-cta-box {
	text-align: center; background: var(--kkm-white); border: 2px solid var(--kkm-ink); border-radius: 26px;
	box-shadow: 8px 8px 0 var(--kkm-cyan), 8px 8px 0 2px var(--kkm-ink); padding: clamp(40px, 6vw, 72px) clamp(22px, 5vw, 60px);
}
.kkm-cta-box h2 { font-size: clamp(32px, 4.6vw, 56px); max-width: 820px; margin-inline: auto !important; }
.kkm-cta-box > p:not(.kkm-eyebrow) { font-size: 18px; max-width: 620px; margin: 18px auto 0 !important; }
.kkm-cta-box .kkm-btns-center { margin-top: 34px; }
.kkm-cards-3 { grid-template-columns: repeat(3, 1fr); }
.kkm-cards-2 { grid-template-columns: 1fr 1fr; max-width: 1000px; margin-inline: auto; }
.kkm-cards-2 .kkm-card { padding: 36px 34px; }
.kkm-cards-2 .kkm-card h3 { font-size: 28px; }
@media (max-width: 900px) { .kkm-cards-2 { grid-template-columns: 1fr; } }
.kkm-card .kkm-num { font-size: 46px; color: var(--kkm-navy) !important; margin-bottom: 8px !important; }

/* makieta wyników Google (hero SEO) */
.kkm-serp {
	position: relative; background: var(--kkm-white); border: 2px solid var(--kkm-ink); border-radius: 20px; padding: 22px;
	box-shadow: 8px 8px 0 var(--kkm-ink), 18px 18px 0 var(--kkm-cyan), 18px 18px 0 2px var(--kkm-ink); transform: rotate(1.5deg); margin-top: 30px;
}
.kkm-serp-bar { display: flex; align-items: center; gap: 12px; padding: 12px 16px; border: 1.5px solid var(--kkm-line); border-radius: 999px; margin-bottom: 18px; box-shadow: 0 2px 8px rgba(10, 26, 51, .08); }
.kkm-serp-g { font-family: var(--kkm-font-head); font-weight: 800; font-size: 22px; color: #4285f4; }
.kkm-serp-q { flex: 1; font-size: 15px; color: var(--kkm-ink); }
.kkm-serp-res { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border-radius: 12px; opacity: .55; }
.kkm-serp-res small { font-size: 12.5px; color: var(--kkm-ink-3); }
.kkm-serp-res strong { font-size: 17px; color: #1a0dab; font-weight: 600; }
.kkm-serp-res p { margin: 0 !important; font-size: 13.5px; color: var(--kkm-ink-3); }
.kkm-serp-top { position: relative; opacity: 1; background: #e9fbff; border: 2px solid var(--kkm-ink); box-shadow: 4px 4px 0 var(--kkm-cyan); margin-bottom: 8px; }
.kkm-serp-badge { position: absolute; right: 12px; top: 12px; padding: 4px 10px; border-radius: 999px; background: var(--kkm-navy); color: #fff; font-weight: 800; font-size: 14px; }
.kkm-serp .kkm-serp-note { top: auto; bottom: -50px; right: auto; left: 10px; transform: rotate(-3deg); }
.kkm-serp .kkm-serp-note::after { transform: translateY(-34px) scale(-1, -1); order: -1; }

/* makieta strony w przeglądarce (hero WWW) */
.kkm-browser {
	position: relative; background: var(--kkm-white); border: 2px solid var(--kkm-ink); border-radius: 18px; overflow: visible;
	box-shadow: 8px 8px 0 var(--kkm-ink), 18px 18px 0 var(--kkm-cyan), 18px 18px 0 2px var(--kkm-ink); transform: rotate(-1.5deg); margin: 30px 10px 40px;
}
.kkm-browser-bar { display: flex; align-items: center; gap: 7px; padding: 12px 16px; border-bottom: 2px solid var(--kkm-ink); background: var(--kkm-paper-2); border-radius: 16px 16px 0 0; }
.kkm-browser-bar i { width: 12px; height: 12px; border-radius: 50%; border: 1.5px solid var(--kkm-ink); background: #ff6b6b; }
.kkm-browser-bar i:nth-child(2) { background: #ffd23f; }
.kkm-browser-bar i:nth-child(3) { background: #1fbf6a; }
.kkm-browser-bar span { flex: 1; margin-left: 10px; padding: 5px 12px; border-radius: 999px; background: #fff; border: 1.5px solid var(--kkm-line); font-size: 13px; color: var(--kkm-ink-3); }
.kkm-browser-body { padding: 18px; display: grid; gap: 16px; }
.kkm-bw-nav { display: flex; align-items: center; gap: 10px; }
.kkm-bw-nav b { width: 70px; height: 14px; border-radius: 4px; background: var(--kkm-navy); margin-right: auto; }
.kkm-bw-nav span { width: 38px; height: 8px; border-radius: 4px; background: var(--kkm-paper-2); }
.kkm-bw-nav em { width: 64px; height: 22px; border-radius: 6px; background: var(--kkm-cyan); border: 1.5px solid var(--kkm-ink); }
.kkm-bw-hero { display: grid; grid-template-columns: 1.1fr .9fr; gap: 16px; align-items: center; }
.kkm-bw-hero > div:first-child { display: grid; gap: 8px; }
.kkm-bw-hero b { height: 16px; border-radius: 4px; background: var(--kkm-ink); }
.kkm-bw-hero b.s { width: 70%; background: var(--kkm-navy); }
.kkm-bw-hero span { height: 7px; border-radius: 4px; background: var(--kkm-paper-2); }
.kkm-bw-hero span.s { width: 80%; }
.kkm-bw-hero em { justify-self: start; margin-top: 6px; padding: 7px 14px; border-radius: 8px; background: var(--kkm-navy); color: #fff; font-style: normal; font-size: 12px; font-weight: 700; box-shadow: 2px 2px 0 var(--kkm-cyan); }
.kkm-bw-img { aspect-ratio: 4 / 3; border-radius: 10px; border: 1.5px solid var(--kkm-ink); background: linear-gradient(135deg, var(--kkm-cyan-soft), var(--kkm-cyan) 60%, var(--kkm-navy)); }
.kkm-bw-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.kkm-bw-cards div { height: 58px; border-radius: 10px; border: 1.5px solid var(--kkm-ink); background: var(--kkm-paper); box-shadow: 2px 2px 0 var(--kkm-ink); }
.kkm-browser .kkm-float-1 { top: 34%; left: -40px; }
.kkm-browser .kkm-float-2 { bottom: -26px; right: -20px; }
.kkm-browser .kkm-browser-note { top: -52px; right: 10px; }
@media (max-width: 900px) { .kkm-browser { max-width: 520px; margin-inline: auto; } .kkm-browser .kkm-float-1 { left: -8px; } }

/* boksy informacyjne (czas, koszt) */
.kkm-info { padding-top: 0; }
.kkm-info-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.kkm-info-box { background: var(--kkm-white); border: 2px solid var(--kkm-ink); border-radius: 22px; padding: clamp(26px, 4vw, 40px); box-shadow: 6px 6px 0 var(--kkm-ink); }
.kkm-info-box:nth-child(2) { box-shadow: 6px 6px 0 var(--kkm-cyan), 6px 6px 0 2px var(--kkm-ink); }
.kkm-info-box h3 { font-size: 26px; margin-bottom: 12px !important; }
.kkm-info-box p:not(.kkm-icon) { font-size: 16.5px; margin-bottom: 14px !important; }
.kkm-info-box strong { color: var(--kkm-ink); }
.kkm-info-box .kkm-price { display: inline-block; margin-bottom: 14px !important; padding: 8px 16px; border: 2px solid var(--kkm-ink); border-radius: 12px; background: var(--kkm-cyan-soft); box-shadow: 3px 3px 0 var(--kkm-ink); font-size: 17px !important; color: var(--kkm-ink); }
.kkm-info-box .kkm-price strong { font-family: var(--kkm-font-head); font-size: 30px; letter-spacing: -.02em; }
.kkm-faq-list a, .kkm-head p a { color: var(--kkm-navy); font-weight: 700; text-decoration: underline; text-decoration-color: var(--kkm-cyan); text-decoration-thickness: 3px; text-underline-offset: 3px; }

/* hero wyśrodkowane (oferta, kontakt) */
.kkm-hero-center { text-align: center; padding-bottom: clamp(30px, 4vw, 50px); }
.kkm-hero-center .kkm-wrap { max-width: 920px; }
.kkm-hero-center .kkm-lead { margin-inline: auto !important; max-width: 720px; }
.kkm-hero-center .kkm-btns-center { margin-top: 32px; }
.kkm-trust-center { justify-content: center; }

/* duże kafle działów oferty */
.kkm-tiles-section { padding-top: clamp(30px, 4vw, 50px); }
.kkm-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: stretch; }
.kkm-tile {
	position: relative; display: flex; flex-direction: column; background: var(--kkm-white); border: 2px solid var(--kkm-ink); border-radius: 26px;
	padding: clamp(28px, 4vw, 44px); box-shadow: 6px 6px 0 var(--kkm-ink); transition: transform .25s var(--kkm-ease), box-shadow .25s var(--kkm-ease); overflow: hidden;
}
.kkm-tile::before { content: ''; position: absolute; inset: 0 0 auto; height: 10px; background: var(--kkm-cyan); border-bottom: 2px solid var(--kkm-ink); }
.kkm-tile:hover { transform: translate(-3px, -3px); box-shadow: 10px 10px 0 var(--kkm-cyan), 10px 10px 0 2px var(--kkm-ink); }
.kkm-tile-alt::before { background: var(--kkm-navy); }
.kkm-tile-top { display: flex; justify-content: space-between; align-items: flex-start; margin: 10px 0 18px; }
.kkm-tile-top .kkm-icon { margin-bottom: 0 !important; width: 66px; height: 66px; font-size: 32px; }
.kkm-tile-num { font-family: var(--kkm-font-head) !important; font-size: 64px; font-weight: 800; line-height: 1 !important; color: transparent !important; -webkit-text-stroke: 2px var(--kkm-ink); opacity: .2; }
.kkm-tile h2 { font-size: clamp(28px, 3vw, 40px); margin-bottom: 16px !important; }
.kkm-tile > p:not(.kkm-eyebrow):not(.kkm-tile-for) { font-size: 16.5px; margin-bottom: 22px !important; }
.kkm-checks-2 { grid-template-columns: 1fr 1fr; column-gap: 18px; }
.kkm-tile-for { margin-top: auto !important; padding: 14px 16px; border: 1.5px dashed var(--kkm-line); border-radius: 12px; background: var(--kkm-paper); font-size: 15px; }
.kkm-tile-for strong { color: var(--kkm-ink); }
.kkm-tile .kkm-btns { margin-top: 22px; }

/* kontakt – dodatki */
.kkm-contact-page { padding-top: clamp(30px, 4vw, 50px); }
.kkm-ci-note { margin-top: 22px !important; font-size: 15px !important; opacity: .85; }
.kkm-contact-form .kkm-form-safe { margin: 14px 0 0 !important; font-size: 13.5px; color: var(--kkm-ink-3); text-align: center; }
.kkm-map-section { padding-top: 0; }
.kkm-map { border: 2px solid var(--kkm-ink); border-radius: 22px; overflow: hidden; box-shadow: 6px 6px 0 var(--kkm-ink); background: var(--kkm-paper-2); }
.kkm-map iframe { display: block; width: 100%; height: 380px; border: 0; filter: grayscale(.35); }

@media (max-width: 1100px) { .kkm-benefits-4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 900px) { .kkm-tiles { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .kkm-checks-2 { grid-template-columns: 1fr; } .kkm-map iframe { height: 300px; } }
@media (max-width: 900px) {
	.kkm-cards-3 { grid-template-columns: 1fr 1fr; }
	.kkm-info-grid { grid-template-columns: 1fr; }
	.kkm-serp { max-width: 520px; margin: 30px auto 40px; }
}
@media (max-width: 600px) { .kkm-cards-3 { grid-template-columns: 1fr; } .kkm-serp .kkm-serp-note { display: none; } }
@media (max-width: 900px) {
	.kkm-story-grid { grid-template-columns: 1fr; }
	.kkm-story .kkm-head { position: static; }
}
@media (max-width: 600px) { .kkm-benefits-4 { grid-template-columns: 1fr; } }

/* ---------- blog: lista wpisów ---------- */
.entries .entry-card {
	background: var(--kkm-white); border: 2px solid var(--kkm-ink) !important; border-radius: 18px !important; box-shadow: 4px 4px 0 var(--kkm-ink) !important;
	overflow: hidden; transition: transform .25s var(--kkm-ease), box-shadow .25s var(--kkm-ease);
}
.entries .entry-card:hover { transform: translate(-3px, -3px); box-shadow: 8px 8px 0 var(--kkm-cyan) !important; }
.entries .entry-card .ct-media-container img { aspect-ratio: 16 / 9 !important; }
.entries .entry-card .entry-title { font-family: var(--kkm-font-head); font-weight: 700; letter-spacing: -.02em; }
.entries .entry-card .entry-title a { color: var(--kkm-ink); }
.entries .entry-card .entry-title a:hover { color: var(--kkm-navy); }
.entries .entry-card .meta-categories a { display: inline-block; padding: 3px 10px; border-radius: 999px; background: var(--kkm-cyan-soft); color: var(--kkm-navy); font-weight: 700; }

/* ---------- blog: pojedynczy wpis ---------- */
.single-post .hero-section .page-title { font-family: var(--kkm-font-head); font-weight: 800; letter-spacing: -.035em; line-height: 1.08; font-size: clamp(32px, 4.4vw, 52px); }
.single-post .hero-section .page-description { font-size: 19px; color: var(--kkm-ink-2); }
.single-post .entry-content h2 { font-family: var(--kkm-font-head); font-weight: 800; letter-spacing: -.03em; }
.single-post .entry-content h3 { font-family: var(--kkm-font-head); font-weight: 700; }
.single-post .entry-content p, .single-post .entry-content li { font-size: 18px; line-height: 1.75; }
.single-post .entry-content a:not(.wp-block-button__link) { color: var(--kkm-navy); font-weight: 700; text-decoration: underline; text-decoration-color: var(--kkm-cyan); text-decoration-thickness: 3px; text-underline-offset: 3px; }
.single-post .entry-content a:not(.wp-block-button__link):hover { background: var(--kkm-cyan-soft); }
.single-post .entry-content ul li::marker, .single-post .entry-content ol li::marker { color: var(--kkm-navy); font-weight: 800; }
.single-post .entry-content .kkm-post-img { margin: 36px 0 !important; }
.single-post .entry-content .kkm-post-img img { width: 100%; border: 2px solid var(--kkm-ink); border-radius: 18px; box-shadow: 6px 6px 0 var(--kkm-cyan), 6px 6px 0 2px var(--kkm-ink); }
.kkm-post-cta {
	margin-top: 50px !important; padding: 30px 32px; background: var(--kkm-navy); color: var(--kkm-on-dark); border: 2px solid var(--kkm-ink);
	border-radius: 20px; box-shadow: 6px 6px 0 var(--kkm-cyan);
}
.kkm-post-cta .kkm-post-cta-title { font-family: var(--kkm-font-head) !important; font-weight: 800; font-size: 26px !important; line-height: 1.2 !important; color: #fff; margin: 0 0 10px !important; }
.single-post .entry-content .kkm-post-cta p { color: var(--kkm-on-dark); font-size: 17px; }
.kkm-post-cta-btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.single-post .entry-content .kkm-post-cta-btns a {
	display: inline-flex; padding: 13px 22px; border-radius: 12px; font-weight: 700; text-decoration: none; border: 2px solid var(--kkm-cyan);
	background: var(--kkm-cyan); color: var(--kkm-ink); transition: transform .2s var(--kkm-ease);
}
.single-post .entry-content .kkm-post-cta-btns a + a { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .6); }
.single-post .entry-content .kkm-post-cta-btns a:hover { transform: translate(-2px, -2px); background: #fff; color: var(--kkm-ink); }

/* ---------- sidebar wpisów ---------- */
.ct-sidebar .ct-widget + .ct-widget { margin-top: 26px; }
/* sidebar na całą wysokość wpisu, ostatni widget (CTA) płynie za czytelnikiem */
.single-post #sidebar { align-self: stretch; }
.single-post #sidebar .ct-sidebar { position: static !important; height: 100%; }
.single-post #sidebar .ct-widget:last-child { position: sticky; top: 120px; }
.admin-bar.single-post #sidebar .ct-widget:last-child { top: 152px; }
.kkm-side-cta {
	position: relative; padding: 26px 24px 22px; background: var(--kkm-navy); color: var(--kkm-on-dark); border: 2px solid var(--kkm-ink);
	border-radius: 20px; box-shadow: 6px 6px 0 var(--kkm-cyan), 6px 6px 0 2px var(--kkm-ink); overflow: hidden;
}
.kkm-side-cta::before { content: ''; position: absolute; width: 260px; height: 260px; right: -110px; top: -110px; border-radius: 50%; background: radial-gradient(circle, rgba(0, 210, 255, .3), transparent 65%); }
.kkm-side-cta > * { position: relative; }
.kkm-side-cta p { margin: 0; }
.kkm-side-eyebrow { font-family: var(--kkm-font-hand); font-weight: 700; font-size: 22px; color: var(--kkm-cyan); transform: rotate(-2deg); margin-bottom: 8px !important; }
.kkm-side-title { font-family: var(--kkm-font-head); font-weight: 800; font-size: 25px; line-height: 1.12; letter-spacing: -.03em; color: #fff; margin-bottom: 12px !important; }
.kkm-side-title em { font-style: normal; background: linear-gradient(100deg, transparent .1em, #0077a8 .1em, #0077a8 calc(100% - .1em), transparent calc(100% - .1em)) 0 88% / 100% .42em no-repeat; }
.kkm-side-text { font-size: 14.5px; line-height: 1.6; }
.kkm-side-list { list-style: none; margin: 14px 0 18px; padding: 0; display: grid; gap: 7px; }
.kkm-side-list li { position: relative; padding-left: 26px; font-size: 14px; color: #fff; }
.kkm-side-list li::before { content: '✓'; position: absolute; left: 0; top: 1px; width: 18px; height: 18px; display: grid; place-items: center; border-radius: 50%; background: var(--kkm-cyan); color: var(--kkm-ink); font-size: 11px; font-weight: 800; }
.kkm-side-btn, .kkm-side-tel {
	display: flex; justify-content: center; padding: 13px 16px; border-radius: 12px; font-weight: 800; font-size: 15px; text-decoration: none;
	transition: transform .2s var(--kkm-ease), background .2s;
}
.kkm-side-btn { background: var(--kkm-cyan); color: var(--kkm-ink) !important; border: 2px solid var(--kkm-cyan); box-shadow: 3px 3px 0 #fff; }
.kkm-side-btn:hover { transform: translate(-2px, -2px); background: #fff; }
.kkm-side-tel { margin-top: 10px; color: #fff !important; border: 2px solid rgba(255, 255, 255, .45); }
.kkm-side-tel:hover { border-color: #fff; transform: translate(-2px, -2px); }
.kkm-side-note { margin-top: 12px !important; text-align: center; font-size: 12.5px; opacity: .75; }
.kkm-side-box { padding: 22px; background: var(--kkm-white); border: 2px solid var(--kkm-ink); border-radius: 18px; box-shadow: 4px 4px 0 var(--kkm-ink); }
.kkm-side-box .kkm-side-box-title { font-family: var(--kkm-font-head); font-weight: 800; font-size: 19px; color: var(--kkm-ink); margin: 0 0 12px; }
.kkm-side-offer { display: flex; align-items: center; gap: 12px; padding: 10px; border-radius: 12px; text-decoration: none; transition: background .2s; }
.kkm-side-offer + .kkm-side-offer { margin-top: 4px; }
.kkm-side-offer:hover { background: var(--kkm-cyan-soft); }
.kkm-side-offer > span:first-child { flex: none; width: 40px; height: 40px; display: grid; place-items: center; border-radius: 10px; background: var(--kkm-cyan); border: 1.5px solid var(--kkm-ink); font-size: 19px; }
.kkm-side-offer strong { display: block; color: var(--kkm-ink); font-size: 15px; }
.kkm-side-offer small { color: var(--kkm-ink-3); font-size: 13px; }
.kkm-side-box .wp-block-categories { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; }
.kkm-side-box .wp-block-categories a { color: var(--kkm-ink); font-weight: 600; text-decoration: none; }
.kkm-side-box .wp-block-categories a:hover { color: var(--kkm-navy); text-decoration: underline; text-decoration-color: var(--kkm-cyan); text-decoration-thickness: 3px; }

/* ---------- polityka prywatności ---------- */
.kkm-legal { padding-top: clamp(20px, 3vw, 40px); }
.kkm-legal-box { max-width: 860px; background: var(--kkm-white); border: 2px solid var(--kkm-ink); border-radius: 24px; box-shadow: 6px 6px 0 var(--kkm-ink); padding: clamp(26px, 5vw, 60px); }
.kkm-legal-box h2 { font-size: clamp(24px, 2.6vw, 30px); margin: 40px 0 14px !important; letter-spacing: -.02em; }
.kkm-legal-box h2:first-child { margin-top: 0 !important; }
.kkm-legal-box h3 { font-size: 19px; margin: 24px 0 8px !important; }
.kkm-legal-box p, .kkm-legal-box li { font-size: 16.5px; line-height: 1.7; }
.kkm-legal-box p { margin-bottom: 14px !important; }
.kkm-legal-box ul { padding-left: 22px !important; margin-bottom: 14px !important; display: grid; gap: 6px; }
.kkm-legal-box a { color: var(--kkm-navy); font-weight: 600; text-decoration: underline; text-decoration-color: var(--kkm-cyan); text-decoration-thickness: 3px; text-underline-offset: 3px; }
.kkm-legal-box code { padding: 2px 6px; border-radius: 6px; background: var(--kkm-paper-2); font-size: .9em; }

/* ---------- baner cookies ---------- */
.kkm-cookies {
	position: fixed; z-index: 9999; left: 20px; bottom: 20px; width: min(420px, calc(100% - 40px)); padding: 22px 22px 20px;
	background: var(--kkm-white); border: 2px solid var(--kkm-ink); border-radius: 18px; box-shadow: 6px 6px 0 var(--kkm-cyan), 6px 6px 0 2px var(--kkm-ink);
	font-size: 14.5px; line-height: 1.55; color: var(--kkm-ink-2); animation: kkm-pop .4s var(--kkm-ease);
}
.kkm-cookies[hidden] { display: none; }
@keyframes kkm-pop { from { opacity: 0; translate: 0 20px; } }
.kkm-cookies p { margin: 0 0 14px; }
.kkm-cookies .kkm-cookies-title { font-family: var(--kkm-font-head); font-weight: 800; font-size: 20px; color: var(--kkm-ink); margin-bottom: 6px; }
.kkm-cookies a { color: var(--kkm-navy); font-weight: 700; text-decoration: underline; text-decoration-color: var(--kkm-cyan); text-decoration-thickness: 3px; }
.kkm-cookies-btns { display: flex; gap: 10px; flex-wrap: wrap; }
.kkm-cookies-btns button {
	flex: 1; padding: 12px 16px; border: 2px solid var(--kkm-ink); border-radius: 12px; font: 700 15px var(--kkm-font); cursor: pointer;
	transition: transform .2s var(--kkm-ease), box-shadow .2s var(--kkm-ease);
}
.kkm-cookies-accept { background: var(--kkm-navy); color: #fff; box-shadow: 3px 3px 0 var(--kkm-cyan); }
.kkm-cookies-deny { background: var(--kkm-white); color: var(--kkm-ink); box-shadow: 3px 3px 0 var(--kkm-ink); }
.kkm-cookies-btns button:hover { transform: translate(-2px, -2px); }
.kkm-footer-legal { display: inline-flex; gap: 22px; flex-wrap: wrap; }
.kkm-footer-legal a { color: rgba(255, 255, 255, .75); text-decoration: none; }
.kkm-footer-legal a:hover { color: var(--kkm-cyan); }

/* ---------- pływające przyciski kontaktu ---------- */
.kkm-fab { position: fixed; z-index: 9990; right: 22px; bottom: 22px; display: flex; gap: 12px; }
.kkm-fab a {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 15px 24px; border-radius: 999px;
	font-family: var(--kkm-font); font-weight: 800; font-size: 16px; text-decoration: none; border: 2px solid var(--kkm-ink);
	transition: transform .2s var(--kkm-ease), box-shadow .2s var(--kkm-ease), background .2s;
}
.kkm-fab-tel { background: rgba(255, 255, 255, .92); color: var(--kkm-navy); box-shadow: 3px 3px 0 var(--kkm-ink); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.kkm-fab-tel svg { color: var(--kkm-navy); }
.kkm-fab-cta { background: var(--kkm-navy); color: #fff; box-shadow: 3px 3px 0 var(--kkm-cyan), 3px 3px 0 2px var(--kkm-ink); }
.kkm-fab a:hover { transform: translate(-2px, -2px); }
.kkm-fab-tel:hover { color: var(--kkm-navy); box-shadow: 5px 5px 0 var(--kkm-ink); }
.kkm-fab-cta:hover { color: #fff; box-shadow: 5px 5px 0 var(--kkm-cyan), 5px 5px 0 2px var(--kkm-ink); }
@media (max-width: 600px) {
	.kkm-fab { left: 0; right: 0; bottom: 0; gap: 8px; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); background: rgba(244, 247, 246, .95); border-top: 2px solid var(--kkm-ink); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
	.kkm-fab a { flex: 1; padding: 13px 10px; font-size: 15px; box-shadow: none; }
	.kkm-fab-cta { box-shadow: 2px 2px 0 var(--kkm-cyan) !important; }
	body { padding-bottom: 74px; }
	.kkm-cookies { bottom: 84px; left: 12px; width: calc(100% - 24px); }
}

/* ---------- animacje przy przewijaniu ---------- */
.kkm-js .kkm-rv { opacity: 0; translate: 0 26px; transition: opacity .7s var(--kkm-ease), translate .7s var(--kkm-ease); }
.kkm-js .kkm-rv.kkm-on { opacity: 1; translate: 0 0; }

/* ---------- responsywność ---------- */
@media (max-width: 1100px) {
	.kkm-cards { grid-template-columns: repeat(2, 1fr); }
	.kkm-float-1 { left: -10px; }
	.kkm-float-2 { right: -6px; }
}
@media (max-width: 900px) {
	.kkm-hero-grid, .kkm-fit-grid, .kkm-about-grid, .kkm-faq-grid, .kkm-contact-grid { grid-template-columns: 1fr; }
	.kkm-hero-visual { max-width: 440px; margin: 20px auto 0; width: 100%; }
	.kkm-note { display: none; }
	.kkm-fit-list { grid-template-columns: 1fr; }
	.kkm-fit-list li:nth-child(n) { transform: none; }
	.kkm-benefits, .kkm-posts .wp-block-post-template { grid-template-columns: 1fr 1fr; }
	.kkm-faq .kkm-head { position: static; }
	.kkm-footer-grid { grid-template-columns: 1fr 1fr; }
	.kkm-about-photo { max-width: 520px; }
}
@media (max-width: 600px) {
	.kkm-wrap { width: calc(100% - 32px); }
	.kkm-cards, .kkm-benefits, .kkm-posts .wp-block-post-template, .kkm-footer-grid { grid-template-columns: 1fr; }
	.kkm-hero h1 { letter-spacing: -.045em; }
	.kkm-hero h1 strong { min-height: 3em; }
	.kkm-btns .wp-block-button { width: 100%; }
	.kkm-landing .wp-block-button__link { width: 100%; justify-content: center; }
	.kkm-float { font-size: 12px; padding: 9px 12px; }
	.kkm-float strong { font-size: 14px; }
	.kkm-marquee { margin-inline: -6px; }
	.kkm-marquee-track span { font-size: 17px; }
	.kkm-card, .kkm-fit-list li, .kkm-faq-list .wp-block-details, .kkm-posts .wp-block-post { box-shadow: 3px 3px 0 var(--kkm-ink); }
	.kkm-ribbon { font-size: 22px; left: -6px; }
	.kkm-footer { border-radius: 26px 26px 0 0; }
}
@media (prefers-reduced-motion: reduce) {
	.kkm-marquee-track, .kkm-float, .kkm-status::before { animation: none; }
	.kkm-js .kkm-rv { opacity: 1; translate: none; transition: none; }
}
