/*
 * Vybe Kalanjiyam – brand layer for The7 (light, bilingual).
 *
 * Colours and sizes are CSS variables printed from the Customizer
 * (inc/styles.php): --kj-primary, --kj-accent, --kj-paper … and --kj-fs,
 * --kj-fs-menu, --kj-fs-small, --kj-fs-footer, --kj-h, --kj-lh.
 * Readers' text size (A− A A+) multiplies them through --kj-zoom.
 *
 * Language: <html> carries kj-lang-ta, kj-lang-en or kj-lang-both (set before
 * drawing). Bilingual texts are <span class="kj-t"> with a .kj-ta and a .kj-en
 * part; without the class (no JavaScript) both show.
 */

/* ---------- Variables ---------- */

:root {
	--kj-zoom: 1;
	--kj-white: #fff;
	--kj-wrap: 1240px;
	--kj-radius: 10px;
	--kj-shadow: 0 10px 28px -16px rgba(30, 20, 20, .34);
}
html.kj-zoom-90 { --kj-zoom: .9; }
html.kj-zoom-112 { --kj-zoom: 1.12; }
html.kj-zoom-125 { --kj-zoom: 1.25; }

body.kj {
	--kj-u: calc(var(--kj-fs, 17px) * var(--kj-zoom));
	--kj-u-menu: calc(var(--kj-fs-menu, 15.5px) * var(--kj-zoom));
	--kj-u-small: calc(var(--kj-fs-small, 13.5px) * var(--kj-zoom));
	--kj-u-footer: calc(var(--kj-fs-footer, 15px) * var(--kj-zoom));
	--kj-u-h: calc(var(--kj-u) * var(--kj-h, 1));
}

html { scroll-padding-top: 110px; }

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

body.kj {
	color: var(--kj-text);
	background: var(--kj-white);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
body.kj-content-fonts,
body.kj-content-fonts #page { font-family: var(--kj-font-body); }
body.kj-content-fonts h1, body.kj-content-fonts h2, body.kj-content-fonts h3, body.kj-content-fonts h4, body.kj-content-fonts h5, body.kj-content-fonts h6,
body.kj-content-fonts .elementor-heading-title { font-family: var(--kj-font-head); }
.kj-content-colours h1, .kj-content-colours h2, .kj-content-colours h3, .kj-content-colours h4 { color: var(--kj-ink); }
.kj #main a:not(.kj-btn):not(.elementor-button):not(.qsub-galley) { text-underline-offset: .18em; }
.kj :focus-visible { outline: 3px solid var(--kj-primary); outline-offset: 2px; border-radius: 3px; }
.kj ::selection { background: var(--kj-accent-light); color: var(--kj-ink); }
.kj-wrap { width: 100%; max-width: var(--kj-wrap); margin: 0 auto; padding: 0 24px; box-sizing: border-box; }
.kj .screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (max-width: 560px) { .kj-wrap { padding: 0 16px; } }

/* Tamil letters need room above and below. */
.kj :lang(ta) { line-height: inherit; }

/*
 * The7 lays #page out as a CSS grid with named areas for its own header, main
 * and footer. The journal header and footer printed by this theme are not in
 * those areas, so a plain block layout keeps everything in source order.
 */
body.kj-chrome #page { display: block !important; grid-template-areas: none !important; grid-template-columns: none !important; grid-template-rows: none !important; }
body.kj-chrome #page > .kj-footer { grid-area: auto; }
body.kj-chrome #page { background-color: var(--kj-white); }

/* ---------- Language (தமிழ் / த + EN / EN) ---------- */

html.kj-lang-ta .kj-en,
html.kj-lang-en .kj-ta { display: none !important; }

/* Both languages: inline "தமிழ் · English". */
html:not(.kj-lang-ta):not(.kj-lang-en) .kj-t > .kj-en::before { content: " · "; color: var(--kj-muted); font-weight: 400; }

/* Stacked: English on its own line, smaller and quieter. */
html:not(.kj-lang-ta):not(.kj-lang-en) .kj-t--stack > .kj-en,
html:not(.kj-lang-ta):not(.kj-lang-en) .kj-t--btn > .kj-en,
html:not(.kj-lang-ta):not(.kj-lang-en) .kj-t--title > .kj-en,
html:not(.kj-lang-ta):not(.kj-lang-en) .kj-t--block > .kj-en { display: block; }
html:not(.kj-lang-ta):not(.kj-lang-en) .kj-t--stack > .kj-en::before,
html:not(.kj-lang-ta):not(.kj-lang-en) .kj-t--btn > .kj-en::before,
html:not(.kj-lang-ta):not(.kj-lang-en) .kj-t--title > .kj-en::before,
html:not(.kj-lang-ta):not(.kj-lang-en) .kj-t--block > .kj-en::before { content: none; }
html:not(.kj-lang-ta):not(.kj-lang-en) .kj-t--stack > .kj-en {
	margin-top: .3em; font-family: var(--kj-sans); font-size: max(.58em, calc(var(--kj-u) * .76)); font-weight: 600; letter-spacing: .02em; line-height: 1.35; color: var(--kj-muted);
}
html:not(.kj-lang-ta):not(.kj-lang-en) .kj-t--btn > .kj-en { font-size: max(.74em, 11.5px); font-weight: 600; opacity: .9; line-height: 1.25; }
html:not(.kj-lang-ta):not(.kj-lang-en) .kj-t--btn > .kj-ta { display: block; line-height: 1.3; }
html:not(.kj-lang-ta):not(.kj-lang-en) .kj-t--block > .kj-ta { display: block; }
html:not(.kj-lang-ta):not(.kj-lang-en) .kj-t--block > .kj-en { margin-top: .45em; font-size: .92em; color: var(--kj-muted); }
html:not(.kj-lang-ta):not(.kj-lang-en) .kj-t--sub > .kj-en { display: block; margin-top: .05em; font-size: .86em; }
html:not(.kj-lang-ta):not(.kj-lang-en) .kj-t--sub > .kj-en::before { content: none; }
html:not(.kj-lang-ta):not(.kj-lang-en) .kj-t--title > .kj-en { margin-top: .35em; font-size: .8em; font-weight: 500; font-style: italic; color: var(--kj-muted); font-family: var(--kj-serif); }

/* The language switch. */
.kj-lang ul { display: flex; margin: 0; padding: 2px; list-style: none; border: 1px solid var(--kj-line); border-radius: 999px; background: var(--kj-white); }
.kj-lang li { margin: 0; }
.kj-lang a {
	transition: color .15s ease, background-color .15s ease;
	display: block; padding: 2px 10px; border-radius: 999px; font-weight: 700; font-size: 1em; line-height: 1.6;
	color: var(--kj-muted) !important; text-decoration: none !important; white-space: nowrap;
}
.kj-lang a:hover { color: var(--kj-primary) !important; }
html.kj-lang-ta .kj-lang a[data-lang="ta"],
html.kj-lang-en .kj-lang a[data-lang="en"],
html.kj-lang-both .kj-lang a[data-lang="both"] { background: var(--kj-primary); color: var(--kj-white) !important; }

/* Text size buttons. */
.kj-textsize { display: inline-flex; border: 1px solid var(--kj-line); border-radius: 999px; background: var(--kj-white); padding: 2px; }
.kj-textsize__btn {
	min-width: 30px; height: 26px; padding: 0 7px; border: 0; border-radius: 999px; background: none; cursor: pointer;
	font: 700 13px/1 var(--kj-sans); color: var(--kj-muted); font-size: max(12px, var(--kj-fs-small, 13.5px));
}
.kj-textsize__btn--down { font-size: max(11px, calc(var(--kj-fs-small, 13.5px) * .88)); }
.kj-textsize__btn--up { font-size: max(13px, calc(var(--kj-fs-small, 13.5px) * 1.14)); }
.kj-textsize__btn:hover { color: var(--kj-primary); background: var(--kj-primary-tint); }
.kj-textsize__btn[aria-pressed="true"] { background: var(--kj-primary-tint); color: var(--kj-primary); }

/* ---------- The7 colours, fonts and sizes ---------- */

/* Links, buttons, headings and accents in the scheme's colours instead of The7's (Customizer → Colours). */
body.kj-content-colours {
	--the7-links-color: var(--kj-primary);
	--the7-links-hover-color: var(--kj-primary-dark);
	--the7-accent-color: var(--kj-primary);
	--the7-accent-bg-color: var(--kj-primary);
	--the7-beautiful-spinner-color: var(--kj-primary);
}
#the7-body.kj-content-colours {
	--the7-title-color: var(--kj-ink);
	--the7-base-color: var(--kj-text);
	--the7-secondary-text-color: var(--kj-muted);
	--the7-divider-color: var(--kj-line);
	--the7-btn-bg: var(--kj-primary);
	--the7-btn-hover-bg: var(--kj-primary-dark);
	--the7-btn-bg-color: var(--kj-primary);
	--the7-btn-hover-bg-color: var(--kj-primary-dark);
	--the7-btn-border-color: var(--kj-primary);
	--the7-btn-border-hover-color: var(--kj-primary-dark);
	--the7-btn-color: #fff;
	--the7-btn-hover-color: #fff;
}

