/* ==========================================================================
   JNHFB Modern — reader-facing stylesheet (OJS 3.3), design pass 2
   Editorial look: serif display type, warm paper background, hairline rules,
   navy + heart-red palette. --jn-primary / --jn-accent come from theme options.
   ========================================================================== */

:root {
	--jn-primary: #0B3D6E;
	--jn-accent: #C8102E;
	--jn-ink: #121826;
	--jn-ink-2: #3B4256;
	--jn-muted: #6C7283;
	--jn-line: #E4E2DA;
	--jn-line-2: #CFCCC2;
	--jn-paper: #FBFAF7;
	--jn-paper-2: #F3F1EA;
	--jn-bg: #FFFFFF;
	--jn-primary-10: color-mix(in srgb, var(--jn-primary) 8%, white);
	--jn-primary-dark: color-mix(in srgb, var(--jn-primary) 82%, black);
	--jn-primary-deeper: color-mix(in srgb, var(--jn-primary) 62%, black);
	--jn-accent-10: color-mix(in srgb, var(--jn-accent) 10%, white);
	--jn-radius: 6px;
	--jn-shadow: 0 1px 2px rgba(18, 24, 38, .06);
	--jn-shadow-md: 0 8px 24px rgba(18, 24, 38, .10);
	--jn-shadow-lg: 0 24px 48px rgba(18, 24, 38, .18);
	--jn-font: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--jn-serif: "Source Serif 4", Georgia, "Times New Roman", serif;
	--jn-container: 1180px;
	--jn-gutter: 16px;
}

