
/* =====================================================================
   Inner pages (appended to ijlmh.css by pages.py). Same tokens as the homepage: logo navy, greys, soft cards,
   Source Serif 4 for titles and headings, Source Sans 3 for everything else.
   ===================================================================== */

/* breadcrumb + page header + section tabs */
.crumb { background: #fff; border-bottom: 1px solid var(--rule); font-size: 14px; color: var(--mu); }
.crumb .wrap { padding-top: 11px; padding-bottom: 11px; display: flex; flex-wrap: wrap; align-items: center; }
.crumb a { color: var(--link); }
.crumb .sep { margin: 0 9px; color: #b4bdc7; }
.crumb [aria-current] { color: var(--body); }
.ph { background: var(--tint); border-bottom: 1px solid var(--rule); }
.ph .wrap { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px 40px; align-items: end; padding-top: 34px; padding-bottom: 30px; }
.ph .kick { font-size: 14.5px; font-weight: 600; color: var(--navy-md); margin-bottom: 6px; }
.ph h1 { font: 600 38px/1.15 var(--serif); color: var(--ink); }
.ph .lead { font-size: 17.5px; line-height: 1.6; color: var(--body); margin: 12px 0 0; max-width: 860px; }
.ph .ph-a { display: flex; flex-wrap: wrap; gap: 10px; }
.ph .ph-f { grid-column: 1 / -1; display: flex; flex-wrap: wrap; margin-top: 6px; border-top: 1px solid var(--rule); padding-top: 16px; }
.ph .ph-f div { padding: 0 24px; border-left: 1px solid var(--rule); }
.ph .ph-f div:first-child { padding-left: 0; border-left: 0; }
.ph .ph-f dt { font-size: 13.5px; color: var(--mu); }
.ph .ph-f dd { font: 600 17px/1.35 var(--serif); color: var(--navy); }
.ptabs { background: #fff; border-bottom: 1px solid var(--rule); }
.ptabs ul { display: flex; gap: 6px 30px; overflow-x: auto; scrollbar-width: none; }
.ptabs ul::-webkit-scrollbar { display: none; }
.ptabs a { display: block; padding: 14px 0 12px; color: var(--body); font-weight: 600; font-size: 15px; white-space: nowrap; border-bottom: 3px solid transparent; }
.ptabs a:hover { color: var(--navy); text-decoration: none; border-bottom-color: #c6d2df; }
.ptabs a[aria-current] { color: var(--navy); border-bottom-color: var(--navy); }

/* two-column layout */
.layout .wrap { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 48px; align-items: start; padding-top: 40px; padding-bottom: 60px; }
.layout.wide .wrap { grid-template-columns: minmax(0, 1fr); }
.rail { display: grid; gap: 22px; }
.rail .ci { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 14px; }
.rail .ci img { border-radius: 2px; box-shadow: 0 3px 10px rgba(15, 35, 55, .18); }
.rail .ci b { display: block; font: 600 17px/1.3 var(--serif); color: var(--ink); }
.rail .ci span { display: block; font-size: 14px; color: var(--mu); line-height: 1.5; }
.rail .ci span b { display: inline; font: 600 14px var(--sans); color: var(--navy); }
.rail .ci .more-link { margin-top: 6px; font-size: 14.5px; }
.rnote { font-size: 14.5px; color: var(--mu); margin: 0; }
.rnote + .rnote { margin-top: 10px; }

/* reading column */
.prose { font-size: 16.5px; line-height: 1.7; color: var(--body); min-width: 0; }
.prose > *:first-child { margin-top: 0; }
.prose h2 { font: 600 25px/1.3 var(--serif); color: var(--ink); margin: 42px 0 12px; scroll-margin-top: 20px; }
.prose h3 { font: 600 18px/1.35 var(--sans); color: var(--ink); margin: 26px 0 8px; }
.prose p { margin: 0 0 14px; text-align: justify; hyphens: auto; -webkit-hyphens: auto; }
.prose ul.plain, .prose ol.plain { list-style: disc; padding-left: 22px; margin: 0 0 16px; }
.prose ol.plain { list-style: decimal; }
.prose ul.plain li, .prose ol.plain li { margin: 5px 0; padding-left: 4px; }
.prose p a:not(.btn), .prose li > a:not(.btn), .prose td a, .prose .note a, .prose .steps p a { text-decoration: underline; text-decoration-color: rgba(28, 80, 137, .35); text-underline-offset: 2px; }
.prose .ilist a, .prose .results a, .prose .toc a, .prose .onpage a, .prose .issues-grid a, .prose .faq a { text-decoration: none !important; }
.prose .btnrow { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 18px 0; }
.prose .btnrow small { font-size: 14.5px; color: var(--mu); }

/* notes, steps, faq, tables, lists */
.note { display: flex; gap: 12px; align-items: flex-start; background: #eef3f8; border-left: 3px solid var(--navy); border-radius: 0 var(--r) var(--r) 0; padding: 14px 18px; margin: 0 0 18px; font-size: 15.5px; line-height: 1.6; color: var(--ink); }
.note .ic { color: var(--navy); margin-top: 3px; }
.note p { margin: 0; text-align: left; }
.steps { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 16px; margin: 6px 0 20px; }
.steps > div { background: #fff; border: 1px solid var(--rule); border-radius: var(--r); padding: 18px 20px; box-shadow: var(--shadow-sm); }
.steps h3 { font: 600 17px/1.35 var(--sans); color: var(--ink); margin: 0 0 6px; }
.steps p { font-size: 15px; line-height: 1.6; color: var(--body); margin: 0; text-align: left; }
.steps small { display: block; margin-top: 10px; font-size: 13.5px; font-weight: 600; color: var(--navy-md); }
.steps .n { display: block; font: 600 22px/1 var(--serif); color: #aab7c5; margin-bottom: 8px; }
.faq { border-top: 1px solid var(--rule); margin: 6px 0 20px; }
.faq details { border-bottom: 1px solid var(--rule); }
.faq summary { list-style: none; cursor: pointer; padding: 15px 34px 15px 0; position: relative; font-weight: 600; font-size: 16.5px; color: var(--ink); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: ""; position: absolute; right: 6px; top: 22px; width: 9px; height: 9px; border-right: 2px solid var(--navy-md); border-bottom: 2px solid var(--navy-md); transform: rotate(45deg); transition: transform .15s; }
.faq details[open] summary::after { transform: rotate(225deg); top: 26px; }
.faq details p { margin: 0 0 16px; font-size: 15.5px; color: var(--body); text-align: left; }
.tbl { overflow-x: auto; margin: 6px 0 20px; border: 1px solid var(--rule); border-radius: var(--r); }
.tbl table { width: 100%; border-collapse: collapse; font-size: 15px; }
.tbl th { text-align: left; background: var(--tint); color: var(--ink); font-weight: 600; padding: 11px 16px; border-bottom: 1px solid var(--rule); white-space: nowrap; }
.tbl td { padding: 11px 16px; border-top: 1px solid var(--rule); vertical-align: top; }
.tbl tr:first-child td { border-top: 0; }
.tbl.fees td:not(:first-child) { font: 600 17px var(--serif); color: var(--navy); }
.tbl.cites td:first-child { color: var(--mu); width: 32%; }
.prose .ticks { margin: 6px 0 20px; }
.prose .ticks li { font-size: 15.5px; line-height: 1.6; color: var(--body); padding: 10px 0; }
.prose .ticks .ic { color: var(--navy-md); width: 18px; height: 18px; margin-top: 3px; }
.numbered { counter-reset: n; margin: 6px 0 20px; }
.numbered li { counter-increment: n; position: relative; padding: 12px 0 12px 48px; border-top: 1px solid var(--rule); }
.numbered li:first-child { border-top: 0; }
.numbered li::before { content: counter(n); position: absolute; left: 0; top: 12px; width: 32px; height: 32px; border-radius: 50%; background: #e3eaf2; color: var(--navy); font: 600 15px/32px var(--sans); text-align: center; }
.numbered b { display: block; color: var(--ink); }
.numbered span { display: block; font-size: 15.5px; color: var(--body); }
.chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 6px 0 20px; }
.chips span { font-size: 14px; background: #fff; border: 1px solid var(--rule); border-radius: 3px; padding: 4px 10px; color: var(--body); }
.chips span.k { border-color: #b9c9da; background: #eef3f8; font-weight: 600; color: var(--navy); }
.stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--rule); border-radius: var(--r); margin: 8px 0 22px; background: #fff; }
.stats div { padding: 16px 18px; border-left: 1px solid var(--rule); }
.stats div:first-child { border-left: 0; }
.stats b { display: block; font: 600 24px/1.15 var(--serif); color: var(--navy); }
.stats span { font-size: 13.5px; color: var(--mu); }
.pull { margin: 6px 0 22px; padding: 18px 22px; border-left: 3px solid var(--navy); background: var(--tint); border-radius: 0 var(--r) var(--r) 0; }
.pull p { font: 400 18px/1.55 var(--serif); color: var(--ink); margin: 0 0 8px; text-align: left; }
.pull small { font-size: 14px; color: var(--mu); }
.onpage { background: var(--tint); border: 1px solid var(--rule); border-radius: var(--r); padding: 16px 20px; margin-bottom: 26px; }
.onpage b { display: block; font-size: 14.5px; color: var(--ink); margin-bottom: 8px; }
.onpage ol { columns: 3; column-gap: 24px; counter-reset: t; }
.onpage li { counter-increment: t; padding: 3px 0; font-size: 15px; break-inside: avoid; }
.onpage li::before { content: counter(t, decimal-leading-zero) " "; color: #8fa0b3; font-variant-numeric: tabular-nums; }
.sc { font-variant: small-caps; }

/* forms */
.form { display: grid; gap: 18px; margin: 6px 0 24px; }
.form fieldset { border: 1px solid var(--rule); border-radius: var(--r); padding: 18px 20px 20px; margin: 0; background: #fff; box-shadow: var(--shadow-sm); display: grid; gap: 14px; min-width: 0; }
.form legend { font: 600 16px var(--sans); color: var(--navy); padding: 0 8px; margin-left: -8px; }
.form label { display: block; font-size: 14.5px; font-weight: 600; color: var(--ink); margin-bottom: 5px; }
.form input:not([type=checkbox]):not([type=radio]), .form select, .form textarea { width: 100%; font: 15.5px var(--sans); color: var(--ink); background: #fff; border: 1px solid #c8d0d9; border-radius: 4px; padding: 10px 12px; }
.form input:focus, .form select:focus, .form textarea:focus { outline: 2px solid var(--link); outline-offset: -1px; border-color: var(--link); }
.form textarea { min-height: 120px; resize: vertical; }
.form input[type=file] { padding: 8px; background: var(--tint); }
.form small { display: block; font-size: 13.5px; color: var(--mu); margin-top: 5px; }
.form .row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form .chk label { display: flex; gap: 10px; font-weight: 400; font-size: 15px; line-height: 1.55; color: var(--body); }
.form .chk input { margin-top: 4px; width: 16px; height: 16px; flex: none; accent-color: var(--navy); }
.form .acts { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.form .result { display: grid; gap: 0; }
.form .qty { width: 92px !important; }

/* people */
.people { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 6px 0 24px; }
.people > div { background: #fff; border: 1px solid var(--rule); border-radius: var(--r); padding: 24px 20px 22px; text-align: center; box-shadow: var(--shadow-sm); }
.people img { width: 120px; height: 120px; border-radius: 50%; object-fit: cover; margin: 0 auto 14px; box-shadow: 0 0 0 4px #fff, 0 0 0 5px var(--rule); }
.people .role { font-size: 14px; color: var(--mu); }
.people .nm { font: 600 19px/1.3 var(--serif); color: var(--ink); margin: 3px 0 5px; }
.people .af { font-size: 14.5px; color: var(--body); line-height: 1.5; }
.people.small { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.people.small > div { display: flex; gap: 14px; align-items: center; text-align: left; padding: 16px; }
.people.small img { width: 72px; height: 72px; margin: 0; flex: none; box-shadow: none; }
.people.small .nm { font-size: 17px; }

/* logo grids */
.lgrid { display: grid; gap: 16px; margin: 6px 0 22px; }
.lgrid.big { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.lgrid.small { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
.lgrid a { background: #fff; border: 1px solid var(--rule); border-radius: var(--r); display: grid; place-items: center; padding: 16px; box-shadow: var(--shadow-sm); transition: box-shadow .15s, transform .15s; }
.lgrid.big a { height: 110px; }
.lgrid.small a { height: 80px; }
.lgrid a:hover { box-shadow: var(--shadow); transform: translateY(-2px); }
.lgrid.big img { max-height: 48px; width: auto; }
.lgrid.small img { max-height: 40px; max-width: 100%; width: auto; }

/* history timeline */
.hist { position: relative; margin: 10px 0 24px; }
.hist::before { content: ""; position: absolute; left: 132px; top: 6px; bottom: 6px; width: 2px; background: #d6dee7; }
.hist li { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 40px; padding: 0 0 22px; position: relative; }
.hist li::before { content: ""; position: absolute; left: 127px; top: 6px; width: 12px; height: 12px; border-radius: 50%; background: #fff; border: 3px solid var(--navy); }
.hist .y { font: 600 15px/1.4 var(--sans); color: var(--navy); text-align: right; }
.hist .t { font: 600 18px/1.35 var(--serif); color: var(--ink); margin-bottom: 4px; }
.hist p { font-size: 15.5px; margin: 0; text-align: left; }

/* full-width sections on inner pages */
.isec { padding: 52px 0; border-top: 1px solid var(--rule); }
.isec.tint { background: var(--tint); }
.isec h2.h2 { margin-bottom: 8px; }
.isec .sub { color: var(--mu); font-size: 16.5px; max-width: 820px; margin: 0 0 24px; }

/* archive */
.vol { margin-bottom: 34px; }
.vol-h { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; border-bottom: 2px solid var(--navy); padding-bottom: 8px; margin-bottom: 14px; }
.vol-h h2 { font: 600 24px var(--serif); margin: 0; }
.vol-h span { font-size: 14.5px; color: var(--mu); }
.issues-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 16px; }
.issues-grid a { display: block; background: #fff; border: 1px solid var(--rule); border-radius: var(--r); padding: 14px; color: var(--ink); box-shadow: var(--shadow-sm); transition: box-shadow .15s, transform .15s; }
.issues-grid a:hover { text-decoration: none; box-shadow: var(--shadow); transform: translateY(-2px); }
.issues-grid img { width: 64px; border-radius: 2px; box-shadow: 0 2px 8px rgba(15, 35, 55, .18); float: right; margin: 0 0 6px 10px; }
.issues-grid b { display: block; font: 600 17px/1.3 var(--serif); }
.issues-grid span { display: block; font-size: 13.5px; color: var(--mu); line-height: 1.5; }
.issues-grid .cur { display: inline-block; margin-top: 6px; font-size: 12.5px; font-weight: 600; color: #fff; background: var(--navy); border-radius: 3px; padding: 1px 7px; }
.arch-cur { display: grid; grid-template-columns: 120px minmax(0, 1fr) auto; gap: 24px; align-items: center; background: #fff; border: 1px solid var(--rule); border-left: 4px solid var(--navy); border-radius: var(--r); padding: 20px 24px; margin-bottom: 34px; box-shadow: var(--shadow-sm); }
.arch-cur img { border-radius: 2px; box-shadow: 0 4px 12px rgba(15, 35, 55, .2); }
.arch-cur .k { font-size: 14px; font-weight: 600; color: var(--navy-md); }
.arch-cur h2 { font: 600 26px/1.25 var(--serif); margin: 2px 0 4px; }
.arch-cur p { margin: 0; color: var(--mu); font-size: 15.5px; text-align: left; }
.arch-cur .acts { display: flex; flex-direction: column; gap: 10px; }
.filters { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; margin-bottom: 26px; }
.filters .yrs { display: flex; flex-wrap: wrap; gap: 6px; }
.filters .yrs a { font-size: 14.5px; font-weight: 600; padding: 6px 13px; border: 1px solid var(--rule); border-radius: 4px; background: #fff; color: var(--body); }
.filters .yrs a[aria-current] { background: var(--navy); border-color: var(--navy); color: #fff; }
.filters form { display: flex; min-width: 300px; }
.filters input { flex: 1; font: 15px var(--sans); padding: 9px 12px; border: 1px solid #c8d0d9; border-right: 0; border-radius: 4px 0 0 4px; }
.filters button { border: 0; background: var(--navy); color: #fff; padding: 0 14px; border-radius: 0 4px 4px 0; cursor: pointer; display: flex; align-items: center; }

/* issue page */
.ihead { background: var(--tint); border-bottom: 1px solid var(--rule); }
.ihead .wrap { display: grid; grid-template-columns: 132px minmax(0, 1fr) auto; gap: 30px; align-items: center; padding-top: 30px; padding-bottom: 30px; }
.ihead img { border-radius: 2px; box-shadow: 0 6px 18px rgba(15, 35, 55, .22); }
.ihead .oa { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; color: var(--ink); }
.ihead .oa .ic { color: var(--oa); width: 16px; height: 16px; }
.ihead h1 { font: 600 36px/1.15 var(--serif); margin: 6px 0 4px; }
.ihead h1 span { color: #8a97a6; font-weight: 400; }
.ihead p { margin: 0; font-size: 16px; color: var(--mu); }
.ihead dl { display: grid; grid-template-columns: auto auto; gap: 0 28px; background: #fff; border: 1px solid var(--rule); border-radius: var(--r); padding: 6px 20px; }
.ihead dl div { display: contents; }
.ihead dt { font-size: 14px; color: var(--mu); padding: 9px 0; border-top: 1px solid var(--rule); }
.ihead dd { font: 600 18px var(--serif); color: var(--ink); text-align: right; padding: 9px 0; border-top: 1px solid var(--rule); }
.ihead dl div:first-child dt, .ihead dl div:first-child dd { border-top: 0; }
.itools { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; padding-bottom: 14px; border-bottom: 2px solid var(--navy); }
.itools h2 { font: 600 23px var(--serif); margin: 0; }
.itools h2 span { color: #8a97a6; font-weight: 400; }
.itools .fl { display: flex; gap: 8px; }
.itools input, .itools select { font: 15px var(--sans); padding: 8px 12px; border: 1px solid #c8d0d9; border-radius: 4px; background: #fff; color: var(--ink); }
.itools input { width: 240px; }
.ilist li { display: grid; grid-template-columns: minmax(0, 1fr) 96px; gap: 6px 24px; padding: 20px 0; border-bottom: 1px solid var(--rule); }
.ilist h3 { font: 600 19.5px/1.4 var(--serif); margin: 0 0 6px; }
.ilist h3 a { color: var(--link); }
.ilist .au { font-size: 15.5px; color: var(--ink); }
.ilist .af { font-size: 14.5px; color: var(--mu); font-style: italic; }
.ilist .au + .af { margin-bottom: 4px; }
.ilist .acts { display: flex; flex-wrap: wrap; gap: 4px 20px; margin-top: 8px; font-size: 14.5px; font-weight: 600; }
.ilist .acts a { display: inline-flex; align-items: center; gap: 5px; }
.ilist .acts .ic { width: 15px; height: 15px; }
.ilist .side { text-align: right; font-size: 13.5px; color: var(--mu); }
.ilist .side b { display: block; font: 600 16px var(--serif); color: var(--ink); }
.ilist .side .v { margin-top: 10px; display: flex; align-items: center; justify-content: flex-end; gap: 5px; }
.ilist .side .v .ic { width: 15px; height: 15px; }
.ilist .abs { grid-column: 1 / -1; display: none; background: var(--tint); border-left: 3px solid var(--navy); padding: 14px 18px; font-size: 15px; line-height: 1.65; text-align: justify; hyphens: auto; border-radius: 0 var(--r) var(--r) 0; }
.ilist li.show-abs .abs { display: block; }
.pager { display: flex; justify-content: space-between; align-items: center; padding-top: 18px; font-size: 15px; color: var(--mu); }

/* article page */
.ahead { background: #fff; border-bottom: 1px solid var(--rule); }
.ahead .wrap { padding-top: 30px; padding-bottom: 26px; }
.ahead .kick { display: flex; flex-wrap: wrap; align-items: center; font-size: 14px; color: var(--mu); }
.ahead .kick > span { display: inline-flex; align-items: center; gap: 6px; }
.ahead .kick > span + span::before { content: ""; width: 1px; height: 14px; background: #cdd4dc; margin: 0 12px; }
.ahead .kick .oa { color: var(--ink); font-weight: 600; }
.ahead .kick .oa .ic { color: var(--oa); width: 16px; height: 16px; }
.ahead h1 { font: 600 34px/1.25 var(--serif); margin: 12px 0 18px; max-width: 980px; }
.ahead .auths { display: flex; flex-wrap: wrap; gap: 14px 30px; padding: 14px 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.ahead .auth { display: flex; gap: 12px; align-items: center; }
.ahead .av { width: 40px; height: 40px; border-radius: 50%; background: #e3eaf2; color: var(--navy); display: grid; place-items: center; font: 600 14px var(--sans); flex: none; }
.ahead .auth b { display: block; font-weight: 600; color: var(--ink); }
.ahead .auth small { display: block; font-size: 13.5px; color: var(--mu); }
.ahead .row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; margin-top: 18px; }
.ahead .acts { display: flex; flex-wrap: wrap; gap: 10px; }
.ahead .acts .btn { padding: 11px 18px; }
.ahead .acts .btn .ic { width: 17px; height: 17px; }
.ahead .stat { display: flex; gap: 22px; font-size: 14.5px; color: var(--mu); }
.ahead .stat b { font: 600 19px var(--serif); color: var(--ink); margin-right: 4px; }
.prose .sect-k { font-size: 14px; font-weight: 600; color: var(--navy-md); margin: 0 0 8px; }
.prose .abstract { font-size: 16.5px; }
.prose .kw { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 30px; }
.prose .kw span { font-size: 14px; background: var(--tint); border: 1px solid var(--rule); border-radius: 3px; padding: 4px 11px; }
.prose .fulltext h2 { font-size: 23px; }
.prose .refs { counter-reset: r; }
.prose .refs li { counter-increment: r; position: relative; padding: 6px 0 6px 34px; font-size: 14.5px; line-height: 1.55; border-top: 1px solid var(--rule); }
.prose .refs li::before { content: counter(r) "."; position: absolute; left: 0; color: var(--mu); }
/* a long DOI or address in a reference (or in the full text) breaks onto the next line instead of pushing the page sideways */
.prose .refs li, .prose .fulltext a, .prose .fulltext li, .prose .fulltext p { overflow-wrap: anywhere; }
.toc a { display: block; padding: 7px 0 7px 12px; border-left: 2px solid var(--rule); font-size: 14.5px; color: var(--body); line-height: 1.4; }
.toc a:hover { border-left-color: var(--navy); color: var(--navy); text-decoration: none; }
.citebox { font-size: 14.5px; line-height: 1.55; background: var(--tint); border: 1px solid var(--rule); border-radius: 4px; padding: 12px 14px; color: var(--ink); }
.citebox + .fmt { display: flex; gap: 14px; margin-top: 10px; font-size: 14px; font-weight: 600; }
.lic { display: flex; gap: 8px; margin-bottom: 10px; }
.lic span { font-size: 12.5px; font-weight: 600; letter-spacing: .02em; border: 1px solid #b9c9da; color: var(--navy); border-radius: 3px; padding: 2px 8px; }

/* search, 404, gated states */
.results li { padding: 18px 0; border-bottom: 1px solid var(--rule); }
.results h3 { font: 600 19px/1.4 var(--serif); margin: 4px 0; }
.results p { font-size: 15px; color: var(--mu); margin: 4px 0 0; text-align: left; }
.empty { text-align: center; padding: 40px 20px 20px; }
.empty .big { font: 600 72px/1 var(--serif); color: #c4cfdb; }
.empty h2 { font: 600 26px var(--serif); margin: 10px 0 8px; }
.empty p { color: var(--mu); max-width: 560px; margin: 0 auto 20px; text-align: center; }
.empty .acts { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.gate { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 18px; align-items: start; background: #fff; border: 1px solid var(--rule); border-radius: var(--r); padding: 24px; box-shadow: var(--shadow-sm); margin-bottom: 24px; }
.gate .ic { width: 52px; height: 52px; color: var(--navy); stroke-width: 1.4; }
.gate h2 { margin: 0 0 6px !important; }
.gate p { margin: 0 0 10px; text-align: left; }
.payqr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 6px 0 22px; }
.payqr > div { background: #fff; border: 1px solid var(--rule); border-radius: var(--r); padding: 20px; box-shadow: var(--shadow-sm); }
.payqr h3 { margin-top: 0 !important; }
.payqr .qr { width: 150px; height: 150px; border: 1px dashed #b9c9da; border-radius: 4px; display: grid; place-items: center; color: var(--mu); font-size: 13.5px; text-align: center; margin: 8px 0 12px; background: var(--tint); }

@media (max-width: 1100px) {
  .layout .wrap { grid-template-columns: minmax(0, 1fr) 290px; gap: 32px; }
  .people, .people.small { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .onpage ol { columns: 2; }
}
@media (max-width: 860px) {
  .ph .wrap { grid-template-columns: 1fr; padding-top: 22px; padding-bottom: 22px; }
  .ph h1 { font-size: 28px; }
  .ph .lead { font-size: 16px; }
  .ph .ph-f { gap: 10px 0; }
  .ph .ph-f div { padding: 0 14px; }
  .layout .wrap { grid-template-columns: 1fr; padding-top: 26px; padding-bottom: 40px; }
  .prose h2 { font-size: 22px; margin-top: 32px; }
  .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stats div:nth-child(3) { border-left: 0; }
  .stats div:nth-child(n+3) { border-top: 1px solid var(--rule); }
  .form .row2 { grid-template-columns: 1fr; }
  .people, .people.small, .payqr { grid-template-columns: 1fr; }
  .lgrid.big { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hist::before { left: 6px; }
  .hist li { grid-template-columns: 1fr; gap: 2px; padding-left: 28px; }
  .hist li::before { left: 1px; }
  .hist .y { text-align: left; }
  .onpage ol { columns: 1; }
  .ihead .wrap, .arch-cur { grid-template-columns: 1fr; }
  .ihead img, .arch-cur img { width: 96px; }
  .ihead h1 { font-size: 27px; }
  .itools input { width: 100%; }
  .itools .fl { width: 100%; }
  .ilist li { grid-template-columns: 1fr; }
  .ilist .side { text-align: left; display: flex; gap: 16px; align-items: baseline; }
  .ilist .side b { display: inline; }
  .ilist .side .v { margin: 0; }
  .ahead h1 { font-size: 25px; }
  .filters form { min-width: 0; width: 100%; }
  .gate { grid-template-columns: 1fr; }
}

/* output of content.render_policy() (policy and legal pages rendered line by line from the live text) */
.prose .kick { font-size: 14px; font-weight: 600; color: var(--navy-md); margin: 40px 0 -6px; }
.prose .kick + h2 { margin-top: 10px; }
.prose > ul:not([class]) { list-style: disc; padding-left: 22px; margin: 0 0 16px; }
.prose > ul:not([class]) li { margin: 5px 0; padding-left: 4px; }
.prose > table { width: 100%; border-collapse: collapse; font-size: 15px; margin: 6px 0 20px; border: 1px solid var(--rule); }
.prose > table th { text-align: left; background: var(--tint); padding: 11px 16px; border-bottom: 1px solid var(--rule); }
.prose > table td { padding: 11px 16px; border-top: 1px solid var(--rule); }
.prose .stage { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 16px; padding: 16px 0; border-top: 1px solid var(--rule); }
.prose .stage .no { width: 40px; height: 40px; border-radius: 50%; background: #e3eaf2; color: var(--navy); font: 600 15px/40px var(--sans); text-align: center; }
.prose .stage h3 { margin: 0 0 4px; }
.prose .stage p { margin: 0; }
.prose .stage small { display: block; margin-top: 6px; font-size: 13.5px; font-weight: 600; color: var(--navy-md); }
.prose .marks { margin: 6px 0 20px; }
.prose .marks li { position: relative; padding: 8px 0 8px 30px; border-top: 1px solid var(--rule); font-size: 15.5px; }
.prose .marks li:first-child { border-top: 0; }
.prose .marks li::before { position: absolute; left: 2px; top: 8px; font-weight: 700; }
.prose .marks li.yes::before { content: "\2713"; color: var(--navy); }
.prose .marks li.no::before { content: "\2715"; color: #9a3b2f; }
.prose .facts-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 6px 0 20px; }
.prose .facts-chips span { font-size: 14px; background: var(--tint); border: 1px solid var(--rule); border-radius: 3px; padding: 5px 11px; color: var(--ink); }

/* archive issue cards: cover beside the text, not floated */
.issues-grid { grid-template-columns: repeat(auto-fill, minmax(215px, 1fr)); }
/* issue cards carry no cover: every issue shares the one cover, so a thumbnail on each card said nothing and
   squeezed the text (the cover stays in the current-issue band) */
.issues-grid a { display: block; padding: 16px 18px; }
.issues-grid a.is-cur { border-top: 3px solid var(--navy); padding-top: 14px; }
/* key/value lists with long values: label above value */
.info.stack div { display: block; }
.info.stack dd { text-align: left; font-weight: 500; margin-top: 2px; }

/* ORCID iD mark and DOI links (issue rows, article page, homepage lists) */
.orcid { display: inline-flex; vertical-align: -3px; margin-left: 6px; }
.orcid svg { width: 17px; height: 17px; }
.doi { display: inline-flex; align-items: baseline; gap: 6px; font-weight: 500; color: var(--link); word-break: break-all; }
.doi span { font-weight: 600; color: var(--mu); font-size: .92em; word-break: normal; }
.ilist .acts .doi { font-weight: 500; }
.ilist li[hidden] { display: none; }

/* ===== long-page layout: sticky section menu + separated sections ===== */
.doc .wrap { display: grid; grid-template-columns: 236px minmax(0, 1fr); gap: 64px; padding-top: 48px; padding-bottom: 72px; align-items: start; }
.dtoc { position: sticky; top: 20px; font-size: 14.5px; }
.dtoc summary { list-style: none; font-weight: 600; color: var(--ink); font-size: 14px; margin-bottom: 10px; cursor: default; }
.dtoc summary::-webkit-details-marker { display: none; }
.dtoc ol { border-left: 2px solid var(--rule); }
.dtoc a { display: block; padding: 6px 0 6px 14px; margin-left: -2px; border-left: 2px solid transparent; color: var(--mu); line-height: 1.4; }
.dtoc a:hover, .dtoc a.on { color: var(--navy); border-left-color: var(--navy); text-decoration: none; }
.dtoc a.on { font-weight: 600; }
.dside { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 12px; align-items: center; margin-top: 26px; padding-top: 20px; border-top: 1px solid var(--rule); }
.dside img { border-radius: 2px; box-shadow: 0 2px 8px rgba(15, 35, 55, .18); }
.dside b { display: block; font: 600 15.5px/1.3 var(--serif); color: var(--ink); }
.dside span { font-size: 13.5px; color: var(--mu); }
.dside-acts { margin-top: 14px; }
.dside-acts .btn { width: 100%; padding: 11px 14px; font-size: 14.5px; }
.dmain { max-width: 820px; }
.dsec { padding: 46px 0; border-top: 1px solid var(--rule); scroll-margin-top: 16px; }
.dsec:first-child { padding-top: 0; border-top: 0; }
.dsec > h2 { font: 600 28px/1.25 var(--serif); margin: 0 0 16px !important; }
.dsec > h3, .dsec h3.sub3 { font: 600 19px/1.35 var(--serif); margin: 30px 0 10px; }
.dsec .intro { font-size: 17.5px; line-height: 1.65; color: var(--body); }
.dsec .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fgrid { display: grid; gap: 1px; background: var(--rule); border: 1px solid var(--rule); border-radius: var(--r); overflow: hidden; margin: 8px 0 22px; }
.fgrid.c3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fgrid.c2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fgrid.c4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.fgrid div { background: #fff; padding: 16px 18px; }
.fgrid dt { font-size: 13.5px; color: var(--mu); margin-bottom: 3px; }
.fgrid dd { font: 600 17px/1.35 var(--serif); color: var(--ink); }
.fgrid dd small { display: block; font: 400 14px/1.5 var(--sans); color: var(--mu); margin-top: 4px; }
.fgrid .hl { background: #eef3f8; }
.fgrid .hl dd { color: var(--navy); font-size: 21px; }
.tline { position: relative; margin: 10px 0 22px; counter-reset: s; }
.tline::before { content: ""; position: absolute; left: 17px; top: 10px; bottom: 10px; width: 2px; background: #d6dee7; }
.tline li { counter-increment: s; position: relative; padding: 0 0 22px 56px; }
.tline li::before { content: counter(s); position: absolute; left: 0; top: 0; width: 36px; height: 36px; border-radius: 50%; background: #fff; border: 2px solid var(--navy); color: var(--navy); font: 600 15px/32px var(--sans); text-align: center; }
.tline h3 { font: 600 17.5px/1.35 var(--sans) !important; margin: 6px 0 4px !important; }
.tline p { font-size: 15.5px; margin: 0 !important; text-align: left !important; }
.tline small { display: inline-block; margin-top: 6px; font-size: 13px; font-weight: 600; color: var(--navy-md); background: #eef3f8; border-radius: 3px; padding: 2px 8px; }
.fold { border: 1px solid var(--rule); border-radius: var(--r); margin: 10px 0 18px; background: #fff; }
.fold summary { list-style: none; cursor: pointer; padding: 13px 18px; font-weight: 600; color: var(--link); display: flex; justify-content: space-between; align-items: center; }
.fold summary::-webkit-details-marker { display: none; }
.fold summary::after { content: ""; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); margin-right: 4px; transition: transform .15s; }
.fold[open] summary::after { transform: rotate(225deg); }
.fold > div { padding: 2px 18px 16px; }
.fold .chips { margin: 0; }
.cols2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; }
.dsec .ticks.cols2 li { break-inside: avoid; }
@media (max-width: 1100px) { .doc .wrap { grid-template-columns: 200px minmax(0, 1fr); gap: 40px; } .fgrid.c4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 860px) {
  .doc .wrap { grid-template-columns: 1fr; gap: 20px; padding-top: 24px; padding-bottom: 44px; }
  .dtoc { position: static; background: var(--tint); border: 1px solid var(--rule); border-radius: var(--r); padding: 12px 16px; }
  .dtoc details:not([open]) summary { margin: 0; }
  .dtoc summary { cursor: pointer; margin: 0; display: flex; justify-content: space-between; }
  .dtoc summary::after { content: "+"; font-weight: 400; }
  .dtoc details[open] summary { margin-bottom: 8px; }
  .dtoc details[open] summary::after { content: "\2212"; }
  .dside, .dside-acts { display: none; }
  .dsec { padding: 34px 0; }
  .dsec > h2 { font-size: 23px; }
  .fgrid.c3, .fgrid.c2, .fgrid.c4, .cols2, .dsec .steps { grid-template-columns: 1fr; }
}
.dtoc .btn { color: #fff; border-left: 1.5px solid var(--navy); margin-left: 0; padding: 11px 14px; }
.dtoc .btn:hover { color: #fff; border-left-color: var(--navy-dk); }
.dsec .skick { font-size: 14px; font-weight: 600; color: var(--navy-md); margin-bottom: 6px; }
.dsec > .skick + h2 { margin-top: 0 !important; }

/* lists and tables from the policy renderer keep their styling inside doc sections */
.dmain ul:not([class]) { list-style: disc; padding-left: 22px; margin: 0 0 16px; }
.dmain ul:not([class]) li { margin: 5px 0; padding-left: 4px; }
.dmain table:not([class]) { width: 100%; border-collapse: collapse; font-size: 15px; margin: 6px 0 20px; border: 1px solid var(--rule); }
.dmain table:not([class]) th { text-align: left; background: var(--tint); padding: 11px 16px; border-bottom: 1px solid var(--rule); }
.dmain table:not([class]) td { padding: 11px 16px; border-top: 1px solid var(--rule); }
/* "at a glance" facts from the live policy pages: a tidy grid of tiles, not loose pills */
.prose .facts-chips { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--rule); border: 1px solid var(--rule); border-radius: var(--r); overflow: hidden; }
.prose .facts-chips span { background: #fff; border: 0; border-radius: 0; padding: 13px 16px; font-size: 15px; font-weight: 600; color: var(--ink); line-height: 1.4; }
.prose .facts-chips span:first-child { grid-column: 1 / -1; background: var(--tint); font: 600 15px var(--sans); color: var(--navy); }
@media (max-width: 860px) { .prose .facts-chips { grid-template-columns: 1fr; } }

/* policy renderer: at-a-glance facts, related links, bullet lists, tick/cross table cells */
.glance { border: 1px solid var(--rule); border-radius: var(--r); overflow: hidden; margin: 6px 0 22px; background: #fff; }
.glance .gh { background: var(--tint); border-bottom: 1px solid var(--rule); padding: 12px 18px; font-weight: 600; color: var(--navy); font-size: 15px; }
.glance dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.glance dl div { display: flex; justify-content: space-between; gap: 16px; padding: 11px 18px; border-top: 1px solid var(--rule); }
.glance dl div:nth-child(-n+2) { border-top: 0; }
.glance dl div:nth-child(odd) { border-right: 1px solid var(--rule); }
.glance dt { color: var(--mu); font-size: 15px; }
.glance dd { color: var(--ink); font-weight: 600; font-size: 15px; text-align: right; }
.prose .pre { font-size: 14.5px; color: var(--mu); margin: 0 0 8px; }
.relinks { display: flex; flex-wrap: wrap; gap: 8px 10px; margin: 8px 0 20px; }
.relinks li a, .relinks li span { display: inline-flex; align-items: center; gap: 6px; padding: 7px 13px; border: 1px solid #c6d2df; border-radius: 4px; font-size: 14.5px; font-weight: 600; color: var(--navy); background: #fff; text-decoration: none !important; }
.relinks li a::after { content: ""; width: 7px; height: 7px; border-right: 2px solid currentColor; border-top: 2px solid currentColor; transform: rotate(45deg); }
.relinks li a:hover { background: var(--tint); }
.prose ul.dots { list-style: disc; padding-left: 22px; margin: 0 0 16px; }
.prose ul.dots li { margin: 6px 0; padding-left: 4px; }
.tbl td.yes { color: var(--navy); font-weight: 600; }
.tbl td.no { color: #9a3b2f; font-weight: 600; }
.prose .facts-chips.plain { display: flex; flex-wrap: wrap; gap: 8px; background: none; border: 0; }
.prose .facts-chips.plain span { border: 1px solid var(--rule); border-radius: 3px; padding: 5px 11px; font-weight: 600; font-size: 14px; background: var(--tint); grid-column: auto; color: var(--ink); }
@media (max-width: 860px) { .glance dl { grid-template-columns: 1fr; } .glance dl div:nth-child(2) { border-top: 1px solid var(--rule); } .glance dl div:nth-child(odd) { border-right: 0; } }

/* scope: discipline cards with subject tags */
.sc-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin: 6px 0 10px; }
.sc-card { background: #fff; border: 1px solid var(--rule); border-radius: var(--r); box-shadow: var(--shadow-sm); padding: 22px 22px 18px; display: flex; flex-direction: column; }
.sc-h { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding-bottom: 12px; margin-bottom: 12px; border-bottom: 2px solid var(--navy); }
.sc-h h3 { font: 600 21px/1.25 var(--serif); margin: 0; color: var(--ink); }
.sc-h span { font-size: 13.5px; color: var(--mu); white-space: nowrap; }
.sc-d { font-size: 15px; line-height: 1.6; color: var(--body); margin: 0 0 14px; text-align: left; }
.sc-tags { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 14px; }
.sc-tags li { font-size: 13.5px; line-height: 1.3; color: var(--ink); background: var(--tint); border: 1px solid #dde4ec; border-radius: 3px; padding: 5px 9px; }
.sc-more { margin: auto 0 0; font-size: 14px; font-style: italic; color: var(--mu); }
@media (max-width: 1000px) { .sc-grid { grid-template-columns: 1fr; } }

/* closing navy band at the foot of author-facing pages (band() in layout.py) */
.cta { background: var(--navy); color: #d9e2ec; }
.cta .wrap { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 40px; align-items: center; padding-top: 48px; padding-bottom: 48px; }
.cta h2 { font: 600 28px/1.25 var(--serif); color: #fff; margin: 0 0 8px; }
.cta p { margin: 0; font-size: 16.5px; line-height: 1.6; max-width: 760px; color: #d9e2ec; }
.cta .acts { display: flex; flex-wrap: wrap; gap: 12px; }
@media (max-width: 860px) { .cta .wrap { grid-template-columns: 1fr; gap: 20px; padding-top: 36px; padding-bottom: 36px; } .cta h2 { font-size: 23px; } }
/* the closing band sits just above the navy footer: pale panel so the two never merge */
.cta { background: #e9eff6; color: var(--body); border-top: 1px solid #d5dfea; }
.cta h2 { color: var(--ink); }
.cta p { color: var(--body); }
.cta p a { color: var(--link); }
.cta .btn.light { background: var(--navy); color: #fff; border-color: var(--navy); }
.cta .btn.light:hover { background: var(--navy-dk); border-color: var(--navy-dk); }
.cta .btn.line { background: #fff; color: var(--navy); border-color: var(--navy); }
.cta .btn.line:hover { background: var(--tint); }

/* About: publisher row and explore cards */
.pubrow { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 28px; align-items: center; }
.pubrow img { width: 150px; height: auto; }
.pubrow p { margin: 0; }
.steps.explore > a { display: block; background: #fff; border: 1px solid var(--rule); border-radius: var(--r); padding: 20px 22px; box-shadow: var(--shadow-sm); color: var(--body); transition: box-shadow .15s, transform .15s; text-decoration: none !important; }
.steps.explore > a:hover { box-shadow: var(--shadow); transform: translateY(-2px); }
.steps.explore h3 { font: 600 19px/1.3 var(--serif) !important; color: var(--ink); margin: 0 0 6px !important; }
.steps.explore p { margin: 0 0 12px; }
.steps.explore .more-link { font-size: 14.5px; }
.dsec .hist { margin-bottom: 0; }
@media (max-width: 860px) { .pubrow { grid-template-columns: 1fr; gap: 14px; } }

/* sectioned pages: left menu, content, right panel */
.doc.has-rail .wrap { grid-template-columns: 200px minmax(0, 1fr) 300px; gap: 48px; }
.doc.has-rail .dmain { max-width: none; }
.drail { position: sticky; top: 20px; display: grid; gap: 20px; align-self: start; }
.drail .box .in { padding: 16px 18px; }
.drail .info div { font-size: 14.5px; }
.drail .btn .ic { width: 16px; height: 16px; }
.doc.has-rail .fgrid.c4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.doc.has-rail .sc-grid { grid-template-columns: 1fr; }
@media (max-width: 1240px) {
  .doc.has-rail .wrap { grid-template-columns: 190px minmax(0, 1fr); gap: 40px; }
  .doc.has-rail .drail { grid-column: 2; position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
  .doc.has-rail .wrap { grid-template-columns: 1fr; gap: 20px; }
  .doc.has-rail .drail { grid-column: auto; grid-template-columns: 1fr; }
}

/* sectioned pages: light grey ground, each section its own white panel (no right sidebar) */
.doc { background: var(--tint); border-top: 1px solid var(--rule); }
.doc .wrap { grid-template-columns: 236px minmax(0, 1fr); gap: 40px; padding-top: 36px; padding-bottom: 56px; }
.doc .dmain { max-width: none; display: grid; gap: 22px; }
.doc .dsec, .doc .dsec:first-child { background: #fff; border: 1px solid var(--rule); border-radius: 8px; box-shadow: var(--shadow-sm); padding: 34px 40px 30px; }
.doc .dsec > *:last-child { margin-bottom: 0; }
.doc .dsec .note, .doc .dsec .pull { background: #f1f5f9; }
.doc .dsec .tbl th, .doc .dsec .glance .gh { background: #f1f5f9; }
.dtoc { background: #fff; border: 1px solid var(--rule); border-radius: 8px; padding: 18px 18px 20px; box-shadow: var(--shadow-sm); }
.dtoc ol { margin-left: 2px; }
.dside { margin-top: 18px; padding-top: 16px; }
@media (max-width: 860px) {
  .doc .wrap { grid-template-columns: 1fr; gap: 16px; padding-top: 18px; padding-bottom: 36px; }
  .doc .dsec, .doc .dsec:first-child { padding: 24px 18px 20px; }
  .dtoc { padding: 12px 16px; }
}

/* short / functional pages: full-width white panels on the grey ground, task beside its explanation */
.doc.solo .wrap { grid-template-columns: minmax(0, 1fr); }
.split2 { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 0; align-items: start; }
.split2 .s-a { padding-right: 40px; }
.split2 .s-b { padding-left: 40px; border-left: 1px solid var(--rule); align-self: stretch; }
.split2 .s-b > h2:first-child, .split2 .s-a > h2:first-child { margin-top: 0 !important; }
.split2 h2 { font: 600 22px/1.3 var(--serif) !important; margin: 26px 0 10px !important; }
.doc .form fieldset { background: var(--tint); box-shadow: none; border-color: #e2e8ef; }
.doc .form { margin: 0; }
.doc .form .result dl, .doc .form .info { background: #fff; border-radius: 4px; padding: 6px 12px; }
.helpln { display: flex; align-items: center; gap: 14px; padding: 16px 24px !important; }
.helpln .ic { width: 22px; height: 22px; color: var(--navy-md); flex: none; }
.helpln p { margin: 0 !important; font-size: 15px; color: var(--body); text-align: left !important; }
.pnl > h2:first-child { margin-top: 0 !important; }
.doc .payqr > div, .doc .gate { box-shadow: none; background: var(--tint); border-color: #e2e8ef; }
@media (max-width: 900px) {
  .split2 { grid-template-columns: 1fr; }
  .split2 .s-a { padding-right: 0; }
  .split2 .s-b { padding-left: 0; border-left: 0; border-top: 1px solid var(--rule); margin-top: 24px; padding-top: 20px; }
}

/* panels must be able to shrink below their content (wide tables/grids scroll inside instead) */
.doc .dmain { grid-template-columns: minmax(0, 1fr); }
.doc .dmain > *, .split2 > * { min-width: 0; }

/* long forms (Submit): the form takes about two-thirds */
.split2.wide { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
.split2.wide .s-b .fgrid.c2 { grid-template-columns: 1fr; }
@media (max-width: 900px) { .split2.wide { grid-template-columns: 1fr; } }

/* owner: every form gets two-thirds of the panel */
.split2 { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
.split2 .s-b .fgrid.c2 { grid-template-columns: 1fr; }
@media (max-width: 900px) { .split2 { grid-template-columns: 1fr; } }

/* form section headings (owner, 11 Oct 2026): the heading in its own outlined box (no fill) above the grey form box */
.form fieldset, .doc .form fieldset { border: 0; padding: 0; background: none; box-shadow: none; display: block; min-width: 0; }
.form legend { float: left; margin: 0 0 8px; padding: 8px 14px; border: 1px solid #c9d2dc; border-radius: 6px; background: none; font: 600 16px/1.3 var(--sans); color: var(--ink); }
.form .fs-body { clear: both; display: grid; gap: 14px; background: var(--tint); border: 1px solid #e2e8ef; border-radius: 8px; padding: 18px 20px 20px; }
/* side columns follow the reader: short ones stick at the top, tall ones once their last item is in view (JS sets top) */
.stick { position: sticky; top: 20px; align-self: start; }
.layout .rail.stick { align-self: start; }
@media (max-width: 900px) { .stick { position: static; } }
/* article pages with full text: Article details and Licence scroll away with the page; the Contents box (last in the
   rail) stays in view while the text is read, scrolling within itself when the list is long, the current section marked */
.layout .rail.toc-rail { align-self: stretch; align-content: start; }
.toc-rail .box.toc-box { position: sticky; top: 20px; }
.toc-rail .toc-box .toc { max-height: calc(100vh - 120px); overflow-y: auto; overscroll-behavior: contain; }
.toc a.on { border-left-color: var(--navy); color: var(--navy); font-weight: 600; }
@media (max-width: 900px) { .toc-rail .box.toc-box { position: static; } }

/* tables in the narrow right-hand column of a form panel */
.s-b .tbl th, .s-b .tbl td { padding: 9px 10px; font-size: 14px; white-space: normal; }
.s-b .tbl.fees td:not(:first-child) { font-size: 15px; }

/* ---- live form states (the WordPress forms' own scripts set these classes) ---- */
.hp-field { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.form .adderrorcls { border-color: #b42318 !important; background: #fff7f6 !important; box-shadow: 0 0 0 3px rgba(180, 35, 24, .12); }
#shwerrorhere, .cu-msg { margin: 18px 0 0; padding: 12px 14px; border: 1px solid #efc6c1; border-left: 4px solid #b42318; background: #fff7f6; color: #7a1a12; border-radius: 4px; font-size: 15px; }
#shwerrorhere:empty { display: none; }
#shwerrorhere p { margin: 0; text-align: left; }
.cu-msg { text-align: left; }
.ijp-affwarn { margin: 6px 0 0; font-size: 13.5px; line-height: 1.45; color: #6b4a00; background: #fff8e6; border: 1px solid #efdcaa; padding: 7px 10px; border-radius: 4px; text-align: left; }
.ijp-affwarn[hidden] { display: none; }
.form button.btn { cursor: pointer; }
.form button.btn:disabled { opacity: .6; cursor: progress; }

/* ---- copyright form (themes/ijlmh-v2/copyright-form.php): on screen ---- */
.cf-printhead { display: none; }
.cf-sign { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 30px; margin: 34px 0 10px; }
.cf-sign i { display: block; height: 36px; border-bottom: 1px solid var(--ink); }
.cf-sign span { display: block; margin-top: 6px; font-size: 12.5px; color: var(--mu); text-align: center; }
.cf-note { margin-top: 22px !important; padding-top: 12px; border-top: 1px solid var(--rule); font-size: 14.5px; color: var(--body); }
.cf-agree ol.plain li { text-align: justify; }
@media (max-width: 860px) { .cf-sign { grid-template-columns: 1fr; gap: 18px; } }

/* ---- copyright form on paper: only the form prints, as on the live template ---- */
@media print {
  @page { margin: 12mm 10mm; }
  body.cf-page { background: #fff !important; padding: 0 !important; }
  body.cf-page .pbar, body.cf-page .mast, body.cf-page .menu, body.cf-page .crumb, body.cf-page .ph, body.cf-page .ptabs,
  body.cf-page .ftr, body.cf-page .s-b, body.cf-page .helpln, body.cf-page .cf-screen, body.cf-page .ijp-affwarn,
  body.cf-page .form small, body.cf-page #ijlmh-wa, body.cf-page #ijlmh-cfp-sitebar, body.cf-page a[href="?ijlmh_v2=off"] { display: none !important; }
  body.cf-page .doc, body.cf-page .doc .wrap, body.cf-page .dmain, body.cf-page .dsec.pnl, body.cf-page .split2, body.cf-page .s-a {
    display: block !important; background: #fff !important; box-shadow: none !important; border: 0 !important; margin: 0 !important; padding: 0 !important; max-width: none !important; }
  body.cf-page main { padding: 8mm 9mm !important; }   /* the safety net when the print dialog's margins are set to None */
  body.cf-page .cf-printhead { display: block; text-align: center; border-bottom: 2px solid #17304a; padding-bottom: 10px; margin-bottom: 16px; }
  body.cf-page .cf-printhead b { display: block; font: 600 17pt/1.25 var(--serif); color: #17304a; }
  body.cf-page .cf-printhead span { display: block; font: 9pt var(--sans); letter-spacing: .06em; text-transform: uppercase; color: #4a5563; margin-top: 4px; }
  body.cf-page .cf-printhead h1 { font: 600 13pt var(--sans); letter-spacing: .14em; text-transform: uppercase; color: #17304a; margin: 14px 0 0; }
  body.cf-page .form { display: block; margin: 0; }
  body.cf-page .form fieldset { border: 1px solid #c9ced5 !important; border-radius: 4px; padding: 8px 12px 10px !important; margin: 0 0 8px !important; box-shadow: none !important; break-inside: avoid; display: block; }
  body.cf-page .form legend { font: 600 8.5pt var(--sans); letter-spacing: .12em; text-transform: uppercase; color: #17304a; border: 0 !important; padding: 0 4px !important; background: none !important; margin: 0 !important; }
  body.cf-page .fs-body { background: none !important; border: 0 !important; padding: 0 !important; display: block !important; }
  body.cf-page .form .row2 { display: flex !important; gap: 14px; }
  body.cf-page .form .row2 > div { flex: 1; }
  body.cf-page .form label { font: 7.5pt var(--sans); letter-spacing: .08em; text-transform: uppercase; color: #4a5563; margin: 4px 0 0; }
  body.cf-page .form input { border: 0 !important; border-bottom: 1px solid #000 !important; border-radius: 0 !important; background: transparent !important;
    box-shadow: none !important; padding: 1px 1px 2px !important; font: 10.5pt var(--serif) !important; color: #000 !important; outline: 0 !important; }
  body.cf-page .cf-agree h3 { font: 600 9.5pt var(--sans); letter-spacing: .12em; text-transform: uppercase; color: #17304a; margin: 14px 0 6px !important; break-after: avoid; }
  body.cf-page .cf-agree p, body.cf-page .cf-agree li { font: 10.5pt/1.5 var(--serif) !important; color: #000 !important; }
  body.cf-page .cf-agree ol.plain li { break-inside: avoid; margin: 0 0 4px; }
  body.cf-page .cf-sign { break-inside: avoid; margin-top: 26px; grid-template-columns: 1.4fr 1fr 1fr !important; }
  body.cf-page .cf-sign i { border-bottom-color: #000; }
  body.cf-page .cf-sign span { font: 8pt var(--sans); letter-spacing: .08em; text-transform: uppercase; color: #4a5563; }
  body.cf-page .cf-note { font: 9pt/1.5 var(--sans) !important; color: #4a5563 !important; }
}
.cf-page .form input, .cf-printhead { font-variant-numeric: lining-nums; }
@media print {
  /* the transfer clause, the signature block and the closing note stay together: signatures never print alone */
  body.cf-page .cf-close { break-inside: avoid; }
  body.cf-page .cf-agree p, body.cf-page .cf-agree li { font-size: 10pt !important; line-height: 1.42 !important; }
  body.cf-page .cf-agree ol.plain { margin-bottom: 6px !important; }
  body.cf-page .cf-agree h3 { margin: 10px 0 4px !important; }
  body.cf-page .cf-sign { margin-top: 18px !important; }
  body.cf-page .cf-sign i { height: 30px; }
  body.cf-page .cf-note { margin-top: 12px !important; padding-top: 8px !important; }
  body.cf-page .form input, body.cf-page .cf-printhead { font-variant-numeric: lining-nums; }
}
@media print { body.cf-page, body.cf-page * { font-variant-numeric: lining-nums !important; } }   /* the font shorthand above resets it: V090326, never Vo9o326 */
@media print { body.cf-page .form input { font-family: var(--sans) !important; font-size: 10.5pt !important; } }   /* the serif's figures are old-style only */
/* identifiers people compare character by character (certificate, manuscript numbers): sans, whose figures are lining */
.idnum { font-family: var(--sans); font-weight: 600; letter-spacing: .01em; font-variant-numeric: lining-nums; }
.payqr .qrimg { display: block; width: 220px; max-width: 100%; height: auto; margin: 8px 0 12px; border: 1px solid var(--rule); border-radius: 4px; background: #fff; }

/* ---- the payment plugin's form (#ijlmh-mpc, plugins/ijlmh-mpc-payments), restyled from the theme; the plugin is untouched ---- */
.ijv-mpc #ijlmh-mpc, #ijPayOverlay #ijlmh-mpc {
  --paper: #fff; --paper-s: #f4f7fa; --paper-d: #eef3f8; --ink: #18202a; --ink-m: #2c3a48; --ink-mu: #4a5563; --ink-f: #6b7785;
  --acc: #17304a; --acc-m: #1f4a75; --acc-d: #102438; --acc-ss: #eef3f8; --acc-b: #c9d4e1; --rule: #d5dde6; --ok: #17304a; --warn: #8a5a00;
  --fd: "Source Serif 4", Georgia, serif; --fb: "Source Sans 3", "Segoe UI", system-ui, sans-serif; --fs: "Source Sans 3", "Segoe UI", system-ui, sans-serif; --fm: "Source Sans 3", system-ui, sans-serif;
}
.ijv-mpc #ijlmh-mpc { padding: 0; font-size: 16px; }
.ijv-mpc #ijlmh-mpc .ijmpc-layout { display: block; max-width: none; }
.ijv-mpc #ijlmh-mpc .ijmpc-aside { display: none; }                         /* the page's own side column says the same */
.ijv-mpc #ijlmh-mpc .ijmpc-head > :not(.ijmpc-badge) { display: none; }      /* the page header carries the title */
.ijv-mpc #ijlmh-mpc .ijmpc-card { border: 0; box-shadow: none; padding: 0; max-width: none; background: transparent; }
.ijv-mpc #ijlmh-mpc .ijmpc-card::before { display: none; }
.ijv-mpc #ijlmh-mpc .ijmpc-head { display: none; }
.ijv-mpc #ijlmh-mpc .ijmpc-step { padding: 4px 0 0; }
.ijv-mpc #ijlmh-mpc .ijmpc-label { font-size: 14.5px; font-weight: 600; color: var(--ink); margin-bottom: 5px; letter-spacing: 0; }
.ijv-mpc #ijlmh-mpc .ijmpc-hint { font-size: 13.5px; color: var(--mu); }
.ijv-mpc #ijlmh-mpc input.ijmpc-input, .ijv-mpc #ijlmh-mpc input[type="text"].ijmpc-input, .ijv-mpc #ijlmh-mpc input[type="email"].ijmpc-input {
  background: #fff !important; border-color: #c8d0d9 !important; font-size: 15.5px !important; padding: 10px 12px !important; }
.ijv-mpc #ijlmh-mpc input.ijmpc-input:focus { outline: 2px solid var(--link) !important; outline-offset: -1px !important; border-color: var(--link) !important; }
.ijv-mpc #ijlmh-mpc .ijmpc-btn { font-family: var(--sans); font-weight: 600; font-size: 15.5px; border-radius: 4px; }
.ijv-mpc #ijlmh-mpc .ijmpc-btn-s { border: 1.5px solid var(--navy); color: var(--navy); }

/* ---- the hard-copy order form (#ijlmh-hc, plugins/ijlmh-mpc-payments), restyled from the theme; the plugin is untouched ---- */
.ijv-hc #ijlmh-hc {
  --acc: #17304a; --acc-d: #102438; --acc-b: #c9d4e1; --paper: #fff; --paper-s: #f4f7fa; --rule: #d5dde6; --rule2: #c8d0d9;
  --ink: #18202a; --ink-m: #2c3a48; --ink-mu: #4a5563; --ink-f: #6b7785; --ok: #17304a;
  --fs: "Source Sans 3", "Segoe UI", system-ui, sans-serif; --fm: "Source Sans 3", system-ui, sans-serif; --fb: "Source Sans 3", "Segoe UI", system-ui, sans-serif; --fd: "Source Serif 4", Georgia, serif;
  padding: 0; font-size: 16px;
}
.ijv-hc #ijlmh-hc .ijhc-layout { display: block; max-width: none; }
.ijv-hc #ijlmh-hc .ijhc-aside, .ijv-hc #ijlmh-hc .ijhc-head { display: none; }   /* the page's header and side column say the same */
.ijv-hc #ijlmh-hc .ijhc-card { border: 0; background: transparent; overflow: visible; }
.ijv-hc #ijlmh-hc .ijhc-card::before { display: none; }
.ijv-hc #ijlmh-hc .ijhc-step { padding: 4px 0 0; }
.ijv-hc #ijlmh-hc .ijhc-label { font: 600 14.5px var(--sans); letter-spacing: 0; text-transform: none; color: var(--ink); margin: 18px 0 8px; }
.ijv-hc #ijlmh-hc .ijhc-input { background: #fff; border-color: #c8d0d9; font-size: 15.5px; }
.ijv-hc #ijlmh-hc .ijhc-input:focus { box-shadow: 0 0 0 3px rgba(23, 48, 74, .12); }
.ijv-hc #ijlmh-hc .ijhc-step-btn:hover { background: #eef3f8; }
.ijv-hc #ijlmh-hc .ijhc-qty:focus { background: #fff; }
.ijv-hc #ijlmh-hc .ijhc-btn { font-family: var(--sans); font-weight: 600; border-radius: 4px; }

/* ---- paper page with live data (themes/ijlmh-v2/single-paper.php) ---- */
.prose .abstract p { font-size: inherit; margin: 0 0 12px; }
.ahead .acts .ijv-share { position: relative; display: inline-flex; }
.ijv-share-pop { position: absolute; top: calc(100% + 6px); left: 0; z-index: 30; display: grid; min-width: 180px; padding: 6px; background: #fff; border: 1px solid var(--rule); border-radius: 6px; box-shadow: var(--shadow-sm); }
.ijv-share-pop[hidden] { display: none; }
.ijv-share-pop a, .ijv-share-pop button { display: block; padding: 8px 10px; font: 500 14.5px var(--sans); color: var(--ink); background: none; border: 0; border-radius: 4px; text-align: left; text-decoration: none; cursor: pointer; }
.ijv-share-pop a:hover, .ijv-share-pop button:hover { background: var(--tint); }
.citebox.pre { white-space: pre-wrap; font-family: ui-monospace, Consolas, monospace; font-size: 13px; }
.citebox + .fmt { flex-wrap: wrap; }
.citebox + .fmt a.on { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.toc a.sub { padding-left: 24px; font-size: 13.5px; }
.prose .fulltext img { max-width: 100%; height: auto; }
.prose .fulltext table { display: block; overflow-x: auto; }
.ilist h3 a.retracted { color: var(--mu) !important; text-decoration: line-through; }
.pager .nav-links { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 22px; }
.pager .page-numbers { display: inline-block; min-width: 38px; padding: 8px 12px; text-align: center; border: 1px solid var(--rule); border-radius: 4px; color: var(--ink); font: 600 14px var(--sans); text-decoration: none !important; }
.pager .page-numbers.current { background: var(--navy); border-color: var(--navy); color: #fff; }
.pager a.page-numbers:hover { border-color: var(--navy); }