/* Fonts: Tamil and Latin from the theme's own files (The7's Roboto has no Tamil). */
#the7-body.kj-content-fonts {
	--the7-base-font-family: var(--kj-font-body);
	--the7-widget-content-font-family: var(--kj-font-body);
	--the7-woo-content-font-family: var(--kj-font-body);
	--the7-form-md-font-family: var(--kj-font-body);
	--the7-h1-font-family: var(--kj-font-head);
	--the7-h2-font-family: var(--kj-font-head);
	--the7-h3-font-family: var(--kj-font-head);
	--the7-h4-font-family: var(--kj-font-head);
	--the7-h5-font-family: var(--kj-font-head);
	--the7-h6-font-family: var(--kj-font-head);
	--the7-widget-title-font-family: var(--kj-font-head);
	--the7-woo-title-font-family: var(--kj-font-head);
	--the7-btn-s-font-family: var(--kj-font-body);
	--the7-btn-m-font-family: var(--kj-font-body);
	--the7-btn-l-font-family: var(--kj-font-body);
	--the7-btn-lg-font-family: var(--kj-font-body);
	--the7-btn-xl-font-family: var(--kj-font-body);
}

/* Sizes: from the Customizer (and the reader's A− A A+). */
#the7-body.kj-content-sizes {
	--kj-hm: 1;
	--the7-base-font-size: var(--kj-u);
	--the7-base-line-height: var(--kj-lh);
	--the7-text-big-font-size: calc(var(--kj-u) * 1.12);
	--the7-text-big-line-height: var(--kj-lh);
	--the7-text-small-font-size: calc(var(--kj-u) * .86);
	--the7-text-small-line-height: 1.6;
	--the7-widget-content-font-size: calc(var(--kj-u) * .94);
	--the7-widget-content-line-height: 1.65;
	--the7-widget-title-font-size: calc(var(--kj-u) * 1.06);
	--the7-widget-title-line-height: 1.4;
	--the7-woo-content-font-size: var(--kj-u);
	--the7-form-md-font-size: var(--kj-u);
	--the7-form-md-line-height: 1.5;
	--the7-h1-font-size: calc(var(--kj-u-h) * 2.2 * var(--kj-hm));
	--the7-h1-line-height: 1.3;
	--the7-h2-font-size: calc(var(--kj-u-h) * 1.75 * var(--kj-hm));
	--the7-h2-line-height: 1.32;
	--the7-h3-font-size: calc(var(--kj-u-h) * 1.42 * var(--kj-hm));
	--the7-h3-line-height: 1.36;
	--the7-h4-font-size: calc(var(--kj-u-h) * 1.22);
	--the7-h4-line-height: 1.4;
	--the7-h5-font-size: calc(var(--kj-u-h) * 1.08);
	--the7-h5-line-height: 1.45;
	--the7-h6-font-size: var(--kj-u-h);
	--the7-h6-line-height: 1.5;
}
@media (max-width: 778px) {
	#the7-body.kj-content-sizes { --kj-hm: .84; }
}
/* Buttons: The7 composes each button font at :root, so the composition is repeated here. */
#the7-body.kj-content-fonts {
	--the7-btn-s-font: var(--the7-btn-s-font-style, normal) normal var(--the7-btn-s-font-weight, normal) var(--the7-btn-s-font-size) / var(--the7-btn-s-line-height) var(--the7-btn-s-font-family);
	--the7-btn-m-font: var(--the7-btn-m-font-style, normal) normal var(--the7-btn-m-font-weight, normal) var(--the7-btn-m-font-size) / var(--the7-btn-m-line-height) var(--the7-btn-m-font-family);
	--the7-btn-l-font: var(--the7-btn-l-font-style, normal) normal var(--the7-btn-l-font-weight, normal) var(--the7-btn-l-font-size) / var(--the7-btn-l-line-height) var(--the7-btn-l-font-family);
	--the7-btn-lg-font: var(--the7-btn-lg-font-style, normal) normal var(--the7-btn-lg-font-weight, normal) var(--the7-btn-lg-font-size) / var(--the7-btn-lg-line-height) var(--the7-btn-lg-font-family);
	--the7-btn-xl-font: var(--the7-btn-xl-font-style, normal) normal var(--the7-btn-xl-font-weight, normal) var(--the7-btn-xl-font-size) / var(--the7-btn-xl-line-height) var(--the7-btn-xl-font-family);
}
/* Page text that The7 leaves to the browser. */
body.kj-content-sizes #main .entry-content,
body.kj-content-sizes #main .qsub-article,
body.kj-content-sizes #main .qsub-issue { font-size: var(--kj-u); line-height: var(--kj-lh); }

