/* Journal of Health Professions Learning and Technology — styles */
:root{
  --ink:#1a2233; --ink-soft:#48526b; --muted:#79839a; --line:#e5e8ef;
  --bg:#ffffff; --bg-soft:#f6f8fb; --brand:#0f4c81; --brand-dark:#0a3a63;
  --accent:#b3541e; --ok:#0d7a4b; --warn:#b45309; --err:#b3261e; --radius:10px;
}
*{box-sizing:border-box}
html{background:#eef1f6}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;}
body.jr-plain{background:#eef1f6}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{font-family:Spectral,Georgia,'Times New Roman',serif;color:var(--ink);line-height:1.25;}

/* Masthead + nav */
/* Masthead logo.
   ---------------------------------------------------------------------------
   One PNG (862x1026), a portrait lockup. Two CSS windows onto it place the
   roundel and the JHPLT wordmark side by side, so the artwork is used whole and
   unmodified while the masthead stays a normal horizontal band.

   Both windows are cropped to the INK, not to the canvas — the roundel sits
   152px (17.6%) inside its own canvas, so a window on the raw canvas would
   leave a gap at the left and hang below at the top. Cropping to ink is what
   makes "flush left" and "tops aligned" mean what they look like.

   Source geometry, measured from the file:
     roundel      x 152-692 (541 wide)  y   3-535 (533 tall)
     type block   x   2-858 (857 wide)  y 553-1024 (472 tall)

   Each window is  ink_size x scale , offset by  -ink_origin x scale , where
   scale = background-width / 862. Both are sized to the same 88px height so
   their tops AND bottoms line up. To resize, change the two background widths
   and rescale the other four numbers with them.
*/
:root{
  /* Where nav text begins: container padding (22px) + nav-link padding (14px).
     The logo uses the same inset so it lines up with "Home" underneath it. */
  --jr-mast-inset:36px;
}
.jr-masthead{background:var(--brand);color:#fff;}
.jr-mast-inner{max-width:1080px;margin:0 auto;
  padding:22px var(--jr-gutter,22px) 18px var(--jr-mast-inset);
  position:relative;display:flex;align-items:flex-start;justify-content:flex-start;gap:16px;}
.jr-mast-title{color:#fff;display:flex;align-items:flex-start;gap:16px;text-decoration:none;}
.jr-mast-title:hover{text-decoration:none}
.jr-mast-mark,.jr-mast-word{
  display:block;flex:none;
  background-image:url('../img/jhplt-logo-white.png');
  background-repeat:no-repeat;
}
/* scale 142/862 = 0.16473 */
.jr-mast-mark{width:89px;height:88px;background-size:142px auto;background-position:-25px -0.5px;}
/* scale 161/862 = 0.18678 */
/* Dropped below the roundel: flush tops read as the wordmark sitting too high,
   because a circle carries its visual weight lower than a line of caps does.
   Adjust --jr-word-drop to taste; the masthead grows by the same amount. */
.jr-mast-word{width:160px;height:88px;background-size:161px auto;background-position:-0.4px -103.3px;
  margin-top:var(--jr-word-drop,10px);}

/* Screen-reader-only: the journal name, which lives inside the logo artwork and
   is therefore unreadable to assistive tech and search engines. */
.jr-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;}

.jr-mast-issn{font-size:.75rem;opacity:.8;position:absolute;right:22px;bottom:18px;}

@media(max-width:640px){
  /* ~75%. Same derivation: scales 106/862 and 121/862. */
  .jr-mast-mark{width:66px;height:66px;background-size:106px auto;background-position:-18.7px -0.4px;}
  .jr-mast-word{width:120px;height:66px;background-size:121px auto;background-position:-0.3px -77.6px;
    margin-top:7px;}
  .jr-mast-title{gap:12px;flex-wrap:wrap;}
  .jr-mast-inner{flex-wrap:wrap;padding:16px 18px 12px var(--jr-mast-inset);}
  .jr-mast-issn{position:static;flex-basis:100%;}
}

.jr-nav{background:var(--brand-dark);}
.jr-nav-inner{max-width:1080px;margin:0 auto;padding:0 22px;display:flex;gap:4px;flex-wrap:wrap;}
.jr-nav-inner a{color:rgba(255,255,255,.85);padding:11px 14px;font-size:.9rem;font-weight:500;border-bottom:3px solid transparent;}
.jr-nav-inner a:hover{color:#fff;text-decoration:none;}
.jr-nav-inner a.active{color:#fff;border-bottom-color:#fff;}
.jr-nav-cta{margin-left:auto;background:var(--accent);border-radius:6px 6px 0 0;}
.jr-nav-cta:hover{background:#9a4718;}
.jr-nav-editor{background:rgba(255,255,255,.12);border-radius:6px 6px 0 0;}

.jr-main{min-height:50vh}
.jr-container{max-width:1080px;margin:0 auto;padding:26px 22px 48px;}

/* Hero + search */
.jr-hero{background:var(--bg-soft);border-bottom:1px solid var(--line);}
.jr-hero-inner{max-width:1080px;margin:0 auto;padding:34px 22px;}
.jr-hero h1{font-size:1.9rem;margin:0 0 .4rem;}
.jr-hero-sub{color:var(--ink-soft);max-width:640px;margin:0 0 1.2rem;font-size:1.02rem;}
.jr-search{display:flex;gap:8px;max-width:620px;}
.jr-search input{flex:1;padding:12px 14px;border:1px solid #cfd6e2;border-radius:8px;font-size:1rem;}
.jr-search button{padding:12px 20px;background:var(--brand);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;}
.jr-search button:hover{background:var(--brand-dark);}

/* Layout cols */
.jr-cols{display:grid;grid-template-columns:1fr 300px;gap:34px;}
.jr-col-side .jr-card{margin-bottom:16px;}
@media(max-width:820px){.jr-cols{grid-template-columns:1fr;}}

.jr-section-h{font-size:1.4rem;margin:0 0 1rem;padding-bottom:.4rem;border-bottom:2px solid var(--line);}
.jr-count{color:var(--muted);font-size:.9rem;font-weight:400;}
.jr-issue-kicker{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:700;}
.jr-issue-head{margin-bottom:1rem;}
.jr-issue-cite{color:var(--muted);font-size:.9rem;}
.jr-issue-desc{color:var(--ink-soft);}

/* Article rows */
.jr-art-row{padding:18px 0;border-bottom:1px solid var(--line);}
.jr-art-type-inline,.jr-art-type{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-weight:700;}
.jr-art-title{font-size:1.2rem;margin:.15rem 0 .3rem;font-weight:600;}
.jr-art-authors{color:var(--ink-soft);font-size:.95rem;}
.jr-art-meta{color:var(--muted);font-size:.82rem;margin-top:.15rem;}
.jr-art-abstract{color:var(--ink-soft);margin:.5rem 0 .4rem;font-size:.95rem;}
.jr-art-links a{font-weight:600;font-size:.9rem;margin-right:14px;}

/* Cards + sidebar */
.jr-card{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);padding:18px;}
.jr-card h3{margin:0 0 .5rem;font-size:1.05rem;}
.jr-card p{margin:0 0 .75rem;color:var(--ink-soft);font-size:.92rem;}
.jr-mini-list{list-style:none;margin:0;padding:0;}
.jr-mini-list li{padding:6px 0;border-bottom:1px solid var(--line);font-size:.9rem;}
.jr-mini-list li:last-child{border-bottom:none;}

/* Buttons */
.jr-btn{display:inline-block;padding:9px 16px;border-radius:7px;border:1px solid #cfd6e2;background:#fff;color:var(--ink);font-weight:600;font-size:.9rem;cursor:pointer;text-decoration:none;margin:4px 6px 4px 0;}
.jr-btn:hover{background:#eef2f7;text-decoration:none;}
.jr-btn-primary{background:var(--brand);border-color:var(--brand);color:#fff;}
.jr-btn-primary:hover{background:var(--brand-dark);}
.jr-btn-publish{background:var(--ok);border-color:var(--ok);color:#fff;}
.jr-btn-publish:hover{background:#0a5f3a;}
.jr-btn-sm{padding:5px 11px;font-size:.82rem;}
.jr-btn-lg{padding:12px 24px;font-size:1rem;}
.jr-linkbtn{background:none;border:none;color:var(--err);cursor:pointer;font-size:.82rem;}

/* Empty / flash / errors */
.jr-empty{color:var(--muted);padding:1rem 0;}
.jr-empty-lg{text-align:center;padding:3rem 1rem;}
.jr-flash{max-width:1080px;margin:0 auto;padding:11px 22px;font-size:.92rem;}
.jr-flash-success{background:#eaf7f0;color:#0a5f3a;border-bottom:1px solid #b6e2cd;}
.jr-flash-error{background:#fdecea;color:#8f1d15;border-bottom:1px solid #f5c2bd;}
.jr-flash-warning{background:#fff7ed;color:#8a4b0a;border:1px solid #fcd9a8;border-radius:8px;}
.jr-errors{background:#fdecea;border:1px solid #f5c2bd;color:#8f1d15;border-radius:8px;padding:12px 16px;margin-bottom:1rem;}
.jr-errors ul{margin:0;padding-left:18px;}

/* Article page */
.jr-article{max-width:820px;}
.jr-art-h1{font-size:1.9rem;margin:.2rem 0 .6rem;line-height:1.2;}
.jr-authors{font-size:1.05rem;color:var(--ink);margin-bottom:.4rem;}
.jr-author{font-weight:500;}
.jr-sep{color:var(--muted);margin:0 6px;}
.jr-orcid{font-size:.7rem;background:#a6ce39;color:#fff;border-radius:3px;padding:0 3px;vertical-align:super;margin-left:2px;}
.jr-affils{color:var(--ink-soft);font-size:.88rem;padding-left:1.1rem;margin:.3rem 0 1rem;}
.jr-art-metabar{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:.86rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 0;margin:.5rem 0 1.2rem;}
.jr-art-actions{margin-bottom:1.4rem;}
.jr-stats{color:var(--muted);font-size:.85rem;margin-left:10px;}
.jr-abstract h2,.jr-cite h2{font-size:1.15rem;margin:1.4rem 0 .5rem;}
.jr-abstract p{color:var(--ink);}
.jr-keywords{color:var(--ink-soft);font-size:.9rem;margin:1rem 0;}
.jr-cite-box{background:var(--bg-soft);border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:6px;padding:12px 14px;font-size:.9rem;color:var(--ink-soft);margin-bottom:.6rem;}
.jr-license-note{color:var(--muted);font-size:.82rem;margin-top:1rem;}

/* Issue grid */
.jr-issue-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;}
.jr-issue-card{display:block;background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);padding:18px;color:var(--ink);}
.jr-issue-card:hover{border-color:var(--brand);text-decoration:none;box-shadow:0 3px 12px rgba(15,76,129,.08);}
.jr-issue-draft{opacity:.7;border-style:dashed;}
.jr-issue-card-vol{font-size:.78rem;color:var(--accent);font-weight:700;letter-spacing:.05em;}
.jr-issue-card-title{font-family:Spectral,serif;font-size:1.15rem;margin:.25rem 0;}
.jr-issue-card-meta{color:var(--muted);font-size:.82rem;}
.jr-tag-draft{color:var(--warn);font-weight:600;}

/* Prose pages */
.jr-prose{max-width:760px;}
.jr-prose h1{font-size:1.9rem;margin-bottom:.6rem;}
.jr-prose h2{font-size:1.25rem;margin:1.6rem 0 .5rem;}
.jr-prose ul,.jr-prose ol{color:var(--ink-soft);}
.jr-prose li{margin:.3rem 0;}

/* Forms */
.jr-submit{max-width:760px;}
.jr-sub{color:var(--ink-soft);}
.jr-form .jr-label,.jr-label{display:block;font-weight:600;font-size:.9rem;margin:1rem 0 0;color:var(--ink);}
.jr-input{display:block;width:100%;margin-top:5px;padding:10px 12px;border:1px solid #cfd6e2;border-radius:7px;font-size:.95rem;font-family:inherit;font-weight:400;}
textarea.jr-input{resize:vertical;}
.jr-req{color:var(--err);}
.jr-hint{color:var(--muted);font-weight:400;font-size:.82rem;}
.jr-fieldset{border:1px solid var(--line);border-radius:8px;padding:14px 16px;margin-top:1.2rem;}
.jr-fieldset legend{font-weight:700;padding:0 6px;}
.jr-author-row{border-top:1px dashed var(--line);padding-top:12px;margin-top:12px;}
.jr-author-row:first-child{border-top:none;padding-top:0;margin-top:0;}
.jr-author-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.jr-corr{display:inline-block;margin-top:8px;font-size:.85rem;font-weight:500;}
.jr-two{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.jr-check{display:block;margin:.8rem 0;font-size:.9rem;}
@media(max-width:560px){.jr-author-grid,.jr-two{grid-template-columns:1fr;}}
.jr-thankyou{text-align:center;padding:2.5rem 1rem;}
.jr-thankyou h1{font-size:1.8rem;}

/* Status badges */
.jr-status-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.02em;text-transform:capitalize;}
.jr-st-submitted{background:#e7eefc;color:#1e40af;}
.jr-st-under_review{background:#fef3cd;color:#8a5a08;}
.jr-st-revisions_requested{background:#ffe9d6;color:#9a4718;}
.jr-st-accepted{background:#e3f5ec;color:#0a5f3a;}
.jr-st-published{background:#0d7a4b;color:#fff;}
.jr-st-rejected{background:#f1f1f4;color:#6b7280;}
.jr-st-withdrawn{background:#f1f1f4;color:#6b7280;}
.jr-status-card .jr-status-badge{font-size:.85rem;}

/* Admin */
.jr-admin-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:1rem;}
.jr-admin-head h1{margin:0;font-size:1.6rem;}
.jr-stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:1.2rem;}
.jr-stat{background:var(--bg-soft);border:1px solid var(--line);border-radius:8px;padding:14px;text-align:center;}
.jr-stat-n{display:block;font-family:Spectral,serif;font-size:1.7rem;font-weight:700;color:var(--brand);}
.jr-stat-l{color:var(--muted);font-size:.8rem;}
@media(max-width:640px){.jr-stat-row{grid-template-columns:repeat(2,1fr);}}
.jr-tabs{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:1rem;}
.jr-tabs a{padding:8px 14px;font-size:.88rem;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;}
.jr-tabs a:hover{text-decoration:none;color:var(--ink);}
.jr-tabs a.active{color:var(--brand);border-bottom-color:var(--brand);}
.jr-table{width:100%;border-collapse:collapse;font-size:.9rem;}
.jr-table th{text-align:left;padding:8px 10px;border-bottom:2px solid var(--line);color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;}
.jr-table td{padding:10px;border-bottom:1px solid var(--line);vertical-align:top;}
.jr-muted{color:var(--muted);font-size:.85rem;}
.jr-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start;}
.jr-admin-grid .jr-card{background:#fff;margin-bottom:16px;}
@media(max-width:860px){.jr-admin-grid{grid-template-columns:1fr;}}
.jr-admin-article details{margin-top:.6rem;}
.jr-admin-article summary{cursor:pointer;font-weight:600;font-size:.88rem;}

/* Footer */
.jr-footer{background:#101826;color:#c3ccdb;margin-top:40px;}
.jr-footer-inner{max-width:1080px;margin:0 auto;padding:28px 22px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:.88rem;}
.jr-footer a{color:#9fc0e6;}
.jr-footer-links{display:flex;gap:16px;flex-wrap:wrap;}
.jr-footer-copy{border-top:1px solid #23324a;text-align:center;padding:14px;font-size:.8rem;color:#7d899d;}

/* Gate */
.jr-gate{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:#eef1f6;}
.jr-gate-card{background:#fff;border-radius:14px;max-width:440px;padding:32px;box-shadow:0 20px 60px rgba(16,24,38,.15);text-align:center;}
.jr-gate-brand{font-family:Spectral,serif;font-weight:700;font-size:1.4rem;color:var(--brand);letter-spacing:.06em;}
.jr-gate-card h1{font-size:1.4rem;margin:.6rem 0;}
.jr-gate-card p{color:var(--ink-soft);}

/* Peer review */
.jr-radio{display:block;margin:6px 0;font-size:.92rem;}
.jr-reviews{margin-bottom:1rem;}
.jr-review{border:1px solid var(--line);border-radius:8px;padding:12px 14px;margin-bottom:10px;background:#fff;}
.jr-review-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;}
.jr-review-rec{margin:.5rem 0;font-size:.92rem;}
.jr-review details{margin:.4rem 0;}
.jr-review summary{cursor:pointer;font-weight:600;font-size:.85rem;color:var(--brand);}
.jr-review details p{background:var(--bg-soft);border-radius:6px;padding:8px 10px;font-size:.9rem;color:var(--ink);}
.jr-review-actions{margin-top:.5rem;}
.jr-invite-form{border-top:1px solid var(--line);padding-top:.6rem;margin-top:.4rem;}
.jr-invite-grid{display:grid;grid-template-columns:1fr 1.4fr .9fr;gap:8px;margin-bottom:.5rem;}
@media(max-width:640px){.jr-invite-grid{grid-template-columns:1fr;}}

/* Case dropbox — repeatable author rows.
   Distinct class: .jr-author-row already belongs to the public submit form,
   and reusing the name here overrode it and crushed those fields. */
.jr-dropbox-author{display:grid;grid-template-columns:1.2fr 1.4fr 1.2fr auto auto;gap:8px;align-items:center;margin-bottom:8px;}
.jr-dropbox-author .jr-input{margin:0;}
.jr-dropbox-author .jr-corr{font-size:.8rem;color:var(--muted);white-space:nowrap;display:flex;align-items:center;gap:4px;margin-top:0;}
@media(max-width:900px){
  .jr-dropbox-author{grid-template-columns:1fr 1fr;}
  .jr-dropbox-author .jr-corr,.jr-dropbox-author .jr-linkbtn{grid-column:span 1;justify-self:start;}
}

/* Editorial board listing */
.jr-board{list-style:none;padding:0;margin:.6rem 0 1.4rem;}
.jr-board li{padding:.55rem 0;border-bottom:1px solid var(--line);}
.jr-board li:last-child{border-bottom:none;}
.jr-board-name{display:block;font-weight:600;}
.jr-board-affil{display:block;font-size:.88rem;color:var(--muted);margin-top:1px;}

/* ── Declared use of AI (submit.php, admin/article.php) ────────────────────── */
/* Each option shows the exact sentence that will be printed with the article,
   so an author is never agreeing to wording they haven't read. */
.jr-ai-levels{margin-top:.4rem;}
.jr-ai-level{display:flex;gap:10px;align-items:flex-start;padding:11px 13px;margin:7px 0;
  border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer;transition:border-color .12s,background .12s;}
.jr-ai-level:hover{border-color:#b9c4d6;background:var(--bg-soft);}
.jr-ai-level.is-on{border-color:var(--brand);background:#f2f7fc;box-shadow:inset 0 0 0 1px var(--brand);}
.jr-ai-level input{margin-top:3px;flex:none;}
.jr-ai-level > span{display:block;}
.jr-ai-level strong{display:block;font-size:.92rem;font-weight:600;}
.jr-ai-level .jr-hint{display:block;margin-top:2px;}
.jr-ai-stmt{display:none;margin-top:7px;padding-top:7px;border-top:1px dashed var(--line);
  font-size:.8rem;color:var(--ink-soft);font-style:italic;line-height:1.5;}
.jr-ai-level.is-on .jr-ai-stmt{display:block;}

/* ── Case-report review rubric (pages/review.php) ──────────────────────────── */
.jr-rub{border:1px solid var(--line);border-radius:8px;padding:13px 15px;margin:12px 0;background:var(--bg-soft);}
.jr-rub-h{font-weight:600;font-size:.93rem;margin-bottom:2px;}
.jr-rub-hint{color:var(--muted);font-size:.82rem;margin-bottom:9px;}
.jr-rub-opt{display:flex;gap:9px;align-items:flex-start;padding:8px 10px;margin:5px 0;
  border:1px solid var(--line);border-radius:7px;background:#fff;cursor:pointer;}
.jr-rub-opt:hover{border-color:#b9c4d6;}
.jr-rub-opt.is-on{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand);}
.jr-rub-opt input{margin-top:3px;flex:none;}
.jr-rub-lvl{display:block;font-weight:700;font-size:.84rem;letter-spacing:.02em;}
.jr-rub-lvl-excellent{color:var(--ok);}
.jr-rub-lvl-acceptable{color:var(--brand);}
.jr-rub-lvl-attention{color:var(--accent);}
.jr-rub-txt{display:block;font-size:.85rem;color:var(--ink-soft);line-height:1.5;margin-top:2px;}
.jr-rub textarea{margin-top:9px;}

/* Rubric as read by the editor and the author */
.jr-rub-read{margin:.5rem 0 0;}
.jr-rub-read-item{border-left:3px solid var(--line);padding:2px 0 2px 11px;margin:11px 0;}
.jr-rub-read-item.lv-excellent{border-left-color:var(--ok);}
.jr-rub-read-item.lv-acceptable{border-left-color:var(--brand);}
.jr-rub-read-item.lv-attention{border-left-color:var(--accent);}
.jr-rub-read-crit{font-weight:600;font-size:.85rem;}
.jr-rub-read-txt{font-size:.87rem;color:var(--ink-soft);margin:3px 0 0;line-height:1.55;}
.jr-rub-read-cmt{font-size:.88rem;margin:5px 0 0;white-space:pre-wrap;
  background:#fff;border:1px solid var(--line);border-radius:6px;padding:7px 9px;}

/* Copy-the-whole-rubric affordance, so the editor can paste it into a letter */
.jr-rub-copy{margin-top:.7rem;display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.jr-rub-copy textarea{position:absolute;left:-9999px;}

/* ── Case revision instructions (pages/submission.php) ─────────────────────── */
/* A case author has no file to upload, so the card is instructions rather than
   a form. Numbered steps, because the order genuinely matters: edits must be
   saved before they tell us they're done. */
.jr-steps{margin:1rem 0 0;padding-left:1.4rem;}
.jr-steps li{margin-bottom:1rem;line-height:1.6;}
.jr-steps li:last-child{margin-bottom:0;}
.jr-steps strong{display:inline;}
.jr-steps .jr-hint{display:block;margin-top:.35rem;}

/* ── Article sections: "Articles and Studies", then case studies ───────────── */
/* A research paper and a teaching case are read for different reasons, so the
   listings separate them rather than interleaving by date. */
.jr-toc-sec{margin-bottom:2.2rem;}
.jr-toc-sec:last-child{margin-bottom:0;}
.jr-toc-h{font-size:1.15rem;margin:0 0 .15rem;padding-bottom:.4rem;
  border-bottom:2px solid var(--brand);display:flex;align-items:baseline;
  justify-content:space-between;gap:10px;flex-wrap:wrap;}
.jr-toc-h .jr-count{color:var(--muted);font-size:.8rem;font-weight:400;
  font-family:Inter,system-ui,sans-serif;}
.jr-toc-blurb{color:var(--muted);font-size:.85rem;margin:.45rem 0 1rem;}
/* The second section is visually subordinate — same weight would read as two
   competing journals rather than one with two parts. */
.jr-toc-sec + .jr-toc-sec .jr-toc-h{border-bottom-color:var(--line);}
