/*
 * Kurdish Central — main stylesheet.
 * Built from the Kurdish Central design (Claude Design) and its design system.
 * Mobile first: base rules follow the 390px artboards; the 1024px+ block follows the 1440px artboards.
 */

/* ---------- 1. Tokens ---------- */
:root {
	--kc-mountain: #288C42;
	--kc-central: #D10007;
	--kc-sun: #FFCD15;
	--kc-charcoal: #181715;
	--kc-snow: #FFFFFF;

	--kc-surface: #FBF8F1;
	--kc-raised: #FFFFFF;
	--kc-sunken: #F3EEE2;
	--kc-ink: #181715;
	--kc-ink-muted: #5C564C;
	--kc-border: #E3DCCB;
	--kc-border-strong: #8A8272;
	--kc-primary: #1F7536;
	--kc-primary-dark: #185E2B;
	--kc-highlight-soft: #FFF4C7;
	--kc-pattern: #E8DFC9;
	--kc-on-dark: #F5F1E8;
	--kc-on-dark-muted: #B5AE9F;
	--kc-on-dark-soft: #E6E0D2;
	--kc-dark-line: #34302A;
	--kc-dark-pill: #6F685C;

	--kc-sans: "Barlow", "Noto Sans Arabic", system-ui, -apple-system, "Segoe UI", sans-serif;
	--kc-display: "Barlow Condensed", "Noto Sans Arabic", "Arial Narrow", sans-serif;
	--kc-ku: "Noto Sans Arabic", "Barlow", Tahoma, sans-serif;

	--kc-shadow: 0 1px 2px rgba(24, 23, 21, 0.06), 0 4px 12px rgba(24, 23, 21, 0.06);
	--kc-shadow-pop: 0 1px 2px rgba(24, 23, 21, 0.06), 0 8px 24px rgba(24, 23, 21, 0.12);
	--kc-chamfer: polygon(6px 0, calc(100% - 6px) 0, 100% 6px, 100% calc(100% - 6px), calc(100% - 6px) 100%, 6px 100%, 0 calc(100% - 6px), 0 6px);
}

/* ---------- 2. Base ---------- */
*,
*::before,
*::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-padding-top: 24px; }

body {
	margin: 0;
	background: var(--kc-surface);
	color: var(--kc-ink);
	font-family: var(--kc-sans);
	font-size: 16px;
	line-height: normal;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

img,
video { max-width: 100%; height: auto; }

a { color: var(--kc-primary); text-underline-offset: 0.15em; }
a:hover { color: var(--kc-ink); }

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible { outline: 2px solid var(--kc-primary); outline-offset: 2px; }

button { font-family: inherit; }

[lang="ckb"],
:lang(ckb) { font-family: var(--kc-ku) !important; }

/* Sorani letters must join: never add letter spacing or case changes to Arabic script. */
[lang="ckb"],
:lang(ckb),
[dir="rtl"] { letter-spacing: 0 !important; text-transform: none !important; }

[hidden] { display: none !important; }

/* Sorani (Arabic script) reads right to left wherever it appears. */
[dir="rtl"] { text-align: right; }
[dir="rtl"].has-text-align-center,
.has-text-align-center [dir="rtl"] { text-align: center; }
span[dir="rtl"],
a[dir="rtl"],
em[dir="rtl"],
strong[dir="rtl"] { text-align: inherit; }
.kc-wotd__ku[dir="rtl"] { text-align: left; }
.kc-word__ku[dir="rtl"] { text-align: right; }
.kc-single__title[dir="rtl"] { margin-left: auto; }
.kc-prose :is(p, li, td, th, dt, dd, figcaption, h2, h3, h4)[lang="ckb"] { line-height: 1.75; }
.kc-prose :is(p, li, td, th, dt, dd, figcaption)[lang="ckb"] { font-size: 1.12em; }
.kc-prose span[lang="ckb"]:not([class]),
.kc-card__excerpt span[lang="ckb"]:not([class]) { font-size: 1.08em; }
.kc-prose li[dir="rtl"] { list-style-position: inside; }
.kc-prose [dir="rtl"] > ul,
.kc-prose [dir="rtl"] > ol,
.kc-prose ul[dir="rtl"],
.kc-prose ol[dir="rtl"] { padding-inline-start: 1.4em; }

.kc-main { display: block; outline: 0; }

.kc-wrap { width: min(1200px, 100% - 32px); margin-inline: auto; }

.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; width: 1px; margin: -1px; overflow: hidden; padding: 0;
	position: absolute !important; word-wrap: normal !important;
}
.screen-reader-text:focus {
	background: #fff; clip: auto !important; clip-path: none; color: var(--kc-ink);
	display: block; height: auto; width: auto; left: 8px; top: 8px; padding: 12px 16px; z-index: 100000;
}

.kc-skip {
	position: absolute; left: 8px; top: -100px; z-index: 200;
	padding: 12px 16px; background: var(--kc-ink); color: #fff; border-radius: 8px;
	font-weight: 600; text-decoration: none;
}
.kc-skip:focus { top: 8px; color: #fff; }

.kc-only-desktop,
.kc-only-desktop-flex { display: none !important; }

.kc-icon { flex-shrink: 0; }

/* ---------- 3. Buttons, tags, pills ---------- */
.kc-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 44px; padding: 0 20px;
	border: 0; border-radius: 8px;
	font-family: var(--kc-sans); font-size: 15px; font-weight: 600; line-height: 1.2;
	text-decoration: none; cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}