/* The7's title bar: light, the page title in the journal's heading font; one breadcrumb trail (the theme's). */
.kj .page-title { background-color: var(--kj-white) !important; border-bottom: 1px solid var(--kj-line); }
.kj .page-title h1, .kj .page-title .entry-title { color: var(--kj-ink) !important; }
/* The7 sets the title font with #page in the selector: same weight needed here. */
#the7-body.kj-content-fonts #page .page-title h1,
#the7-body.kj-content-fonts #page .page-title .entry-title { font-family: var(--kj-font-head); font-weight: 700; }
#the7-body.kj-content-sizes #page .page-title h1,
#the7-body.kj-content-sizes #page .page-title .entry-title { font-size: calc(var(--kj-u-h) * 1.85 * var(--kj-hm)); line-height: 1.35; }
.kj-chrome .page-title .breadcrumbs, .kj-chrome .page-title .page-title-breadcrumbs { display: none !important; }

/* The theme's home page: full-width bands of its own, no title bar, slideshow or sidebar. */
.kj-home .page-title,
.kj-home .page-title-head,
.kj-home .fancy-header,
.kj-home #main-slideshow,
.kj-home #sidebar { display: none !important; }
.kj-home #main { padding-top: 0 !important; padding-bottom: 0 !important; }
.kj-home #main .wf-wrap { max-width: none !important; padding: 0 !important; width: auto !important; }
.kj-home .wf-container-main { display: block !important; padding: 0 !important; margin: 0 !important; }
.kj-home #content { width: 100% !important; max-width: none !important; padding: 0 !important; margin: 0 !important; float: none !important; }

/* ---------- Buttons and links ---------- */

.kj-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .5em; text-align: center;
	min-height: 48px; padding: .45em 1.3em; border-radius: 6px; border: 1.5px solid transparent; box-sizing: border-box;
	font-family: var(--kj-sans); font-weight: 700; font-size: calc(var(--kj-u) * .92); line-height: 1.25;
	text-decoration: none !important; cursor: pointer;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.kj-btn--primary { background: var(--kj-primary); border-color: var(--kj-primary); color: var(--kj-white) !important; }
.kj-btn--primary:hover, .kj-btn--primary:focus { background: var(--kj-primary-dark); border-color: var(--kj-primary-dark); box-shadow: var(--kj-shadow); }
.kj-btn--outline { background: transparent; border-color: var(--kj-primary); color: var(--kj-primary) !important; }
.kj-btn--outline:hover, .kj-btn--outline:focus { background: var(--kj-primary-tint); }
.kj-link { display: inline-flex; align-items: flex-end; gap: .35em; font-weight: 700; color: var(--kj-primary) !important; text-decoration: none !important; }
.kj-link:hover, .kj-link:focus { text-decoration: underline !important; }
.kj-link--quiet { font-weight: 600; color: var(--kj-muted) !important; }
.kj-arrow { flex: 0 0 auto; }
.kj-nw { white-space: nowrap; }
.kj-kicker { margin: 0; font: 700 calc(var(--kj-u-small) * .95)/1.45 var(--kj-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--kj-accent-ink); }
.kj-kicker :lang(ta) { letter-spacing: .02em; }
.kj-kicker--muted { color: var(--kj-muted); }
.kj-h2 { margin: 0; font-family: var(--kj-font-head); font-weight: 700; font-size: calc(var(--kj-u-h) * 1.72); line-height: 1.25; color: var(--kj-ink); }

/* ---------- Identity bar ---------- */

