/* Biofeedback Joanna Kubera: style motywu (wartości 1:1 z projektu v2). */

:root {
	--jk-bg: #F7F6F2;
	--jk-ink: #1A1B1E;
	--jk-green: #3D5A4C;
	--jk-mint: #E6ECE8;
	--jk-line: #E1E4E0;
	--jk-line-2: #D5D9D4;
	--jk-muted: #4A4D52;
	--jk-body: #2E3034;
	--jk-white: #FFFFFF;
	--jk-ease: cubic-bezier(.16, 1, .3, 1);
	--jk-serif: 'Playfair Display', Georgia, serif;
	--jk-sans: 'Onest', system-ui, sans-serif;
	--jk-header: 84px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	background: var(--jk-bg);
	color: var(--jk-ink);
	font-family: var(--jk-sans);
	font-size: 16px;
	line-height: normal;
	-webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; }
a { color: var(--jk-green); text-decoration: none; }
a:hover { color: var(--jk-ink); }
button, input, select, textarea { font: inherit; }
:focus-visible { outline: 2px solid var(--jk-green); outline-offset: 3px; }
section[id] { scroll-margin-top: var(--jk-header); }

.jk-skip {
	position: absolute; left: 12px; top: -60px; z-index: 200;
	background: var(--jk-ink); color: var(--jk-white); padding: 10px 16px; border-radius: 8px;
}
.jk-skip:focus { top: 12px; color: var(--jk-white); }

.jk-page { min-height: 100dvh; background: var(--jk-bg); overflow-x: clip; }
.jk-wrap { max-width: 1240px; margin: 0 auto; padding-left: 24px; padding-right: 24px; }

/* ---------- typografia ---------- */

.jk-eyebrow {
	font-size: 16px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--jk-green);
}
.jk-h2 {
	margin: 0; font-family: var(--jk-serif); font-weight: 500;
	font-size: clamp(32px, 4.4vw, 48px); line-height: 1.06; letter-spacing: -.01em; text-wrap: balance;
}
.jk-h3 {
	margin: 0; font-family: var(--jk-serif); font-weight: 500;
	font-size: clamp(22px, 2.4vw, 28px); line-height: 1.15; letter-spacing: -.01em;
}
.jk-h4 { margin: 0; font-family: var(--jk-serif); font-size: 20px; font-weight: 500; line-height: normal; }
.jk-lead { margin: 0; font-size: 16px; line-height: 1.65; color: var(--jk-muted); text-wrap: pretty; }

/* ---------- ikony ---------- */

.jk-ico {
	display: flex; align-items: center; justify-content: center; flex-shrink: 0;
	background: var(--jk-mint); color: var(--jk-green);
	transition: transform .5s var(--jk-ease);
}
.jk-ico--44 { width: 44px; height: 44px; border-radius: 12px; }
.jk-ico--48 { width: 48px; height: 48px; border-radius: 14px; }
.jk-ico--52 { width: 52px; height: 52px; border-radius: 14px; background: var(--jk-green); color: var(--jk-white); }
.jk-ico--dark { background: var(--jk-green); color: var(--jk-white); }

/* ---------- przyciski ---------- */

.jk-btn {
	display: inline-block; border-radius: 999px; font-size: 16px; font-weight: 500; line-height: normal;
	white-space: nowrap; text-align: center; cursor: pointer;
	transition: background .25s var(--jk-ease), color .25s var(--jk-ease), transform .15s var(--jk-ease);
}
.jk-btn:active { transform: scale(.98); }
.jk-btn--dark { background: var(--jk-ink); color: var(--jk-white); }
.jk-btn--dark:hover { background: var(--jk-green); color: var(--jk-white); }
.jk-btn--sm { padding: 11px 20px; }
.jk-btn--green { background: var(--jk-green); color: var(--jk-white); padding: 16px 28px; }
.jk-btn--green:hover { background: var(--jk-ink); color: var(--jk-white); }
.jk-btn--outline { border: 1.5px solid var(--jk-ink); color: var(--jk-ink); padding: 14.5px 26px; }
.jk-btn--outline:hover { background: var(--jk-ink); color: var(--jk-white); }

/* ---------- nagłówek ---------- */