/* --------------------------------------------------------------------------
   Base
   -------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	margin: 0;
	font-family: var(--jn-font);
	font-size: 16px;
	line-height: 1.6;
	color: var(--jn-ink);
	background: var(--jn-paper);
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}
img { max-width: 100%; height: auto; }
a { color: var(--jn-primary); text-decoration: none; }
a:hover { text-decoration: underline; text-underline-offset: 2px; }
h1, h2, h3, h4, h5 { margin: 0 0 .5em; line-height: 1.25; color: var(--jn-ink); font-weight: 700; letter-spacing: -.01em; }
h1 { font-size: 2rem; }
h2 { font-size: 1.5rem; }
h3 { font-size: 1.2rem; }
h4 { font-size: 1.05rem; }
p { margin: 0 0 1em; }
ul, ol { margin: 0 0 1em; padding-left: 1.25em; }
button { font: inherit; }
table { border-collapse: collapse; width: 100%; }
hr { border: 0; border-top: 1px solid var(--jn-line); margin: 24px 0; }
:focus-visible { outline: 3px solid color-mix(in srgb, var(--jn-primary) 45%, white); outline-offset: 2px; }

.pkp_screen_reader {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.jn-container { max-width: var(--jn-container); margin: 0 auto; padding-left: var(--jn-gutter); padding-right: var(--jn-gutter); }

.cmp_skip_to_content { position: absolute; left: 0; top: 0; z-index: 100; }
.cmp_skip_to_content a { position: absolute; left: -9999px; top: 0; padding: 10px 14px; background: var(--jn-primary); color: #fff; white-space: nowrap; }
.cmp_skip_to_content a:focus { left: 0; }

/* Shared small pieces */
.jn-label { display: inline-block; text-transform: uppercase; letter-spacing: .12em; font-size: .68rem; font-weight: 600; color: var(--jn-muted); }
.jn-muted { color: var(--jn-muted); font-size: .9rem; }
.jn-eyebrow { display: inline-flex; align-items: center; gap: 10px; text-transform: uppercase; letter-spacing: .14em; font-size: .7rem; font-weight: 600; color: var(--jn-accent); margin: 0 0 14px; }
.jn-eyebrow::before { content: ""; width: 28px; height: 2px; background: var(--jn-accent); }
.jn-eyebrow--light { color: #fff; opacity: .85; }
.jn-eyebrow--light::before { background: #fff; }
.jn-textlink { font-weight: 600; font-size: .92rem; display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.jn-textlink .fa { transition: transform .15s; }
.jn-textlink:hover .fa { transform: translateX(3px); }
.jn-badge { display: inline-block; padding: 2px 8px; border-radius: 3px; background: var(--jn-accent); color: #fff; font-size: .66rem; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; line-height: 1.6; }
.jn-badge--quiet { background: var(--jn-paper-2); color: var(--jn-ink-2); }

/* Buttons */
.jn-btn { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: var(--jn-radius); font-weight: 600; font-size: .92rem; border: 1px solid transparent; cursor: pointer; line-height: 1.2; transition: background .15s, color .15s, border-color .15s, box-shadow .15s; white-space: nowrap; }
.jn-btn:hover { text-decoration: none; }
.jn-btn--lg { padding: 13px 20px; font-size: 1rem; }
.jn-btn--primary { background: var(--jn-primary); color: #fff; box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .18); }
.jn-btn--primary:hover { background: var(--jn-primary-dark); color: #fff; }
.jn-btn--ghost { background: #fff; color: var(--jn-primary); border-color: var(--jn-line-2); }
.jn-btn--ghost:hover { border-color: var(--jn-primary); background: var(--jn-primary-10); }
.jn-btn--light { background: #fff; color: var(--jn-primary); box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .12); }
.jn-btn--light:hover { background: var(--jn-paper-2); }
.jn-btn--small { padding: 7px 12px; font-size: .85rem; }
.jn-btn .fa { font-size: .95em; }
.jn-pill { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .28); font-weight: 500; font-size: .88rem; color: #fff; }
.jn-pill:hover { background: rgba(255, 255, 255, .2); text-decoration: none; color: #fff; }
.jn-iconbtn { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: var(--jn-radius); background: var(--jn-primary); color: #fff; font-size: .95rem; }
.jn-iconbtn:hover { background: var(--jn-primary-dark); text-decoration: none; color: #fff; }
.jn-iconbtn--ghost { background: transparent; color: var(--jn-primary); border: 1px solid var(--jn-line-2); }
.jn-iconbtn--ghost:hover { background: var(--jn-primary-10); border-color: var(--jn-primary); color: var(--jn-primary); }

/* --------------------------------------------------------------------------
   Header
   -------------------------------------------------------------------------- */
.jn-topbar { background: var(--jn-primary-deeper); color: #fff; font-size: .78rem; border-top: 3px solid var(--jn-accent); }
.jn-topbar__inner { display: flex; align-items: center; justify-content: space-between; min-height: 36px; gap: 16px; }
.jn-topbar__meta { display: flex; gap: 18px; flex-wrap: wrap; color: rgba(255, 255, 255, .8); letter-spacing: .01em; }
.jn-topbar__meta strong { color: #fff; font-weight: 600; }

.jn-usernav { list-style: none; margin: 0; padding: 0; display: flex; gap: 2px; align-items: center; }
.jn-usernav li { position: relative; }
.jn-usernav a { color: #fff; padding: 7px 10px; border-radius: 4px; display: inline-flex; align-items: center; gap: 7px; font-weight: 500; white-space: nowrap; }
.jn-usernav a:hover { background: rgba(255, 255, 255, .12); text-decoration: none; }
.jn-usernav li > a::before { font-family: FontAwesome; font-size: .95em; opacity: .85; }
.jn-usernav li.jn-nmi-nmi_type_user_register > a::before { content: "\f234"; }
.jn-usernav li.jn-nmi-nmi_type_user_login > a::before { content: "\f090"; }
.jn-usernav li.jn-nmi-nmi_type_user_dashboard > a::before { content: "\f0e4"; }
.jn-usernav li.jn-nmi-nmi_type_user_profile > a::before { content: "\f007"; }
.jn-usernav li.jn-nmi-nmi_type_administration > a::before { content: "\f085"; }
.jn-usernav li.jn-nmi-nmi_type_user_logout > a::before { content: "\f08b"; }
.jn-usernav ul { display: none; position: absolute; right: 0; top: 100%; background: #fff; color: var(--jn-ink); list-style: none; padding: 6px; margin: 0; min-width: 190px; border-radius: var(--jn-radius); box-shadow: var(--jn-shadow-lg); border: 1px solid var(--jn-line); z-index: 70; }
.jn-usernav li:hover > ul, .jn-usernav li:focus-within > ul, .jn-usernav li.is-open > ul { display: block; }
.jn-usernav ul a { color: var(--jn-ink-2); display: flex; padding: 8px 10px; }
.jn-usernav ul a:hover { background: var(--jn-paper); color: var(--jn-primary); }
.jn-usernav .jn-submenu-toggle, .jn-usernav .jn-caret { display: none; }

.jn-mainbar { background: #fff; border-bottom: 1px solid var(--jn-line); position: sticky; top: 0; z-index: 60; transition: box-shadow .2s; }
.jn-mainbar.is-scrolled { box-shadow: var(--jn-shadow-md); }
.jn-mainbar__inner { display: flex; align-items: center; gap: 20px; min-height: 76px; position: relative; }
.jn-brand { flex: 0 0 auto; display: flex; align-items: center; }
.jn-brand__logo img { height: 52px; width: auto; display: block; }
.jn-brand__text { font-family: var(--jn-serif); font-size: 1.35rem; font-weight: 700; color: var(--jn-ink); }

.jn-nav { display: flex; align-items: center; gap: 6px; margin-left: auto; }
.jn-nav__list { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 0; }
.jn-nav__list > li { position: relative; }
.jn-nav__list > li > a { display: inline-flex; align-items: center; gap: 7px; padding: 10px 12px; border-radius: 4px; color: var(--jn-ink-2); font-weight: 600; font-size: .9rem; white-space: nowrap; position: relative; }
.jn-nav__list > li > a::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 4px; height: 2px; background: var(--jn-accent); transform: scaleX(0); transform-origin: left; transition: transform .18s; }
.jn-nav__list > li > a:hover, .jn-nav__list > li.is-open > a { color: var(--jn-primary); text-decoration: none; }
.jn-nav__list > li > a:hover::after, .jn-nav__list > li.is-open > a::after { transform: scaleX(1); }
.jn-nav__list .fa { color: var(--jn-primary); font-size: .85em; opacity: .8; }
.jn-nav__list .jn-caret { font-size: .85em; opacity: .7; color: inherit; }
.jn-nav__list li.has-children > ul { display: none; position: absolute; left: 0; top: calc(100% + 6px); background: #fff; list-style: none; margin: 0; padding: 6px; min-width: 240px; border: 1px solid var(--jn-line); border-radius: var(--jn-radius); box-shadow: var(--jn-shadow-lg); z-index: 80; }
.jn-nav__list li.has-children > ul::before { content: ""; position: absolute; left: 0; right: 0; top: -10px; height: 10px; }
.jn-nav__list li.has-children.is-open > ul { display: block; }
.jn-nav__list li.has-children > ul a { display: block; padding: 9px 12px; border-radius: 4px; color: var(--jn-ink-2); font-weight: 500; font-size: .9rem; }
.jn-nav__list li.has-children > ul a:hover { background: var(--jn-paper); color: var(--jn-primary); text-decoration: none; }
.jn-submenu-toggle { display: none; }

.jn-nav__cta > a { background: var(--jn-primary); color: #fff !important; padding: 10px 16px !important; margin-left: 10px; border-radius: var(--jn-radius) !important; box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .18); }
.jn-nav__cta > a::before { font-family: FontAwesome; content: "\f1d8"; font-size: .85em; }
.jn-nav__cta > a::after { display: none; }
.jn-nav__cta > a:hover { background: var(--jn-primary-dark) !important; }
.jn-nav__cta > a .fa { color: #fff; }

.jn-search { display: flex; align-items: center; border: 1px solid var(--jn-line-2); border-radius: var(--jn-radius); padding: 2px 2px 2px 12px; background: #fff; margin-left: 4px; }
.jn-search input { border: 0; outline: 0; width: 100px; font-size: .88rem; background: transparent; color: var(--jn-ink); transition: width .2s; }
.jn-search input:focus { width: 170px; }
.jn-search button { border: 0; background: transparent; width: 32px; height: 32px; border-radius: 4px; cursor: pointer; color: var(--jn-primary); display: inline-flex; align-items: center; justify-content: center; }
.jn-search button:hover { background: var(--jn-primary-10); }
.jn-nav__mobile-user { display: none; }

.jn-nav-toggle { display: none; margin-left: auto; border: 1px solid var(--jn-line-2); background: #fff; border-radius: var(--jn-radius); width: 44px; height: 44px; cursor: pointer; position: relative; flex: 0 0 auto; }
.jn-nav-toggle__bars, .jn-nav-toggle__bars::before, .jn-nav-toggle__bars::after { content: ""; display: block; width: 20px; height: 2px; background: var(--jn-ink); position: absolute; left: 11px; top: 20px; transition: transform .2s, background .2s; }
.jn-nav-toggle__bars::before { top: -6px; left: 0; }
.jn-nav-toggle__bars::after { top: 6px; left: 0; }
.jn-nav-open .jn-nav-toggle__bars { background: transparent; }
.jn-nav-open .jn-nav-toggle__bars::before { transform: translateY(6px) rotate(45deg); }
.jn-nav-open .jn-nav-toggle__bars::after { transform: translateY(-6px) rotate(-45deg); }

@media (max-width: 1023px) {
	.jn-nav-toggle { display: block; }
	.jn-nav { display: none; position: absolute; left: calc(-1 * var(--jn-gutter)); right: calc(-1 * var(--jn-gutter)); top: 100%; background: #fff; border-bottom: 1px solid var(--jn-line); box-shadow: var(--jn-shadow-lg); flex-direction: column; align-items: stretch; padding: 8px 16px 22px; max-height: calc(100vh - 70px); overflow: auto; margin: 0; }
	.jn-nav.is-open { display: flex; }
	.jn-nav__list { flex-direction: column; align-items: stretch; }
	.jn-nav__list > li { display: flex; flex-wrap: wrap; align-items: center; border-bottom: 1px solid var(--jn-line); }
	.jn-nav__list > li:last-child { border-bottom: 0; }
	.jn-nav__list > li > a { flex: 1; display: flex; padding: 14px 6px; font-size: 1rem; }
	.jn-nav__list > li > a::after { display: none; }
	.jn-nav__list .jn-caret { display: none; }
	.jn-submenu-toggle { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border: 0; background: transparent; color: var(--jn-primary); cursor: pointer; transition: transform .2s; font-size: 1.1rem; }
	.jn-nav__list li.has-children.is-open > .jn-submenu-toggle { transform: rotate(180deg); }
	.jn-nav__list li.has-children > ul { position: static; display: none; width: 100%; box-shadow: none; border: 0; border-left: 2px solid var(--jn-accent); border-radius: 0; margin: 0 0 10px 10px; padding: 0 0 0 8px; min-width: 0; }
	.jn-nav__list li.has-children.is-open > ul { display: block; }
	.jn-nav__cta { margin-top: 12px; border-bottom: 0 !important; }
	.jn-nav__cta > a { justify-content: center; margin-left: 0; }
	.jn-search { margin: 12px 0 0; padding: 4px 4px 4px 12px; }
	.jn-search input, .jn-search input:focus { width: 100%; flex: 1; }
	.jn-nav__mobile-user { display: block; margin-top: 14px; border-top: 1px solid var(--jn-line); padding-top: 10px; }
	.jn-nav__mobile-user .jn-usernav { flex-wrap: wrap; gap: 6px; }
	.jn-nav__mobile-user .jn-usernav a { color: var(--jn-ink-2); background: var(--jn-paper-2); }
	.jn-nav__mobile-user .jn-usernav ul { position: static; display: flex; flex-wrap: wrap; gap: 6px; box-shadow: none; border: 0; padding: 6px 0 0; background: transparent; }
	.jn-topbar__user { display: none; }
	.jn-mainbar__inner { min-height: 64px; gap: 12px; }
	.jn-brand__logo img { height: 40px; }
}

/* --------------------------------------------------------------------------
   Content wrapper and sidebar layout
   -------------------------------------------------------------------------- */
.jn-content { max-width: var(--jn-container); margin: 0 auto; padding: 32px var(--jn-gutter) 72px; }
.pkp_page_index .jn-content { max-width: none; padding: 0; }
.jn-content.has_sidebar { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 48px; align-items: start; }
@media (max-width: 1000px) { .jn-content.has_sidebar { grid-template-columns: 1fr; gap: 28px; } }
.jn-main { min-width: 0; }
.jn-sidebar { min-width: 0; }
.page > h1, .page_title, .jn-page-head h1 { font-family: var(--jn-serif); font-size: 2.25rem; letter-spacing: -.02em; margin-bottom: .5em; font-weight: 600; }
.jn-lead { font-size: 1.12rem; color: var(--jn-ink-2); max-width: 70ch; }

.cmp_breadcrumbs { font-size: .82rem; color: var(--jn-muted); margin-bottom: 20px; }
.cmp_breadcrumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; }
.cmp_breadcrumbs .separator { margin: 0 8px; color: var(--jn-line-2); }
.cmp_breadcrumbs .current span { color: var(--jn-ink-2); font-weight: 500; }

.jn-prose { font-size: 1.02rem; line-height: 1.75; color: var(--jn-ink-2); }
.jn-prose h2 { font-family: var(--jn-serif); font-size: 1.4rem; margin-top: 1.4em; color: var(--jn-ink); font-weight: 600; }
.jn-prose h3 { margin-top: 1.4em; font-size: 1.1rem; color: var(--jn-ink); }
.jn-prose img { border-radius: 4px; }
.jn-prose table, .jnhfb-table { width: 100%; border-collapse: collapse; font-size: .93rem; margin: 1em 0; }
.jn-prose th, .jn-prose td, .jnhfb-table th, .jnhfb-table td { border-bottom: 1px solid var(--jn-line); padding: 10px 12px; text-align: left; vertical-align: top; }
.jn-prose th, .jnhfb-table th { background: var(--jn-paper-2); font-weight: 600; color: var(--jn-ink); font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; }
.jn-prose tr:nth-child(even) td { background: var(--jn-paper); }
.jn-box { background: #fff; border: 1px solid var(--jn-line); border-radius: var(--jn-radius); padding: 28px; margin-bottom: 22px; }
.jn-box > h2 { font-family: var(--jn-serif); font-size: 1.35rem; font-weight: 600; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid var(--jn-line); }
@media (max-width: 640px) { .jn-box { padding: 20px; } }

.cmp_notification { background: #FFF7E6; border: 1px solid #F0D493; border-radius: var(--jn-radius); padding: 14px 16px; margin-bottom: 20px; color: #6E4300; font-size: .95rem; }
.cmp_notification.success { background: #ECFDF3; border-color: #A6E3BF; color: #0B5E3A; }
.cmp_notification.notice { background: var(--jn-primary-10); border-color: color-mix(in srgb, var(--jn-primary) 30%, white); color: var(--jn-primary-dark); }
.cmp_notification a { font-weight: 600; }

/* --------------------------------------------------------------------------
   Homepage: hero
   -------------------------------------------------------------------------- */
.jn-hero { background: #fff; border-bottom: 1px solid var(--jn-line); position: relative; overflow: hidden; }
.jn-hero::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(color-mix(in srgb, var(--jn-primary) 10%, transparent) 1px, transparent 1px); background-size: 22px 22px; opacity: .55; pointer-events: none; mask-image: linear-gradient(90deg, transparent 35%, #000 100%); -webkit-mask-image: linear-gradient(90deg, transparent 35%, #000 100%); }
.jn-hero__inner { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(320px, 1fr); gap: 56px; align-items: center; padding-top: 64px; padding-bottom: 56px; position: relative; z-index: 1; }
.jn-hero__title { font-family: var(--jn-serif); font-size: clamp(2.1rem, 4.2vw, 3.4rem); line-height: 1.08; margin-bottom: 18px; letter-spacing: -.025em; font-weight: 600; }
.jn-hero__tagline { font-size: 1.15rem; line-height: 1.6; color: var(--jn-ink-2); max-width: 58ch; margin-bottom: 26px; }
.jn-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-bottom: 34px; }
.jn-facts { display: grid; grid-template-columns: repeat(5, auto); justify-content: start; gap: 0; margin: 0; padding: 0; border-top: 1px solid var(--jn-line); }
.jn-facts > div { padding: 14px 22px 0 0; margin-right: 22px; border-right: 1px solid var(--jn-line); }
.jn-facts > div:last-child { border-right: 0; margin-right: 0; padding-right: 0; }
.jn-facts dt { font-size: .62rem; text-transform: uppercase; letter-spacing: .12em; color: var(--jn-muted); font-weight: 600; margin-bottom: 2px; white-space: nowrap; }
.jn-facts dd { margin: 0; font-family: var(--jn-serif); font-size: 1.25rem; font-weight: 600; color: var(--jn-ink); line-height: 1.2; white-space: nowrap; }
@media (max-width: 1100px) { .jn-facts { grid-template-columns: repeat(3, auto); row-gap: 10px; } .jn-facts > div:nth-child(3) { border-right: 0; } }
.jn-hero__issue { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 22px; align-items: start; background: var(--jn-paper); border: 1px solid var(--jn-line); border-radius: var(--jn-radius); padding: 22px; }
.jn-hero__cover { display: block; width: 150px; box-shadow: var(--jn-shadow-lg); border-radius: 3px; overflow: hidden; background: #fff; transition: transform .25s; }
.jn-hero__cover:hover { transform: translateY(-4px); }
.jn-hero__cover img { display: block; width: 100%; }
.jn-hero__cover-fallback { display: flex; align-items: center; justify-content: center; width: 150px; height: 200px; background: var(--jn-primary); color: #fff; font-family: var(--jn-serif); font-size: 1rem; padding: 14px; text-align: center; }
.jn-hero__issue-meta { min-width: 0; }
.jn-hero__issue-title { font-family: var(--jn-serif); font-weight: 600; font-size: 1.25rem; color: var(--jn-ink); display: block; margin: 4px 0 2px; line-height: 1.3; }
.jn-hero__issue-date { display: block; font-size: .82rem; color: var(--jn-muted); margin-bottom: 12px; }
.jn-hero__toc { list-style: none; margin: 0 0 12px; padding: 0; border-top: 1px solid var(--jn-line); }
.jn-hero__toc li { padding: 8px 0; border-bottom: 1px solid var(--jn-line); font-size: .88rem; line-height: 1.4; }
.jn-hero__toc a { color: var(--jn-ink-2); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.jn-hero__toc a:hover { color: var(--jn-primary); }
@media (max-width: 900px) {
	.jn-hero__inner { grid-template-columns: 1fr; gap: 32px; padding-top: 40px; padding-bottom: 40px; }
	.jn-hero::before { display: none; }
}
@media (max-width: 520px) {
	.jn-hero__issue { grid-template-columns: 1fr; }
	.jn-hero__cover, .jn-hero__cover-fallback { width: 120px; }
	.jn-facts > div { padding-right: 16px; margin-right: 16px; }
}

/* --------------------------------------------------------------------------
   Homepage: sections
   -------------------------------------------------------------------------- */
.jn-section { padding: 64px 0; }
.jn-section--paper { background: var(--jn-paper-2); border-top: 1px solid var(--jn-line); border-bottom: 1px solid var(--jn-line); }
.jn-section__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 28px; flex-wrap: wrap; }
.jn-section__head h2 { font-family: var(--jn-serif); font-size: 2rem; margin: 0; letter-spacing: -.02em; font-weight: 600; }
.jn-section__head p { margin: 6px 0 0; color: var(--jn-muted); }
.jn-section__head--light h2, .jn-section__head--light p { color: #fff; }
.jn-section__head--light p { opacity: .8; }
@media (max-width: 640px) { .jn-section { padding: 44px 0; } .jn-section__head h2 { font-size: 1.6rem; } }

/* Featured + list */
.jn-latest__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 40px; align-items: start; }
@media (max-width: 960px) { .jn-latest__grid { grid-template-columns: 1fr; gap: 28px; } }
.jn-feature { background: #fff; border: 1px solid var(--jn-line); border-top: 4px solid var(--jn-accent); border-radius: var(--jn-radius); padding: 30px 32px 28px; height: 100%; }
.jn-feature__kicker { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.jn-feature__date { font-size: .8rem; color: var(--jn-muted); }
.jn-feature__title { font-family: var(--jn-serif); font-size: clamp(1.4rem, 2.4vw, 1.85rem); line-height: 1.25; margin: 0 0 10px; font-weight: 600; letter-spacing: -.015em; }
.jn-feature__title a { color: var(--jn-ink); }
.jn-feature__title a:hover { color: var(--jn-primary); text-decoration: none; }
.jn-feature__authors { color: var(--jn-ink-2); font-size: .92rem; margin-bottom: 14px; }
.jn-feature__excerpt { color: var(--jn-ink-2); font-size: .98rem; line-height: 1.7; margin-bottom: 20px; }
.jn-feature__actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.jn-feature__doi { font-size: .8rem; color: var(--jn-muted); margin-left: auto; }
.jn-latest__list { display: flex; flex-direction: column; border-top: 1px solid var(--jn-line-2); }
.jn-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--jn-line); }
.jn-row__kicker { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
.jn-row__date { font-size: .76rem; color: var(--jn-muted); }
.jn-row__title { font-family: var(--jn-serif); font-size: 1.08rem; line-height: 1.35; margin: 0 0 4px; font-weight: 600; }
.jn-row__title a { color: var(--jn-ink); }
.jn-row__title a:hover { color: var(--jn-primary); text-decoration: none; }
.jn-row__authors { color: var(--jn-muted); font-size: .85rem; margin: 0; }
.jn-row__actions { display: flex; gap: 6px; }

/* Announcements + highlight */
.jn-news__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 40px; align-items: start; }
@media (max-width: 960px) { .jn-news__grid { grid-template-columns: 1fr; } }
.jn-announcement { padding: 18px 0; border-bottom: 1px solid var(--jn-line-2); }
.jn-announcement:first-of-type { border-top: 1px solid var(--jn-line-2); }
.jn-announcement .date { font-size: .74rem; color: var(--jn-accent); font-weight: 600; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 6px; }
.jn-announcement h3 { font-family: var(--jn-serif); font-size: 1.25rem; margin-bottom: 8px; font-weight: 600; }
.jn-announcement h3 a { color: var(--jn-ink); }
.jn-announcement .summary { color: var(--jn-ink-2); font-size: .95rem; }
.jn-announcement .summary p:last-child { margin-bottom: 0; }
.jn-announcement .read_more { margin-top: 8px; }
.jn-highlight { background: var(--jn-primary); color: #fff; border-radius: var(--jn-radius); padding: 32px; position: relative; overflow: hidden; }
.jn-highlight::after { content: ""; position: absolute; right: -40px; bottom: -60px; width: 220px; height: 220px; border-radius: 50%; border: 28px solid rgba(255, 255, 255, .08); }
.jn-highlight h2 { color: #fff; font-family: var(--jn-serif); font-size: 1.6rem; font-weight: 600; margin-bottom: 10px; position: relative; }
.jn-highlight p { color: rgba(255, 255, 255, .85); font-size: .98rem; position: relative; }
.jn-highlight .jn-btn { position: relative; }

/* How to publish: dark band */
.jn-howto { background: var(--jn-primary-deeper); color: #fff; }
.jn-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; position: relative; counter-reset: step; }
.jn-steps::before { content: ""; position: absolute; left: 18px; right: 18px; top: 20px; height: 1px; background: rgba(255, 255, 255, .22); }
.jn-step { padding: 0 28px 0 0; margin-right: 28px; position: relative; }
.jn-step:last-child { margin-right: 0; padding-right: 0; }
.jn-step__num { position: relative; z-index: 1; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: var(--jn-accent); color: #fff; font-weight: 700; font-size: 1rem; margin-bottom: 18px; box-shadow: 0 0 0 6px var(--jn-primary-deeper); }
.jn-step h3 { color: #fff; font-family: var(--jn-serif); font-size: 1.25rem; font-weight: 600; margin-bottom: 8px; }
.jn-step p { color: rgba(255, 255, 255, .78); font-size: .93rem; line-height: 1.6; margin-bottom: 10px; }
.jn-step a { color: #fff; font-weight: 600; font-size: .9rem; border-bottom: 1px solid rgba(255, 255, 255, .4); }
.jn-step a:hover { border-bottom-color: #fff; text-decoration: none; }
.jn-author-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 36px; padding-top: 28px; border-top: 1px solid rgba(255, 255, 255, .15); }
@media (max-width: 1000px) {
	.jn-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 0; }
	.jn-steps::before { display: none; }
	.jn-step__num { box-shadow: none; }
}
@media (max-width: 560px) { .jn-steps { grid-template-columns: 1fr; } .jn-step { margin-right: 0; padding-right: 0; } }

/* Indexing strip */
.jn-indexing { background: #fff; border-bottom: 1px solid var(--jn-line); padding: 28px 0; }
.jn-indexing__inner { display: flex; flex-wrap: wrap; gap: 24px 56px; align-items: center; }
.jn-indexing__group { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.jn-indexing__logos, .jn-indexing__logos .jnhfb-logos, .jn-indexing__logos .grid { display: flex !important; flex-wrap: wrap; align-items: center; gap: 28px; }
.jn-indexing__logos h2 { display: contents; font-size: 0; }
.jn-indexing__logos img { height: 40px; width: auto; max-width: 180px; object-fit: contain; filter: grayscale(1); opacity: .7; transition: filter .2s, opacity .2s; }
.jn-indexing__logos a:hover img { filter: none; opacity: 1; }
.jn-indexing__logos p { margin: 0; }
.jn-indexing__logos p:empty { display: none; }

/* --------------------------------------------------------------------------
   Sidebar blocks (custom blocks, information block, etc.)
   -------------------------------------------------------------------------- */
.pkp_block { background: #fff; border: 1px solid var(--jn-line); border-radius: var(--jn-radius); padding: 20px 22px; margin-bottom: 20px; }
.pkp_block > .title, .pkp_block > h2.title { font-size: .7rem; text-transform: uppercase; letter-spacing: .12em; color: var(--jn-muted); margin: 0 0 12px; font-weight: 600; }
.pkp_block .content > :last-child { margin-bottom: 0; }
.pkp_block ul { list-style: none; padding: 0; margin: 0; }
.pkp_block li { padding: 7px 0; border-bottom: 1px solid var(--jn-line); }
.pkp_block li:last-child { border-bottom: 0; }
.pkp_block li a { font-weight: 500; color: var(--jn-ink-2); }
.pkp_block li a:hover { color: var(--jn-primary); }
.jnhfb-quicklinks { display: grid !important; gap: 0 !important; margin: 0; grid-template-columns: 1fr; }
.jnhfb-quicklinks a { display: block; padding: 10px 2px; border: 0 !important; border-bottom: 1px solid var(--jn-line) !important; border-radius: 0; font-weight: 500; font-size: .92rem; color: var(--jn-ink-2); background: transparent; }
.jnhfb-quicklinks a:last-child { border-bottom: 0 !important; }
.jnhfb-quicklinks a:hover { color: var(--jn-primary); text-decoration: none; padding-left: 6px; transition: padding .15s; }
.jnhfb-quicklinks a.jnhfb-quicklinks-primary { background: var(--jn-accent) !important; border-color: var(--jn-accent) !important; color: #fff !important; text-align: center; border-radius: var(--jn-radius); padding: 11px 12px; margin-bottom: 8px; font-weight: 600; }
.jnhfb-quicklinks a.jnhfb-quicklinks-primary:hover { padding-left: 12px; background: color-mix(in srgb, var(--jn-accent) 85%, black) !important; }
.jnhfb-logos { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; }
.jnhfb-logos img { max-height: 40px; width: auto; }
.pkp_block .grid { display: grid; gap: 8px; }
.pkp_block .hvr-sweep-to-right::before { display: none; }
.pkp_block p:empty { display: none; }

/* --------------------------------------------------------------------------
   Article page
   -------------------------------------------------------------------------- */
.jn-article__head { max-width: 900px; margin-bottom: 26px; }
.jn-article__kicker { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-bottom: 16px; font-size: .88rem; }
.jn-article .page_title { font-size: clamp(1.7rem, 3.2vw, 2.5rem); line-height: 1.18; margin-bottom: .45em; font-weight: 600; }
.jn-article .subtitle { font-family: var(--jn-serif); font-weight: 500; font-size: 1.3rem; color: var(--jn-ink-2); margin-bottom: 1em; }
.jn-authors { list-style: none; margin: 0 0 18px; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 26px; }
.jn-authors li { max-width: 280px; }
.jn-authors .name { font-weight: 600; color: var(--jn-ink); }
.jn-authors .affiliation { display: block; font-size: .84rem; color: var(--jn-muted); line-height: 1.4; }
.jn-authors .orcid { display: inline-flex; vertical-align: -2px; margin-left: 5px; }
.jn-authors .orcid svg { width: 16px; height: 16px; }
.jn-article__meta { display: flex; flex-wrap: wrap; gap: 8px 28px; font-size: .88rem; color: var(--jn-ink-2); padding: 14px 0; border-top: 1px solid var(--jn-line-2); border-bottom: 1px solid var(--jn-line); }
.jn-article__meta .label { font-weight: 600; color: var(--jn-muted); text-transform: uppercase; font-size: .66rem; letter-spacing: .1em; margin-right: 6px; }
.jn-article__meta a { word-break: break-all; }
.jn-article__toolbar { display: flex; flex-wrap: wrap; gap: 8px; padding: 14px 0 0; }
.jn-article__body { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 56px; align-items: start; }
@media (max-width: 960px) { .jn-article__body { grid-template-columns: 1fr; gap: 28px; } }
.jn-article__main .item { margin-bottom: 36px; }
.jn-article__main .item > .label, .jn-article__main h2.label { font-size: .7rem; text-transform: uppercase; letter-spacing: .12em; color: var(--jn-muted); margin-bottom: 12px; font-weight: 600; }
.jn-article__main .abstract .jn-prose { font-size: 1.08rem; max-width: 72ch; }
.jn-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.jn-chips a { display: inline-block; padding: 5px 12px; border-radius: 3px; background: var(--jn-paper-2); border: 1px solid var(--jn-line); font-size: .84rem; color: var(--jn-ink-2); }
.jn-chips a:hover { border-color: var(--jn-primary); color: var(--jn-primary); text-decoration: none; }
.jn-article__main .references .value p { font-size: .92rem; color: var(--jn-ink-2); padding-left: 1.2em; text-indent: -1.2em; margin-bottom: .6em; word-break: break-word; }
.jn-article__main .author_bios .sub_item { margin-bottom: 14px; }
.jn-article__main .author_bios h3.label { font-size: 1rem; }
.jn-article__main .author_bios .value { color: var(--jn-ink-2); font-size: .95rem; }

.jn-article__aside { position: sticky; top: 92px; }
@media (max-width: 960px) { .jn-article__aside { position: static; } }
.jn-aside-box { background: #fff; border: 1px solid var(--jn-line); border-radius: var(--jn-radius); padding: 20px; margin-bottom: 16px; }
.jn-aside-box > .label, .jn-aside-box h2.label { font-size: .68rem; text-transform: uppercase; letter-spacing: .12em; color: var(--jn-muted); margin: 0 0 12px; font-weight: 600; }
.jn-aside-box--download { border-top: 4px solid var(--jn-primary); }
.jn-aside-box--muted { background: var(--jn-paper-2); color: var(--jn-muted); font-size: .9rem; }
.jn-aside-box--muted p { margin: 0; }
.galleys_links { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.obj_galley_link { display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: var(--jn-radius); background: var(--jn-primary); color: #fff; font-weight: 600; font-size: .9rem; box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .18); }
.obj_galley_link:hover { background: var(--jn-primary-dark); text-decoration: none; color: #fff; }
.obj_galley_link::before { font-family: FontAwesome; content: "\f019"; }
.obj_galley_link.pdf::before { content: "\f1c1"; }
.obj_galley_link_supplementary { display: inline-flex; gap: 6px; align-items: center; padding: 7px 12px; border-radius: var(--jn-radius); border: 1px solid var(--jn-line-2); font-size: .85rem; color: var(--jn-ink-2); }
.obj_galley_link_supplementary::before { font-family: FontAwesome; content: "\f0c6"; }
.jn-aside-box--download .galleys_links .obj_galley_link { width: 100%; justify-content: center; padding: 13px 16px; font-size: 1rem; }

.jn-share__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.jn-share__list a, .jn-share__list button { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: var(--jn-radius); border: 1px solid var(--jn-line); background: #fff; color: var(--jn-ink-2); cursor: pointer; font-size: .95rem; }
.jn-share__list a:hover, .jn-share__list button:hover { border-color: var(--jn-primary); color: var(--jn-primary); text-decoration: none; }
.jn-copy-link.is-copied { background: var(--jn-primary); color: #fff; border-color: var(--jn-primary); }
.jn-copy-link.is-copied .fa::before { content: "\f00c"; }

.citation_display .value { font-size: .9rem; color: var(--jn-ink-2); }
#citationOutput { background: var(--jn-paper); border-left: 3px solid var(--jn-line-2); padding: 12px 14px; margin-bottom: 10px; font-size: .86rem; line-height: 1.55; word-break: break-word; }
#citationOutput > :last-child { margin-bottom: 0; }
.citation_formats_button, .cmp_button { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: var(--jn-radius); border: 1px solid var(--jn-line-2); background: #fff; color: var(--jn-primary); font-weight: 600; font-size: .85rem; cursor: pointer; }
.citation_formats_button::after { font-family: FontAwesome; content: "\f107"; }
.citation_formats_list { display: none; margin-top: 10px; }
.citation_formats_list[aria-hidden="false"] { display: block; }
.citation_formats_styles { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.citation_formats_styles a { display: inline-block; padding: 5px 10px; border-radius: 3px; background: var(--jn-paper-2); font-size: .82rem; }
.citation_formats_list .label { font-size: .68rem; text-transform: uppercase; letter-spacing: .1em; color: var(--jn-muted); margin: 10px 0 6px; font-weight: 600; }
.jn-aside-box .sub_item { margin-bottom: 12px; }
.jn-aside-box .sub_item:last-child { margin-bottom: 0; }
.jn-aside-box .sub_item .label, .jn-aside-box .sub_item h2.label { font-size: .66rem; text-transform: uppercase; letter-spacing: .1em; color: var(--jn-muted); margin: 0 0 4px; font-weight: 600; }
.jn-aside-box .copyright img { max-width: 110px; margin-top: 6px; }
.jn-aside-box .copyright p { font-size: .86rem; color: var(--jn-ink-2); margin-bottom: 6px; }
.jn-aside-box .versions ul { list-style: none; padding: 0; margin: 0; font-size: .9rem; }
.jn-aside-box.cover_image img { border-radius: 3px; box-shadow: var(--jn-shadow-md); }

/* "Most read by the same authors" plugin (ships its own inline styles; override them) */
#articlesBySameAuthorList { background: #fff !important; border: 1px solid var(--jn-line) !important; border-radius: var(--jn-radius) !important; padding: 24px !important; margin: 28px 0 0 !important; box-shadow: none !important; }
#articlesBySameAuthorList h3 { font-family: var(--jn-font) !important; font-size: .7rem !important; font-weight: 600 !important; text-transform: uppercase; letter-spacing: .12em; color: var(--jn-muted) !important; background: none !important; border: 0 !important; padding: 0 0 10px !important; margin: 0 !important; line-height: 1.4 !important; }
#articlesBySameAuthorList .same-author-list { list-style: none !important; margin: 0 !important; padding: 0 !important; display: block !important; }
#articlesBySameAuthorList .same-author-card { display: block !important; border: 0 !important; border-top: 1px solid var(--jn-line) !important; border-radius: 0 !important; padding: 14px 0 !important; margin: 0 !important; box-shadow: none !important; background: transparent !important; }
#articlesBySameAuthorList .sac-authors { font-size: .8rem !important; color: var(--jn-muted) !important; margin: 0 0 4px !important; display: block !important; }
#articlesBySameAuthorList .sac-authors-icon, #articlesBySameAuthorList .sac-issue-dot { display: none !important; }
#articlesBySameAuthorList .sac-title { font-family: var(--jn-serif) !important; font-size: 1.05rem !important; font-weight: 600 !important; color: var(--jn-ink) !important; line-height: 1.35 !important; display: block !important; margin: 0 0 4px !important; }
#articlesBySameAuthorList .sac-title:hover { color: var(--jn-primary) !important; text-decoration: none !important; }
#articlesBySameAuthorList .sac-issue { font-size: .78rem !important; color: var(--jn-muted) !important; background: none !important; padding: 0 !important; border: 0 !important; display: inline !important; }

/* Plugin output below the article (similar articles, most read, stats) */
.page_article > .item, .page_article .item.similar_articles, .page_article .item.most_read { background: #fff; border: 1px solid var(--jn-line); border-radius: var(--jn-radius); padding: 24px; margin-top: 28px; }
.page_article > .item > h2, .page_article .item.similar_articles h2 { font-family: var(--jn-serif); font-size: 1.25rem; font-weight: 600; }
.page_article .item ul { padding-left: 1.1em; font-size: .93rem; color: var(--jn-ink-2); }
.page_article .item ul li { margin-bottom: 6px; }
.jn-article__main .item.usageStats, #usageStatsChart, .usageStatsChart { max-width: 100%; }
.page_article .usageStats h2, .jn-article__main .usageStats .label { font-size: .7rem; text-transform: uppercase; letter-spacing: .12em; color: var(--jn-muted); }

/* --------------------------------------------------------------------------
   Issue page, table of contents, archive
   -------------------------------------------------------------------------- */
.obj_issue_toc .heading { display: grid; grid-template-columns: auto 1fr; gap: 28px; align-items: start; background: #fff; border: 1px solid var(--jn-line); border-radius: var(--jn-radius); padding: 24px; margin-bottom: 36px; }
.obj_issue_toc .heading .cover { display: block; width: 160px; border-radius: 3px; overflow: hidden; box-shadow: var(--jn-shadow-md); }
.obj_issue_toc .heading .cover img { display: block; width: 100%; }
.obj_issue_toc .heading .description { color: var(--jn-ink-2); font-size: .98rem; }
.obj_issue_toc .heading .published, .obj_issue_toc .heading .pub_id { font-size: .9rem; color: var(--jn-muted); margin-top: 4px; }
.obj_issue_toc .heading .published .label, .obj_issue_toc .heading .pub_id .type { font-weight: 600; color: var(--jn-ink-2); }
.obj_issue_toc .heading .jn-issue-count { font-size: .9rem; color: var(--jn-muted); margin-bottom: 6px; }
@media (max-width: 640px) { .obj_issue_toc .heading { grid-template-columns: 1fr; } .obj_issue_toc .heading .cover { width: 120px; } }
.obj_issue_toc .galleys { margin-top: 12px; }
.obj_issue_toc .galleys h2, .obj_issue_toc .galleys h3 { font-size: .7rem; text-transform: uppercase; letter-spacing: .12em; color: var(--jn-muted); margin-bottom: 8px; font-weight: 600; }
.obj_issue_toc .section { margin-bottom: 40px; }
.obj_issue_toc .section > h2, .obj_issue_toc .section > h3 { font-family: var(--jn-serif); font-size: 1.5rem; font-weight: 600; padding-bottom: 10px; border-bottom: 2px solid var(--jn-ink); margin-bottom: 0; }
.cmp_article_list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }

.jn-summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px 24px; align-items: start; padding: 22px 4px; border-bottom: 1px solid var(--jn-line); transition: background .15s; }
.jn-summary:has(> .cover) { grid-template-columns: 90px minmax(0, 1fr) auto; }
.jn-summary:hover { background: #fff; }
.jn-summary .cover img { border-radius: 3px; display: block; }
.jn-summary .title { font-family: var(--jn-serif); font-size: 1.2rem; line-height: 1.35; margin: 0 0 6px; font-weight: 600; }
.jn-summary .title a { color: var(--jn-ink); }
.jn-summary .title a:hover { color: var(--jn-primary); text-decoration: none; }
.jn-summary .title .subtitle { display: block; font-weight: 500; font-size: .95rem; color: var(--jn-ink-2); margin-top: 4px; }
.jn-summary .authors { color: var(--jn-ink-2); font-size: .92rem; margin-bottom: 6px; }
.jn-summary .meta { display: flex; flex-wrap: wrap; gap: 4px 16px; font-size: .8rem; color: var(--jn-muted); }
.jn-summary .meta a { color: var(--jn-muted); word-break: break-all; }
.jn-summary__actions { flex-direction: column; align-items: stretch; min-width: 130px; }
.jn-summary__actions li { display: flex; }
.jn-summary__actions .jn-btn, .jn-summary__actions .obj_galley_link { flex: 1; justify-content: center; padding: 8px 12px; font-size: .85rem; }
@media (max-width: 640px) {
	.jn-summary, .jn-summary:has(> .cover) { grid-template-columns: 1fr; }
	.jn-summary__actions { flex-direction: row; }
	.jn-summary__actions li { flex: 1; }
}

.issues_archive { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 28px 22px; }
.obj_issue_summary { height: 100%; display: flex; flex-direction: column; }
.obj_issue_summary .cover { display: block; background: var(--jn-paper-2); aspect-ratio: 3 / 4; overflow: hidden; border-radius: 3px; box-shadow: var(--jn-shadow-md); transition: transform .2s, box-shadow .2s; }
.obj_issue_summary .cover:hover { transform: translateY(-4px); box-shadow: var(--jn-shadow-lg); }
.obj_issue_summary .cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.obj_issue_summary h2 { font-family: var(--jn-serif); font-size: 1.02rem; margin: 0; padding: 14px 0 4px; line-height: 1.35; font-weight: 600; }
.obj_issue_summary h2 .title { color: var(--jn-ink); }
.obj_issue_summary .series { font-family: var(--jn-font); font-size: .78rem; color: var(--jn-muted); font-weight: 500; margin-top: 4px; }
.obj_issue_summary .description { font-size: .85rem; color: var(--jn-muted); }
.obj_issue_summary .description:empty { display: none; }
.obj_issue_summary .description p { margin: 0; }
.cmp_pagination { display: flex; justify-content: space-between; align-items: center; margin-top: 28px; font-size: .9rem; color: var(--jn-muted); }
.cmp_pagination a { font-weight: 600; }

/* --------------------------------------------------------------------------
   Submissions page
   -------------------------------------------------------------------------- */
.jn-page-head { margin-bottom: 30px; max-width: 880px; }
.jn-page-head .jn-hero__actions { margin-top: 18px; margin-bottom: 0; }
.jn-sub-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 40px; align-items: start; }
@media (max-width: 960px) { .jn-sub-grid { grid-template-columns: 1fr; } }
.jn-timeline { list-style: none; margin: 8px 0 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; counter-reset: tl; position: relative; }
.jn-timeline::before { content: ""; position: absolute; left: 16px; right: 16px; top: 16px; height: 2px; background: var(--jn-line-2); }
.jn-timeline li { position: relative; padding: 0 18px 0 0; }
.jn-timeline li::before { counter-increment: tl; content: counter(tl); position: relative; z-index: 1; display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: var(--jn-primary); color: #fff; font-weight: 700; font-size: .85rem; margin-bottom: 12px; box-shadow: 0 0 0 5px #fff; }
.jn-timeline h3 { font-size: 1rem; margin-bottom: 4px; }
.jn-timeline p { font-size: .86rem; color: var(--jn-ink-2); margin: 0; line-height: 1.5; }
@media (max-width: 860px) {
	.jn-timeline { grid-template-columns: 1fr; gap: 18px; }
	.jn-timeline::before { left: 16px; right: auto; top: 0; bottom: 0; width: 2px; height: auto; }
	.jn-timeline li { display: grid; grid-template-columns: 32px 1fr; gap: 0 16px; padding: 0; }
	.jn-timeline li::before { margin: 0; grid-row: span 2; }
}
.jn-checklist { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; border-top: 1px solid var(--jn-line); }
.jn-checklist li { display: flex; gap: 14px; align-items: flex-start; padding: 12px 0; border-bottom: 1px solid var(--jn-line); font-size: .97rem; color: var(--jn-ink-2); }
.jn-checklist .fa { color: #15803D; margin-top: 4px; }
.jn-accordion { border-bottom: 1px solid var(--jn-line); background: transparent; }
.jn-accordion:first-of-type { border-top: 1px solid var(--jn-line); }
.jn-accordion summary { cursor: pointer; padding: 14px 4px; font-weight: 600; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.jn-accordion summary::-webkit-details-marker { display: none; }
.jn-accordion summary::after { font-family: FontAwesome; content: "\f067"; color: var(--jn-muted); font-size: .8rem; transition: transform .2s; }
.jn-accordion[open] summary::after { content: "\f068"; }
.jn-accordion .jn-prose { padding: 0 4px 14px; font-size: .97rem; }
.jn-linklist { list-style: none; margin: 0; padding: 0; }
.jn-linklist li { border-bottom: 1px solid var(--jn-line); }
.jn-linklist li:last-child { border-bottom: 0; }
.jn-linklist a { display: flex; align-items: center; gap: 10px; padding: 10px 2px; font-weight: 500; color: var(--jn-ink-2); }
.jn-linklist a:hover { color: var(--jn-primary); text-decoration: none; }
.jn-linklist .fa { color: var(--jn-primary); width: 18px; text-align: center; }
.jn-aside-box--contact { background: var(--jn-primary); color: #fff; border-color: var(--jn-primary); }
.jn-aside-box--contact .label { color: rgba(255, 255, 255, .7); }
.jn-aside-box--contact p { margin: 0; font-size: .95rem; }
.jn-aside-box--contact a { color: #fff; text-decoration: underline; font-weight: 600; }

/* --------------------------------------------------------------------------
   Forms: login, register, lost password, search
   -------------------------------------------------------------------------- */
.cmp_form { background: #fff; border: 1px solid var(--jn-line); border-radius: var(--jn-radius); padding: 28px; max-width: 580px; }
.page_search .cmp_form, .page_register .cmp_form { max-width: none; }
.cmp_form .fields { border: 0; margin: 0; padding: 0; display: grid; gap: 18px; }
.cmp_form .fields > div { display: flex; flex-direction: column; gap: 6px; }
.cmp_form label { font-weight: 500; color: var(--jn-ink-2); font-size: .95rem; }
.cmp_form .label { display: block; font-weight: 600; color: var(--jn-ink); font-size: .9rem; margin-bottom: 4px; }
.cmp_form .required { color: var(--jn-accent); }
.cmp_form input[type="text"], .cmp_form input[type="email"], .cmp_form input[type="password"], .cmp_form input[type="search"], .cmp_form input[type="tel"], .cmp_form input[type="url"], .cmp_form select, .cmp_form textarea {
	width: 100%; padding: 11px 14px; border: 1px solid var(--jn-line-2); border-radius: var(--jn-radius); font: inherit; font-size: 1rem; background: #fff; color: var(--jn-ink); transition: border-color .15s, box-shadow .15s;
}
.cmp_form input:focus, .cmp_form select:focus, .cmp_form textarea:focus { outline: 0; border-color: var(--jn-primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--jn-primary) 15%, transparent); }
.cmp_form .checkbox label, .cmp_form .optin label, .cmp_form .consent label, .cmp_form .remember label { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; font-size: .92rem; }
.cmp_form input[type="checkbox"] { width: 18px; height: 18px; margin-top: 3px; accent-color: var(--jn-primary); flex: 0 0 auto; }
.cmp_form .buttons { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; padding-top: 6px; }
.cmp_form .submit, .cmp_form button[type="submit"] { display: inline-flex; align-items: center; justify-content: center; padding: 12px 24px; border-radius: var(--jn-radius); background: var(--jn-primary); color: #fff; border: 0; font-weight: 600; font-size: 1rem; cursor: pointer; box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .18); }
.cmp_form .submit:hover, .cmp_form button[type="submit"]:hover { background: var(--jn-primary-dark); }
.cmp_form .password a, .cmp_form .buttons a { font-weight: 500; font-size: .92rem; }
.cmp_form .description, .cmp_form .instruct { font-size: .88rem; color: var(--jn-muted); }
.pkp_form_error { color: #B42318; font-size: .88rem; }
.page_login, .page_lost_password { max-width: 640px; }
.page_register fieldset { border: 0; padding: 0; margin: 0 0 26px; }
.page_register legend { font-family: var(--jn-serif); font-weight: 600; font-size: 1.2rem; margin-bottom: 12px; padding: 0; }
.page_search .search_input { display: flex; gap: 10px; margin-bottom: 18px; }
.page_search .search_input .query { flex: 1; }
.page_search .search_advanced { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; margin-bottom: 16px; }
.page_search .search_advanced fieldset { border: 1px solid var(--jn-line); border-radius: var(--jn-radius); padding: 10px 12px; margin: 0; }
.page_search .search_advanced legend { font-size: .85rem; font-weight: 600; padding: 0 4px; }
.page_search .search_advanced select { width: auto; padding: 8px 10px; margin: 2px 4px 2px 0; }
.search_results { margin-top: 28px; }
.search_results > h2 { font-size: 1.2rem; }

/* --------------------------------------------------------------------------
   About, contact, announcements, static pages
   -------------------------------------------------------------------------- */
.page_about > div, .page_editorial_team > div, .page_information > div, .page_privacy > div { font-size: 1rem; line-height: 1.7; color: var(--jn-ink-2); }
.page_contact .contact_section { background: #fff; border: 1px solid var(--jn-line); border-radius: var(--jn-radius); padding: 22px; margin-bottom: 16px; }
.page_contact .contact_section h2 { font-size: 1.1rem; }
.obj_announcement_full .date { color: var(--jn-accent); font-weight: 600; margin-bottom: 12px; text-transform: uppercase; letter-spacing: .1em; font-size: .78rem; }
.obj_announcement_full .description { font-size: 1.02rem; line-height: 1.7; color: var(--jn-ink-2); }
.page_announcements .cmp_announcements, .page_announcements ul.cmp_announcements { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; border-top: 1px solid var(--jn-line-2); }
.page_announcements .obj_announcement_summary { padding: 20px 4px; border-bottom: 1px solid var(--jn-line); }
.page_announcements .obj_announcement_summary h2 { font-family: var(--jn-serif); font-size: 1.3rem; font-weight: 600; }
.page_announcements .obj_announcement_summary .date { font-size: .76rem; color: var(--jn-accent); margin-bottom: 8px; text-transform: uppercase; letter-spacing: .1em; font-weight: 600; }
.page_announcements .obj_announcement_summary .read_more { font-weight: 600; }
.page_editorial_team img { border-radius: 4px; }
.page div[style*="max-width: 900px"] { box-shadow: none !important; }

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */
.jn-footer { background: var(--jn-ink); color: #C9CDD6; padding: 56px 0 24px; font-size: .9rem; border-top: 4px solid var(--jn-accent); }
.jn-footer a { color: #fff; }
.jn-footer__grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.2fr; gap: 40px; padding-bottom: 36px; border-bottom: 1px solid rgba(255, 255, 255, .12); }
@media (max-width: 960px) { .jn-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .jn-footer__grid { grid-template-columns: 1fr; gap: 28px; } }
.jn-footer__brand img { height: 48px; width: auto; background: #fff; padding: 6px 10px; border-radius: 4px; margin-bottom: 14px; display: block; }
.jn-footer__name { font-family: var(--jn-serif); font-size: 1.15rem; color: #fff; margin: 0 0 8px; font-weight: 600; }
.jn-footer__about { color: #9AA1AF; font-size: .88rem; line-height: 1.6; max-width: 42ch; margin-bottom: 10px; }
.jn-footer__issn { font-size: .8rem; color: #9AA1AF; display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 0; }
.jn-footer__col h4 { color: #fff; font-size: .7rem; text-transform: uppercase; letter-spacing: .14em; margin-bottom: 14px; font-weight: 600; }
.jn-footer__col ul { list-style: none; margin: 0; padding: 0; }
.jn-footer__col li { margin-bottom: 8px; }
.jn-footer__col a { color: #D5D9E0; font-weight: 400; }
.jn-footer__col a:hover { color: #fff; }
.jn-footer__content { color: #C9CDD6; }
.jnhfb-footer-grid, .jn-footer .footer { display: block; }
.jnhfb-footer-grid h4, .jn-footer .footer h4 { color: #fff; font-size: .7rem; text-transform: uppercase; letter-spacing: .12em; margin: 12px 0 6px; font-weight: 600; }
.jnhfb-footer-grid > div:first-child h4, .jn-footer .footer > div:first-child h4 { margin-top: 0; }
.jnhfb-footer-grid p, .jn-footer .footer ul { margin: 0; color: #C9CDD6; list-style: none; padding: 0; }
.jn-footer .footer img { display: none; }
.jn-footer .copyright { display: none; }
.jn-footer .copyright.jnhfb-footer-credit { display: block; }
.jnhfb-footer-credit { color: #8A91A0; font-size: .82rem; margin: 14px 0 0; text-align: left !important; }
.jnhfb-footer-credit a { color: #C9CDD6; }
.jn-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; padding-top: 20px; color: #8A91A0; font-size: .82rem; }
.jn-footer__bottom p { margin: 0; }
.pkp_brand_footer img { height: 24px; width: auto; opacity: .5; display: block; }
.pkp_brand_footer a:hover img { opacity: .9; }

/* --------------------------------------------------------------------------
   Print
   -------------------------------------------------------------------------- */
@media print {
	.jn-topbar, .jn-nav, .jn-nav-toggle, .jn-footer, .jn-share, .jn-aside-box--download, .cmp_breadcrumbs, .jn-article__toolbar { display: none !important; }
	.jn-article__body { display: block; }
	body { font-size: 12pt; background: #fff; }
}

/* --------------------------------------------------------------------------
   Full text reader (article page) and galley viewer page
   -------------------------------------------------------------------------- */
.jn-fulltext { background: #fff; border: 1px solid var(--jn-line); border-radius: var(--jn-radius); padding: 20px 22px; }
.jn-fulltext__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.jn-fulltext__head .label { margin: 0 !important; }
.jn-fulltext__tools { display: flex; flex-wrap: wrap; gap: 8px; }
.jn-fulltext__hint { font-size: .86rem; color: var(--jn-muted); margin: 10px 0 0; }
.jn-fulltext__frame { margin-top: 16px; border: 1px solid var(--jn-line-2); border-radius: 4px; overflow: hidden; background: #525659; }
.jn-fulltext__frame iframe { display: block; width: 100%; height: min(85vh, 1100px); border: 0; }
.jn-fulltext__frame[hidden] { display: none; }
.jn-viewer-page { background: #fff; margin: 0; height: 100vh; display: flex; flex-direction: column; }
.jn-viewer__bar { display: flex; align-items: center; gap: 16px; padding: 10px 16px; border-bottom: 1px solid var(--jn-line); border-top: 3px solid var(--jn-accent); background: #fff; flex: 0 0 auto; }
.jn-viewer__back { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; font-size: .9rem; white-space: nowrap; }
.jn-viewer__title { flex: 1; min-width: 0; font-family: var(--jn-serif); font-weight: 600; color: var(--jn-ink); font-size: 1.02rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.jn-viewer__notice { margin: 10px 16px 0; }
.jn-viewer__frame { flex: 1 1 auto; min-height: 0; }
.jn-viewer__frame iframe { width: 100%; height: 100%; border: 0; display: block; min-height: 500px; }
@media (max-width: 640px) { .jn-viewer__title { display: none; } }

/* --------------------------------------------------------------------------
   About section (about, editorial team, contact, privacy, static pages)
   -------------------------------------------------------------------------- */
.jn-content--bleed { max-width: none; padding: 0 0 72px; }
.jn-about-hero { background: linear-gradient(180deg, var(--jn-paper-2) 0%, #fff 100%); border-bottom: 1px solid var(--jn-line); position: relative; overflow: hidden; }
.jn-about-hero::after { content: ""; position: absolute; right: -120px; top: -120px; width: 420px; height: 420px; border-radius: 50%; background: radial-gradient(closest-side, color-mix(in srgb, var(--jn-primary) 9%, transparent), transparent); pointer-events: none; }
.jn-about-hero__inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr); gap: 36px; padding-top: 28px; padding-bottom: 40px; align-items: end; }
.jn-about-hero--facts .jn-about-hero__inner { grid-template-columns: minmax(0, 1.4fr) minmax(300px, .9fr); }
.jn-about-hero .cmp_breadcrumbs { margin-bottom: 26px; }
.jn-about-hero__title { font-family: var(--jn-serif); font-size: clamp(2rem, 3.6vw, 2.9rem); line-height: 1.1; letter-spacing: -.02em; font-weight: 600; margin: 0 0 14px; max-width: 20ch; }
.jn-about-hero__lead { max-width: 64ch; margin: 0; font-size: 1.12rem; line-height: 1.65; }
.jn-about-hero__lead strong { color: var(--jn-ink); }
.jn-about-hero__actions { margin-top: 20px; }
.jn-about-hero__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--jn-line); border: 1px solid var(--jn-line); border-radius: 10px; overflow: hidden; margin: 0; box-shadow: var(--jn-shadow-md); }
.jn-about-hero__facts > div { background: #fff; padding: 16px 18px; }
.jn-about-hero__facts dt { font-size: .62rem; text-transform: uppercase; letter-spacing: .12em; color: var(--jn-muted); font-weight: 600; margin-bottom: 4px; }
.jn-about-hero__facts dd { margin: 0; font-family: var(--jn-serif); font-size: 1.3rem; font-weight: 600; color: var(--jn-primary); line-height: 1.15; }
.jn-about-hero__facts > div:nth-child(5):last-child { grid-column: 1 / -1; }

.jn-about__layout { display: grid; grid-template-columns: 264px minmax(0, 1fr); gap: 56px; align-items: start; padding-top: 40px; }
.jn-about__side { position: sticky; top: 84px; }
.jn-about__main { min-width: 0; max-width: 860px; }
.jn-about__body { font-size: 1.02rem; line-height: 1.75; color: var(--jn-ink-2); }
.jn-about__body > :first-child { margin-top: 0; }
.jn-about__body h2 { font-family: var(--jn-serif); font-size: 1.55rem; font-weight: 600; color: var(--jn-ink); margin: 2em 0 .7em; padding-bottom: .4em; border-bottom: 1px solid var(--jn-line); letter-spacing: -.01em; }
.jn-about__body h3 { font-size: 1.15rem; font-weight: 600; color: var(--jn-ink); margin: 1.8em 0 .6em; }
.jn-about__body h4 { font-size: 1rem; font-weight: 600; color: var(--jn-ink); margin: 1.4em 0 .5em; }
.jn-about__body h2 + h3, .jn-about__body h2 + p { margin-top: 0; }
.jn-about__body p { margin: 0 0 1.1em; }
.jn-about__body ul, .jn-about__body ol { margin: 0 0 1.2em; padding-left: 1.4em; }
.jn-about__body li { margin-bottom: .45em; }
.jn-about__body li::marker { color: var(--jn-accent); }
.jn-about__body a:not(.jn-btn) { color: var(--jn-primary); text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--jn-primary) 35%, transparent); text-underline-offset: 3px; }
.jn-about__body a:not(.jn-btn):hover { text-decoration-color: currentColor; }
.jn-about__body strong { color: var(--jn-ink); }
.jn-about__body .jn-btn { text-decoration: none; margin: .2em 0; }
.jn-about__body hr { border: 0; border-top: 1px solid var(--jn-line); margin: 2em 0; }
.jn-about__img { max-width: 100%; height: auto; border-radius: 6px; }
.jn-about__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 18px; margin: 1.5em 0; }
.jn-about__grid > * { margin: 0 !important; min-width: 0; }
.jn-about__card { background: #fff; border: 1px solid var(--jn-line); border-radius: 10px; padding: 22px 24px; box-shadow: var(--jn-shadow); margin: 1.5em 0; position: relative; }
.jn-about__card::before { content: ""; position: absolute; left: 24px; right: auto; top: 0; width: 44px; height: 3px; background: var(--jn-accent); border-radius: 0 0 3px 3px; }
.jn-about__card > h2, .jn-about__card > h3, .jn-about__card > h4 { margin-top: .2em; border: 0; padding: 0; font-family: var(--jn-font); font-size: 1.05rem; }
.jn-about__card > h2 { font-size: 1.2rem; }
.jn-about__card > :last-child { margin-bottom: 0; }
.jn-about__card ul { list-style: none; padding-left: 0; }
.jn-about__card ul li { position: relative; padding-left: 1.5em; margin-bottom: .55em; }
.jn-about__card ul li::before { content: ""; position: absolute; left: 0; top: .55em; width: 9px; height: 9px; border-radius: 50%; background: color-mix(in srgb, var(--jn-accent) 18%, white); box-shadow: inset 0 0 0 2.5px var(--jn-accent); }
.jn-about__card ol { padding-left: 1.3em; }
.jn-about__card .jn-about__grid { margin: 1em 0 0; }
.jn-about__card .jn-about__card { box-shadow: none; background: var(--jn-paper); padding: 16px 18px; }
.jn-about__card .jn-about__card::before { display: none; }
.jn-about__note { background: var(--jn-primary-10); border-left: 4px solid var(--jn-primary); border-radius: 0 10px 10px 0; padding: 18px 22px; margin: 1.6em 0; }
.jn-about__note > :last-child { margin-bottom: 0; }
.jn-about__note .jn-btn { margin-top: .6em; }
.jn-about__grid > .jn-about__note { border-radius: 10px; border-left-width: 4px; }
.jn-about__badge { display: inline-block; background: var(--jn-accent-10); color: var(--jn-accent); border: 1px solid color-mix(in srgb, var(--jn-accent) 30%, white); border-radius: 999px; padding: 6px 14px; font-weight: 600; font-size: .9rem; margin: .4em 0; }
.jn-about__badge p { margin: 0; }
.jn-about__actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 1.3em 0; }
.jn-table { width: 100%; border-collapse: collapse; font-size: .93rem; margin: 1.2em 0; }
.jn-table th, .jn-table td { border-bottom: 1px solid var(--jn-line); padding: 10px 12px; text-align: left; vertical-align: top; }
.jn-table th { background: var(--jn-paper-2); font-weight: 600; color: var(--jn-ink); font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; }
.jn-about__card--software { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 22px; align-items: center; }
.jn-about__software-logo { width: 110px; height: auto; }
@media (max-width: 560px) { .jn-about__card--software { grid-template-columns: 1fr; } }

/* Side navigation */
.jn-about-nav__toggle { display: none; }
.jn-about-nav__group { font-size: .66rem; text-transform: uppercase; letter-spacing: .14em; color: var(--jn-muted); font-weight: 700; margin: 0 0 6px 14px; }
.jn-about-nav__list { list-style: none; margin: 0 0 22px; padding: 0; }
.jn-about-nav__list li a { display: flex; align-items: center; gap: 11px; padding: 8px 14px; border-radius: 8px; color: var(--jn-ink-2); font-size: .93rem; font-weight: 500; text-decoration: none; border-left: 3px solid transparent; transition: background .15s, color .15s; }
.jn-about-nav__list li a .fa { width: 16px; text-align: center; color: var(--jn-muted); font-size: .9rem; transition: color .15s; }
.jn-about-nav__list li a:hover { background: var(--jn-primary-10); color: var(--jn-primary); text-decoration: none; }
.jn-about-nav__list li a:hover .fa { color: var(--jn-primary); }
.jn-about-nav__list li.is-current a { background: #fff; color: var(--jn-primary); font-weight: 600; border-left-color: var(--jn-accent); box-shadow: var(--jn-shadow); border-radius: 0 8px 8px 0; }
.jn-about-nav__list li.is-current a .fa { color: var(--jn-accent); }
.jn-about-toc { border-top: 1px solid var(--jn-line); padding-top: 18px; margin-top: 4px; }
.jn-about-toc ol { list-style: none; margin: 0; padding: 0 0 0 14px; border-left: 2px solid var(--jn-line); }
.jn-about-toc li a { display: block; padding: 5px 0 5px 12px; margin-left: -16px; border-left: 2px solid transparent; font-size: .86rem; color: var(--jn-muted); text-decoration: none; line-height: 1.4; }
.jn-about-toc li.is-h3 a { padding-left: 24px; font-size: .82rem; }
.jn-about-toc li a:hover { color: var(--jn-primary); }
.jn-about-toc li.is-active a { color: var(--jn-primary); border-left-color: var(--jn-primary); font-weight: 600; }
.jn-aside-box--nav .jn-about-nav__group { margin-left: 0; }
.jn-aside-box--nav .jn-about-toc { display: none; }

/* Editorial team */
.jn-team .jn-about__grid { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
.jn-team__group { background: #fff; border: 1px solid var(--jn-line); border-radius: 12px; padding: 20px 22px; box-shadow: var(--jn-shadow); margin: 1.4em 0; }
.jn-team__role { font-family: var(--jn-font) !important; font-size: .7rem !important; text-transform: uppercase; letter-spacing: .14em; color: var(--jn-accent); font-weight: 700; margin: 0 0 10px !important; border: 0 !important; padding: 0 !important; display: flex; align-items: center; gap: 8px; }
.jn-team__role::after { content: ""; flex: 1; height: 1px; background: var(--jn-line); }
.jn-team__list { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.jn-team__list li::before { display: none !important; }
.jn-team__person { display: flex !important; align-items: center; gap: 12px; padding: 9px 0 !important; margin: 0 !important; border-top: 1px dashed var(--jn-line); }
.jn-team__person:first-of-type, .jn-team__role + .jn-team__person, .jn-team__list .jn-team__person:first-child { border-top: 0; }
.jn-team__avatar { flex: 0 0 auto; width: 38px; height: 38px; border-radius: 50%; background: linear-gradient(135deg, var(--jn-primary), var(--jn-primary-deeper)); color: #fff; font-weight: 700; font-size: .8rem; letter-spacing: .04em; display: inline-flex; align-items: center; justify-content: center; box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .18); }
.jn-team__name { color: var(--jn-ink); font-weight: 500; line-height: 1.3; }
.jn-team__group--lead { background: linear-gradient(180deg, #fff, var(--jn-paper)); }
.jn-team__group--lead .jn-team__avatar { width: 58px; height: 58px; font-size: 1.1rem; }
.jn-team__group--lead .jn-team__name { font-family: var(--jn-serif); font-size: 1.15rem; font-weight: 600; }

/* Contact */
.jn-contact__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; margin-bottom: 20px; }
.jn-contact__card { position: relative; background: #fff; border: 1px solid var(--jn-line); border-radius: 12px; padding: 26px 26px 24px; box-shadow: var(--jn-shadow); }
.jn-contact__card--primary { border-color: color-mix(in srgb, var(--jn-primary) 30%, white); box-shadow: var(--jn-shadow-md); }
.jn-contact__card h2 { font-family: var(--jn-serif); font-size: 1.25rem; font-weight: 600; margin: 0 0 10px; color: var(--jn-ink); }
.jn-contact__icon { display: inline-flex; width: 46px; height: 46px; border-radius: 12px; background: var(--jn-primary-10); color: var(--jn-primary); align-items: center; justify-content: center; font-size: 1.25rem; margin-bottom: 14px; }
.jn-contact__card--primary .jn-contact__icon { background: var(--jn-primary); color: #fff; }
.jn-contact__name { font-weight: 600; color: var(--jn-ink); margin: 0 0 2px; font-size: 1.02rem; }
.jn-contact__role { color: var(--jn-muted); margin: 0 0 8px; font-size: .92rem; }
.jn-contact__lines { list-style: none; margin: 12px 0 18px; padding: 0; display: grid; gap: 9px; }
.jn-contact__lines li { display: flex; gap: 12px; align-items: flex-start; color: var(--jn-ink-2); line-height: 1.5; }
.jn-contact__lines .fa { color: var(--jn-accent); width: 16px; text-align: center; margin-top: 4px; }
.jn-contact__lines a { color: var(--jn-primary); text-decoration: none; font-weight: 500; }
.jn-contact__lines a:hover { text-decoration: underline; }
.jn-contact__card--wide { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 20px; align-items: start; margin-bottom: 20px; }
.jn-contact__card--wide .jn-contact__icon { margin-bottom: 0; }
.jn-contact__card--wide .jn-btn { margin-top: 8px; }
.jn-contact__before { background: var(--jn-paper-2); border-radius: 12px; padding: 24px 26px; margin-bottom: 8px; }
.jn-contact__before h2 { font-family: var(--jn-serif); font-size: 1.2rem; font-weight: 600; margin: 0 0 12px; }
.jn-contact__faq { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px; }
.jn-contact__faq a { display: flex; gap: 12px; align-items: center; padding: 12px 14px; background: #fff; border: 1px solid var(--jn-line); border-radius: 8px; color: var(--jn-ink-2); text-decoration: none; font-size: .93rem; line-height: 1.4; transition: border-color .15s, color .15s; }
.jn-contact__faq a .fa { color: var(--jn-primary); width: 18px; text-align: center; font-size: 1rem; }
.jn-contact__faq a:hover { border-color: var(--jn-primary); color: var(--jn-primary); }

/* Closing call to action */
.jn-about-cta { margin-top: 56px; background: linear-gradient(120deg, var(--jn-primary) 0%, var(--jn-primary-deeper) 100%); color: #fff; border-radius: 14px; padding: 36px 38px; display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 28px; align-items: center; box-shadow: var(--jn-shadow-md); position: relative; overflow: hidden; }
.jn-about-cta::before { content: ""; position: absolute; right: -60px; bottom: -90px; width: 260px; height: 260px; border-radius: 50%; border: 36px solid rgba(255, 255, 255, .06); pointer-events: none; }
.jn-about-cta h2 { font-family: var(--jn-serif); font-size: 1.55rem; font-weight: 600; margin: 0 0 8px; color: #fff; letter-spacing: -.01em; }
.jn-about-cta p { margin: 0; color: rgba(255, 255, 255, .82); line-height: 1.6; }
.jn-about-cta__actions { display: flex; flex-direction: column; gap: 10px; align-items: stretch; position: relative; z-index: 1; }
.jn-about-cta__actions .jn-btn { justify-content: center; }
.jn-btn--outline-light { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .55); }
.jn-btn--outline-light:hover { background: rgba(255, 255, 255, .12); color: #fff; border-color: #fff; }

@media (max-width: 1100px) {
	.jn-about-hero--facts .jn-about-hero__inner { grid-template-columns: 1fr; }
	.jn-about-hero__facts { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
	.jn-about-hero__facts > div:nth-child(5):last-child { grid-column: auto; }
}
@media (max-width: 960px) {
	.jn-about__layout { grid-template-columns: 1fr; gap: 28px; padding-top: 24px; }
	.jn-about__side { position: static; }
	.jn-about-nav__toggle { display: flex; width: 100%; align-items: center; gap: 10px; padding: 12px 16px; background: #fff; border: 1px solid var(--jn-line-2); border-radius: 10px; font: inherit; font-weight: 600; color: var(--jn-primary); cursor: pointer; text-align: left; }
	.jn-about-nav__toggle-label { color: var(--jn-muted); font-weight: 500; }
	.jn-about-nav__current { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
	.jn-about-nav__caret { transition: transform .2s; }
	.jn-about-nav.is-open .jn-about-nav__caret { transform: rotate(180deg); }
	.jn-about-nav__panel { display: none; margin-top: 10px; background: #fff; border: 1px solid var(--jn-line); border-radius: 10px; padding: 16px 10px 2px; box-shadow: var(--jn-shadow-md); }
	.jn-about-nav.is-open .jn-about-nav__panel { display: block; }
	.jn-about-toc { display: none; }
	.jn-about-cta { grid-template-columns: 1fr; padding: 28px 24px; }
	.jn-about-cta__actions { flex-direction: row; flex-wrap: wrap; }
}
@media (max-width: 640px) {
	.jn-about-hero__inner { padding-top: 18px; padding-bottom: 28px; }
	.jn-about-hero .cmp_breadcrumbs { margin-bottom: 16px; }
	.jn-about__card { padding: 18px; }
	.jn-about__card::before { left: 18px; }
	.jn-contact__card { padding: 20px; }
	.jn-contact__card--wide { grid-template-columns: 1fr; }
	.jn-about-cta__actions { flex-direction: column; }
}
@media print {
	.jn-about__side, .jn-about-cta, .jn-about-hero::after { display: none !important; }
	.jn-about__layout { grid-template-columns: 1fr; }
}

/* --------------------------------------------------------------------------
   Event / call-for-abstracts page (editorial document layout)
   -------------------------------------------------------------------------- */
.jn-event-head { background: var(--jn-paper); border-bottom: 1px solid var(--jn-line); }
.jn-event-head__inner { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(300px, 1fr); gap: 64px; align-items: end; padding-top: 28px; padding-bottom: 48px; }
.jn-event-head .cmp_breadcrumbs { margin-bottom: 34px; }
.jn-event-head__title { font-family: var(--jn-serif); font-size: clamp(2.1rem, 4vw, 3.2rem); line-height: 1.06; letter-spacing: -.02em; font-weight: 600; margin: 0 0 20px; max-width: 18ch; color: var(--jn-ink); }
.jn-event-head__lead { font-size: 1.12rem; line-height: 1.65; color: var(--jn-ink-2); max-width: 60ch; margin: 0 0 26px; }
.jn-event-head__lead strong { color: var(--jn-ink); }
.jn-event-head__actions { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.jn-event-head__link { color: var(--jn-primary); font-weight: 600; text-decoration: none; border-bottom: 1px solid color-mix(in srgb, var(--jn-primary) 40%, transparent); padding-bottom: 1px; }
.jn-event-head__link:hover { border-bottom-color: currentColor; text-decoration: none; }
.jn-event-head__limit { margin: 20px 0 0; font-size: .9rem; color: var(--jn-muted); }
.jn-event-glance { margin: 0; border-top: 2px solid var(--jn-ink); padding-top: 6px; }
.jn-event-glance__heading { font-size: .66rem; text-transform: uppercase; letter-spacing: .14em; color: var(--jn-muted); font-weight: 700; padding: 8px 0 10px; }
.jn-event-glance > div { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 16px; padding: 10px 0; border-top: 1px solid var(--jn-line); }
.jn-event-glance > div dt { font-size: .8rem; color: var(--jn-muted); padding-top: 2px; }
.jn-event-glance > div dd { margin: 0; font-family: var(--jn-serif); font-size: 1.05rem; color: var(--jn-ink); line-height: 1.35; word-break: break-word; }
.jn-event-glance > div dd a { color: var(--jn-primary); text-decoration: none; }
.jn-event-glance > div dd a:hover { text-decoration: underline; }

.jn-event__layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 72px; align-items: start; padding-top: 48px; }
.jn-event__side { position: sticky; top: 84px; }
.jn-event.jn-about__body { font-size: 1.04rem; }
.jn-event-preamble { max-width: 68ch; margin-bottom: 1.5em; }
.jn-event-section { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 24px; padding: 34px 0; border-top: 1px solid var(--jn-line); counter-increment: evsection; }
.jn-event-section:first-of-type { border-top: 0; padding-top: 0; }
.jn-event-section::before { content: counter(evsection, decimal-leading-zero); font-family: var(--jn-serif); font-size: 2.2rem; line-height: 1; color: var(--jn-accent); font-weight: 600; letter-spacing: -.02em; padding-top: 2px; }
.jn-event-section__title { grid-column: 2; font-family: var(--jn-serif) !important; font-size: 1.55rem !important; font-weight: 600; margin: 0 0 .6em !important; padding: 0 !important; border: 0 !important; color: var(--jn-ink); letter-spacing: -.01em; }
.jn-event-section > :not(.jn-event-section__title) { grid-column: 2; }
.jn-event-section > p { max-width: 66ch; }
.jn-event { counter-reset: evsection; }

.jn-event .jn-event-steps { list-style: none; padding: 0; margin: .4em 0 0; counter-reset: evstep; }
.jn-event .jn-event-steps > li { position: relative; padding: 14px 0 14px 56px; margin: 0; border-top: 1px solid var(--jn-line); line-height: 1.6; }
.jn-event .jn-event-steps > li:first-child { border-top: 0; padding-top: 0; }
.jn-event .jn-event-steps > li::before { counter-increment: evstep; content: counter(evstep); position: absolute; left: 0; top: 12px; width: 34px; height: 34px; border-radius: 50%; border: 1.5px solid var(--jn-ink); color: var(--jn-ink); font-family: var(--jn-serif); font-weight: 600; font-size: 1rem; display: flex; align-items: center; justify-content: center; background: none; box-shadow: none; }
.jn-event .jn-event-steps > li:first-child::before { top: -2px; }
.jn-event .jn-event-steps > li strong { color: var(--jn-ink); }
.jn-event .jn-event-structure { list-style: none; padding: 0; margin: .4em 0 0; max-width: 66ch; }
.jn-event .jn-event-structure > li { display: grid; grid-template-columns: 128px minmax(0, 1fr); gap: 16px; padding: 10px 0; margin: 0; border-top: 1px solid var(--jn-line); line-height: 1.55; }
.jn-event .jn-event-structure > li:first-child { border-top: 0; padding-top: 0; }
.jn-event .jn-event-structure > li::before { display: none; }
.jn-event .jn-event-structure > li > strong:first-child { font-family: var(--jn-font); font-size: .78rem; text-transform: uppercase; letter-spacing: .1em; color: var(--jn-ink); padding-top: 4px; }
.jn-event .jn-event-check { list-style: none; padding: 0; margin: .4em 0 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 40px; }
.jn-event .jn-event-check > li { position: relative; margin: 0; padding: 10px 0 10px 34px; border-top: 1px solid var(--jn-line); font-size: .98rem; line-height: 1.5; }
.jn-event .jn-event-check > li:nth-child(-n+2) { border-top: 0; }
.jn-event .jn-event-check > li::before { content: ""; position: absolute; left: 0; top: 14px; width: 16px; height: 16px; border: 1.5px solid var(--jn-ink-2); border-radius: 3px; background: #fff; box-shadow: none; }
.jn-event .jn-event-check > li strong { color: var(--jn-ink); }
.jn-event .jn-event-support p { max-width: 66ch; }
.jn-event .jn-event-mail { font-weight: 600; }
.jn-event .jn-event-ready { background: none; border: 0; padding: 0; box-shadow: none; }
.jn-event .jn-event-ready::before { display: none; }
.jn-event-close { margin-top: 48px; padding: 28px 0 0; border-top: 2px solid var(--jn-ink); display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.jn-event-close__text { margin: 0; max-width: 56ch; color: var(--jn-ink-2); }

.jn-event-box { border: 1px solid var(--jn-line-2); padding: 20px 22px 22px; margin-bottom: 18px; background: #fff; }
.jn-event-box--plain { border: 0; border-top: 1px solid var(--jn-line); padding: 18px 0 0; background: none; }
.jn-event-box__title { font-size: .66rem; text-transform: uppercase; letter-spacing: .14em; color: var(--jn-muted); font-weight: 700; margin: 0 0 12px; }
.jn-event-box__steps { margin: 0 0 18px; padding: 0 0 0 1.3em; font-size: .92rem; color: var(--jn-ink-2); line-height: 1.5; display: grid; gap: 8px; }
.jn-event-box__steps li::marker { font-family: var(--jn-serif); color: var(--jn-ink); font-weight: 600; }
.jn-event-box__btn { width: 100%; justify-content: center; }
.jn-event-box__note { margin: 12px 0 0; font-size: .84rem; color: var(--jn-muted); line-height: 1.5; }
.jn-event-box__mails, .jn-event-box__links { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; font-size: .92rem; }
.jn-event-box__mails a { color: var(--jn-primary); text-decoration: none; font-weight: 500; word-break: break-all; }
.jn-event-box__links a { color: var(--jn-ink-2); text-decoration: none; }
.jn-event-box__mails a:hover, .jn-event-box__links a:hover { text-decoration: underline; color: var(--jn-primary); }

.jn-tabs { margin: 1.6em 0; }
.jn-tabs__nav { display: flex; gap: 6px; border-bottom: 2px solid var(--jn-line); margin-bottom: 22px; overflow-x: auto; }
.jn-tabs__tab { appearance: none; background: none; border: 0; border-bottom: 3px solid transparent; margin-bottom: -2px; padding: 12px 18px; font: inherit; font-weight: 600; font-size: .98rem; color: var(--jn-muted); cursor: pointer; white-space: nowrap; }
.jn-tabs__tab[aria-selected="true"] { color: var(--jn-primary); border-bottom-color: var(--jn-accent); }
.jn-tabs__panel { display: none; }
.jn-tabs__panel.is-active { display: block; }
.jn-tabs:not(.is-ready) .jn-tabs__panel { display: block; }
.jn-tabs:not(.is-ready) .jn-tabs__nav { display: none; }
.jn-tabs.is-ready .jn-tabs__title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

@media (max-width: 1100px) {
	.jn-event-head__inner { grid-template-columns: 1fr; gap: 36px; }
	.jn-event-glance { max-width: 560px; }
}
@media (max-width: 960px) {
	.jn-event__layout { grid-template-columns: 1fr; gap: 36px; padding-top: 32px; }
	.jn-event__side { position: static; }
	.jn-event-section { grid-template-columns: 1fr; gap: 6px; padding: 28px 0; }
	.jn-event-section::before { font-size: 1.6rem; }
	.jn-event-section__title, .jn-event-section > :not(.jn-event-section__title) { grid-column: 1; }
}
@media (max-width: 640px) {
	.jn-event-head__inner { padding-top: 18px; padding-bottom: 32px; }
	.jn-event-head .cmp_breadcrumbs { margin-bottom: 20px; }
	.jn-event-head__actions .jn-btn { width: 100%; justify-content: center; }
	.jn-event-glance > div { grid-template-columns: 110px minmax(0, 1fr); gap: 12px; }
	.jn-event .jn-event-check { grid-template-columns: 1fr; }
	.jn-event .jn-event-check > li:nth-child(2) { border-top: 1px solid var(--jn-line); }
	.jn-event .jn-event-structure > li { grid-template-columns: 1fr; gap: 2px; }
}
@media print { .jn-event__side, .jn-event-close { display: none !important; } .jn-tabs__panel { display: block !important; } .jn-tabs__nav { display: none !important; } }

/* ---- About the journal: overview sections ---- */
.jn-overview__intro { margin-bottom: 8px; }
.jn-overview__section { padding-top: 36px; margin-top: 36px; border-top: 1px solid var(--jn-line); }
.jn-overview__section > h2 { margin-top: 0 !important; border-bottom: 0 !important; padding-bottom: 0 !important; font-size: 1.7rem !important; }
.jn-overview__lead { font-size: 1.05rem; color: var(--jn-ink-2); max-width: 68ch; }
.jn-overview__more { margin: 1.2em 0 0; font-size: .95rem; }
.jn-overview__more a { font-weight: 600; text-decoration: none !important; border-bottom: 1px solid color-mix(in srgb, var(--jn-primary) 35%, transparent); }
.jn-overview__more a:hover { border-bottom-color: currentColor; }
.jn-overview .jn-about__grid { margin-top: 1em; }
.jn-types { width: 100%; border-collapse: collapse; margin: 1.2em 0 0; font-size: .95rem; }
.jn-types th, .jn-types td { padding: 12px 14px 12px 0; border-bottom: 1px solid var(--jn-line); text-align: left; vertical-align: top; }
.jn-types thead th { font-size: .7rem; text-transform: uppercase; letter-spacing: .1em; color: var(--jn-muted); font-weight: 700; border-bottom: 2px solid var(--jn-ink); }
.jn-types tbody th { font-weight: 600; color: var(--jn-ink); width: 190px; }
.jn-types td { color: var(--jn-ink-2); line-height: 1.5; }
.jn-types__num { white-space: nowrap; text-align: right !important; width: 120px; padding-right: 0 !important; }
.jn-types tbody tr:hover td, .jn-types tbody tr:hover th { background: var(--jn-paper); }
.jn-leaders { list-style: none; margin: 1.2em 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 16px; }
.jn-leaders__item { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border: 1px solid var(--jn-line); border-radius: 10px; background: #fff; margin: 0 !important; }
.jn-leaders__item .jn-team__avatar { width: 48px; height: 48px; font-size: .95rem; }
.jn-leaders__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.jn-leaders__role { font-size: .68rem; text-transform: uppercase; letter-spacing: .12em; color: var(--jn-accent); font-weight: 700; }
.jn-leaders__name { font-family: var(--jn-serif); font-weight: 600; color: var(--jn-ink); font-size: 1.05rem; line-height: 1.3; }
.jn-process { list-style: none; margin: 1.2em 0 0; padding: 0; counter-reset: proc; display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 0; border-top: 2px solid var(--jn-ink); }
.jn-process li { position: relative; padding: 16px 20px 6px 0; margin: 0 !important; border-top: 0; }
.jn-process li::before { counter-increment: proc; content: counter(proc, decimal-leading-zero); display: block; font-family: var(--jn-serif); font-size: 1.5rem; color: var(--jn-accent); font-weight: 600; margin-bottom: 8px; line-height: 1; }
.jn-process li strong { display: block; color: var(--jn-ink); margin-bottom: 4px; font-size: 1rem; }
.jn-process li span { display: block; font-size: .92rem; color: var(--jn-ink-2); line-height: 1.5; }
.jn-why { list-style: none; margin: 1.2em 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
@media (max-width: 560px) { .jn-why { grid-template-columns: 1fr; } }
.jn-why li { margin: 0 !important; padding: 18px 20px; background: var(--jn-paper-2); border-radius: 10px; border-left: 3px solid var(--jn-primary); }
.jn-why li strong { display: block; color: var(--jn-ink); margin-bottom: 4px; }
.jn-why li span { font-size: .93rem; color: var(--jn-ink-2); line-height: 1.5; }
.jn-info { margin: 1.2em 0 0; border-top: 2px solid var(--jn-ink); }
.jn-info > div { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--jn-line); }
.jn-info dt { font-size: .82rem; color: var(--jn-muted); font-weight: 600; padding-top: 2px; }
.jn-info dd { margin: 0; color: var(--jn-ink); line-height: 1.5; }
.jn-info__logos .jnhfb-logos, .jn-info__logos .grid { display: flex !important; flex-wrap: wrap; align-items: center; gap: 18px 28px; }
.jn-info__logos img { height: 34px; width: auto; }
.jn-policy-links { list-style: none; margin: 1.2em 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; }
.jn-policy-links li { margin: 0 !important; }
.jn-policy-links a { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid var(--jn-line); border-radius: 8px; background: #fff; color: var(--jn-ink-2); text-decoration: none !important; font-weight: 500; font-size: .95rem; transition: border-color .15s, color .15s; }
.jn-policy-links a .fa { color: var(--jn-primary); width: 18px; text-align: center; }
.jn-policy-links a:hover { border-color: var(--jn-primary); color: var(--jn-primary); }
@media (max-width: 640px) {
	.jn-types thead { display: none; }
	.jn-types tbody tr { display: grid; grid-template-columns: 1fr; padding: 10px 0; border-bottom: 1px solid var(--jn-line); }
	.jn-types tbody th, .jn-types td { border: 0; padding: 2px 0; width: auto; }
	.jn-types__num { text-align: left !important; font-size: .85rem; color: var(--jn-muted); }
	.jn-info > div { grid-template-columns: 1fr; gap: 2px; }
	.jn-process { grid-template-columns: 1fr; }
	.jn-process li { padding: 12px 0; border-top: 1px solid var(--jn-line); }
}

/* ---- Active navigation item ---- */
.jn-nav__list > li.is-active > a { color: var(--jn-primary); }
.jn-nav__list > li.is-active > a::after { transform: scaleX(1); }
.jn-nav__list > li.is-active > a .fa { opacity: 1; }
.jn-nav__list li.has-children > ul li.is-active > a { background: var(--jn-primary-10); color: var(--jn-primary); font-weight: 600; box-shadow: inset 3px 0 0 var(--jn-accent); }
.jn-nav__cta.is-active > a { box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .18), 0 0 0 3px color-mix(in srgb, var(--jn-primary) 22%, white); }
.jn-nav__cta.is-active > a::after { display: none; }
.jn-usernav > li.is-active > a { background: rgba(255, 255, 255, .18); }
@media (max-width: 1023px) {
	.jn-nav__list > li.is-active > a { color: var(--jn-primary); background: var(--jn-primary-10); box-shadow: inset 3px 0 0 var(--jn-accent); padding-left: 14px; border-radius: 0 4px 4px 0; }
	.jn-nav__cta.is-active > a { background: var(--jn-primary); color: #fff; box-shadow: none; padding-left: 12px; }
	.jn-nav__mobile-user .jn-usernav > li.is-active > a { background: var(--jn-primary-10); color: var(--jn-primary); font-weight: 600; }
}

/* ---- Small screens: comfortable tap targets and long links ---- */
@media (max-width: 600px) {
	.jn-hero__title { font-size: 1.95rem; }
	.jn-main a:not(.jn-btn):not([class*="jn-nav"]):not(.jn-team__person) { overflow-wrap: anywhere; }
	.jn-textlink, .read_more, .jn-feature__doi, .jn-article__issue, .jn-hero__issue-title, .cmp_breadcrumbs a, .obj_article_summary .doi a, .obj_article_summary .meta a, .jn-article__meta a, .jn-article__doi a, .obj_issue_summary .meta a, .jn-issue-meta a, .jn-aside-box a, .login .register, .pkp_page_login .register, .pkp_page_user .register { display: inline-block; padding-top: 6px; padding-bottom: 6px; }
	.obj_article_summary .doi a, .jn-feature__doi, .jn-article__doi a, .jn-issue-meta a { word-break: break-all; }
	.jn-article__meta dd, .jn-issue-meta dd { min-width: 0; }
}

/* ---- Narrow phones: keep the hero column inside the screen ---- */
@media (max-width: 600px) {
	.jn-hero__inner { grid-template-columns: minmax(0, 1fr); }
	.jn-hero__text, .jn-hero__title, .jn-hero__tagline { min-width: 0; max-width: 100%; }
	.jn-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; row-gap: 12px; }
	.jn-facts > div { margin-right: 0; padding-right: 8px; border-right: 0; min-width: 0; }
	.jn-facts > div:nth-child(odd) { border-right: 1px solid var(--jn-line); }
	.jn-facts dt, .jn-facts dd { white-space: normal; }
	.jn-facts dd { font-size: 1.15rem; }
}

/* ---- Sidebar blocks as labelled cards ---- */
.pkp_block > .title.jn-block__title, .pkp_block.block_information > .title { display: flex; align-items: center; gap: 8px; font-size: .68rem; letter-spacing: .14em; color: var(--jn-muted); margin: 0 0 12px; padding-bottom: 10px; border-bottom: 1px solid var(--jn-line); }
.pkp_block > .title.jn-block__title.pkp_screen_reader { position: static; width: auto; height: auto; clip: auto; overflow: visible; }
.jn-block__icon { width: 24px; height: 24px; border-radius: 6px; background: var(--jn-primary-10); color: var(--jn-primary); display: inline-flex; align-items: center; justify-content: center; font-size: .75rem; letter-spacing: 0; }
.pkp_block.block_information > .title::before { content: "\f05a"; font-family: FontAwesome; width: 24px; height: 24px; border-radius: 6px; background: var(--jn-primary-10); color: var(--jn-primary); display: inline-flex; align-items: center; justify-content: center; font-size: .75rem; letter-spacing: 0; }
.jnhfb-quicklinks a:not(.jnhfb-quicklinks-primary) { position: relative; padding-right: 22px; }
.jnhfb-quicklinks a:not(.jnhfb-quicklinks-primary)::after { content: "\f105"; font-family: FontAwesome; position: absolute; right: 6px; top: 50%; transform: translateY(-50%); color: var(--jn-line-2); transition: color .15s, right .15s; }
.jnhfb-quicklinks a:not(.jnhfb-quicklinks-primary):hover::after { color: var(--jn-primary); right: 2px; }
.jnhfb-quicklinks a.jnhfb-quicklinks-primary::before { content: "\f0a1"; font-family: FontAwesome; margin-right: 8px; }
.jn-block--indexedby .jnhfb-logos, .jn-block--membersof .jnhfb-logos { gap: 14px 22px; }
.jn-block--indexedby .jnhfb-logos img, .jn-block--membersof .jnhfb-logos img { max-height: 34px; }
.jn-block__text { font-size: .9rem; color: var(--jn-ink-2); line-height: 1.5; margin: 0 0 12px; }
.jn-block__btn { width: 100%; justify-content: center; }
.jn-block__link { display: flex; align-items: center; gap: 8px; margin-top: 10px; font-size: .86rem; font-weight: 600; color: var(--jn-primary); }
.jn-block__link .fa { color: var(--jn-accent); }
.pkp_block.block_information li a { display: flex; align-items: center; justify-content: space-between; }
.pkp_block.block_information li a::after { content: "\f105"; font-family: FontAwesome; color: var(--jn-line-2); }
@media (max-width: 1000px) {
	.jn-sidebar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 8px; }
	.jn-sidebar .pkp_block { margin-bottom: 0; }
	.jn-sidebar .pkp_block.jn-block--sidebarmenu, .jn-sidebar .pkp_block.jn-block--article-template, .jn-sidebar .pkp_block.block_information { grid-column: 1 / -1; }
	.jnhfb-quicklinks { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px !important; }
	.jnhfb-quicklinks a:not(.jnhfb-quicklinks-primary) { border: 1px solid var(--jn-line) !important; border-radius: 8px; padding: 10px 26px 10px 12px; font-size: .88rem; background: var(--jn-paper); }
	.jnhfb-quicklinks a:not(.jnhfb-quicklinks-primary):hover { padding-left: 12px; border-color: var(--jn-primary) !important; }
	.jnhfb-quicklinks a.jnhfb-quicklinks-primary { grid-column: 1 / -1; margin-bottom: 2px; }
	.jn-block--indexedby .jnhfb-logos img, .jn-block--membersof .jnhfb-logos img { max-height: 28px; }
	.pkp_block.block_information ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 0 20px; }
}
@media (max-width: 480px) {
	.jnhfb-quicklinks { grid-template-columns: 1fr; }
}