.kj-idbar { background: var(--kj-paper); color: var(--kj-muted); border-top: 3px solid var(--kj-accent); border-bottom: 1px solid var(--kj-line); font-family: var(--kj-sans); font-size: var(--kj-u-small); line-height: 1.4; }
.kj-idbar__in { display: flex; align-items: center; justify-content: space-between; gap: 8px 16px; min-height: 40px; flex-wrap: wrap; padding-top: 4px; padding-bottom: 4px; }
.kj-idbar__list { display: flex; flex-wrap: wrap; gap: 4px 20px; margin: 0; padding: 0; list-style: none; }
.kj-idbar__list li { margin: 0; padding: 0; display: inline-flex; gap: 6px; align-items: baseline; color: var(--kj-text); }
.kj-idbar__k { color: var(--kj-accent-ink); font-weight: 700; letter-spacing: .06em; font-size: .86em; }
.kj-idbar__tools { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.kj-idbar__mail { color: var(--kj-primary) !important; font-weight: 600; text-decoration: none; white-space: nowrap; }
.kj-idbar__mail:hover { text-decoration: underline; }
.kj-toplinks__list { display: flex; gap: 2px 14px; margin: 0; padding: 0; list-style: none; }
.kj-toplinks__list li { margin: 0; }
.kj-toplinks__list a { color: var(--kj-text) !important; text-decoration: none; font-weight: 600; }
.kj-toplinks__list a:hover { color: var(--kj-primary) !important; text-decoration: underline; }
.kj-idbar .kj-lang, .kj-idbar .kj-textsize { font-size: max(12px, calc(var(--kj-fs-small, 13.5px) * .95)); }

/* ---------- Header ---------- */

.kj-header { position: relative; z-index: 900; background: var(--kj-white); border-bottom: 1px solid var(--kj-line); transition: box-shadow .2s ease; font-family: var(--kj-sans); }
.kj-header--sticky { position: sticky; top: 0; }
.admin-bar .kj-header--sticky { top: 32px; }
.kj-header.is-scrolled { box-shadow: 0 8px 22px -16px rgba(40, 20, 20, .4); }
.kj-header__in { display: flex; align-items: center; gap: 24px; min-height: 86px; position: relative; }

.kj-brand { display: inline-flex; align-items: center; gap: 13px; text-decoration: none !important; color: var(--kj-primary) !important; flex: 0 0 auto; }
.kj-brand__logo { width: 60px; height: 60px; flex: 0 0 auto; display: block; }
.kj-brand__logo--img { object-fit: contain; }
.kj-brand__text { display: flex; flex-direction: column; line-height: 1.1; }
.kj-brand__name { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.kj-brand__ta { font: 700 1.62rem/1.15 var(--kj-serif); color: var(--kj-primary); }
.kj-brand__en { font: 700 1.02rem/1.1 var(--kj-serif); color: var(--kj-primary); letter-spacing: .04em; }
.kj-brand__sub {
	align-self: flex-start; width: max-content; max-width: 100%; margin-top: 6px; padding-top: 5px; border-top: 1.5px solid var(--kj-accent);
	font: 600 .64rem/1.45 var(--kj-sans); letter-spacing: .02em; color: var(--kj-accent-ink);
}
.kj-brand__sub > span { display: block; }
.kj-brand__sub > span[lang="en"] { text-transform: uppercase; letter-spacing: .09em; font-weight: 700; font-size: .92em; }

/* The emblem in the scheme's colours. */
.kj-emblem__disc { fill: var(--kj-primary); }
.kj-emblem__ring { stroke: var(--kj-accent-light); }
.kj-emblem__letter { fill: #fff; }
.kj-emblem__leaf { fill: var(--kj-accent-light); }
.kj-emblem__line { stroke: var(--kj-primary); stroke-opacity: .35; }
.kj-emblem__hole { fill: var(--kj-primary); }

.kj-nav { margin-left: auto; display: flex; align-items: center; gap: 16px; }
.kj-menu, .kj-menu ul { list-style: none; margin: 0; padding: 0; }
.kj-menu { display: flex; align-items: center; gap: 2px; }
.kj-menu > li { position: relative; margin: 0; }
.kj-menu a {
	display: block; padding: 10px 12px; color: var(--kj-text) !important; text-decoration: none !important;
	font-family: var(--kj-sans); font-weight: 600; font-size: var(--kj-u-menu); line-height: 1.3; transition: color .15s ease, box-shadow .15s ease;
}
.kj-menu > li > a:hover, .kj-menu > li > a:focus { color: var(--kj-primary) !important; box-shadow: inset 0 -2px 0 var(--kj-primary); }
.kj-menu > li.current-menu-item > a, .kj-menu > li.current-menu-ancestor > a,
.kj-menu > li.current_page_item > a, .kj-menu > li.current-menu-parent > a { color: var(--kj-primary) !important; box-shadow: inset 0 -2px 0 var(--kj-accent); }
.kj-menu > li.menu-item-has-children > a { padding-right: 5px; }
/* Fallback menu in both languages: Tamil over English. */
.kj-menu--fallback .kj-t--stack > .kj-ta { display: block; }
html:not(.kj-lang-ta):not(.kj-lang-en) .kj-menu--fallback .kj-t--stack > .kj-en { font-size: .72em; margin-top: 1px; }

.kj-subtoggle { position: relative; width: 22px; height: 30px; margin: 0 4px 0 -2px; padding: 0; border: 0; background: none; cursor: pointer; vertical-align: middle; }
.kj-subtoggle::after {
	content: ""; position: absolute; left: 50%; top: 50%; width: 6px; height: 6px; margin: -5px 0 0 -3px;
	border-right: 2px solid var(--kj-muted); border-bottom: 2px solid var(--kj-muted); transform: rotate(45deg); transition: transform .15s ease;
}
li.is-open > .kj-subtoggle::after { transform: rotate(-135deg); margin-top: -1px; border-color: var(--kj-primary); }
.kj-menu > li.menu-item-has-children { display: flex; align-items: center; }

.kj-menu .sub-menu {
	display: none; position: absolute; left: 0; top: 100%; min-width: 260px; z-index: 5;
	background: var(--kj-white); border: 1px solid var(--kj-line); border-top: 2px solid var(--kj-primary); border-radius: 0 0 var(--kj-radius) var(--kj-radius);
	box-shadow: var(--kj-shadow); padding: 6px;
}
.kj-menu li.is-open > .sub-menu { display: block; }
@media (hover: hover) and (min-width: 1200px) {
	.kj-menu li.menu-item-has-children:hover > .sub-menu { display: block; }
}
.kj-menu .sub-menu a { padding: 9px 12px; font-weight: 500; font-size: calc(var(--kj-u-menu) * .95); border-radius: 6px; }
.kj-menu .sub-menu a:hover, .kj-menu .sub-menu a:focus, .kj-menu .sub-menu .current-menu-item > a { background: var(--kj-paper-2); color: var(--kj-primary) !important; }

.kj-nav__cta { flex: 0 0 auto; min-height: 46px; font-size: calc(var(--kj-u-menu) * .95); }

.kj-burger { display: none; margin-left: auto; width: 46px; height: 46px; border: 1.5px solid var(--kj-line); border-radius: 8px; background: var(--kj-white); cursor: pointer; position: relative; }
.kj-burger__bars, .kj-burger__bars::before, .kj-burger__bars::after {
	content: ""; position: absolute; width: 20px; height: 2px; background: var(--kj-ink); transition: transform .2s ease, top .2s ease, background-color .2s ease;
}
.kj-burger__bars { left: 50%; top: 50%; margin: -1px 0 0 -10px; }
.kj-burger__bars::before { left: 0; top: -6px; }
.kj-burger__bars::after { left: 0; top: 6px; }
.kj-burger[aria-expanded="true"] .kj-burger__bars { background: transparent; }
.kj-burger[aria-expanded="true"] .kj-burger__bars::before { top: 0; transform: rotate(45deg); }
.kj-burger[aria-expanded="true"] .kj-burger__bars::after { top: 0; transform: rotate(-45deg); }

/* Desktop: the name, the menu and the button on one row. */
@media (min-width: 1200px) {
	.kj-header__in { gap: 18px; }
	.kj-brand { gap: 11px; }
	.kj-brand__logo { width: 56px; height: 56px; }
	.kj-brand__ta { font-size: 1.5rem; }
	.kj-brand__en { font-size: .96rem; }
	.kj-nav { gap: 12px; }
	.kj-menu > li > a { white-space: nowrap; padding-left: 7px; padding-right: 7px; }
	.kj-menu > li.menu-item-has-children > a { padding-right: 3px; }
	.kj-subtoggle { width: 15px; margin: 0 2px 0 -2px; }
	.kj-nav__cta { padding-left: 15px; padding-right: 15px; }
}
/* Not quite enough room on that row (smaller screens, larger text, a longer menu): journal.js
   makes everything a little smaller, so the menu still stays beside the name. */
.kj-header--tight .kj-header__in { gap: 14px; }
.kj-header--tight .kj-brand { gap: 9px; }
.kj-header--tight .kj-brand__logo { width: 50px; height: 50px; }
.kj-header--tight .kj-brand__ta { font-size: 1.36rem; }
.kj-header--tight .kj-brand__en { font-size: .88rem; }
.kj-header--tight .kj-brand__sub { font-size: .58rem; }
.kj-header--tight .kj-nav { gap: 10px; }
.kj-header--tight .kj-menu > li > a { padding-left: 6px; padding-right: 6px; font-size: calc(var(--kj-u-menu) * .94); }
.kj-header--tight .kj-menu > li.menu-item-has-children > a { padding-right: 2px; }
.kj-header--tight .kj-subtoggle { width: 14px; margin: 0 1px 0 -2px; }
.kj-header--tight .kj-nav__cta { padding-left: 12px; padding-right: 12px; font-size: calc(var(--kj-u-menu) * .88); }
@media (max-width: 1199px) {
	.kj-burger { display: block; }
	.kj-nav {
		display: none; position: absolute; left: 0; right: 0; top: 100%; margin: 0; flex-direction: column; align-items: stretch; gap: 12px;
		background: var(--kj-white); padding: 10px 20px 20px; border-top: 1px solid var(--kj-line); border-bottom: 1px solid var(--kj-line); box-shadow: var(--kj-shadow); max-height: calc(100vh - 130px); overflow-y: auto;
	}
	.kj-nav.is-open { display: flex; }
	.kj-menu { flex-direction: column; align-items: stretch; }
	.kj-menu > li { border-bottom: 1px solid var(--kj-line-soft); }
	.kj-menu > li.menu-item-has-children { flex-wrap: wrap; }
	.kj-menu > li.menu-item-has-children > a { flex: 1 1 auto; }
	.kj-menu > li > a:hover, .kj-menu > li > a:focus,
	.kj-menu > li.current-menu-item > a, .kj-menu > li.current-menu-ancestor > a,
	.kj-menu > li.current_page_item > a, .kj-menu > li.current-menu-parent > a { box-shadow: none; }
	.kj-menu a { padding: 13px 4px; }
	.kj-subtoggle { width: 44px; height: 44px; margin: 0; }
	.kj-menu .sub-menu { position: static; display: none; width: 100%; box-shadow: none; border: 0; border-left: 2px solid var(--kj-accent); border-radius: 0; margin: 0 0 8px 6px; min-width: 0; padding: 2px 0 2px 8px; }
	.kj-menu li.is-open > .sub-menu { display: block; }
	.kj-menu .sub-menu a { padding: 10px 8px; }
	.kj-nav__cta { text-align: center; }
	.kj-hide-md { display: none !important; }
}
/* When even the smaller row does not fit, journal.js switches to the compact menu (button). */
.kj-header--compact .kj-burger { display: block; }
.kj-header--compact .kj-nav {
	display: none; position: absolute; left: 0; right: 0; top: 100%; margin: 0; flex-direction: column; align-items: stretch; gap: 12px;
	background: var(--kj-white); padding: 10px 20px 20px; border-top: 1px solid var(--kj-line); border-bottom: 1px solid var(--kj-line); box-shadow: var(--kj-shadow); max-height: calc(100vh - 130px); overflow-y: auto;
}
.kj-header--compact .kj-nav.is-open { display: flex; }
.kj-header--compact .kj-menu { flex-direction: column; align-items: stretch; }
.kj-header--compact .kj-menu > li { border-bottom: 1px solid var(--kj-line-soft); }
.kj-header--compact .kj-menu > li.menu-item-has-children { flex-wrap: wrap; }
.kj-header--compact .kj-menu > li.menu-item-has-children > a { flex: 1 1 auto; }
.kj-header--compact .kj-menu > li > a { box-shadow: none !important; padding: 13px 4px; white-space: normal; }
.kj-header--compact .kj-subtoggle { width: 44px; height: 44px; margin: 0; }
.kj-header--compact .kj-menu .sub-menu { position: static; display: none; width: 100%; box-shadow: none; border: 0; border-left: 2px solid var(--kj-accent); border-radius: 0; margin: 0 0 8px 6px; min-width: 0; padding: 2px 0 2px 8px; }
.kj-header--compact .kj-menu li.is-open > .sub-menu { display: block; }
.kj-header--compact .kj-menu li.menu-item-has-children:hover > .sub-menu { display: none; }
.kj-header--compact .kj-menu li.menu-item-has-children.is-open > .sub-menu { display: block; }
.kj-header--compact .kj-nav__cta { text-align: center; }
@media (max-width: 782px) { .admin-bar .kj-header--sticky { top: 46px; } }
@media (max-width: 600px) { .admin-bar .kj-header--sticky { top: 0; } }
@media (max-width: 640px) {
	.kj-hide-sm { display: none !important; }
	.kj-brand__sub { display: none; }
	.kj-brand__ta { font-size: 1.36rem; }
	.kj-brand__en { font-size: .9rem; }
	.kj-brand__logo { width: 48px; height: 48px; }
	.kj-header__in { min-height: 70px; gap: 12px; }
	.kj-idbar__in { justify-content: center; }
}

/* ---------- Breadcrumbs ---------- */

.kj-crumbs { background: var(--kj-paper-2); border-bottom: 1px solid var(--kj-line-soft); font-family: var(--kj-sans); font-size: var(--kj-u-small); }
.kj-crumbs ol { display: flex; flex-wrap: wrap; align-items: center; margin: 0 auto; padding-top: 10px; padding-bottom: 10px; list-style: none; gap: 2px 0; }
.kj-crumbs li { margin: 0; color: var(--kj-muted); }
.kj-crumbs li + li::before { content: "›"; margin: 0 9px; color: var(--kj-muted); }
.kj-crumbs a { color: var(--kj-primary) !important; text-decoration: none; font-weight: 600; }
.kj-crumbs a:hover { text-decoration: underline; }
.kj-crumbs li[aria-current] { color: var(--kj-text); font-weight: 600; }

/* ---------- Home page ---------- */

.kj-home-page { color: var(--kj-text); font-size: var(--kj-u); line-height: var(--kj-lh); font-family: var(--kj-font-body); }
.kj-home-page p { margin: 0; }

.kj-hero { background: var(--kj-white); position: relative; overflow: hidden; }
/* Pulli kolam: a soft grid of dots, as drawn before a kolam. */
.kj-hero::before {
	content: ""; position: absolute; right: -40px; top: -40px; width: 420px; height: 420px; pointer-events: none;
	background-image: radial-gradient(circle, rgba(var(--kj-accent-rgb), .28) 1.6px, transparent 2px);
	background-size: 22px 22px;
	-webkit-mask-image: radial-gradient(circle at 70% 30%, #000 0, transparent 68%);
	mask-image: radial-gradient(circle at 70% 30%, #000 0, transparent 68%);
}
.kj-hero__in { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 48px; padding-top: 64px; padding-bottom: 60px; }
.kj-hero__text { flex: 1 1 560px; min-width: 0; }
.kj-hero__in--solo .kj-hero__text { max-width: 900px; }
.kj-hero__title { margin: 16px 0 0 !important; font-family: var(--kj-font-head) !important; font-weight: 700 !important; font-size: clamp(calc(var(--kj-u-h) * 1.75), 3.4vw, calc(var(--kj-u-h) * 2.4)) !important; line-height: 1.28 !important; color: var(--kj-ink) !important; letter-spacing: -.003em; }
html:not(.kj-lang-ta):not(.kj-lang-en) .kj-hero__title .kj-t--stack > .kj-en { font-family: var(--kj-serif); font-size: .56em; font-weight: 600; font-style: italic; letter-spacing: 0; color: var(--kj-muted); margin-top: .55em; }
.kj-hero__intro { margin-top: 20px; max-width: 42em; font-size: calc(var(--kj-u) * 1.06); line-height: var(--kj-lh); color: var(--kj-muted); }
.kj-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.kj-facts { display: flex; flex-wrap: wrap; gap: 14px 34px; margin: 34px 0 0; padding: 18px 0 0; border-top: 1px solid var(--kj-line); }
.kj-facts div { margin: 0; }
.kj-facts dt { font-family: var(--kj-sans); font-size: calc(var(--kj-u-small) * .92); letter-spacing: .02em; color: var(--kj-muted); font-weight: 600; line-height: 1.5; }
.kj-facts dd { margin: 3px 0 0; font-weight: 700; color: var(--kj-ink); font-size: calc(var(--kj-u) * .95); line-height: 1.45; }
html:not(.kj-lang-ta):not(.kj-lang-en) .kj-facts .kj-t > .kj-en::before { content: " / "; }

.kj-current { flex: 1 1 340px; max-width: 460px; min-width: 0; background: var(--kj-paper); border: 1px solid var(--kj-line); border-radius: var(--kj-radius); padding: 24px; box-sizing: border-box; }
.kj-current--next { border-top: 3px solid var(--kj-accent); }
.kj-current__body { display: flex; flex-wrap: wrap; gap: 20px; align-items: flex-start; margin-top: 14px; }
.kj-current__meta { flex: 1 1 150px; min-width: 0; }
.kj-current__meta h2, .kj-next__title { margin: 0 !important; font-family: var(--kj-font-head) !important; font-weight: 700 !important; font-size: calc(var(--kj-u-h) * 1.32) !important; line-height: 1.3 !important; color: var(--kj-ink) !important; }
.kj-next__title { margin-top: 10px !important; }
.kj-current__meta h2 a { color: inherit !important; text-decoration: none !important; }
.kj-current__meta h2 a:hover { text-decoration: underline !important; }
.kj-current__title { margin-top: 6px !important; font-family: var(--kj-serif); font-style: italic; color: var(--kj-text); }
.kj-current__info { margin-top: 8px !important; font-size: calc(var(--kj-u) * .9); color: var(--kj-muted); }
.kj-current__links { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; margin-top: 14px; }

.kj-cover { flex: 0 0 148px; width: 148px; display: block; text-decoration: none !important; border-radius: 4px; box-shadow: 0 12px 24px -12px rgba(40, 20, 20, .5); overflow: hidden; background: var(--kj-white); }
.kj-cover img { display: block; width: 100%; height: auto; }
.kj-cover--drawn {
	height: 210px; padding: 14px 13px; box-sizing: border-box; display: flex; flex-direction: column; align-items: stretch; position: relative;
	background-color: var(--kj-primary); color: #fff !important;
	background-image: radial-gradient(circle, rgba(255, 255, 255, .16) 1.2px, transparent 1.6px);
	background-size: 12px 12px; background-position: 6px 100%;
}
.kj-cover__name { font: 700 1.08rem/1.2 var(--kj-serif); color: #fff; overflow-wrap: anywhere; }
.kj-cover__en { font: 700 .56rem/1.3 var(--kj-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--kj-accent-light); border-bottom: 2px solid var(--kj-accent-light); padding: 2px 0 7px; }
.kj-cover__emblem { align-self: center; margin: auto 0; width: 54px; height: 54px; }
.kj-cover--drawn .kj-emblem__disc { fill: rgba(255, 255, 255, .1); }
.kj-cover--drawn .kj-emblem__line, .kj-cover--drawn .kj-emblem__hole { stroke: var(--kj-primary); fill: var(--kj-primary); }
.kj-cover__issue { font: 600 .62rem/1.5 var(--kj-sans); letter-spacing: .05em; border-top: 1px solid rgba(255, 255, 255, .4); padding-top: 7px; color: #fff; }
.kj-cover__issue [lang="ta"] { letter-spacing: 0; }

.kj-open { margin-top: 18px; padding-top: 16px; border-top: 1px dashed var(--kj-line); }
.kj-open__head { display: flex; align-items: center; gap: 8px; font: 700 calc(var(--kj-u-small) * .95)/1.45 var(--kj-sans); color: var(--kj-accent-ink); letter-spacing: .02em; }
.kj-open__dot { width: 8px; height: 8px; border-radius: 50%; background: #2F9E44; box-shadow: 0 0 0 3px rgba(47, 158, 68, .18); flex: 0 0 auto; }
.kj-open__issue { margin: 6px 0 8px !important; font-size: calc(var(--kj-u) * .92); color: var(--kj-text); }
.kj-open__issue strong { display: block; color: var(--kj-ink); }
.kj-open__deadline { display: block; color: var(--kj-muted); }

.kj-band { background: var(--kj-paper-2); border-top: 1px solid var(--kj-line-soft); border-bottom: 1px solid var(--kj-line-soft); }
.kj-band__in { padding-top: 60px; padding-bottom: 60px; }
.kj-band__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 26px; }
.kj-home-page .kj-cards, .kj-home-page .kj-chips { list-style: none; margin-left: 0; margin-right: 0; padding: 0; }
.kj-home-page .kj-cards > li, .kj-home-page .kj-chips > li { list-style: none; }
.kj-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 480px), 1fr)); gap: 20px; margin: 0; padding: 0; list-style: none; }
.kj-cards > li { margin: 0; }
.kj-card { height: 100%; box-sizing: border-box; background: var(--kj-white); border: 1px solid var(--kj-line); border-radius: var(--kj-radius); padding: 22px 24px; display: flex; flex-direction: column; gap: 9px; transition: border-color .15s ease, box-shadow .15s ease; }
.kj-card:hover { border-color: rgba(var(--kj-primary-rgb), .35); box-shadow: var(--kj-shadow); }
.kj-card__title { margin: 0 !important; font-family: var(--kj-font-head) !important; font-weight: 700 !important; font-size: calc(var(--kj-u-h) * 1.14) !important; line-height: 1.45 !important; color: var(--kj-ink) !important; }
.kj-card__title a { color: inherit !important; text-decoration: none !important; }
.kj-card__title a:hover, .kj-card__title a:focus { color: var(--kj-primary) !important; }
.kj-card__title a:hover .kj-ta, .kj-card__title a:focus .kj-ta { text-decoration: underline; text-underline-offset: .2em; }
.kj-card__authors { font-size: calc(var(--kj-u) * .92); color: var(--kj-text); }
.kj-card__meta { font-family: var(--kj-sans); font-size: calc(var(--kj-u-small) * .98); color: var(--kj-muted); }
.kj-card__links { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: auto !important; padding-top: 6px; font-family: var(--kj-sans); font-size: calc(var(--kj-u) * .88); }
.kj-card .kj-kicker { font-size: calc(var(--kj-u-small) * .88); }

.kj-subjects { background: var(--kj-white); }
.kj-subjects__in { padding-top: 56px; padding-bottom: 56px; }
.kj-chips { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); gap: 12px; margin: 24px 0 0; padding: 0; list-style: none; }
.kj-chips li { margin: 0; padding: 14px 16px 14px 18px; border: 1px solid var(--kj-line); border-left: 4px solid var(--kj-accent); border-radius: 8px; background: var(--kj-paper-2); font-weight: 700; color: var(--kj-ink); font-size: calc(var(--kj-u) * .95); line-height: 1.45; }
.kj-chips .kj-t--stack > .kj-en { font-size: .78em !important; }

.kj-earlier { background: var(--kj-paper); border-top: 1px solid var(--kj-line-soft); border-bottom: 1px solid var(--kj-line-soft); }
.kj-earlier__in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 32px; padding-top: 30px; padding-bottom: 30px; }
.kj-earlier p { margin: 0; color: var(--kj-muted); max-width: 780px; }
.kj-earlier strong { display: block; margin-bottom: 4px; color: var(--kj-ink); font-family: var(--kj-font-head); font-size: calc(var(--kj-u-h) * 1.15); }
.kj-earlier__actions { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }

.kj-authors { background: var(--kj-white); }
.kj-authors__in { padding-top: 60px; padding-bottom: 68px; }
.kj-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 28px; margin-top: 26px; }
.kj-step { position: relative; border-top: 3px solid var(--kj-accent); padding-top: 18px; }
.kj-step__no { position: absolute; top: -16px; right: 0; width: 30px; height: 30px; border-radius: 50%; background: var(--kj-primary); color: #fff; font: 700 .9rem/30px var(--kj-sans); text-align: center; }
.kj-step h3 { margin: 0 !important; font-family: var(--kj-font-head) !important; font-weight: 700 !important; font-size: calc(var(--kj-u-h) * 1.18) !important; line-height: 1.35 !important; color: var(--kj-ink) !important; }
html:not(.kj-lang-ta):not(.kj-lang-en) .kj-step h3 .kj-t--sub > .kj-en { margin-top: .25em; font-family: var(--kj-sans); font-size: max(.66em, 12px); font-weight: 600; color: var(--kj-muted); }
.kj-step p { margin: 8px 0 12px !important; color: var(--kj-muted); font-size: calc(var(--kj-u) * .94); }
.kj-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 16px; margin-top: 44px; }
.kj-tile { margin: 0; background: var(--kj-paper); border-radius: var(--kj-radius); padding: 20px; }
.kj-tile strong { display: block; color: var(--kj-ink); font-size: calc(var(--kj-u) * .98); line-height: 1.4; }
html:not(.kj-lang-ta):not(.kj-lang-en) .kj-tile strong .kj-t--stack > .kj-en { font-size: max(.72em, 12px); }
.kj-tile > span { display: block; margin-top: 8px; font-size: calc(var(--kj-u) * .9); color: var(--kj-muted); }