.jk-header {
	position: sticky; top: 0; z-index: 10;
	background: rgba(247, 246, 242, .9);
	-webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
	border-bottom: 1px solid var(--jk-line);
}
.admin-bar .jk-header { top: 32px; }
.jk-header__bar {
	max-width: 1240px; margin: 0 auto; padding: 0 24px; height: var(--jk-header);
	display: flex; align-items: center; justify-content: space-between; gap: 24px;
}
.jk-header__logo { display: flex; align-items: center; flex-shrink: 0; }
.jk-header__logo img { height: 60px; width: auto; display: block; }
.jk-header__name { font-family: var(--jk-serif); font-size: 22px; color: var(--jk-ink); }
.jk-nav {
	flex: 1 1 auto; min-width: 0; display: flex; gap: 24px; justify-content: safe center;
	font-size: 16px; font-weight: 500; white-space: nowrap; overflow-x: auto; scrollbar-width: none;
}
.jk-nav::-webkit-scrollbar { display: none; }
.jk-nav a { color: var(--jk-ink); transition: color .2s; }
.jk-nav a:hover { color: var(--jk-green); }

/* ---------- ekran powitalny ---------- */

.jk-loader {
	position: fixed; inset: 0; z-index: 100; background: var(--jk-bg);
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; cursor: pointer;
	transition: opacity .8s var(--jk-ease), transform .9s var(--jk-ease);
}
html.jk-noloader .jk-loader, html.jk-safe .jk-loader, html:not(.jk-js) .jk-loader { display: none; }
.jk-loader.is-out { opacity: 0; transform: translateY(-2%); pointer-events: none; }
.jk-loader__canvas { width: min(480px, 82vw, 55vh); height: min(480px, 82vw, 55vh); display: block; }
.jk-loader__logo {
	height: clamp(96px, 14vh, 140px); width: auto; opacity: 0; transform: translateY(14px); filter: blur(4px);
	transition: opacity .9s var(--jk-ease), transform .9s var(--jk-ease), filter .9s var(--jk-ease);
}
.jk-loader__text {
	margin: 6px 0 0; padding: 0 24px; text-align: center;
	font-family: var(--jk-serif); font-size: clamp(22px, 2.4vw, 28px); font-weight: 500; color: var(--jk-green);
	opacity: 0; transform: translateY(14px);
	transition: opacity .9s var(--jk-ease), transform .9s var(--jk-ease);
}
.jk-loader .is-shown { opacity: 1; transform: none; filter: none; }

/* ---------- hero ---------- */

.jk-hero {
	position: relative; max-width: 1240px; margin: 0 auto; padding: 64px 24px 72px;
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr)); gap: 40px; align-items: center;
}
.jk-hero__bg {
	position: absolute; top: 0; bottom: 0; left: 50%; width: 100vw; height: 100%; transform: translateX(-50%);
	pointer-events: none; z-index: 0; display: block;
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 15%, #000 85%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0%, #000 15%, #000 85%, transparent 100%);
}
.jk-hero__text { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 28px; }
.jk-hero__title {
	margin: 0; padding-bottom: 4px; font-family: var(--jk-serif); font-weight: 500;
	font-size: clamp(40px, 6vw, 72px); line-height: 1.02; letter-spacing: -.015em;
}
.jk-hero__title span { color: var(--jk-green); }
.jk-hero__lead { margin: 0; font-size: 16px; line-height: 1.55; color: var(--jk-muted); max-width: 30ch; text-wrap: pretty; }
.jk-hero__actions { display: flex; gap: 12px; flex-wrap: wrap; }
.jk-hero__visual {
	position: relative; z-index: 1; aspect-ratio: 1 / 1; width: 100%; max-width: min(640px, 100%); justify-self: center;
}
.jk-hero__visual canvas { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; display: block; }

/* ---------- wyróżniki ---------- */

.jk-facts {
	border-top: 1px solid var(--jk-line-2); padding: 32px 0 8px;
	display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 28px;
}
.jk-fact { display: flex; flex-direction: column; gap: 6px; }
.jk-fact .jk-ico { margin-bottom: 10px; }
.jk-fact__title { font-family: var(--jk-serif); font-size: 20px; font-weight: 500; }
.jk-fact__text { font-size: 16px; line-height: 1.5; color: var(--jk-muted); }

/* ---------- metoda ---------- */