.kc-btn--primary { background: var(--kc-primary); color: #fff; }
.kc-btn--primary:hover,
.kc-btn--primary:focus-visible { background: var(--kc-primary-dark); color: #fff; }
.kc-btn--sun { background: var(--kc-sun); color: var(--kc-ink); }
.kc-btn--sun:hover,
.kc-btn--sun:focus-visible { background: #F2BE00; color: var(--kc-ink); }
.kc-btn--chamfer { border-radius: 0; clip-path: var(--kc-chamfer); }
.kc-btn--ghost-light { background: transparent; color: #fff; border: 2px solid var(--kc-on-dark); }
.kc-btn--ghost-light:hover,
.kc-btn--ghost-light:focus-visible { background: rgba(255, 255, 255, 0.1); color: #fff; }
.kc-btn--sm { min-height: 44px; padding: 0 18px; font-size: 15px; font-weight: 700; }
.kc-btn--md { min-height: 48px; font-size: 16px; }
.kc-btn--lg { min-height: 52px; font-size: 17px; }
.kc-btn--xl { min-height: 52px; padding: 0 24px; font-size: 17px; }
.kc-btn--sun.kc-btn--xl { font-weight: 700; padding: 0 30px; }
.kc-btn--block { display: flex; width: 100%; }

.kc-btn .kc-icon--pause { display: none; }
.is-playing .kc-icon--play { display: none; }
.is-playing .kc-icon--pause { display: block; }

.kc-tag {
	display: inline-block; padding: 2px 8px; border-radius: 4px;
	font-size: 12px; font-weight: 600; line-height: 20px; letter-spacing: 0.04em; text-transform: uppercase;
	text-decoration: none;
}
.kc-tag--accent { background: var(--kc-central); color: #fff; }
.kc-tag--dark { background: var(--kc-ink); color: #fff; padding: 2px 10px; line-height: 22px; }
.kc-tag--dark:hover { background: var(--kc-primary); color: #fff; }
.kc-tag--sand { background: var(--kc-sunken); color: var(--kc-ink); border: 1px solid var(--kc-border); padding: 2px 10px; }
.kc-tag--sand:hover { border-color: var(--kc-border-strong); color: var(--kc-ink); }

.kc-pill {
	display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px;
	border: 1px solid var(--kc-dark-pill); border-radius: 999px;
	font-size: 14px; font-weight: 600; text-decoration: none;
}
.kc-social { display: flex; flex-wrap: wrap; gap: 8px; }

.kc-chip {
	display: inline-flex; align-items: center; padding: 6px 12px;
	border: 1px solid var(--kc-border-strong); border-radius: 999px;
	color: var(--kc-ink); text-decoration: none; font-size: 15px; line-height: 20px;
}
.kc-chip:hover { border-color: var(--kc-primary); color: var(--kc-primary); }

/* ---------- 4. Patterns ---------- */
.kc-kilim { height: 22px; background: url("../img/kilim-band.svg") repeat-x center / 48px 22px; }
.kc-kilim--thin { height: 11px; background-size: 24px 11px; }

.kc-tile {
	background-color: var(--kc-surface);
	background-image: url("../img/kilim-tile-light.svg");
	background-size: 64px 64px;
}

.kc-night { position: relative; overflow: hidden; background-color: var(--kc-charcoal); color: #fff; }
.kc-night::before {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: url("../img/kilim-tile-white.svg") 0 0 / 64px 64px; opacity: 0.12;
}
.kc-night a:hover { color: var(--kc-sun); }
.kc-night a:focus-visible,
.kc-night button:focus-visible { outline-color: var(--kc-sun); }

/* Sun and mountains */
.kc-scene { position: absolute; inset: 0; pointer-events: none; }
.kc-scene__sun { position: absolute; border-radius: 50%; background: var(--kc-sun); }
.kc-scene__ridge,
.kc-scene__snow { position: absolute; left: 0; right: 0; bottom: 0; }
.kc-scene__ridge { background: var(--kc-mountain); }
.kc-scene__snow { background: #fff; }

/* ---------- 5. Header ---------- */
.kc-header { position: relative; z-index: 50; background: #fff; border-bottom: 1px solid var(--kc-border); }
.kc-header__bar { display: flex; align-items: center; gap: 12px; height: 64px; }

.kc-logo { display: flex; align-items: center; gap: 8px; flex-shrink: 0; text-decoration: none; }
.kc-logo img { display: block; width: auto; }
.kc-logo__symbol { height: 34px; }
.kc-logo__wordmark { height: 22px; }

.kc-nav,
.kc-header__cta { display: none; }

.kc-menu-btn,
.kc-menu-close {
	margin-left: auto; display: flex; align-items: center; gap: 8px;
	height: 44px; padding: 0 14px; border-radius: 8px;
	font-size: 15px; font-weight: 600; cursor: pointer;
}
.kc-menu-btn { background: var(--kc-charcoal); color: #fff; border: 0; }
.kc-menu-close { background: #fff; color: var(--kc-ink); border: 2px solid var(--kc-ink); }

/* Mobile menu panel */
.kc-mobile-menu {
	position: fixed; inset: 0; z-index: 1000;
	display: flex; flex-direction: column; overflow-y: auto;
	background: #fff;
}
.kc-mobile-menu__bar {
	display: flex; align-items: center; gap: 12px; height: 64px; flex-shrink: 0;
	width: min(1200px, 100% - 32px); margin-inline: auto;
}
.kc-mobile-menu > .kc-kilim--thin { flex-shrink: 0; border-bottom: 1px solid var(--kc-border); }
.kc-mobile-menu > .kc-kilim { flex-shrink: 0; }
.kc-mobile-menu__body {
	flex: 1 0 auto; display: flex; flex-direction: column;
	width: min(1200px, 100% - 32px); margin-inline: auto; padding-top: 8px;
}
.kc-mnav { display: flex; flex-direction: column; }
.kc-mnav__top {
	display: flex; align-items: center; justify-content: space-between; width: 100%;
	min-height: 60px; padding: 0; background: transparent;
	border: 0; border-bottom: 1px solid var(--kc-border);
	color: var(--kc-ink); text-decoration: none; text-align: left; cursor: pointer;
	font-family: var(--kc-display); font-size: 30px; font-weight: 700; text-transform: uppercase;
}
.kc-mnav__top .kc-icon { transition: transform 0.2s ease; }
.kc-mnav__group.is-open { border-bottom: 1px solid var(--kc-border); padding-bottom: 12px; }
.kc-mnav__group.is-open .kc-mnav__top { border-bottom: 0; color: var(--kc-primary); }
.kc-mnav__group.is-open .kc-icon { transform: rotate(180deg); }
.kc-mnav__sub { margin: 0; padding: 4px 0 0; list-style: none; display: flex; flex-direction: column; gap: 2px; }
.kc-mnav__sub a {
	display: flex; align-items: center; min-height: 48px; padding: 0 14px; border-radius: 8px;
	color: var(--kc-ink); text-decoration: none; font-size: 17px; font-weight: 500;
}
.kc-mnav__sub a:hover { background: var(--kc-sunken); }
.kc-mnav__sub a[aria-current="page"] { background: var(--kc-highlight-soft); font-weight: 700; }
.kc-mobile-menu__foot { margin-top: auto; padding: 24px 0 20px; display: flex; flex-direction: column; gap: 16px; }
.kc-mobile-menu__foot .kc-social { justify-content: center; }
.kc-mobile-menu__foot .kc-pill { border-color: var(--kc-border-strong); color: var(--kc-ink); padding: 0 14px; }
body.kc-menu-open { overflow: hidden; }

/* ---------- 6. Heroes ---------- */
.kc-hero__inner { position: relative; z-index: 1; }
.kc-hero__content { display: flex; flex-direction: column; }
.kc-hero__eyebrow {
	margin: 0; color: var(--kc-sun);
	font-size: 14px; font-weight: 600; line-height: 20px; letter-spacing: 0.08em; text-transform: uppercase;
}
.kc-hero__title {
	margin: 0; color: #fff;
	font-family: var(--kc-display); font-weight: 700; text-transform: uppercase; letter-spacing: 0.01em;
	overflow-wrap: anywhere;
}
.kc-hero__text { margin: 0; color: var(--kc-on-dark-soft); }
.kc-hero__facts {
	margin: 0; display: flex; flex-wrap: wrap; gap: 6px 8px;
	color: var(--kc-on-dark); font-size: 14px; font-weight: 600;
}
.kc-hero__search { padding-top: 8px; }

.kc-crumbs { display: flex; flex-wrap: wrap; gap: 8px; font-size: 14px; line-height: 20px; color: var(--kc-on-dark-muted); }
.kc-night .kc-crumbs a { color: var(--kc-on-dark-soft); }
.kc-night .kc-crumbs a:hover { color: var(--kc-sun); }
.kc-crumbs__current { color: #fff; }
.kc-hero .kc-crumbs__current,
.kc-hero .kc-crumbs__sep:has(+ .kc-crumbs__current) { display: none; }

/* Home hero (phones) */
.kc-hero--home { min-height: 640px; padding: 40px 0 190px; }
.kc-hero--home .kc-hero__content { gap: 14px; }
.kc-hero--home .kc-hero__title { font-size: 60px; line-height: 56px; letter-spacing: 0; }
.kc-hero--home .kc-hero__text { font-size: 17px; line-height: 27px; }
.kc-hero__actions { display: flex; flex-direction: column; gap: 12px; padding-top: 4px; width: 220px; max-width: 100%; }
.kc-hero__actions .kc-btn { width: 100%; }
.kc-scene--home .kc-scene__sun { right: -70px; top: 360px; width: 220px; height: 220px; }
.kc-scene--home .kc-scene__ridge,
.kc-scene--home .kc-scene__snow { height: 170px; }
.kc-scene--home .kc-scene__ridge { clip-path: polygon(0 100%, 0 62%, 18% 30%, 32% 58%, 52% 20%, 66% 52%, 82% 6%, 100% 48%, 100% 100%); }
.kc-scene--home .kc-scene__snow { clip-path: polygon(78.4% 17%, 82% 6%, 86% 17%, 84% 14.5%, 82.2% 20%, 80.2% 14.5%); }
.kc-scene--home .kc-scene__snow--2 { display: none; }

/* Page / lesson hero (phones) */
.kc-hero--page { min-height: 360px; padding: 28px 0 64px; }
.kc-hero--page .kc-hero__content { gap: 12px; }
.kc-hero--page .kc-hero__eyebrow { margin-top: 4px; }
.kc-hero--page .kc-hero__title { font-size: 52px; line-height: 50px; letter-spacing: 0; }
.kc-hero--page .kc-hero__text { font-size: 17px; line-height: 27px; max-width: 300px; }
.kc-scene--page .kc-scene__sun { right: 24px; top: 210px; width: 110px; height: 110px; }
.kc-scene--page .kc-scene__ridge { height: 90px; clip-path: polygon(0 100%, 0 60%, 20% 30%, 36% 62%, 56% 18%, 70% 52%, 84% 8%, 100% 46%, 100% 100%); }
.kc-scene--page .kc-scene__snow { display: none; }

/* Archive hero (phones) */
.kc-hero--archive { min-height: 270px; padding: 28px 0 64px; }
.kc-hero--archive .kc-hero__content { gap: 10px; }
.kc-hero--archive .kc-hero__title { margin-top: 4px; font-size: 60px; line-height: 58px; letter-spacing: 0; }
.kc-hero--archive .kc-hero__text { font-size: 16px; line-height: 25px; max-width: 250px; }
.kc-scene--archive .kc-scene__sun { right: 24px; top: 130px; width: 100px; height: 100px; }
.kc-scene--archive .kc-scene__ridge { height: 80px; clip-path: polygon(0 100%, 0 60%, 20% 30%, 36% 62%, 56% 18%, 70% 52%, 84% 8%, 100% 46%, 100% 100%); }
.kc-scene--archive .kc-scene__snow { display: none; }

/* ---------- 7. Section headings ---------- */
.kc-section { padding: 48px 0; }
.kc-section--flush { padding-top: 0; }
.kc-heading { display: flex; flex-direction: column; gap: 4px; }
.kc-eyebrow {
	margin: 0; color: var(--kc-primary);
	font-size: 14px; font-weight: 600; line-height: 20px; letter-spacing: 0.08em; text-transform: uppercase;
}
.kc-h2 {
	margin: 0; font-family: var(--kc-display); font-size: 42px; line-height: 44px; font-weight: 700;
	text-transform: uppercase;
}
.kc-h2--md { font-size: 32px; line-height: 36px; }
.kc-h3 {
	margin: 0; font-family: var(--kc-display); font-size: 32px; line-height: 36px; font-weight: 700;
	text-transform: uppercase;
}
.kc-lede { margin: 0; font-size: 16px; line-height: 26px; color: var(--kc-ink-muted); }

/* ---------- 8. Homepage: where to begin ---------- */
.kc-begin__grid { display: flex; flex-direction: column; gap: 20px; }
.kc-begin__intro { display: flex; flex-direction: column; gap: 20px; }

.kc-wotd {
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	padding: 20px; background: var(--kc-sun); color: var(--kc-ink); border-radius: 16px;
}
.kc-wotd__text { display: flex; flex-direction: column; min-width: 0; }
.kc-wotd__label { font-size: 12px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; }
.kc-wotd__ku { font-family: var(--kc-ku); font-size: 38px; line-height: 58px; font-weight: 700; text-align: left; }
.kc-wotd__en { font-size: 17px; line-height: 22px; }
.kc-wotd__play {
	width: 52px; height: 52px; flex-shrink: 0; padding: 0;
	display: flex; align-items: center; justify-content: center;
	border: 0; border-radius: 50%; background: var(--kc-charcoal); color: var(--kc-sun); cursor: pointer;
}
.kc-wotd__play:hover { background: #000; }
.kc-wotd__play:focus-visible { outline-color: var(--kc-ink); }
.kc-wotd__play .kc-icon--pause { display: none; }

.kc-steps { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; }
.kc-step { display: flex; gap: 16px; padding: 20px 0; border-top: 1px solid var(--kc-border); }
.kc-step:first-child { border-top: 2px solid var(--kc-ink); }
.kc-step:last-child { border-bottom: 1px solid var(--kc-border); }
.kc-step__num { width: 44px; flex-shrink: 0; font-family: var(--kc-display); font-size: 40px; line-height: 40px; font-weight: 700; color: var(--kc-mountain); }
.kc-step__body { display: flex; flex-direction: column; gap: 6px; }
.kc-step__title { margin: 0; font-family: var(--kc-display); font-size: 26px; line-height: 30px; font-weight: 600; }
.kc-step__text { margin: 0; font-size: 16px; line-height: 25px; }
.kc-step__link { font-size: 15px; font-weight: 600; line-height: 32px; align-self: flex-start; }

/* ---------- 9. Homepage: topics ---------- */
.kc-topics .kc-wrap { display: flex; flex-direction: column; gap: 20px; }
.kc-topics__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
.kc-topic {
	position: relative;
	display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: 16px;
	padding: 20px; border-radius: 16px;
}
.kc-topic > .kc-icon,
.kc-topic__list { display: none; }
.kc-topic__title {
	grid-column: 1; margin: 0;
	font-family: var(--kc-display); font-size: 32px; line-height: 34px; font-weight: 700; text-transform: uppercase;
}
.kc-topic__title a { color: inherit; text-decoration: none; }
.kc-topic__title a::after { content: ""; position: absolute; inset: 0; border-radius: 16px; }
.kc-topic__text { grid-column: 1; margin: 0; padding-top: 4px; font-size: 15px; line-height: 22px; }
.kc-topic__arrow { grid-column: 2; grid-row: 1 / span 2; display: flex; }
.kc-topic__list { margin: 0; padding: 16px 0 0; list-style: none; flex-direction: column; gap: 8px; border-top: 1px solid; font-size: 15px; font-weight: 600; }
.kc-topic__list a { color: inherit; }

.kc-topic--green { background: var(--kc-primary); color: #fff; }
.kc-topic--green .kc-topic__list { border-color: rgba(255, 255, 255, 0.4); }
.kc-topic--green a:hover { color: var(--kc-sun); }
.kc-topic--dark { background: var(--kc-charcoal); color: var(--kc-on-dark); }
.kc-topic--dark > .kc-icon,
.kc-topic--dark .kc-topic__arrow { color: var(--kc-sun); }
.kc-topic--dark .kc-topic__list { border-color: var(--kc-dark-line); }
.kc-topic--dark a:hover { color: var(--kc-sun); }
.kc-topic--sun { background: var(--kc-sun); color: var(--kc-ink); }
.kc-topic--sun .kc-topic__list { border-color: rgba(24, 23, 21, 0.3); }
.kc-topic--sun a:hover { color: var(--kc-primary); }
.kc-topic--light { background: #fff; color: var(--kc-ink); border: 2px solid var(--kc-ink); }
.kc-topic--light .kc-topic__text { color: var(--kc-ink-muted); }
.kc-topic--light > .kc-icon,
.kc-topic--light .kc-topic__arrow { color: var(--kc-primary); }
.kc-topic--light .kc-topic__list { border-color: var(--kc-border); }
.kc-topic--light .kc-topic__list a { color: var(--kc-primary); }
.kc-topic--light .kc-topic__list a:hover { color: var(--kc-ink); }
.kc-topic--light .kc-topic__title a:hover { color: var(--kc-primary); }
.kc-topic a:focus-visible { outline-color: currentColor; }

/* ---------- 10. Cards ---------- */
.kc-card {
	position: relative; display: flex; flex-direction: column; min-width: 0;
	background: #fff; border: 1px solid var(--kc-border); border-radius: 8px; overflow: hidden;
	transition: box-shadow 0.15s ease;
}
.kc-card:hover { box-shadow: var(--kc-shadow); }
.kc-media { display: block; position: relative; overflow: hidden; background: var(--kc-sunken); }
.kc-media__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.kc-media__ph {
	display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;
	background: var(--kc-surface) url("../img/kilim-tile-light.svg") 0 0 / 64px 64px;
}
.kc-media__ph img { width: 44px; height: auto; opacity: 0.45; }
.kc-card__media { flex-shrink: 0; height: 216px; }
.kc-card__body { display: flex; flex-direction: column; gap: 8px; padding: 20px 24px 24px; min-width: 0; }
.kc-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.kc-card__cat { font-size: 13px; font-weight: 600; line-height: 20px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--kc-primary); }
.kc-card__title { margin: 0; font-family: var(--kc-display); font-size: 26px; line-height: 30px; font-weight: 600; }
.kc-card__title a { color: var(--kc-ink); text-decoration: none; }
.kc-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.kc-card__title a:hover { color: var(--kc-primary); }
.kc-card__excerpt { margin: 0; font-size: 16px; line-height: 25px; color: var(--kc-ink-muted); }
.kc-card__date { font-size: 14px; color: var(--kc-ink-muted); }

/* Feature card (homepage, newest article) */
.kc-card--feature { border-radius: 16px; }
.kc-card--feature .kc-card__media { height: 210px; }
.kc-card--feature .kc-card__body { padding: 20px; gap: 8px; }
.kc-card--feature .kc-card__cat { font-size: 12px; }
.kc-card--feature .kc-card__title { font-size: 28px; line-height: 32px; }
.kc-card--feature .kc-card__date { font-size: 13px; }

/* Small horizontal card */
.kc-card--h,
.kc-related .kc-card { flex-direction: row; gap: 12px; padding: 12px; }
.kc-card--h .kc-card__media,
.kc-related .kc-card .kc-card__media { width: 104px; height: 88px; border-radius: 4px; }
.kc-card--h .kc-card__body,
.kc-related .kc-card .kc-card__body { padding: 0; gap: 4px; }
.kc-card--h .kc-card__cat,
.kc-related .kc-card .kc-card__cat { font-size: 12px; }
.kc-card--h .kc-card__title,
.kc-related .kc-card .kc-card__title { font-size: 20px; line-height: 24px; }
.kc-card--h .kc-card__date,
.kc-related .kc-card .kc-card__date { font-size: 13px; }
.kc-card--h .kc-card__excerpt { display: none; }
.kc-related .kc-media { background: var(--kc-pattern); }

/* ---------- 11. Homepage: latest + about ---------- */
.kc-latest { border-top: 1px solid var(--kc-border); }
.kc-latest .kc-wrap { display: flex; flex-direction: column; gap: 20px; }
.kc-latest__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; }
.kc-latest__grid,
.kc-latest__list { display: flex; flex-direction: column; gap: 20px; }

.kc-link-arrow { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: 16px; font-weight: 600; }
.kc-link-arrow--center { display: flex; justify-content: center; min-height: 48px; }

.kc-about { background: var(--kc-highlight-soft); }
.kc-about__grid { display: flex; flex-direction: column; gap: 16px; }
.kc-about__motto { display: flex; flex-direction: column; gap: 16px; }
.kc-about__quote { width: 44px; height: 32px; }
.kc-about__motto-text { margin: 0; font-family: var(--kc-display); font-size: 44px; line-height: 44px; font-weight: 700; text-transform: uppercase; }
.kc-about__credit { margin: 0; font-size: 16px; line-height: 24px; font-weight: 600; color: var(--kc-ink-muted); }
.kc-about__body { display: flex; flex-direction: column; gap: 16px; padding-top: 16px; border-top: 1px solid rgba(24, 23, 21, 0.2); }
.kc-about__text { margin: 0; font-size: 16px; line-height: 26px; }
.kc-about__org { display: flex; align-items: center; gap: 16px; }
.kc-about__org p { margin: 0; font-size: 15px; line-height: 22px; }
.kc-about__org a { font-weight: 600; line-height: 44px; }
.kc-about__logo { display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.kc-about__logo img { display: block; height: 56px; width: auto; max-width: none; }

/* ---------- 12. Footer ---------- */
.kc-footer { background: var(--kc-charcoal); color: var(--kc-on-dark); padding: 40px 0 32px; }
.kc-footer a { color: var(--kc-on-dark); }
.kc-footer a:hover { color: var(--kc-sun); }
.kc-footer a:focus-visible { outline-color: var(--kc-sun); }
.kc-footer__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 16px; }
.kc-footer__brand { grid-column: 1 / -1; display: flex; flex-direction: column; gap: 16px; margin-bottom: 4px; }
.kc-footer__logos { display: flex; align-items: center; gap: 20px; }
.kc-footer__logo { display: block; flex-shrink: 0; }
.kc-footer__logo img { display: block; height: 76px; width: auto; max-width: none; }
.kc-footer__logo--sil { padding-left: 20px; border-left: 1px solid var(--kc-dark-line); }
.kc-footer__logo--sil img { height: 64px; }
.kc-footer__tagline { margin: 0; font-size: 16px; line-height: 26px; }
.kc-footer__col { display: flex; flex-direction: column; gap: 4px; font-size: 15px; line-height: 20px; }
.kc-footer__col a { text-decoration: none; padding: 6px 0; }
.kc-footer__heading { margin: 0 0 4px; font-family: var(--kc-display); font-size: 22px; font-weight: 600; color: var(--kc-sun); }
.kc-footer__bottom {
	display: flex; flex-direction: column; gap: 8px;
	margin-top: 32px; padding-top: 20px; border-top: 1px solid var(--kc-dark-line);
	font-size: 14px; color: var(--kc-on-dark-muted);
}
.kc-footer__bottom-links { order: -1; display: flex; align-items: center; gap: 24px; }
.kc-footer__bottom a { line-height: 32px; }
.kc-footer__motto { display: none; }

/* ---------- 13. Article ---------- */
.kc-single__head { padding: 28px 0; }
.kc-single__head .kc-wrap { display: flex; flex-direction: column; gap: 14px; }
.kc-single__head .kc-crumbs { color: var(--kc-ink-muted); }
.kc-single__head .kc-crumbs > a:first-child,
.kc-single__head .kc-crumbs > a:first-child + .kc-crumbs__sep { display: none; }
.kc-single__cats { display: flex; flex-wrap: wrap; gap: 8px; }
.kc-single__title {
	margin: 0; font-family: var(--kc-display); font-size: 40px; line-height: 42px; font-weight: 700;
	text-transform: uppercase; overflow-wrap: anywhere;
}
.kc-byline { display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--kc-ink-muted); }
.kc-byline__text { display: flex; flex-direction: column; }
.kc-byline__text a { font-weight: 600; }
.kc-byline__sep { display: none; }

.kc-badge {
	display: flex; align-items: center; justify-content: center; flex-shrink: 0;
	border-radius: 50%; background: var(--kc-mountain); color: #fff;
	font-family: var(--kc-display); font-weight: 700; line-height: 1;
}
.kc-badge--md { width: 40px; height: 40px; font-size: 20px; }
.kc-badge--lg { width: 52px; height: 52px; font-size: 26px; }

.kc-single__media { margin: 0; }
.kc-single__img {
	display: block; width: 100%; height: 220px; object-fit: cover;
	border-radius: 16px; border: 1px solid var(--kc-border); background: var(--kc-sunken);
}

.kc-single__body {
	display: grid; grid-template-columns: minmax(0, 1fr);
	grid-template-areas: "content" "aside" "foot";
	gap: 20px; padding: 32px 0 40px;
}
.kc-single__content { grid-area: content; min-width: 0; }
.kc-single__aside { grid-area: aside; display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.kc-single__foot { grid-area: foot; display: flex; flex-direction: column; gap: 20px; min-width: 0; }

.kc-single__tags {
	display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
	padding-top: 20px; border-top: 1px solid var(--kc-border); font-size: 15px;
}
.kc-single__tags > span { font-weight: 600; color: var(--kc-ink-muted); }

.kc-author { display: flex; gap: 16px; padding: 20px; background: #fff; border: 1px solid var(--kc-border); border-radius: 16px; }
.kc-author__text { display: flex; flex-direction: column; gap: 2px; }
.kc-author__text p { margin: 0; }
.kc-author__label { font-size: 12px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--kc-ink-muted); }
.kc-author__name { font-size: 18px; font-weight: 700; }
.kc-author__bio { font-size: 15px; line-height: 23px; color: var(--kc-ink-muted); }

.kc-related { padding: 40px 0 48px; background: var(--kc-sunken); }
.kc-related .kc-wrap { display: flex; flex-direction: column; gap: 16px; }
.kc-related__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; }
.kc-related__head a { font-size: 16px; font-weight: 600; }
.kc-related__grid { display: flex; flex-direction: column; gap: 16px; }

/* ---------- 14. Content (articles and pages) ---------- */
.kc-prose { font-size: 18px; line-height: 30px; overflow-wrap: break-word; }
.kc-prose > * { margin-top: 0; margin-bottom: 0; }
.kc-prose > * + * { margin-top: 20px; }
.kc-single__content > p:first-child { font-size: 20px; line-height: 32px; font-weight: 500; }

.kc-prose h2,
.kc-prose h3,
.kc-prose h4,
.kc-prose h5,
.kc-prose h6 { font-family: var(--kc-display); color: var(--kc-ink); margin-bottom: 0; }
.kc-prose h2 { font-size: 30px; line-height: 34px; font-weight: 700; }
.kc-prose h3 { font-size: 24px; line-height: 28px; font-weight: 600; }
.kc-prose h4 { font-size: 20px; line-height: 24px; font-weight: 600; }
.kc-prose h5,
.kc-prose h6 { font-family: var(--kc-sans); font-size: 16px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; }
.kc-prose > h2 { margin-top: 32px; }
.kc-prose > h3 { margin-top: 28px; }
.kc-prose > :first-child { margin-top: 0; }

.kc-prose :where(li, blockquote, figure, td, th, div) > p { margin-top: 0; margin-bottom: 0; }
.kc-prose ul,
.kc-prose ol { padding-left: 0; padding-inline-start: 1.4em; }
.kc-prose li + li { margin-top: 8px; }
.kc-prose li > ul,
.kc-prose li > ol { margin-top: 8px; }
.kc-prose strong { font-weight: 700; }
.kc-prose em { font-style: italic; }
.kc-prose hr,
.kc-prose .wp-block-separator { border: 0; height: 1px; background: var(--kc-border); }

.kc-prose blockquote,
.kc-prose .wp-block-quote,
.kc-prose .wp-block-pullquote {
	margin-left: 0; margin-right: 0; padding: 24px;
	display: flex; flex-direction: column; gap: 10px;
	background: var(--kc-sun); color: var(--kc-ink); border: 0; border-radius: 16px; text-align: left;
}
.kc-prose > blockquote,
.kc-prose > .wp-block-quote,
.kc-prose > .wp-block-pullquote { margin-top: 28px; margin-bottom: 8px; }
.kc-prose .wp-block-pullquote blockquote { padding: 0; margin: 0; background: none; }
.kc-prose blockquote p,
.kc-prose .wp-block-pullquote p {
	margin: 0; font-family: var(--kc-display); font-size: 30px; line-height: 34px; font-weight: 700; font-style: normal;
}
.kc-prose blockquote p + p { margin-top: 10px; }
.kc-prose blockquote cite,
.kc-prose blockquote footer,
.kc-prose .wp-block-pullquote cite {
	display: block; font-family: var(--kc-sans); font-size: 14px; line-height: 20px; font-weight: 600; font-style: normal;
	text-transform: none; color: var(--kc-ink);
}
.kc-prose blockquote a { color: var(--kc-ink); }

.kc-prose figure { margin-left: 0; margin-right: 0; }
.kc-prose img { border-radius: 8px; }
.kc-prose figcaption,
.kc-prose .wp-element-caption,
.kc-prose .wp-caption-text { margin-top: 8px; font-size: 14px; line-height: 20px; color: var(--kc-ink-muted); text-align: center; }
.kc-prose .wp-block-image { margin-left: 0; margin-right: 0; }
.kc-prose .aligncenter { margin-left: auto; margin-right: auto; text-align: center; }
.kc-prose .alignleft { float: left; margin: 6px 24px 12px 0; }
.kc-prose .alignright { float: right; margin: 6px 0 12px 24px; }
.kc-prose .alignwide,
.kc-prose .alignfull { max-width: 100%; }
.kc-prose::after { content: ""; display: table; clear: both; }

.kc-prose table { width: 100%; border-collapse: collapse; font-size: 16px; line-height: 24px; background: #fff; }
.kc-prose th,
.kc-prose td { padding: 12px 16px; border: 1px solid var(--kc-border); text-align: start; vertical-align: middle; }
.kc-prose thead th,
.kc-prose th { background: var(--kc-sunken); font-weight: 600; }
.kc-prose .wp-block-table { overflow-x: auto; }
.kc-prose .wp-block-table figcaption { text-align: start; }

.kc-prose code,
.kc-prose kbd { padding: 2px 6px; background: var(--kc-sunken); border-radius: 4px; font-size: 0.9em; }
.kc-prose pre { padding: 16px 20px; background: var(--kc-sunken); border-radius: 8px; overflow-x: auto; font-size: 15px; line-height: 24px; }
.kc-prose pre code { padding: 0; background: none; }

.kc-prose .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; }
.kc-prose .wp-block-button__link,
.kc-prose .wp-element-button {
	display: inline-flex; align-items: center; min-height: 48px; padding: 0 20px;
	background: var(--kc-primary); color: #fff; border-radius: 8px;
	font-size: 16px; font-weight: 600; text-decoration: none;
}
.kc-prose .wp-block-button__link:hover { background: var(--kc-primary-dark); color: #fff; }
.kc-prose .is-style-outline .wp-block-button__link { background: transparent; color: var(--kc-ink); border: 2px solid var(--kc-border-strong); }

.kc-prose .wp-block-columns { gap: 24px; }
.kc-prose .wp-block-embed iframe,
.kc-prose iframe { max-width: 100%; }
.kc-prose .wp-block-embed__wrapper { position: relative; }
.kc-prose .wp-block-audio audio { width: 100%; }
.kc-prose .wp-block-footnotes { font-size: 15px; line-height: 24px; color: var(--kc-ink-muted); }
.kc-prose sup,
.kc-prose sub { line-height: 0; }
.kc-prose sup.fn a { text-decoration: none; font-weight: 600; }

.kc-prose .wp-block-latest-posts.is-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 16px; padding: 0; list-style: none; }
.kc-prose .wp-block-latest-posts.is-grid li { margin: 0; padding: 12px; background: #fff; border: 1px solid var(--kc-border); border-radius: 8px; width: auto; }
.kc-prose .wp-block-latest-posts__post-title { display: block; font-family: var(--kc-display); font-size: 20px; line-height: 24px; font-weight: 600; color: var(--kc-ink); text-decoration: none; }
.kc-prose .wp-block-latest-posts__featured-image img { border-radius: 4px; }
.kc-prose .wp-block-categories-list { padding-left: 1.2em; }

.kc-page-links { display: flex; gap: 8px; align-items: center; font-weight: 600; }

/* ---------- 15. Pages and lessons ---------- */
.kc-page__body { display: flex; flex-direction: column; gap: 32px; padding: 32px 0 48px; }
.kc-page__main { display: flex; flex-direction: column; gap: 32px; min-width: 0; }
.kc-page__aside { display: flex; flex-direction: column; gap: 20px; min-width: 0; }

.kc-listen { display: flex; flex-direction: column; gap: 14px; padding: 20px; background: var(--kc-highlight-soft); border-radius: 16px; }
.kc-listen__icon { display: none; }
.kc-listen__text { display: flex; flex-direction: column; gap: 2px; }
.kc-listen__text p { margin: 0; font-size: 16px; line-height: 25px; }
.kc-listen__text .kc-listen__title { font-size: 17px; font-weight: 700; line-height: normal; }
.kc-listen__btn { display: flex; width: 100%; }

/* Word rows */
.kc-prose > .kc-words { margin-top: 32px; }
.kc-prose > .kc-words:first-child { margin-top: 0; }
.kc-words { display: flex; flex-direction: column; gap: 10px; }
.kc-prose .kc-words__title,
.kc-words__title { margin: 0 0 4px; font-family: var(--kc-display); font-size: 30px; line-height: 34px; font-weight: 700; text-transform: uppercase; }
.kc-words__head { display: none; }
.kc-prose .kc-words__list,
.kc-words__list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.kc-prose .kc-words__list li + li { margin-top: 0; }
.kc-word {
	display: flex; align-items: center; gap: 12px;
	padding: 12px 16px; background: #fff; border: 1px solid var(--kc-border); border-radius: 8px;
	line-height: normal; transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.kc-word.is-playing { border-color: var(--kc-primary); box-shadow: inset 0 0 0 1px var(--kc-primary); }
.kc-word__play {
	width: 48px; height: 48px; flex-shrink: 0; padding: 0;
	display: flex; align-items: center; justify-content: center;
	border: 2px solid var(--kc-primary); border-radius: 50%; background: #fff; color: var(--kc-primary); cursor: pointer;
}
.kc-word__play:hover { background: var(--kc-highlight-soft); }
.kc-word.is-playing .kc-word__play { background: var(--kc-primary); color: #fff; }
.kc-word__play .kc-icon--pause { display: none; }
.kc-word__play--none { visibility: hidden; }
.kc-words:not(:has(.kc-word__play:not(.kc-word__play--none))) .kc-word__play--none { display: none; }
.kc-word { flex-wrap: wrap; }
.kc-word__en { flex: 1 1 120px; display: flex; flex-direction: column; min-width: 0; overflow-wrap: break-word; }
.kc-word__en-text { font-size: 18px; font-weight: 600; }
.kc-word__pron-m { font-size: 14px; color: var(--kc-ink-muted); }
.kc-word__pron-m em { color: var(--kc-ink); }
.kc-word__progress { display: none; align-items: center; gap: 8px; margin-top: 6px; }
.kc-word__track { width: 160px; max-width: 100%; height: 4px; border-radius: 2px; background: var(--kc-border); display: flex; overflow: hidden; }
.kc-word__fill { width: 0; height: 4px; border-radius: 2px; background: var(--kc-primary); }
.kc-word__time { font-size: 12px; color: var(--kc-ink-muted); white-space: nowrap; }
.kc-word__pron { display: none; }
.kc-word__ku { flex: 0 1 auto; min-width: 0; max-width: 100%; margin-left: auto; font-family: var(--kc-ku); font-size: 30px; line-height: 48px; font-weight: 700; text-align: right; overflow-wrap: break-word; }
/* Phrases and sentences: Sorani gets its own full-width line on phones. */
.kc-word--long .kc-word__ku { flex-basis: 100%; font-size: 24px; line-height: 40px; }
.kc-word audio { display: none; }

/* Previous / next */
.kc-pager { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.kc-pager__link { display: flex; flex-direction: column; gap: 4px; padding: 20px; border-radius: 8px; color: var(--kc-ink); text-decoration: none; }
.kc-pager__link--prev { display: none; border: 2px solid var(--kc-border-strong); }
.kc-pager__link--prev:hover { border-color: var(--kc-ink); color: var(--kc-ink); }
.kc-pager__link--next { background: var(--kc-charcoal); color: #fff; }
.kc-pager__link--next:hover { background: #000; color: #fff; }
.kc-pager__link--next:focus-visible { outline-color: var(--kc-primary); }
.kc-pager__label { font-size: 13px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--kc-ink-muted); }
.kc-pager__link--next .kc-pager__label { color: var(--kc-sun); }
.kc-pager__title { font-family: var(--kc-display); font-size: 26px; font-weight: 600; }

/* Side boxes */
.kc-box { display: flex; flex-direction: column; gap: 10px; padding: 20px; background: #fff; border: 1px solid var(--kc-border); border-radius: 16px; }
.kc-box p { margin: 0; font-size: 16px; line-height: 25px; }
.kc-box .kc-box__label,
.kc-box__label { margin: 0; font-family: var(--kc-sans); font-size: 13px; font-weight: 600; line-height: 1.3; letter-spacing: 0.08em; text-transform: uppercase; color: var(--kc-ink-muted); }
.kc-box .kc-box__heading,
.kc-box__heading { margin: 0; font-family: var(--kc-display); font-size: 26px; line-height: 28px; font-weight: 700; text-transform: uppercase; }
.kc-box__link { font-size: 15px; font-weight: 600; align-self: flex-start; }
.kc-box--outline { gap: 14px; padding: 24px 20px; border: 2px solid var(--kc-ink); }
.kc-box--outline .kc-btn { min-height: 48px; font-size: 16px; }
.kc-single__aside .kc-box--sun { display: none; }
.kc-box--sun { background: var(--kc-highlight-soft); border: 0; }
.kc-box--sun .kc-box__label { color: var(--kc-ink); }
.kc-box--green { gap: 12px; padding: 28px 24px; background: var(--kc-primary); color: #fff; border: 0; }
.kc-box--green .kc-box__heading { font-size: 30px; line-height: 32px; }
.kc-box--green .kc-btn { align-self: flex-start; }
.kc-box--green a:focus-visible { outline-color: var(--kc-sun); }
.kc-box ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.kc-box select,
.kc-box input[type="search"] { width: 100%; min-height: 44px; }

.kc-glance { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; font-size: 15px; line-height: 22px; }
.kc-glance div { display: flex; flex-direction: column; }
.kc-glance dt { font-size: 12px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--kc-ink-muted); }
.kc-glance dd { margin: 0; }
.kc-glance .is-strong { font-weight: 600; }

.kc-sectionnav { gap: 4px; }
.kc-sectionnav .kc-box__label { margin-bottom: 8px; }
.kc-sectionnav__link {
	display: flex; align-items: center; justify-content: space-between; gap: 8px;
	min-height: 44px; padding: 0 12px; border-radius: 8px;
	color: var(--kc-ink); text-decoration: none; font-size: 16px; font-weight: 400;
}
.kc-sectionnav__link:hover { background: var(--kc-sunken); color: var(--kc-ink); }
.kc-sectionnav__link.is-current { background: var(--kc-highlight-soft); font-weight: 700; }
.kc-sectionnav__here { display: none; font-size: 12px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--kc-ink-muted); white-space: nowrap; }

/* ---------- 16. Article lists ---------- */
.kc-listing { display: flex; flex-direction: column; gap: 20px; padding: 28px 0 48px; }
.kc-listing__bar { display: flex; flex-direction: column; gap: 20px; }
.kc-filters {
	display: flex; gap: 8px; overflow-x: auto; white-space: nowrap;
	margin: 0 -16px; padding: 0 16px; scrollbar-width: none;
}
.kc-filters::-webkit-scrollbar { display: none; }
.kc-filter {
	display: inline-flex; align-items: center; flex-shrink: 0; min-height: 44px; padding: 0 16px;
	border: 1px solid var(--kc-border-strong); border-radius: 999px;
	color: var(--kc-ink); text-decoration: none; font-size: 15px; font-weight: 600;
}
.kc-filter:hover { border-color: var(--kc-ink); color: var(--kc-ink); }
.kc-filter.is-current { background: var(--kc-ink); border-color: var(--kc-ink); color: #fff; }
.kc-listing__count { margin: 0; font-size: 14px; color: var(--kc-ink-muted); flex-shrink: 0; }

.kc-grid { display: flex; flex-direction: column; gap: 12px; }
.kc-grid .kc-card:first-child .kc-card__media { height: 190px; }
.kc-grid .kc-card:first-child .kc-card__body { padding: 16px; gap: 6px; }
.kc-grid .kc-card:first-child .kc-card__cat { font-size: 12px; }
.kc-grid .kc-card:first-child .kc-card__title { font-size: 24px; line-height: 28px; }
.kc-grid .kc-card:first-child .kc-card__date { font-size: 13px; }
.kc-grid .kc-card .kc-card__excerpt { display: none; }
.kc-grid .kc-card:not(:first-child) { flex-direction: row; gap: 12px; padding: 12px; }
.kc-grid .kc-card:not(:first-child) .kc-card__media { width: 104px; height: 88px; border-radius: 4px; }
.kc-grid .kc-card:not(:first-child) .kc-card__body { padding: 0; gap: 4px; }
.kc-grid .kc-card:not(:first-child) .kc-card__cat { font-size: 12px; }
.kc-grid .kc-card:not(:first-child) .kc-card__title { font-size: 20px; line-height: 24px; }
.kc-grid .kc-card:not(:first-child) .kc-card__date { font-size: 13px; }

.kc-pagination { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; padding-top: 8px; }
.kc-pagination .page-numbers {
	display: flex; align-items: center; justify-content: center; gap: 6px;
	min-width: 44px; height: 44px; padding: 0 12px;
	border: 1px solid var(--kc-border-strong); border-radius: 8px;
	color: var(--kc-ink); text-decoration: none; font-size: 16px; font-weight: 600;
}
.kc-pagination a.page-numbers:hover { border-color: var(--kc-ink); }
.kc-pagination .page-numbers.current { background: var(--kc-ink); border-color: var(--kc-ink); color: #fff; font-weight: 700; }
.kc-pagination .page-numbers.dots { border: 0; min-width: 0; padding: 0 4px; }
.kc-pagination .prev,
.kc-pagination .next { padding: 0 16px; }

.kc-empty { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 24px 0 48px; }
.kc-empty p { margin: 0; }

.kc-notfound { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }

/* Search form */
.kc-search { display: flex; gap: 8px; max-width: 560px; }
.kc-search__input {
	flex: 1 1 auto; min-width: 0; min-height: 48px; padding: 0 16px;
	background: #fff; color: var(--kc-ink); border: 1px solid var(--kc-border-strong); border-radius: 8px;
	font-family: var(--kc-sans); font-size: 16px;
}
.kc-search__btn { min-height: 48px; }

/* Comments */
.kc-comments { display: flex; flex-direction: column; gap: 16px; padding-top: 20px; border-top: 1px solid var(--kc-border); font-size: 16px; line-height: 25px; }
.kc-comments__title { margin: 0; font-family: var(--kc-display); font-size: 28px; line-height: 32px; font-weight: 700; text-transform: uppercase; }
.kc-comments__list,
.kc-comments__list .children { list-style: none; margin: 0; padding: 0; }
.kc-comments__list .children { padding-left: 24px; }
.kc-comments .comment-body { padding: 16px 20px; margin-bottom: 12px; background: #fff; border: 1px solid var(--kc-border); border-radius: 8px; }
.kc-comments .comment-meta { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: center; font-size: 14px; color: var(--kc-ink-muted); }
.kc-comments .avatar { border-radius: 50%; vertical-align: middle; margin-right: 8px; }
.kc-comments label { display: block; font-weight: 600; margin-bottom: 4px; }
.kc-comments input[type="text"],
.kc-comments input[type="email"],
.kc-comments input[type="url"],
.kc-comments textarea { width: 100%; padding: 10px 14px; border: 1px solid var(--kc-border-strong); border-radius: 8px; font: inherit; background: #fff; }

/* ---------- 17. Tablet (640px+) ---------- */
@media (min-width: 640px) {
	.kc-topics__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }

	.kc-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
	.kc-grid .kc-card:not(:first-child) { flex-direction: column; gap: 0; padding: 0; }
	.kc-grid .kc-card .kc-card__media,
	.kc-grid .kc-card:first-child .kc-card__media,
	.kc-grid .kc-card:not(:first-child) .kc-card__media { width: auto; height: 216px; border-radius: 0; }
	.kc-grid .kc-card .kc-card__body,
	.kc-grid .kc-card:first-child .kc-card__body,
	.kc-grid .kc-card:not(:first-child) .kc-card__body { padding: 20px 24px 24px; gap: 8px; }
	.kc-grid .kc-card .kc-card__cat,
	.kc-grid .kc-card:first-child .kc-card__cat,
	.kc-grid .kc-card:not(:first-child) .kc-card__cat { font-size: 13px; }
	.kc-grid .kc-card .kc-card__title,
	.kc-grid .kc-card:first-child .kc-card__title,
	.kc-grid .kc-card:not(:first-child) .kc-card__title { font-size: 26px; line-height: 30px; }
	.kc-grid .kc-card .kc-card__date,
	.kc-grid .kc-card:first-child .kc-card__date,
	.kc-grid .kc-card:not(:first-child) .kc-card__date { font-size: 14px; }
	.kc-grid .kc-card .kc-card__excerpt { display: block; }

	.kc-pager { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.kc-pager__link--prev { display: flex; padding: 20px 24px; }
	.kc-pager__link--next { grid-column: 2; padding: 20px 24px; text-align: right; }

	.kc-related__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- 18. Desktop (1024px+) — the 1440px artboards ---------- */
@media (min-width: 1024px) {
	.kc-wrap,
	.kc-mobile-menu__bar,
	.kc-mobile-menu__body { width: min(1200px, 100% - 96px); }

	.kc-only-mobile { display: none !important; }
	.kc-only-desktop { display: revert !important; }
	p.kc-only-desktop,
	span.kc-only-desktop { display: block !important; }
	.kc-byline span.kc-only-desktop,
	.kc-about__org span.kc-only-desktop { display: inline !important; }
	a.kc-only-desktop { display: inline-flex !important; }
	.kc-only-desktop-flex { display: flex !important; }

	/* Header */
	.kc-header__bar { height: 76px; gap: 32px; }
	.kc-logo { gap: 12px; }
	.kc-logo__symbol { height: 40px; }
	.kc-logo__wordmark { height: 32px; }
	.kc-menu-btn,
	.kc-mobile-menu { display: none !important; }
	.kc-header__cta { display: inline-flex; flex-shrink: 0; }

	.kc-nav { display: block; margin-left: auto; }
	.kc-nav__list { display: flex; align-items: center; gap: 4px; margin: 0; padding: 0; list-style: none; }
	.kc-nav__item { position: relative; }
	.kc-nav__link {
		display: flex; align-items: center; gap: 4px; padding: 10px 12px;
		background: transparent; border: 0; border-bottom: 3px solid transparent;
		color: var(--kc-ink); text-decoration: none; cursor: pointer;
		font-size: 16px; font-weight: 600; line-height: normal; white-space: nowrap;
	}
	.kc-nav__link:hover { color: var(--kc-primary); }
	.kc-nav__link.is-active { border-bottom-color: var(--kc-sun); }
	.kc-nav__link .kc-icon { transition: transform 0.2s ease; }
	.kc-nav__item.is-open > .kc-nav__toggle { background: var(--kc-sunken); border-radius: 4px 4px 0 0; border-bottom-color: var(--kc-sun); color: var(--kc-ink); }
	.kc-nav__item.is-open > .kc-nav__toggle .kc-icon { transform: rotate(180deg); }
	.kc-nav__sub {
		position: absolute; left: 0; top: calc(100% + 14px); z-index: 60;
		display: none; flex-direction: column; gap: 2px;
		width: 300px; padding: 12px;
		background: #fff; border: 1px solid var(--kc-border); border-radius: 8px; box-shadow: var(--kc-shadow-pop);
	}
	.kc-nav__sub::before { content: ""; position: absolute; left: 0; right: 0; top: -16px; height: 16px; }
	.kc-nav__item:last-child .kc-nav__sub { left: auto; right: 0; }
	.kc-nav__item.is-open > .kc-nav__sub { display: flex; }
	.kc-nav__sublink { display: flex; flex-direction: column; padding: 10px 14px; border-radius: 8px; color: var(--kc-ink); text-decoration: none; }
	.kc-nav__sublink:hover { background: var(--kc-sunken); color: var(--kc-ink); }
	.kc-nav__sublink.is-current { background: var(--kc-highlight-soft); }
	.kc-nav__subtitle { font-size: 16px; font-weight: 600; line-height: 24px; }
	.kc-nav__sublink.is-current .kc-nav__subtitle { font-weight: 700; }
	.kc-nav__subdesc { font-size: 14px; line-height: 20px; color: var(--kc-ink-muted); }

	/* Heroes */
	.kc-hero__eyebrow { font-size: 15px; }
	.kc-hero .kc-crumbs__current,
	.kc-hero .kc-crumbs__sep:has(+ .kc-crumbs__current) { display: inline; }

	.kc-hero--home { min-height: 568px; padding: 96px 0 30px; }
	.kc-hero--home .kc-hero__content { gap: 16px; max-width: min(700px, 55%); }
	.kc-hero--home .kc-hero__title { font-size: clamp(72px, 7.23vw, 104px); line-height: 0.923; letter-spacing: 0.01em; }
	.kc-hero--home .kc-hero__text { max-width: 560px; font-size: 19px; line-height: 30px; }
	.kc-hero__actions { flex-direction: row; flex-wrap: wrap; width: auto; padding-top: 8px; }
	.kc-hero__actions .kc-btn { width: auto; min-height: 54px; }
	.kc-scene--home .kc-scene__sun { right: 10.4%; top: 96px; width: min(400px, 27.8vw); height: min(400px, 27.8vw); }
	.kc-scene--home .kc-scene__ridge,
	.kc-scene--home .kc-scene__snow { height: 260px; }
	.kc-scene--home .kc-scene__ridge { clip-path: polygon(0 100%, 0 72%, 9% 44%, 17% 64%, 29% 30%, 40% 60%, 52% 42%, 63% 70%, 76% 8%, 88% 56%, 100% 34%, 100% 100%); }
	.kc-scene--home .kc-scene__snow { clip-path: polygon(72.4% 23%, 76% 8%, 80.2% 23%, 78.2% 20%, 76.4% 26%, 74.2% 20%); }
	.kc-scene--home .kc-scene__snow--2 { display: block; clip-path: polygon(26.5% 37%, 29% 30%, 31.8% 37%, 30.4% 35.5%, 29.2% 39%, 27.8% 35.5%); }

	.kc-hero--page { min-height: 340px; padding: 40px 0 56px; }
	.kc-hero--page .kc-hero__content { gap: 14px; max-width: min(680px, 60%); }
	.kc-hero--page .kc-hero__eyebrow { margin-top: 8px; }
	.kc-hero--page .kc-hero__title { font-size: 80px; line-height: 76px; letter-spacing: 0.01em; }
	.kc-hero--page .kc-hero__text { max-width: none; font-size: 19px; line-height: 30px; }
	.kc-hero--page .kc-hero__facts { gap: 16px; }
	.kc-scene--page .kc-scene__sun { right: 13.9%; top: 60px; width: min(200px, 14vw); height: min(200px, 14vw); }
	.kc-scene--page .kc-scene__ridge,
	.kc-scene--page .kc-scene__snow { left: auto; width: 50%; height: 170px; }
	.kc-scene--page .kc-scene__ridge { clip-path: polygon(0 100%, 12% 62%, 24% 80%, 44% 22%, 58% 60%, 70% 40%, 86% 72%, 100% 30%, 100% 100%); }
	.kc-scene--page .kc-scene__snow { display: block; clip-path: polygon(40.2% 34%, 44% 22%, 48.4% 34%, 46.4% 31%, 44.4% 37%, 42.2% 31%); }

	.kc-hero--archive { min-height: 300px; padding: 48px 0 56px; }
	.kc-hero--archive .kc-hero__content { gap: 14px; max-width: min(640px, 55%); }
	.kc-hero--archive .kc-hero__title { margin-top: 8px; font-size: 88px; line-height: 84px; letter-spacing: 0.01em; }
	.kc-hero--archive .kc-hero__text { max-width: none; font-size: 19px; line-height: 30px; }
	.kc-scene--archive .kc-scene__sun { right: 15.3%; top: 50px; width: min(180px, 12.5vw); height: min(180px, 12.5vw); }
	.kc-scene--archive .kc-scene__ridge,
	.kc-scene--archive .kc-scene__snow { left: auto; width: 48.6%; height: 150px; }
	.kc-scene--archive .kc-scene__ridge { clip-path: polygon(0 100%, 14% 60%, 26% 78%, 46% 20%, 60% 58%, 72% 38%, 86% 70%, 100% 28%, 100% 100%); }
	.kc-scene--archive .kc-scene__snow { display: block; clip-path: polygon(42% 32%, 46% 20%, 50.4% 32%, 48.4% 29%, 46.4% 35%, 44.2% 29%); }

	/* Section headings */
	.kc-section { padding: 96px 0; }
	.kc-section--flush { padding-top: 0; }
	.kc-heading { gap: 8px; }
	.kc-heading--sm { gap: 4px; }
	.kc-eyebrow { font-size: 15px; }
	.kc-h2 { font-size: 56px; line-height: 56px; }
	.kc-h2--md { font-size: 44px; line-height: 46px; }
	.kc-h3 { font-size: 38px; line-height: 42px; }
	.kc-lede { font-size: 18px; line-height: 30px; }

	/* Where to begin */
	.kc-begin__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 72px; }
	.kc-begin__intro { gap: 20px; }
	.kc-begin__intro .kc-heading { gap: 8px; }
	.kc-wotd { margin-top: 16px; padding: 24px; gap: 16px; }
	.kc-wotd__text { gap: 2px; }
	.kc-wotd__label { font-size: 13px; }
	.kc-wotd__ku { font-size: 48px; line-height: 72px; }
	.kc-wotd__en { font-size: 18px; line-height: 24px; }
	.kc-wotd__play { width: 60px; height: 60px; }
	.kc-step { gap: 24px; padding: 28px 0; }
	.kc-step__num { width: 72px; font-size: 56px; line-height: 56px; }
	.kc-step__body { gap: 8px; }
	.kc-step__title { font-size: 30px; line-height: 34px; }
	.kc-step__text { font-size: 17px; line-height: 27px; }
	.kc-step__link { line-height: normal; }

	/* Topics */
	.kc-topics .kc-wrap { gap: 40px; }
	.kc-topics__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
	.kc-topic { display: flex; flex-direction: column; align-items: stretch; gap: 16px; padding: 32px 28px; }
	.kc-topic > .kc-icon { display: block; }
	.kc-topic__list { display: flex; }
	.kc-topic__arrow { display: none; }
	.kc-topic__title { font-size: 38px; line-height: 40px; }
	.kc-topic__title a::after { display: none; }
	.kc-topic__text { padding-top: 0; font-size: 16px; line-height: 26px; }

	/* Cards */
	.kc-card--feature { border-radius: 16px; }
	.kc-card--feature .kc-card__media { height: 340px; }
	.kc-card--feature .kc-card__body { padding: 28px 32px 32px; gap: 12px; }
	.kc-card--feature .kc-card__cat,
	.kc-card--feature .kc-tag { font-size: 13px; }
	.kc-card--feature .kc-card__title { font-size: 36px; line-height: 40px; }
	.kc-card--feature .kc-card__excerpt { font-size: 17px; line-height: 27px; }
	.kc-card--feature .kc-card__date { font-size: 14px; }

	.kc-card--h { align-items: center; gap: 20px; padding: 16px; }
	.kc-card--h .kc-card__media { width: 144px; height: 108px; border-radius: 8px; }
	.kc-card--h .kc-card__body { gap: 6px; }
	.kc-card--h .kc-card__cat { font-size: 13px; }
	.kc-card--h .kc-card__title { font-size: 24px; line-height: 28px; }
	.kc-card--h .kc-card__date { font-size: 14px; }

	/* Latest + about */
	.kc-latest .kc-wrap { gap: 40px; }
	.kc-latest__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
	.kc-latest__list { gap: 16px; }

	.kc-about__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 72px; align-items: center; }
	.kc-about__quote { width: 56px; height: 40px; }
	.kc-about__motto-text { font-size: 64px; line-height: 64px; }
	.kc-about__credit { font-size: 17px; line-height: 26px; }
	.kc-about__body { padding-top: 0; border-top: 0; }
	.kc-about__text { font-size: 17px; line-height: 28px; }
	.kc-about__org { gap: 20px; padding-top: 8px; }
	.kc-about__org a { line-height: inherit; }
	.kc-about__logo img { height: 64px; }

	/* Footer */
	.kc-footer { padding: 56px 0 32px; }
	.kc-footer__grid { grid-template-columns: 1.6fr repeat(4, minmax(0, 1fr)); gap: 32px; }
	.kc-footer__brand { grid-column: auto; margin-bottom: 0; }
	.kc-footer__logo img { height: 88px; }
	.kc-footer__logo--sil img { height: 72px; }
	.kc-footer__col { gap: 10px; line-height: normal; }
	.kc-footer__col a { padding: 0; }
	.kc-footer__bottom { flex-direction: row; justify-content: space-between; align-items: center; margin-top: 40px; padding-top: 24px; }
	.kc-footer__bottom-links { order: 0; }
	.kc-footer__bottom a { line-height: normal; }
	.kc-footer__motto { display: inline; }

	/* Article */
	.kc-single__head { padding: 56px 0 48px; }
	.kc-single__head .kc-wrap { gap: 20px; }
	.kc-single__head .kc-crumbs > a:first-child,
	.kc-single__head .kc-crumbs > a:first-child + .kc-crumbs__sep { display: inline; }
	.kc-single__cats .kc-tag { font-size: 13px; }
	.kc-single__title { max-width: 1000px; font-size: 64px; line-height: 64px; }
	.kc-byline { gap: 12px; font-size: 15px; }
	.kc-byline__text { flex-direction: row; flex-wrap: wrap; gap: 12px; }
	.kc-byline__sep { display: inline; }
	.kc-badge--md { width: 44px; height: 44px; font-size: 22px; }
	.kc-badge--lg { width: 64px; height: 64px; font-size: 30px; }
	.kc-single__img { height: 500px; }

	.kc-single__body {
		grid-template-columns: minmax(0, 760px) minmax(0, 1fr);
		grid-template-areas: "content aside" "foot aside";
		grid-template-rows: auto 1fr;
		column-gap: 72px; row-gap: 24px; padding: 56px 0 88px; align-items: start;
	}
	.kc-single__aside { gap: 24px; }
	.kc-single__aside .kc-box--sun { display: flex; }
	.kc-single__foot { gap: 24px; }
	.kc-single__tags { padding-top: 24px; }
	.kc-chip { padding: 4px 12px; }
	.kc-author { gap: 20px; padding: 24px; }
	.kc-author__text { gap: 4px; }
	.kc-author__label { font-size: 13px; }
	.kc-author__name { font-size: 20px; }
	.kc-author__bio { font-size: 16px; line-height: 25px; }

	.kc-related { padding: 72px 0; }
	.kc-related .kc-wrap { gap: 32px; }
	.kc-related__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
	.kc-related .kc-card { flex-direction: column; gap: 0; padding: 0; }
	.kc-related .kc-card .kc-card__media { width: auto; height: 200px; border-radius: 0; }
	.kc-related .kc-card .kc-card__body { padding: 20px 24px 24px; gap: 8px; }
	.kc-related .kc-card .kc-card__cat { font-size: 13px; }
	.kc-related .kc-card .kc-card__title { font-size: 26px; line-height: 30px; }
	.kc-related .kc-card .kc-card__date { font-size: 14px; }

	/* Content */
	.kc-prose { font-size: 19px; line-height: 32px; }
	.kc-prose > * + * { margin-top: 24px; }
	.kc-single__content > p:first-child { font-size: 23px; line-height: 36px; }
	.kc-prose h2 { font-size: 36px; line-height: 40px; }
	.kc-prose h3 { font-size: 28px; line-height: 32px; }
	.kc-prose > h2 { margin-top: 40px; }
	.kc-prose > h3 { margin-top: 32px; }
	.kc-prose blockquote,
	.kc-prose .wp-block-quote,
	.kc-prose .wp-block-pullquote { padding: 32px 36px; gap: 12px; }
	.kc-prose > blockquote,
	.kc-prose > .wp-block-quote,
	.kc-prose > .wp-block-pullquote { margin-top: 40px; margin-bottom: 16px; }
	.kc-prose blockquote p,
	.kc-prose .wp-block-pullquote p { font-size: 40px; line-height: 44px; }
	.kc-prose blockquote cite,
	.kc-prose blockquote footer,
	.kc-prose .wp-block-pullquote cite { font-size: 15px; }

	/* Pages and lessons */
	.kc-page__body { flex-direction: row; align-items: flex-start; gap: 48px; padding: 64px 0 88px; }
	.kc-page__main { flex: 0 1 816px; gap: 48px; }
	.kc-page__aside { flex: 1 1 300px; min-width: 280px; gap: 24px; }
	.kc-page__content.kc-prose { font-size: 18px; line-height: 30px; }

	.kc-listen { flex-direction: row; align-items: center; gap: 24px; padding: 24px 28px; }
	.kc-listen__icon { display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; flex-shrink: 0; border-radius: 50%; background: var(--kc-sun); color: var(--kc-ink); }
	.kc-listen__text { flex: 1 1 auto; }
	.kc-listen__text .kc-listen__title { font-size: 18px; }
	.kc-listen__btn { width: auto; flex-shrink: 0; padding: 0 20px; }

	.kc-prose > .kc-words { margin-top: 48px; }
	.kc-prose > .kc-words:first-child { margin-top: 0; }
	.kc-words { gap: 12px; }
	.kc-prose .kc-words__title,
	.kc-words__title { font-size: 36px; line-height: 40px; }
	.kc-words__head {
		display: flex; gap: 24px; padding: 0 24px;
		font-size: 12px; font-weight: 600; line-height: normal; letter-spacing: 0.08em; text-transform: uppercase; color: var(--kc-ink-muted);
	}
	.kc-words__h-listen { width: 48px; flex-shrink: 0; }
	.kc-words__h-en { flex-grow: 1; }
	.kc-words__h-pron { width: 240px; flex-shrink: 0; }
	.kc-words__h-ku { width: 200px; flex-shrink: 0; text-align: right; }
	.kc-words--no-pron .kc-words__h-pron { display: none; }
	.kc-words:not(:has(.kc-word__play:not(.kc-word__play--none))) .kc-words__h-listen { display: none; }
	.kc-word { gap: 24px; padding: 14px 24px; }
	.kc-word__en-text { font-size: 21px; }
	.kc-word__pron-m { display: none; }
	.kc-word.is-playing .kc-word__progress { display: flex; }
	.kc-word__pron { display: flex; flex-direction: column; width: 240px; flex-shrink: 0; }
	.kc-word__pron em { font-size: 18px; }
	.kc-word__pron span { font-size: 14px; color: var(--kc-ink-muted); }
	.kc-words--no-pron .kc-word__pron { display: none; }
	.kc-word { flex-wrap: nowrap; }
	.kc-word__en { flex: 1 1 0; min-width: 120px; }
	.kc-word__ku { flex: 0 0 200px; width: 200px; margin-left: 0; font-size: 38px; line-height: 60px; }
	.kc-word--long .kc-word__ku { flex: 1 1 300px; width: auto; font-size: 30px; line-height: 48px; }

	.kc-box { padding: 24px; }
	.kc-box--outline { gap: 16px; padding: 28px; }
	.kc-box__heading { font-size: 28px; line-height: 30px; }
	.kc-glance { display: flex; flex-direction: column; gap: 12px; font-size: 16px; line-height: 24px; }
	.kc-glance div { padding-bottom: 12px; border-bottom: 1px solid var(--kc-border); }
	.kc-glance div:last-child { padding-bottom: 0; border-bottom: 0; }
	.kc-glance dt { font-size: 13px; }
	.kc-sectionnav__here { display: inline; }
	.kc-sectionnav__link { font-weight: 500; }

	/* Lists */
	.kc-listing { gap: 36px; padding: 48px 0 80px; }
	.kc-listing__bar { flex-direction: row; justify-content: space-between; align-items: center; gap: 24px; }
	.kc-filters { flex-wrap: wrap; overflow: visible; white-space: normal; margin: 0; padding: 0; }
	.kc-filter { min-height: 40px; }
	.kc-listing__count { font-size: 15px; }
	.kc-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 24px; }
}

@media (min-width: 1024px) and (hover: hover) {
	.kc-nav__item.has-sub:hover > .kc-nav__sub { display: flex; }
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

@media print {
	.kc-header,
	.kc-footer,
	.kc-kilim,
	.kc-scene,
	.kc-page__aside,
	.kc-single__aside,
	.kc-related { display: none !important; }
	.kc-night { background: none; color: #000; }
	.kc-hero__title { color: #000; }
}

/* Logged-in admin bar */
.admin-bar .kc-mobile-menu { top: 46px; }
@media (min-width: 783px) {
	.admin-bar .kc-mobile-menu { top: 32px; }
}