/* ---------- Footer ---------- */

.kj-footer { background: var(--kj-paper); color: var(--kj-text); border-top: 1px solid var(--kj-line); font-family: var(--kj-sans); font-size: var(--kj-u-footer); line-height: 1.65; }
.kj-footer a { color: var(--kj-text) !important; text-decoration: none; }
.kj-footer a:hover, .kj-footer a:focus { color: var(--kj-primary) !important; text-decoration: underline; text-underline-offset: 3px; }
.kj-footer__cta { background: var(--kj-white); border-bottom: 1px solid var(--kj-line); }
.kj-footer__cta-in { display: flex; align-items: center; justify-content: space-between; gap: 18px 32px; padding-top: 28px; padding-bottom: 28px; flex-wrap: wrap; }
.kj-footer__cta p { margin: 0; max-width: 780px; color: var(--kj-muted); }
.kj-footer__cta strong { display: block; font-family: var(--kj-font-head); font-size: calc(var(--kj-u-h) * 1.25); line-height: 1.35; color: var(--kj-ink); }
.kj-footer__cta-sub { display: block; margin-top: 6px; }
.kj-footer .kj-btn--primary { color: var(--kj-white) !important; text-decoration: none !important; }
.kj-footer__grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 40px; padding-top: 50px; padding-bottom: 42px; }
.kj-footer h2 { margin: 0 0 14px; font: 700 calc(var(--kj-u-footer) * .9)/1.35 var(--kj-sans); color: var(--kj-primary); }
.kj-footer h2 .kj-en { text-transform: uppercase; letter-spacing: .1em; }
html.kj-lang-en .kj-footer h2 { font-size: calc(var(--kj-u-footer) * .8); }
.kj-footer ul { list-style: none; margin: 0; padding: 0; }
.kj-footer li { margin: 0 0 7px; padding: 0; }
.kj-flist .kj-t--sub > .kj-en { color: var(--kj-muted); font-size: .88em; }
.kj-flist li { margin-bottom: 9px; line-height: 1.45; }
.kj-footer h2 .kj-t--stack > .kj-en { font-size: max(.78em, 11px) !important; color: var(--kj-accent-ink) !important; }
.kj-brand--footer .kj-brand__ta { font-size: 1.4rem; }
.kj-brand--footer .kj-brand__logo { width: 52px; height: 52px; }
.kj-footer__lead { margin: 14px 0 8px; max-width: 40ch; color: var(--kj-muted); font-size: .94em; }
.kj-footer__lead span { display: block; }
.kj-footer__ids { margin: 0 0 12px; font-size: .88em; color: var(--kj-muted); }
.kj-footer__addr { font-style: normal; font-size: .9em; color: var(--kj-muted); }
.kj-footer__addr > span, .kj-footer__addr > a { display: block; }
.kj-footer__addr .kj-t--block { margin-bottom: 4px; }
.kj-footer__addr a { color: var(--kj-primary) !important; font-weight: 600; }
.kj-footer__bar { border-top: 1px solid var(--kj-line); font-size: .88em; }
.kj-footer__bar-in { display: flex; justify-content: space-between; gap: 8px 24px; flex-wrap: wrap; padding-top: 16px; padding-bottom: 16px; }
.kj-footer__bar p { margin: 0; color: var(--kj-muted); }
/* Links inside running text are underlined, not told apart by colour alone. */
.kj-footer__bar a, .kj-card__meta a, .kj-current__info a { color: var(--kj-primary) !important; text-decoration: underline !important; text-underline-offset: 3px; }
@media (max-width: 991px) { .kj-footer__grid { grid-template-columns: 1fr 1fr; } .kj-footer__brand { grid-column: 1 / -1; } }
@media (max-width: 560px) {
	.kj-footer__grid { grid-template-columns: 1fr; gap: 28px; padding-top: 38px; }
	.kj-footer__cta-in { padding-top: 22px; padding-bottom: 22px; }
	.kj-hero__in { padding-top: 40px; padding-bottom: 44px; gap: 34px; }
	.kj-band__in, .kj-authors__in, .kj-subjects__in { padding-top: 42px; padding-bottom: 46px; }
	.kj-cover { flex-basis: 120px; width: 120px; }
	.kj-cover--drawn { height: 172px; padding: 12px 10px; }
	.kj-cover__name { font-size: .9rem; }
	.kj-cover__emblem { width: 44px; height: 44px; }
	.kj-hero::before { opacity: .55; }
	.kj-facts { gap: 12px 26px; }
	.kj-hero__actions .kj-btn { flex: 1 1 100%; }
	.kj-current { padding: 20px; }
}