.jk-method { padding-top: 120px; padding-bottom: 112px; }
.jk-method .jk-h2 { margin-bottom: 20px; }
.jk-method__lead { margin-bottom: 56px; }
.jk-method__grid { display: flex; flex-wrap: wrap; gap: 20px; align-items: stretch; }
.jk-method__media {
	flex: 1.2 1 420px; min-width: 0; aspect-ratio: 1 / 1; max-height: 620px;
	background: var(--jk-white); border: 1px solid var(--jk-line); border-radius: 20px; overflow: hidden;
}
.jk-method__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.jk-method__cards { flex: 1 1 320px; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.jk-mcard { flex: 1; border-radius: 20px; padding: 28px; display: flex; flex-direction: column; gap: 10px; }
.jk-mcard__title { font-size: 16px; font-weight: 500; color: var(--jk-green); }
.jk-mcard p { margin: 0; font-size: 16px; line-height: 1.6; color: var(--jk-body); }
.jk-mcard--1 { background: var(--jk-green); }
.jk-mcard--1 .jk-mcard__title { color: #D3DDD7; }
.jk-mcard--1 p { color: #EDF2EF; }
.jk-mcard--2 { background: var(--jk-white); border: 1px solid var(--jk-line); }
.jk-mcard--3 { background: var(--jk-mint); }

/* ---------- dla kogo ---------- */

.jk-band { background: var(--jk-white); border-top: 1px solid var(--jk-line); border-bottom: 1px solid var(--jk-line); }
.jk-band--top { border-bottom: 0; }
.jk-for { padding-top: 112px; padding-bottom: 112px; }
.jk-for__title { margin-bottom: 16px; }
.jk-for__lead { margin-bottom: 48px; }
.jk-for__groups { display: flex; flex-wrap: wrap; gap: 20px; }
.jk-group {
	flex: 1 1 440px; min-width: 0; border-radius: 24px; padding: clamp(28px, 4vw, 48px);
	display: flex; flex-direction: column; gap: 28px;
}
.jk-group--1 { background: var(--jk-bg); }
.jk-group--2 { background: var(--jk-mint); }
.jk-group__head { display: flex; flex-direction: column; gap: 16px; }
.jk-group__head p { margin: 0; font-size: 16px; line-height: 1.6; color: var(--jk-muted); max-width: 44ch; text-wrap: pretty; }
.jk-group__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.jk-group__list li {
	display: flex; align-items: center; gap: 14px; background: var(--jk-white); border-radius: 14px;
	padding: 14px 18px; font-size: 16px; line-height: 1.4;
}
.jk-tick {
	width: 26px; height: 26px; border-radius: 999px; background: var(--jk-mint); color: var(--jk-green);
	display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}

/* ---------- przebieg ---------- */

.jk-steps { padding-top: 120px; padding-bottom: 120px; }
.jk-steps .jk-h2 { margin-bottom: 20px; text-wrap: wrap; }
.jk-steps__lead { margin-bottom: 56px; max-width: 56ch; }
.jk-steps__grid {
	list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 32px;
}
.jk-step { border-top: 2px solid var(--jk-ink); padding-top: 24px; display: flex; flex-direction: column; gap: 12px; }
.jk-step__n {
	width: 40px; height: 40px; border-radius: 999px; background: var(--jk-green); color: var(--jk-white);
	display: flex; align-items: center; justify-content: center; font-size: 16px; font-weight: 500; margin-bottom: 4px;
}
.jk-step .jk-h4 { letter-spacing: -.01em; }
.jk-step p { margin: 0; font-size: 16px; line-height: 1.6; color: var(--jk-muted); text-wrap: pretty; }

/* ---------- o mnie ---------- */

.jk-about { padding-bottom: 120px; }
.jk-about__grid {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 400px), 1fr)); gap: 64px; align-items: center;
}
.jk-about__photo { aspect-ratio: 4 / 5; max-height: 600px; width: 100%; border-radius: 20px; overflow: hidden; }
.jk-about__photo img {
	width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 20px;
	transform: scale(1.04); transition: transform .2s linear;
}
.jk-about__text { display: flex; flex-direction: column; gap: 28px; }
.jk-about__lead { margin: 0; font-size: 16px; line-height: 1.6; color: var(--jk-body); max-width: 46ch; text-wrap: pretty; }
.jk-about__perks { display: flex; flex-direction: column; gap: 12px; }
.jk-perk {
	background: var(--jk-white); border: 1px solid var(--jk-line); border-radius: 20px; padding: 24px;
	display: flex; gap: 18px; align-items: flex-start;
}
.jk-perk__body { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.jk-perk__body p { margin: 0; font-size: 16px; line-height: 1.55; color: var(--jk-muted); }

/* ---------- FAQ ---------- */

.jk-faq { padding-top: 112px; padding-bottom: 112px; display: flex; flex-wrap: wrap; gap: 48px; align-items: flex-start; }
.jk-faq__title { flex: 1 1 280px; max-width: 10ch; text-wrap: wrap; }
.jk-faq__list { flex: 2 1 560px; min-width: 0; display: flex; flex-direction: column; }
.jk-qa { border-bottom: 1px solid var(--jk-line); }
.jk-qa__q {
	width: 100%; background: none; border: 0; padding: 24px 0; margin: 0;
	display: flex; justify-content: space-between; align-items: center; gap: 24px; text-align: left; cursor: pointer;
	font-family: var(--jk-serif); font-size: 20px; font-weight: 500; line-height: normal; color: var(--jk-ink);
}
.jk-qa__sign {
	width: 36px; height: 36px; border-radius: 999px; background: #EEEEE8; color: var(--jk-green);
	display: flex; align-items: center; justify-content: center; font-size: 20px; flex-shrink: 0;
	font-family: var(--jk-sans);
}
.jk-qa__a p {
	margin: 0; padding: 0 60px 28px 0; font-size: 16px; line-height: 1.65; color: var(--jk-muted);
	max-width: 68ch; text-wrap: pretty;
}

/* ---------- kontakt ---------- */

.jk-contact { border-top: 1px solid var(--jk-line); }
.jk-contact__inner {
	padding-top: 112px; padding-bottom: 112px;
	display: flex; flex-wrap: wrap; gap: clamp(32px, 5vw, 64px); align-items: flex-start;
}
.jk-contact__main { flex: 1.2 1 440px; min-width: 0; display: flex; flex-direction: column; gap: 32px; }
.jk-contact__head { display: flex; flex-direction: column; gap: 16px; }
.jk-contact__lead { max-width: 52ch; }
.jk-contact__lead a { color: var(--jk-green); font-weight: 500; }
.jk-contact__lead a:hover { color: var(--jk-ink); }
.jk-thanks { background: var(--jk-mint); border-radius: 20px; padding: 32px; display: flex; flex-direction: column; gap: 8px; outline: 0; }
.jk-thanks[hidden] { display: none; }
.jk-thanks p { margin: 0; font-size: 16px; line-height: 1.6; color: var(--jk-body); }

.jk-card-contact {
	flex: 1 1 380px; min-width: 0; align-self: flex-start;
	background: var(--jk-white); border: 1px solid var(--jk-line); border-radius: 20px; padding: 12px;
	display: flex; flex-direction: column;
}
.jk-card-contact iframe { width: 100%; height: 260px; border: 0; border-radius: 12px; display: block; filter: grayscale(.5); }
.jk-card-contact__list { padding: 8px 16px 4px; display: flex; flex-direction: column; }
.jk-crow {
	display: flex; align-items: center; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--jk-line);
	color: var(--jk-ink); transition: color .2s;
}
.jk-crow:last-child { border-bottom: 0; }
.jk-crow:hover { color: var(--jk-green); }
.jk-crow__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.jk-crow__label { font-size: 16px; font-weight: 500; color: var(--jk-muted); }
.jk-crow__value { font-size: 16px; font-weight: 500; word-break: break-word; }