/* ---------- Quick Submit article and issue pages ---------- */

.kj .qsub-article, .kj .qsub-issue { --qsub-muted: var(--kj-muted); --qsub-line: var(--kj-line); }
/* The7 gives every list in the content bullets and an indent; these lists have their own layout. */
.kj .content ul.qsub-authors, .kj .content ul.qsub-toc { list-style: none; margin-left: 0; }
.kj .qsub-alt-title { font-family: var(--kj-serif); font-size: 1.12em; }
.kj .qsub-author-name { color: var(--kj-ink); }
.kj .qsub-facts { background: var(--kj-paper-2); border: 1px solid var(--kj-line); border-radius: 8px; padding: .8em 1em; font-family: var(--kj-sans); }
.kj .qsub-galley {
	border-color: var(--kj-primary) !important; color: var(--kj-primary) !important; border-radius: 6px; padding: .35em 1em; font-family: var(--kj-sans);
	transition: background-color .15s ease;
}
.kj .qsub-galley:hover { background: var(--kj-primary-tint); }
.kj .qsub-galleys .qsub-galley:first-child { background: var(--kj-primary); color: #fff !important; }
.kj .qsub-galleys .qsub-galley:first-child:hover { background: var(--kj-primary-dark); }
.kj .qsub-abstract h2, .kj .qsub-references h2, .kj .qsub-statement h2 { font-family: var(--kj-font-head); color: var(--kj-ink); }
.kj .qsub-abstract { border-left: 3px solid var(--kj-accent); padding-left: 1.1em; margin: 1.4em 0; }
.kj .qsub-keywords strong { color: var(--kj-accent-ink); }
.kj .qsub-toc-section { font-family: var(--kj-font-head); color: var(--kj-primary); border-bottom-color: var(--kj-accent) !important; }
.kj .qsub-toc-item { padding: .9em 1em; border: 1px solid var(--kj-line); border-radius: 8px; background: var(--kj-white); }
.kj .qsub-toc-title { font-family: var(--kj-font-head); font-size: 1.08em; color: var(--kj-ink) !important; text-decoration: none; }
.kj .qsub-toc-title:hover { color: var(--kj-primary) !important; text-decoration: underline; }
.kj .qsub-issue-cfp { background: var(--kj-paper); border-color: var(--kj-line); }

/* ---------- VYBE OJS Publish pages in the scheme's colours ---------- */

body.kj-plugin-colours .qsl { --qsl-accent: var(--kj-primary); --qsl-turmeric: var(--kj-accent); }
body.kj-plugin-colours .ojsl { --ojsl-accent: var(--kj-primary); --ojsl-turmeric: var(--kj-accent); }
body.kj-plugin-colours .qsub-sf,
body.kj-plugin-colours .qst { --qsub-accent: var(--kj-primary); }
body.kj-plugin-colours .qmt-box-f { --qmt-accent: var(--kj-primary); }
body.kj-plugin-colours .vauth-dir,
body.kj-plugin-colours .vauth-profile { --vauth-accent: var(--kj-primary); }
body.kj-plugin-colours .tmrr { --tmrr-primary: var(--kj-primary); --tmrr-accent: var(--kj-accent); }
body.kj-plugin-colours .qconf { --qc-brand: var(--kj-primary); }

/* The7 elements that would otherwise keep their old colours. */
.kj-content-colours .scroll-top { background: var(--kj-primary); }
.kj-content-colours .scroll-top:hover { background: var(--kj-primary-dark); }

@media (prefers-reduced-motion: reduce) {
	.kj-btn, .kj-header, .kj-menu a, .kj-subtoggle::after, .kj-burger__bars, .kj-burger__bars::before, .kj-burger__bars::after, .kj-card { transition: none; }
}
@media print {
	.kj-idbar, .kj-header, .kj-crumbs, .kj-footer__cta, .kj-hero__actions, .kj-textsize, .kj-lang { display: none !important; }
	.kj-footer, .kj-band, .kj-current, .kj-tile, .kj-earlier { background: none; }
	.kj-footer a { color: #000 !important; }
	.kj-hero::before { display: none; }
}

/* ---------- Editors and news (home page) ---------- */

.kj-editors { background: var(--kj-paper); border-top: 1px solid var(--kj-line-soft); border-bottom: 1px solid var(--kj-line-soft); }
.kj-editors__in, .kj-news__in { padding-top: 56px; padding-bottom: 60px; }
.kj-home-page .kj-people, .kj-home-page .kj-newslist { list-style: none; margin: 0; padding: 0; }
.kj-people { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 16px; }
.kj-person { display: flex; align-items: center; gap: 16px; margin: 0; padding: 18px 20px; background: var(--kj-white); border: 1px solid var(--kj-line); border-radius: var(--kj-radius); }
.kj-person__badge { flex: 0 0 52px; width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; background: var(--kj-primary); color: #fff; font: 700 1.05rem/1 var(--kj-serif); letter-spacing: .02em; box-shadow: 0 0 0 3px var(--kj-white), 0 0 0 5px var(--kj-accent-light); }
.kj-person__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.kj-person__text strong { font-family: var(--kj-font-head); font-size: calc(var(--kj-u-h) * 1.08); color: var(--kj-ink); line-height: 1.35; }
.kj-person__text .kj-t { color: var(--kj-muted); font-size: calc(var(--kj-u) * .9); }

.kj-news { background: var(--kj-white); }
.kj-newslist { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 20px; }
.kj-newslist > li { margin: 0; }
.kj-newscard { height: 100%; box-sizing: border-box; display: flex; flex-direction: column; gap: 8px; padding: 20px 22px; border: 1px solid var(--kj-line); border-top: 3px solid var(--kj-accent); border-radius: var(--kj-radius); background: var(--kj-white); }
.kj-newscard__img { display: block; margin: -20px -22px 6px; border-radius: var(--kj-radius) var(--kj-radius) 0 0; overflow: hidden; aspect-ratio: 16 / 9; background: var(--kj-paper); }
.kj-newscard__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.kj-newscard__date { margin: 0 !important; font: 600 calc(var(--kj-u-small) * .95)/1.45 var(--kj-sans); color: var(--kj-accent-ink); }
.kj-newscard__title { margin: 0 !important; font-family: var(--kj-font-head) !important; font-weight: 700 !important; font-size: calc(var(--kj-u-h) * 1.1) !important; line-height: 1.45 !important; }
.kj-newscard__title a { color: var(--kj-ink) !important; text-decoration: none !important; }
.kj-newscard__title a:hover, .kj-newscard__title a:focus { color: var(--kj-primary) !important; text-decoration: underline !important; }
.kj-newscard__excerpt { margin: 0 !important; color: var(--kj-muted); font-size: calc(var(--kj-u) * .9); }
@media (max-width: 560px) {
	.kj-editors__in, .kj-news__in { padding-top: 42px; padding-bottom: 46px; }
}