/* ---------- formularz (Contact Form 7) ---------- */

.jk-contact__form .wpcf7 { margin: 0; }
.jk-contact__form .screen-reader-response { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.jk-contact__form .hidden-fields-container, .jk-contact__form fieldset.hidden-fields-container { display: none; border: 0; padding: 0; margin: 0; }
.jk-form { display: flex; flex-direction: column; gap: 20px; }
.jk-form__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 16px; }
.jk-field { display: flex; flex-direction: column; gap: 8px; font-size: 16px; font-weight: 500; position: relative; }
.jk-field .wpcf7-form-control-wrap { display: block; position: relative; }
.jk-form input[type="text"], .jk-form input[type="tel"], .jk-form input[type="email"], .jk-form select, .jk-form textarea {
	width: 100%; background: var(--jk-white); border: 1px solid var(--jk-line-2); border-radius: 12px;
	padding: 14px 16px; font-family: var(--jk-sans); font-size: 16px; font-weight: 400; line-height: normal;
	color: var(--jk-ink); outline: none; margin: 0; transition: border-color .2s;
}
.jk-form input::placeholder, .jk-form textarea::placeholder { color: #75777B; opacity: 1; }
.jk-form input:focus, .jk-form select:focus, .jk-form textarea:focus { border-color: var(--jk-green); }
.jk-form textarea { resize: vertical; display: block; min-height: 0; }
.jk-form select { appearance: none; -webkit-appearance: none; padding-right: 48px; cursor: pointer; }
.jk-field--select > svg { position: absolute; right: 16px; bottom: 16px; color: var(--jk-green); pointer-events: none; }
.jk-form .wpcf7-not-valid { border-color: #C2410C; }
.jk-form .wpcf7-not-valid-tip { display: block; margin-top: 6px; font-size: 14px; font-weight: 400; color: #9A3412; }
.jk-field--select .wpcf7-not-valid-tip { margin-bottom: -28px; }

.jk-form .wpcf7-acceptance { display: block; }
.jk-form .wpcf7-acceptance .wpcf7-list-item { display: block; margin: 0; }
.jk-form .wpcf7-acceptance label {
	display: flex; gap: 12px; align-items: flex-start; cursor: pointer;
	font-size: 16px; font-weight: 400; line-height: 1.55; color: var(--jk-muted);
}
.jk-form .wpcf7-acceptance input {
	width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--jk-green); flex-shrink: 0; cursor: pointer;
}
.jk-form .wpcf7-acceptance a { color: var(--jk-green); text-decoration: underline; }
.jk-form .wpcf7-acceptance a:hover { color: var(--jk-ink); }

.jk-form__foot { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; position: relative; }
.jk-form__foot > span { font-size: 16px; color: var(--jk-muted); }
.jk-form .wpcf7-submit {
	cursor: pointer; border: 0; background: var(--jk-green); color: var(--jk-white);
	padding: 16px 28px; border-radius: 999px; font-family: var(--jk-sans); font-size: 16px; font-weight: 500; line-height: normal;
	transition: background .25s var(--jk-ease), transform .15s var(--jk-ease);
}
.jk-form .wpcf7-submit:hover { background: var(--jk-ink); }
.jk-form .wpcf7-submit:active { transform: scale(.98); }
.jk-form .wpcf7-submit:disabled { opacity: .6; cursor: wait; }
.jk-form .wpcf7-spinner {
	display: none; width: 22px; height: 22px; margin: 0; border-radius: 50%;
	border: 2px solid var(--jk-mint); border-top-color: var(--jk-green); animation: jk-spin .8s linear infinite;
}
.jk-form.submitting .wpcf7-spinner { display: inline-block; }
@keyframes jk-spin { to { transform: rotate(360deg); } }

.jk-form .wpcf7-response-output {
	margin: 0; border: 1px solid #C2410C; background: #FFF4ED; color: #9A3412;
	border-radius: 12px; padding: 12px 16px; font-size: 16px;
}
.jk-form.init .wpcf7-response-output, .jk-form.resetting .wpcf7-response-output, .jk-form.submitting .wpcf7-response-output { display: none; }
.jk-form.sent .wpcf7-response-output { display: none; }
.jk-form .wpcf7-response-output:empty { display: none; }

/* ---------- stopka ---------- */

.jk-footer {
	max-width: 1240px; margin: 0 auto; padding: 32px 24px;
	display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: 16px; color: var(--jk-muted);
}
.jk-footer--line { border-top: 1px solid var(--jk-line); }
.jk-footer__group { display: flex; gap: 24px; flex-wrap: wrap; }
.jk-footer a { color: var(--jk-muted); }
.jk-footer a:hover, .jk-footer a.is-current { color: var(--jk-green); }
.jk-footer__author { text-decoration: underline; }

/* ---------- podstrona tekstowa ---------- */

.jk-text { padding-top: 96px; padding-bottom: 120px; }
.jk-text__head {
	display: flex; flex-direction: column; gap: 16px; padding-bottom: 48px; margin-bottom: 56px;
	border-bottom: 1px solid var(--jk-line-2);
}
.jk-text__back { font-size: 16px; color: var(--jk-muted); align-self: flex-start; }
.jk-text__back:hover { color: var(--jk-green); }
.jk-text__title {
	margin: 0; font-family: var(--jk-serif); font-weight: 500;
	font-size: clamp(40px, 6vw, 72px); line-height: 1.02; letter-spacing: -.015em;
}
.jk-text__sub { margin: 0; font-size: 16px; color: var(--jk-muted); }
.jk-prose { font-size: 16px; line-height: 1.75; color: var(--jk-body); }
.jk-prose > :first-child { margin-top: 0; }
.jk-prose > :last-child { margin-bottom: 0; }
.jk-prose p { margin: 0 0 16px; text-wrap: pretty; }
.jk-prose h2 {
	margin: 32px 0 16px; font-family: var(--jk-serif); font-weight: 500;
	font-size: clamp(32px, 4.4vw, 48px); line-height: 1.1; letter-spacing: -.01em; color: var(--jk-ink);
}
.jk-prose h3 {
	margin: 8px 0 16px; font-family: var(--jk-serif); font-weight: 500;
	font-size: clamp(22px, 2.4vw, 28px); line-height: 1.2; color: var(--jk-ink);
}
.jk-prose ul, .jk-prose ol { margin: 0 0 16px; padding: 0 0 0 4px; list-style: none; display: flex; flex-direction: column; gap: 10px; }
.jk-prose li { position: relative; padding-left: 22px; }
.jk-prose ul li::before { content: "•"; position: absolute; left: 0; color: var(--jk-green); }
.jk-prose ol { counter-reset: jk; }
.jk-prose ol li { counter-increment: jk; padding-left: 28px; }
.jk-prose ol li::before { content: counter(jk) "."; position: absolute; left: 0; color: var(--jk-green); }
.jk-prose a { color: var(--jk-green); text-decoration: underline; }
.jk-prose a:hover { color: var(--jk-ink); }
.jk-prose img { border-radius: 12px; }

/* ---------- ruch: wejście sekcji, karty ---------- */

html.jk-js:not(.jk-safe) [data-rv] {
	opacity: 0; transform: translateY(40px); filter: blur(6px);
	transition: opacity 1s var(--jk-ease), transform 1.1s var(--jk-ease), filter 1s var(--jk-ease);
	transition-delay: var(--rv-d, 0ms);
	will-change: opacity, transform;
}
html.jk-js:not(.jk-safe) [data-rv="img"] { transform: scale(.94); }
html.jk-js:not(.jk-safe) [data-rv].is-in { opacity: 1; transform: none; filter: none; }

.jk-hover { transition: transform .4s var(--jk-ease), box-shadow .4s var(--jk-ease); }
@media (hover: hover) {
	.jk-hover:hover { transform: translateY(-4px); box-shadow: 0 16px 32px -16px rgba(61, 90, 76, .28); }
	.jk-hover:hover .jk-ico, .jk-hover:hover .jk-tick { transform: rotate(-6deg) scale(1.06); }
}
.jk-tick { transition: transform .5s var(--jk-ease); }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; }
	html.jk-js [data-rv] { opacity: 1 !important; transform: none !important; filter: none !important; }
}

/* ---------- telefon ---------- */

@media (max-width: 782px) {
	.admin-bar .jk-header { top: 46px; }
}
@media (max-width: 600px) {
	.admin-bar .jk-header { top: 0; }
}
@media (max-width: 720px) {
	:root { --jk-header: 114px; }
	.jk-header__bar { height: auto; flex-wrap: wrap; row-gap: 0; padding-top: 10px; }
	.jk-header__logo img { height: 52px; }
	.jk-nav {
		order: 3; flex: 1 1 100%; justify-content: flex-start; gap: 22px;
		margin: 0 -24px; padding: 14px 24px; border-top: 1px solid var(--jk-line);
	}
	.jk-qa__a p { padding-right: 0; }
}

/* ---------- podziękowanie i 404 (układ sekcji powitalnej) ---------- */

.jk-hero--simple { min-height: calc(100dvh - var(--jk-header) - 90px); }
.jk-hero__lead--wide { max-width: 44ch; }
.jk-hero__lead a { color: var(--jk-green); font-weight: 500; }
.jk-hero__lead a:hover { color: var(--jk-ink); }
