/* ORI — Oxton Research Identifier · institutional theme
   Guidelines: predominantly white, deep blue #0030DA, Inter, moderate hierarchy,
   no shadows, no transitions/animations, few outlines, colour-only hover. */

@font-face { font-family: "Inter"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/Inter-Regular.ttf") format("truetype"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/Inter-SemiBold.ttf") format("truetype"); }

:root {
    --ori-blue: #0030DA;
    --ori-blue-hover: #0026AD;
    --ori-blue-soft: #EBF0FF;
    --ori-accent: #4A7FCB;
    --ori-text: #1D2433;
    --ori-muted: #5A6375;
    --ori-line: #E2E6EE;
    --ori-bg-muted: #F6F7FA;
    --ori-white: #FFFFFF;
    --ori-warn-bg: #FFF4E5;
    --ori-warn: #8A4B00;
    --ori-danger-bg: #FDECEC;
    --ori-danger: #9B1C1C;
    --ori-font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    --ori-mono: ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    --ori-width: 1400px;
    --ori-narrow: 800px;
    --ori-radius: 6px;
}

/* Scrollbars: thin and discreet everywhere (page, dashboard sidebar, panels); colour-only hover. */
* { scrollbar-width: thin; scrollbar-color: #C9CED8 transparent; }
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #C9CED8; border-radius: 999px; }
::-webkit-scrollbar-thumb:hover { background: #98A2B3; }
::-webkit-scrollbar-corner { background: transparent; }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--ori-white); color: var(--ori-text); font: 400 16px/1.65 var(--ori-font); }
img { max-width: 100%; height: auto; }
a { color: var(--ori-blue); text-decoration: underline; text-underline-offset: 2px; text-decoration-thickness: 1px; }
a:hover { color: var(--ori-accent); }
:focus-visible { outline: 2px solid var(--ori-accent); outline-offset: 2px; }
h1, h2, h3, h4 { color: var(--ori-blue); font-weight: 600; line-height: 1.3; margin: 0 0 .6em; }
h1 { font-size: 28px; letter-spacing: -.01em; }
h2 { font-size: 22px; }
h3 { font-size: 17px; }
p { margin: 0 0 1em; }
strong, b { font-weight: 600; }
code, .ori-code { font-family: var(--ori-mono); font-size: .92em; }
.ori-code { color: var(--ori-blue); background: var(--ori-blue-soft); padding: .1em .45em; border-radius: 4px; letter-spacing: .02em; }

.ori-container { width: 100%; max-width: var(--ori-width); margin: 0 auto; padding: 0 24px; }
/* Readable text column, aligned to the same left edge as the header and hero */
.ori-narrow > * { max-width: var(--ori-narrow); }
.ori-skip { position: absolute; left: -9999px; top: 8px; background: var(--ori-blue); color: #fff; padding: 8px 12px; z-index: 10; }
.ori-skip:focus { left: 8px; }

/* Header */
.ori-header { border-bottom: 1px solid var(--ori-line); background: var(--ori-white); }
.ori-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 76px; }
.ori-brand, .custom-logo-link { display: inline-flex; line-height: 0; }
.ori-brand img, .custom-logo { height: 44px; width: auto; }
.ori-nav-mobile { display: none; position: relative; }
.ori-menu { display: flex; flex-wrap: wrap; gap: 4px 26px; list-style: none; margin: 0; padding: 0; }
.ori-menu a { color: var(--ori-text); text-decoration: none; font-size: 15px; padding: 6px 0; border-bottom: 2px solid transparent; }
.ori-menu a:hover { color: var(--ori-blue); }
.ori-menu .current-menu-item > a, .ori-menu .current_page_item > a, .ori-menu .current-menu-ancestor > a { color: var(--ori-blue); border-bottom-color: var(--ori-blue); }

/* Sections */
.ori-hero { background: var(--ori-blue-soft); padding: 52px 0 48px; }
.ori-hero h1 { max-width: 760px; }
.ori-eyebrow { color: var(--ori-accent); font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 10px; }
.ori-lead { font-size: 17px; color: var(--ori-text); max-width: 720px; }
.ori-hero__example { color: var(--ori-muted); font-size: 14px; }
.ori-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.ori-section { padding: 44px 0; }
.ori-section--tight { padding: 28px 0; border-bottom: 1px solid var(--ori-line); }
.ori-section--muted { background: var(--ori-bg-muted); }
.ori-pagehead { background: var(--ori-blue-soft); padding: 34px 0 26px; }
.ori-pagehead h1 { margin: 0; }
.ori-crumbs { font-size: 14px; color: var(--ori-muted); margin-bottom: 6px; }
.ori-crumbs a { color: var(--ori-muted); }

/* Buttons */
.ori-btn { display: inline-flex; align-items: center; height: 38px; padding: 0 18px; border: 1px solid var(--ori-blue); border-radius: var(--ori-radius); background: var(--ori-blue); color: #fff; font-size: 15px; font-weight: 600; text-decoration: none; }
.ori-btn:hover { background: var(--ori-blue-hover); border-color: var(--ori-blue-hover); color: #fff; }
.ori-btn--ghost { background: transparent; color: var(--ori-blue); }
.ori-btn--ghost:hover { background: var(--ori-white); color: var(--ori-blue-hover); }

/* Figures */
.ori-stats { display: flex; flex-wrap: wrap; margin: 0; }
.ori-stats > div { flex: 1 1 200px; padding: 6px 24px; border-left: 1px solid var(--ori-line); }
.ori-stats > div:first-child { border-left: 0; padding-left: 0; }
.ori-stats dt { color: var(--ori-muted); font-size: 14px; }
.ori-stats dd { margin: 2px 0 0; color: var(--ori-blue); font-size: 28px; font-weight: 600; line-height: 1.2; }

/* Lists */
.ori-steps { margin: 0; padding-left: 1.3em; }
.ori-steps li { margin-bottom: .8em; padding-left: .2em; }
.ori-steps strong { color: var(--ori-blue); }
.ori-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--ori-line); }
.ori-list__item { padding: 16px 0; border-bottom: 1px solid var(--ori-line); }
.ori-list__title { font-size: 17px; margin: 0 0 4px; }
.ori-list__title a { text-decoration: none; }
.ori-list__title a:hover { text-decoration: underline; }
.ori-list--links .ori-list__item { padding: 12px 0; }
.ori-list--links a { font-weight: 600; text-decoration: none; }
.ori-list--links a:hover { text-decoration: underline; }
.ori-meta { color: var(--ori-muted); font-size: 14px; margin: 0; }
.ori-record__id { margin: 0 0 6px; font-size: 14px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ori-badge { font-size: 12px; font-weight: 600; padding: 2px 8px; border-radius: 999px; }
.ori-badge--withdrawn { background: var(--ori-warn-bg); color: var(--ori-warn); }
.ori-badge--retracted { background: var(--ori-danger-bg); color: var(--ori-danger); }
.ori-empty { color: var(--ori-muted); margin: 0; }
.ori-contacts { margin: 1.5em 0 0; border-top: 1px solid var(--ori-line); }
.ori-contacts > div { padding: 12px 0; border-bottom: 1px solid var(--ori-line); }
.ori-contacts dt { color: var(--ori-muted); font-size: 14px; }
.ori-contacts dd { margin: 0; }

/* Page text */
.ori-prose h2 { margin-top: 1.6em; }
.ori-prose h3 { margin-top: 1.4em; }
.ori-prose ul, .ori-prose ol { padding-left: 1.3em; margin: 0 0 1em; }
.ori-prose li { margin-bottom: .4em; }
.ori-prose > :first-child { margin-top: 0; }
.ori-prose .ori-list { padding-left: 0; margin-top: 1.5em; }
.ori-prose .ori-list__item { margin-bottom: 0; }

/* Footer (dark background + logo for dark backgrounds) */
.ori-footer { background: #0F0F0F; color: #BDBDBD; }
.ori-footer .ori-container { padding-top: 44px; padding-bottom: 22px; }
.ori-footer__grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1fr 1fr; gap: 28px; }
.ori-footer__brand img { height: 46px; width: auto; display: block; margin-bottom: 14px; }
.ori-footer__brand p { font-size: 14px; max-width: 340px; margin: 0 0 10px; }
.ori-footer__notice { color: #9E9E9E; font-size: 13px !important; }
.ori-footer h2 { color: #FFFFFF; font-size: 14px; font-weight: 600; margin: 4px 0 12px; }
.ori-footer a { color: #FFFFFF; text-decoration: none; }
.ori-footer a:hover { color: #8FA8FF; }
.ori-footer__menu { list-style: none; margin: 0; padding: 0; font-size: 14px; }
.ori-footer__menu li { margin: 0 0 7px; }
.ori-footer__menu .current-menu-item > a { color: #8FA8FF; }
.ori-footer__label { display: block; font-size: 12px; color: #9E9E9E; }
.ori-footer__motto { margin: 14px 0 0; font-size: 13px; color: #9E9E9E; }
.ori-footer__legal { border-top: 1px solid rgba(255, 255, 255, .15); padding-top: 16px; margin: 32px 0 0; font-size: 13px; color: #9E9E9E; }

/* Organizations, status, membership */
.ori-dir__filters--two { grid-template-columns: minmax(0, 3fr) minmax(0, 1fr); }
.ori-orgs { list-style: none; margin: 22px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ori-org { padding: 18px 20px; border: 1px solid var(--ori-line); border-radius: 8px; }
.ori-org h2 { font-size: 18px; margin: 0 0 4px; }
.ori-org__links { display: flex; gap: 16px; margin: 8px 0 0; font-size: 14px; }
.ori-org__links a { text-decoration: none; }
.ori-org__journals { list-style: none; margin: 14px 0 0; padding: 12px 0 0; border-top: 1px solid var(--ori-line); font-size: 14px; }
.ori-org__journals li { display: flex; justify-content: space-between; gap: 12px; padding: 4px 0; }
.ori-org__journals a { text-decoration: none; font-weight: 600; }
.ori-status-banner { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 18px; padding: 16px 20px; border-radius: 8px; font-size: 15px; }
.ori-status-banner.is-ok { background: #E9F6EE; color: #1E5B34; }
.ori-status-banner.is-down { background: var(--ori-danger-bg); color: var(--ori-danger); }
.ori-status-banner span { font-size: 13px; }
.ori-checks { list-style: none; margin: 0 0 30px; padding: 0; border: 1px solid var(--ori-line); border-radius: 8px; }
.ori-checks li { display: grid; grid-template-columns: 14px minmax(0, 1fr) auto; gap: 4px 12px; align-items: center; padding: 14px 16px; border-top: 1px solid var(--ori-line); }
.ori-checks li:first-child { border-top: 0; }
.ori-checks__dot { width: 10px; height: 10px; border-radius: 50%; background: #2E8B57; }
.ori-checks .is-down .ori-checks__dot { background: var(--ori-danger); }
.ori-checks__name { font-weight: 600; }
.ori-checks__state { font-size: 13px; color: #1E5B34; }
.ori-checks .is-down .ori-checks__state { color: var(--ori-danger); }
.ori-checks__detail { grid-column: 2 / -1; font-size: 13px; color: var(--ori-muted); }
.ori-apply { margin-top: 30px; padding: 24px; border: 1px solid var(--ori-line); border-radius: 10px; background: var(--ori-bg-muted); }
.ori-apply h2 { margin-top: 0 !important; }
@media (max-width: 860px) { .ori-orgs { grid-template-columns: 1fr; } .ori-dir__filters--two { grid-template-columns: 1fr; } }

/* Home */
.ori-home-hero { padding: 26px 0 14px; background: linear-gradient(180deg, var(--ori-blue-soft) 0%, #FFFFFF 100%); }
.ori-home-hero__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 24px; align-items: center; }
.ori-home-hero h1 { font-size: 38px; line-height: 1.15; letter-spacing: -.015em; margin-bottom: 12px; }
.ori-home-hero .ori-lead { font-size: 17px; max-width: 640px; }
.ori-home-hero__search { max-width: 640px; height: 52px; margin: 18px 0 14px; }
.ori-home-hero__actions { gap: 14px; }
.ori-btn--large { height: 46px; padding: 0 24px; gap: 10px; }
.ori-globe { width: 100%; max-width: 440px; height: auto; display: block; margin-left: auto; }
.ori-home-stats { padding: 8px 0 18px; }
.ori-home-stats__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.ori-home-stats .ori-figure { padding: 18px 20px; }
.ori-figure small { display: block; font-size: 12.5px; color: var(--ori-muted); margin-top: 2px; }
.ori-home-section { padding: 30px 0 18px; }
.ori-home-section h2 { font-size: 26px; margin-bottom: 4px; }
.ori-home-section__lead { color: var(--ori-muted); margin: 0 0 22px; }
.ori-home-section__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; }
.ori-home-section__more { font-size: 15px; font-weight: 600; text-decoration: none; white-space: nowrap; margin-bottom: 22px; }
.ori-flow { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
.ori-flow li { position: relative; padding-right: 20px; }
.ori-flow li:not(:last-child)::after { content: "→"; position: absolute; right: -18px; top: 18px; color: #A9B6CF; font-size: 22px; }
.ori-flow__icon { display: inline-flex; align-items: center; justify-content: center; width: 58px; height: 58px; border-radius: 50%; background: var(--ori-blue-soft); color: var(--ori-blue); margin-bottom: 12px; }
.ori-flow h3 { font-size: 18px; margin: 0 0 6px; }
.ori-flow p { margin: 0; color: var(--ori-muted); font-size: 15px; }
.ori-home-journals { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ori-home-journal { display: grid; grid-template-columns: 96px minmax(0, 1fr) 16px; gap: 16px; align-items: center; height: 100%; padding: 14px; border: 1px solid var(--ori-line); border-radius: 8px; color: var(--ori-text); text-decoration: none; }
.ori-home-journal:hover { border-color: var(--ori-blue); color: var(--ori-text); }
.ori-home-journal__cover { line-height: 0; }
.ori-home-journal__title { display: block; font-size: 16px; font-weight: 600; color: var(--ori-blue); margin-bottom: 4px; }
.ori-home-journal__desc { display: block; font-size: 13.5px; color: var(--ori-muted); margin-bottom: 10px; }
.ori-home-journal .ori-chip { font-size: 12px; padding: 2px 10px; }
.ori-home-journal__arrow { color: var(--ori-muted); font-size: 22px; }
.ori-why { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.ori-why li { display: flex; gap: 12px; align-items: flex-start; padding: 16px; border: 1px solid var(--ori-line); border-radius: 8px; }
.ori-why h3 { font-size: 15px; margin: 2px 0 4px; }
.ori-why p { margin: 0; font-size: 13.5px; color: var(--ori-muted); }
.ori-why .ori-figure__icon { flex: 0 0 40px; height: 40px; }
.ori-home-note { margin: 22px 0 10px; font-size: 13.5px; color: var(--ori-muted); }
@media (max-width: 1100px) {
    .ori-home-hero h1 { font-size: 34px; }
    .ori-home-stats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ori-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ori-flow li::after { display: none; }
    .ori-home-journals { grid-template-columns: 1fr; }
    .ori-why { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ori-footer__grid { grid-template-columns: 1fr 1fr 1fr; }
    .ori-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 860px) {
    .ori-home-hero__grid { grid-template-columns: 1fr; }
    .ori-home-hero__art { order: -1; max-width: 360px; margin: 0 auto; }
    .ori-home-hero h1 { font-size: 28px; }
    .ori-home-section__head { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 560px) {
    .ori-home-stats__grid, .ori-flow, .ori-why, .ori-footer__grid { grid-template-columns: 1fr; }
    .ori-home-journal { grid-template-columns: 76px minmax(0, 1fr); }
    .ori-home-journal__arrow { display: none; }
}
/* Header account button */
.ori-header__inner .ori-nav { margin-left: auto; }
.ori-account { white-space: nowrap; }
.ori-account--guest { display: inline-flex; align-items: center; gap: 16px; }
.ori-account__signin { color: var(--ori-text); text-decoration: none; font-size: 15px; }
.ori-account__signin:hover { color: var(--ori-blue); }
.ori-account--guest .ori-btn { height: 38px; padding: 0 16px; }
.ori-account--mobile { margin: 8px 0 4px; }
.ori-btn--small { height: 32px; padding: 0 12px; font-size: 14px; }
.ori-btn--danger { background: var(--ori-danger); border-color: var(--ori-danger); }
.ori-btn--danger:hover { background: #7A1515; border-color: #7A1515; }

/* Forms */
.ori-form { margin: 0 0 8px; }
.ori-field { margin-bottom: 16px; }
.ori-field label { display: block; font-size: 14px; font-weight: 600; color: var(--ori-text); margin-bottom: 6px; }
.ori-input { display: block; width: 100%; max-width: 560px; min-height: 38px; padding: 7px 10px; border: 1px solid #C9CFDB; border-radius: var(--ori-radius); background: #fff; color: var(--ori-text); font: 400 15px/1.4 var(--ori-font); }
textarea.ori-input { min-height: 0; resize: vertical; }
.ori-input:focus { border-color: var(--ori-blue); outline: 2px solid var(--ori-blue-soft); outline-offset: 0; }
.ori-input--short { max-width: 200px; }
.ori-field__help { color: var(--ori-muted); font-size: 13px; margin: 4px 0 0; }
.ori-field__error { color: var(--ori-danger); font-size: 13px; margin: 4px 0 0; }
.ori-check { display: flex; gap: 8px; align-items: flex-start; font-size: 14px; margin: 0 0 14px; }
.ori-check input { margin-top: 4px; }
.ori-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ori-inline-form { margin: 10px 0 0; }
.ori-disclosure { margin-top: 10px; font-size: 14px; }
.ori-disclosure summary { cursor: pointer; color: var(--ori-blue); }
.ori-disclosure .ori-form { margin-top: 10px; }
.ori-quote { margin: 8px 0; padding: 8px 12px; border-left: 3px solid var(--ori-line); color: var(--ori-text); font-size: 14px; white-space: pre-line; }
.ori-auth { max-width: 460px; }
.ori-auth__switch { margin-top: 20px; font-size: 14px; color: var(--ori-muted); }
.ori-actions a { align-self: center; font-size: 14px; }

/* Alerts */
.ori-alert { padding: 10px 14px; margin: 0 0 18px; border-radius: var(--ori-radius); font-size: 14px; background: var(--ori-blue-soft); color: var(--ori-text); }
.ori-alert ul { margin: 0; padding-left: 1.1em; }
.ori-alert--success { background: #E9F6EE; color: #1E5B34; }
.ori-alert--warning { background: var(--ori-warn-bg); color: var(--ori-warn); }
.ori-alert--error { background: var(--ori-danger-bg); color: var(--ori-danger); }
.ori-alert a { color: inherit; font-weight: 600; }

/* Status badges */
.ori-badge--pending { background: var(--ori-warn-bg); color: var(--ori-warn); }
.ori-badge--approved, .ori-badge--active, .ori-badge--published { background: #E9F6EE; color: #1E5B34; }
.ori-badge--rejected, .ori-badge--suspended, .ori-badge--ceased { background: var(--ori-danger-bg); color: var(--ori-danger); }
.ori-badge--cancelled, .ori-badge--inactive, .ori-badge--draft { background: var(--ori-bg-muted); color: var(--ori-muted); }
.ori-badge--reserved { background: var(--ori-blue-soft); color: var(--ori-blue); }

/* Journal directory */
.ori-dirhead { padding: 44px 0 34px; background: var(--ori-blue-soft); }
.ori-dirhead h1 { font-size: 34px; margin-bottom: 10px; }
.ori-dirhead .ori-lead { max-width: 760px; }
.ori-figures { display: grid; grid-template-columns: repeat(3, minmax(0, 260px)); gap: 14px; margin-top: 24px; }
.ori-figure { display: flex; gap: 14px; align-items: center; padding: 16px 18px; border: 1px solid var(--ori-line); border-radius: 8px; background: #fff; }
.ori-figure__icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 46px; height: 46px; border-radius: 50%; background: var(--ori-blue-soft); color: var(--ori-blue); }
.ori-figure strong { display: block; font-size: 24px; font-weight: 600; color: var(--ori-blue); line-height: 1.2; }
.ori-figure span { font-size: 14px; color: var(--ori-muted); }
.ori-dir { padding-top: 26px; }
.ori-dir__panel { padding: 18px; border-radius: 10px; background: var(--ori-bg-muted); }
.ori-dir__filters { display: grid; grid-template-columns: minmax(0, 2.2fr) repeat(4, minmax(0, 1fr)); gap: 12px; align-items: end; }
.ori-dir__filters .ori-search__bar { height: 54px; }
.ori-dir__bar { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 14px; flex-wrap: wrap; }
.ori-dir__tools { display: flex; align-items: center; gap: 14px; }
.ori-viewswitch { display: inline-flex; border: 1px solid var(--ori-line); border-radius: var(--ori-radius); overflow: hidden; background: #fff; }
.ori-viewswitch a { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 34px; color: var(--ori-muted); }
.ori-viewswitch a svg { width: 18px; height: 18px; }
.ori-viewswitch a[aria-current="true"] { background: var(--ori-blue); color: #fff; }
.ori-jcards { list-style: none; margin: 22px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ori-jcard { display: grid; grid-template-columns: 110px minmax(0, 1fr); grid-template-rows: 1fr auto; gap: 14px 16px; padding: 16px; border: 1px solid var(--ori-line); border-radius: 8px; background: #fff; }
.ori-jcard__cover { grid-row: 1; line-height: 0; }
.ori-cover { display: block; width: 100%; aspect-ratio: 3 / 4; height: auto; object-fit: cover; border-radius: 3px; border: 1px solid var(--ori-line); }
.ori-cover--tile { display: flex; align-items: flex-end; padding: 10px; background: var(--ori-blue); color: #fff; border-color: var(--ori-blue); line-height: 1.2; }
.ori-cover--tile span { font-size: 14px; font-weight: 600; overflow-wrap: anywhere; }
.ori-jcard__title { font-size: 17px; margin: 0 0 6px; }
.ori-jcard__title a { text-decoration: none; }
.ori-jcard__title a:hover { text-decoration: underline; }
.ori-jcard__desc { font-size: 14px; color: var(--ori-muted); margin: 0 0 10px; }
.ori-jcard .ori-chip { text-decoration: none; color: var(--ori-blue); font-size: 12px; padding: 2px 10px; background: var(--ori-blue-soft); border-color: transparent; }
.ori-jcard__meta { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; margin: 10px 0 0; font-size: 13px; color: var(--ori-muted); }
.ori-access { display: inline-flex; align-items: center; gap: 6px; padding: 2px 10px; border-radius: 999px; background: var(--ori-bg-muted); color: var(--ori-text); }
.ori-access.is-open { background: #E9F6EE; color: #1E5B34; }
.ori-access.is-open::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #2E8B57; }
.ori-jcard__actions { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ori-jcard__actions .ori-btn { justify-content: center; height: 38px; }
.ori-jcards--list { grid-template-columns: 1fr; }
.ori-jcards--list .ori-jcard { grid-template-columns: 90px minmax(0, 1fr) 200px; grid-template-rows: auto; align-items: center; }
.ori-jcards--list .ori-jcard__actions { grid-column: auto; grid-template-columns: 1fr; }
.ori-cta { display: flex; align-items: center; gap: 22px; margin-top: 34px; padding: 26px 28px; border: 1px solid var(--ori-line); border-radius: 10px; background: var(--ori-blue-soft); }
.ori-cta__icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 72px; height: 72px; border-radius: 50%; background: #fff; color: var(--ori-blue); }
.ori-cta__icon svg { width: 36px; height: 36px; }
.ori-cta h2 { font-size: 22px; margin: 0 0 4px; }
.ori-cta p { margin: 0; color: var(--ori-muted); }
.ori-cta .ori-btn { margin-left: auto; white-space: nowrap; height: 44px; padding: 0 22px; }
.ori-jprofile { padding: 18px 0 56px; }
.ori-jprofile__head { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 32px; align-items: start; }
.ori-jprofile__head h1 { font-size: 30px; }
.ori-jprofile__desc { max-width: 820px; }
.ori-jprofile__info { max-width: 560px; margin: 16px 0; }
.ori-jprofile__records { margin-top: 36px; max-width: 980px; }
.ori-cover-preview img { max-width: 140px; height: auto; border: 1px solid var(--ori-line); }
@media (max-width: 1100px) {
    .ori-dir__filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ori-dir__filters .ori-search__bar { grid-column: 1 / -1; }
    .ori-jcards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
    .ori-dirhead h1 { font-size: 26px; }
    .ori-figures { grid-template-columns: 1fr; }
    .ori-jcards, .ori-jcards--list { grid-template-columns: 1fr; }
    .ori-jcards--list .ori-jcard { grid-template-columns: 90px minmax(0, 1fr); }
    .ori-jcards--list .ori-jcard__actions { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; }
    .ori-cta { flex-direction: column; align-items: flex-start; }
    .ori-cta .ori-btn { margin-left: 0; }
    .ori-jprofile__head { grid-template-columns: 1fr; }
    .ori-jprofile__cover { max-width: 180px; }
}
@media (max-width: 520px) {
    .ori-dir__filters { grid-template-columns: 1fr; }
    .ori-jcard { grid-template-columns: 84px minmax(0, 1fr); padding: 14px; }
}

/* Search records */
.ori-hero__search { max-width: 640px; margin: 18px 0 10px; }
.ori-pagehead--search { padding: 40px 0 28px; }
.ori-pagehead--search h1 { font-size: 30px; }
.ori-pagehead--search .ori-lead { margin: 0; }
.ori-search { padding: 22px 0 56px; }
.ori-search__bar { display: flex; align-items: center; gap: 10px; height: 52px; padding: 0 6px 0 16px; border: 1px solid #C9CFDB; border-radius: 8px; background: #fff; }
.ori-search__bar:focus-within { border-color: var(--ori-blue); outline: 2px solid var(--ori-blue-soft); }
.ori-search__icon { color: var(--ori-muted); display: inline-flex; }
.ori-search__bar input { flex: 1; min-width: 0; height: 100%; border: 0; outline: 0; background: transparent; font: 400 16px var(--ori-font); color: var(--ori-text); }
.ori-search__go { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 0; border-left: 1px solid var(--ori-line); background: none; color: var(--ori-blue); cursor: pointer; }
.ori-search__selects { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
.ori-select { display: flex; flex-direction: column; gap: 2px; padding: 8px 12px; border: 1px solid var(--ori-line); border-radius: 8px; background: #fff; }
.ori-select > span { font-size: 12px; color: var(--ori-muted); }
.ori-select select { border: 0; padding: 0; background: transparent; font: 400 15px var(--ori-font); color: var(--ori-text); cursor: pointer; }
.ori-search__chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 14px 0 0; }
.ori-filter-chip { display: inline-flex; gap: 6px; padding: 4px 12px; border-radius: 999px; background: var(--ori-blue-soft); color: var(--ori-blue); font-size: 13px; text-decoration: none; }
.ori-filter-chip:hover { background: #DCE4F5; color: var(--ori-blue); }
.ori-search__clear { font-size: 13px; margin-left: 4px; }
.ori-search__layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 28px; margin-top: 22px; align-items: start; }
.ori-facets { padding: 18px; border: 1px solid var(--ori-line); border-radius: 8px; }
.ori-facets__head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 8px; }
.ori-facets__head h2 { font-size: 18px; margin: 0; }
.ori-facets__head a { font-size: 13px; }
.ori-facet { margin: 0; padding: 14px 0 6px; border: 0; border-top: 1px solid var(--ori-line); }
.ori-facet:first-of-type { border-top: 0; }
.ori-facet legend { padding: 0; margin-bottom: 8px; font-size: 14px; font-weight: 600; color: var(--ori-text); }
.ori-facet__item { display: flex; align-items: center; gap: 8px; padding: 3px 0; font-size: 14px; cursor: pointer; }
.ori-facet__item input { accent-color: var(--ori-blue); width: 16px; height: 16px; margin: 0; }
.ori-facet__label { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.ori-facet__count { color: var(--ori-muted); font-size: 13px; }
.ori-info-banner { display: flex; gap: 14px; align-items: flex-start; padding: 16px 18px; border-radius: 8px; background: var(--ori-blue-soft); }
.ori-info-banner__icon { color: var(--ori-blue); display: inline-flex; padding-top: 2px; }
.ori-info-banner p { margin: 0; font-size: 14px; }
.ori-info-banner__title { font-weight: 600; color: var(--ori-blue); margin-bottom: 2px !important; }
.ori-info-banner > a { margin-left: auto; white-space: nowrap; font-size: 14px; text-decoration: none; }
.ori-results__bar { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 18px 0 10px; }
.ori-results__count { margin: 0; font-size: 15px; }
.ori-results__sort { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: var(--ori-muted); }
.ori-results__sort select { min-height: 34px; padding: 4px 8px; border: 1px solid var(--ori-line); border-radius: var(--ori-radius); background: #fff; font: 400 14px var(--ori-font); color: var(--ori-text); }
.ori-hits { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.ori-hit { display: grid; grid-template-columns: 44px minmax(0, 1fr) 170px; gap: 16px; padding: 18px; border: 1px solid var(--ori-line); border-radius: 8px; }
.ori-hit__icon { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: var(--ori-blue-soft); color: var(--ori-blue); }
.ori-hit__eyebrow { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 6px; font-size: 11.5px; font-weight: 600; letter-spacing: .04em; color: var(--ori-accent); }
.ori-hit__meta-right { margin-left: auto; display: inline-flex; gap: 10px; align-items: center; font-weight: 400; letter-spacing: 0; color: var(--ori-muted); font-size: 12.5px; }
.ori-hit__meta-right .ori-code { font-size: 12px; }
.ori-hit__title { font-size: 17px; margin: 0 0 4px; line-height: 1.35; }
.ori-hit__title a { text-decoration: none; }
.ori-hit__title a:hover { text-decoration: underline; }
.ori-hit__authors, .ori-hit__source { margin: 0; font-size: 14px; color: var(--ori-text); }
.ori-hit__source strong { font-weight: 600; color: var(--ori-blue); }
.ori-hit__abstract { margin: 6px 0 8px; font-size: 13.5px; color: var(--ori-muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ori-hit .ori-chip { text-decoration: none; color: var(--ori-text); font-size: 12px; padding: 2px 10px; }
.ori-hit .ori-chip:hover { border-color: var(--ori-blue); color: var(--ori-blue); }
.ori-hit__actions { display: flex; flex-direction: column; align-items: stretch; gap: 10px; }
.ori-hit__actions .ori-btn { justify-content: center; }
.ori-hit__link { font-size: 14px; text-decoration: none; }
.ori-hit__link:hover { text-decoration: underline; }
.ori-empty-state { padding: 32px; border: 1px dashed var(--ori-line); border-radius: 8px; text-align: center; }
.ori-pager { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 20px; flex-wrap: wrap; }
.ori-pager__pages { display: flex; gap: 6px; align-items: center; }
.ori-pager__btn { display: inline-flex; align-items: center; justify-content: center; min-width: 34px; height: 34px; padding: 0 8px; border: 1px solid var(--ori-line); border-radius: var(--ori-radius); font-size: 14px; text-decoration: none; color: var(--ori-text); }
.ori-pager__btn:hover { border-color: var(--ori-blue); color: var(--ori-blue); }
.ori-pager__btn.is-current { background: var(--ori-blue); border-color: var(--ori-blue); color: #fff; }
.ori-pager__gap { color: var(--ori-muted); padding: 0 2px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }
@media (max-width: 1100px) {
    .ori-search__selects { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .ori-hit { grid-template-columns: 44px minmax(0, 1fr); }
    .ori-hit__actions { grid-column: 2; flex-direction: row; flex-wrap: wrap; align-items: center; }
}
@media (max-width: 860px) {
    .ori-search__layout { grid-template-columns: 1fr; }
    .ori-search__selects { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ori-facets { order: 2; }
    .ori-hit { grid-template-columns: 1fr; padding: 14px; }
    .ori-hit__icon { display: none; }
    .ori-hit__actions { grid-column: 1; }
    .ori-hit__meta-right { margin-left: 0; width: 100%; }
    .ori-info-banner { flex-wrap: wrap; }
    .ori-info-banner > a { margin-left: 0; }
}

/* Record page */
.ori-record { padding: 18px 0 56px; }
.ori-record__crumbs { margin-bottom: 18px; }
.ori-record__grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 40px; align-items: start; }
.ori-record__code { display: flex; align-items: center; gap: 10px; margin: -4px 0 14px; flex-wrap: wrap; }
.ori-record__code-text { font-size: 26px; font-weight: 600; color: var(--ori-blue); letter-spacing: .01em; }
.ori-record__notice { margin-bottom: 16px; }
.ori-record__title { font-size: 28px; line-height: 1.25; margin-bottom: 8px; }
.ori-record__alt-title { color: var(--ori-muted); font-size: 16px; margin: 0 0 10px; }
.ori-record__authors { font-size: 16px; margin: 0 0 6px; }
.ori-author sup { color: var(--ori-muted); font-size: 11px; margin-left: 1px; }
.ori-orcid { display: inline-flex; vertical-align: -3px; text-decoration: none; }
.ori-record__source { color: var(--ori-muted); font-size: 14px; margin: 0 0 10px; }
.ori-record__tags { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 18px; }
.ori-tag { font-size: 13px; padding: 3px 10px; border-radius: 999px; background: var(--ori-blue-soft); color: var(--ori-blue); }
.ori-tag--open { background: #E9F6EE; color: #1E5B34; }
.ori-record__actions { margin: 0 0 22px; }
.ori-record__actions .ori-btn svg { margin-left: 6px; }
.ori-record__tabs { display: flex; gap: 26px; border-bottom: 1px solid var(--ori-line); margin-bottom: 8px; overflow-x: auto; }
.ori-record__tabs a { padding: 10px 0; color: var(--ori-muted); text-decoration: none; font-size: 15px; white-space: nowrap; border-bottom: 2px solid transparent; }
.ori-record__tabs a:hover { color: var(--ori-blue); border-bottom-color: var(--ori-blue); }
.ori-record__section { padding-top: 18px; scroll-margin-top: 16px; }
.ori-record__section h2 { font-size: 20px; margin: 18px 0 10px; }
.ori-record__abstract p { margin: 0 0 .8em; }
.ori-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.ori-chip { font-size: 13px; padding: 4px 12px; border: 1px solid var(--ori-line); border-radius: 999px; background: var(--ori-bg-muted); }
.ori-meta-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.ori-meta-table th, .ori-meta-table td { text-align: left; vertical-align: top; padding: 8px 0; border-bottom: 1px solid var(--ori-line); }
.ori-meta-table th { width: 34%; padding-right: 16px; color: var(--ori-muted); font-weight: 400; }
.ori-affs { margin: 0; padding-left: 1.2em; }
.ori-related { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
.ori-related li { padding: 12px 14px; border: 1px solid var(--ori-line); border-radius: var(--ori-radius); font-size: 14px; overflow-wrap: anywhere; }
.ori-related__label { display: block; font-size: 12px; color: var(--ori-muted); margin-bottom: 2px; }
.ori-cite { border: 1px solid var(--ori-line); border-radius: var(--ori-radius); }
.ori-cite__tabs { display: none; gap: 22px; padding: 0 16px; border-bottom: 1px solid var(--ori-line); }
.ori-cite.is-enhanced .ori-cite__tabs { display: flex; }
.ori-cite__tabs button { padding: 10px 0; border: 0; border-bottom: 2px solid transparent; background: none; color: var(--ori-muted); font: 400 14px var(--ori-font); cursor: pointer; }
.ori-cite__tabs button[aria-selected="true"] { color: var(--ori-blue); border-bottom-color: var(--ori-blue); font-weight: 600; }
.ori-cite__panel { position: relative; padding: 14px 52px 14px 16px; border-top: 1px solid var(--ori-line); }
.ori-cite__panel:first-of-type { border-top: 0; }
.ori-cite.is-enhanced .ori-cite__panel { border-top: 0; }
.ori-cite.is-enhanced .ori-cite__panel[data-hidden] { display: none; }
.ori-cite.is-enhanced .ori-cite__style { display: none; }
.ori-cite__style { font-size: 12px; color: var(--ori-muted); margin: 0 0 4px; }
.ori-cite__text { margin: 0; font-size: 14px; overflow-wrap: anywhere; }
pre.ori-cite__text { font-family: var(--ori-mono); font-size: 12.5px; white-space: pre-wrap; }
.ori-cite__panel .ori-icon-btn { position: absolute; top: 12px; right: 12px; }
.ori-refs ol { margin: 12px 0 0; padding-left: 1.4em; font-size: 14px; }
.ori-refs li { margin-bottom: 8px; overflow-wrap: anywhere; }
.ori-timeline { list-style: none; margin: 0; padding: 0; border-left: 2px solid var(--ori-line); }
.ori-timeline li { position: relative; display: grid; grid-template-columns: 170px 150px 1fr; gap: 12px; padding: 6px 0 6px 18px; font-size: 14px; }
.ori-timeline li::before { content: ""; position: absolute; left: -6px; top: 12px; width: 10px; height: 10px; border-radius: 50%; background: var(--ori-blue); }
.ori-timeline__when, .ori-timeline__detail { color: var(--ori-muted); }
.ori-record__side { display: flex; flex-direction: column; gap: 16px; }
.ori-card { padding: 18px; border: 1px solid var(--ori-line); border-radius: 8px; background: var(--ori-white); }
.ori-card__title { font-size: 16px; margin: 0 0 8px; }
.ori-card p { font-size: 14px; margin: 0 0 8px; }
.ori-card .ori-actions { margin-top: 10px; }
.ori-journal-card { display: flex; gap: 14px; align-items: flex-start; }
.ori-journal-card__tile { flex: 0 0 64px; height: 84px; display: flex; align-items: flex-end; padding: 8px; border-radius: 4px; background: var(--ori-blue); color: #fff; font-weight: 600; font-size: 15px; line-height: 1.1; overflow-wrap: anywhere; }
.ori-info { margin: 0; font-size: 14px; }
.ori-info > div { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--ori-line); }
.ori-info > div:last-child { border-bottom: 0; }
.ori-info dt { color: var(--ori-muted); }
.ori-info dd { margin: 0; text-align: right; display: flex; align-items: center; gap: 4px; }
.ori-copyfield { display: flex; gap: 6px; align-items: center; }
.ori-copyfield .ori-input { font-size: 13px; min-height: 34px; }
.ori-icon-btn { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; flex: 0 0 32px; padding: 0; border: 1px solid var(--ori-line); border-radius: var(--ori-radius); background: var(--ori-white); color: var(--ori-blue); cursor: pointer; }
.ori-icon-btn:hover { border-color: var(--ori-blue); }
.ori-icon-btn[data-copied] { background: #E9F6EE; border-color: #1E5B34; color: #1E5B34; }
.ori-share { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 16px; font-size: 14px; }
.ori-linklike { padding: 0; border: 0; background: none; color: var(--ori-blue); font: inherit; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
.ori-badge--withdrawn { background: var(--ori-warn-bg); color: var(--ori-warn); }
.ori-badge--retracted { background: var(--ori-danger-bg); color: var(--ori-danger); }
/* Record page — refinement 1.19: softer and more modern (flat; no shadows or motion). */
.ori-record { padding-top: 14px; background: linear-gradient(180deg, #F6F8FC 0, #FFFFFF 420px); }
.ori-record__crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin-bottom: 22px; font-size: 13px; }
.ori-record__crumbs a { color: var(--ori-muted); text-decoration: none; }
.ori-record__crumbs a:hover { color: var(--ori-blue); }
.ori-crumbs__sep { color: #B8BFCC; }
.ori-record__crumbs [aria-current] { color: var(--ori-text); }
.ori-record .ori-eyebrow { margin-bottom: 8px; font-size: 12px; letter-spacing: .12em; }
.ori-record__code { gap: 10px; margin: 0 0 16px; }
.ori-record__code-text { font-size: 22px; letter-spacing: .02em; }
.ori-record__code .ori-icon-btn { width: 30px; height: 30px; flex-basis: 30px; border-radius: 8px; border-color: #E3E7EE; color: var(--ori-muted); }
.ori-record__code .ori-icon-btn:hover { color: var(--ori-blue); border-color: #C9D2E3; }
.ori-record__code .ori-badge { padding: 3px 10px; border-radius: 999px; font-size: 12.5px; font-weight: 500; }
.ori-record__title { margin: 0 0 12px; color: #1B2440; font-size: 29px; font-weight: 600; line-height: 1.22; letter-spacing: -.012em; }
.ori-record__alt-title { font-size: 15.5px; line-height: 1.45; }
.ori-record__authors { margin: 0 0 8px; color: #344054; font-size: 15.5px; line-height: 1.55; }
.ori-record__source { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 0; margin: 0 0 14px; font-size: 14px; }
.ori-record__dot { margin: 0 9px; color: #B8BFCC; }
.ori-record__tags { gap: 6px; margin: 0 0 22px; }
.ori-record .ori-tag { padding: 3px 11px; font-size: 12.5px; font-weight: 500; }
.ori-record__actions { gap: 8px; margin: 0 0 26px; }
.ori-record__actions .ori-btn { min-height: 38px; padding: 0 16px; border-radius: 10px; font-size: 14px; font-weight: 500; }
.ori-record__actions .ori-btn--ghost { border: 1px solid #D5DBE6; background: #fff; color: var(--ori-blue); }
.ori-record__actions .ori-btn--ghost:hover { border-color: var(--ori-blue); background: var(--ori-blue-soft); }
.ori-record__tabs { position: sticky; top: 0; z-index: 5; gap: 4px; margin: 0 0 6px; padding: 6px 0; border-bottom: 1px solid #E8EBF1; background: #fff; }
.ori-record__tabs a { padding: 7px 12px; border: 0; border-radius: 8px; color: var(--ori-muted); font-size: 14px; }
.ori-record__tabs a:hover { border: 0; background: var(--ori-blue-soft); color: var(--ori-blue); }
.admin-bar .ori-record__tabs { top: 32px; }
.ori-record__section { padding-top: 22px; scroll-margin-top: 64px; }
.ori-record__section + .ori-record__section { margin-top: 10px; border-top: 1px solid #EEF1F5; }
.ori-record__section h2 { margin: 6px 0 12px; color: #1B2440; font-size: 19px; font-weight: 600; }
.ori-record__abstract { max-width: 78ch; color: #344054; font-size: 15.5px; line-height: 1.75; }
.ori-record .ori-chip { padding: 4px 12px; border-color: #E6EAF1; background: #F6F8FC; color: #344054; font-size: 13px; }
.ori-record .ori-meta-table th, .ori-record .ori-meta-table td { padding: 10px 0; border-bottom-color: #EEF1F5; }
.ori-record .ori-related li { border-color: #E8EBF1; border-radius: 12px; }
.ori-record .ori-cite { border-color: #E8EBF1; border-radius: 12px; }
.ori-record .ori-timeline { border-left-color: #E8EBF1; }
.ori-record .ori-timeline li::before { width: 8px; height: 8px; left: -5px; top: 13px; }
.ori-record__side { gap: 14px; }
.ori-record__side .ori-card { padding: 20px; border-color: #E8EBF1; border-radius: 14px; }
.ori-record__side .ori-card__title { font-size: 15px; font-weight: 600; color: #1B2440; }
.ori-record__side .ori-card p { color: #4A5366; line-height: 1.6; }
.ori-record__side .ori-card a:not(.ori-btn) { color: var(--ori-blue); text-decoration: none; }
.ori-record__side .ori-card a:not(.ori-btn):hover { text-decoration: underline; text-underline-offset: 2px; }
.ori-record__side .ori-btn { border-radius: 10px; font-weight: 500; }
.ori-record .ori-journal-card__tile { border-radius: 8px; }
.ori-record .ori-info > div { border-bottom-color: #EEF1F5; }
@media (max-width: 960px) {
    .ori-record__grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .ori-record__main, .ori-record__side { min-width: 0; }
    .ori-record__actions { flex-wrap: wrap; }
    .ori-record__code-text { font-size: 19px; }
    .ori-record__title { font-size: 23px; }
    .ori-timeline li { grid-template-columns: 1fr; gap: 2px; }
}

/* Dashboard: records, credentials, registrations */
.ori-toolbar { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.ori-toolbar__filters { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.ori-toolbar__filters .ori-input { width: auto; min-width: 160px; }
.ori-toolbar__filters input[type="search"] { min-width: 260px; }
/* Record page — refined (1.33.0): lighter hierarchy, compact type, soft surfaces; flat (no shadow, no motion). */
.ori-record { padding: 12px 0 64px; background: linear-gradient(180deg, #F5F7FB 0, #FBFCFE 260px, #FFFFFF 520px); }
.ori-record__crumbs { margin-bottom: 26px; font-size: 12.5px; }
.ori-record__grid { gap: 48px; }
.ori-record__main { min-width: 0; }
.ori-record .ori-eyebrow { margin-bottom: 10px; font-size: 11px; font-weight: 600; letter-spacing: .14em; color: #6B7A99; }
.ori-record__code { gap: 8px; margin: 0 0 18px; }
.ori-record__code-text { font-size: 17px; font-weight: 600; letter-spacing: .03em; color: var(--ori-blue); }
.ori-record__code .ori-icon-btn { width: 28px; height: 28px; flex-basis: 28px; }
.ori-record__code .ori-badge { padding: 2px 10px; font-size: 12px; }
.ori-record__title { max-width: 44ch; margin: 0 0 14px; color: #1B2440; font-size: 25px; font-weight: 600; line-height: 1.3; letter-spacing: -.01em; text-wrap: balance; }
.ori-record__title--caps { max-width: 56ch; text-wrap: pretty; font-size: 19px; line-height: 1.45; letter-spacing: .02em; color: #26304D; }
.ori-record__alt-title { margin: -4px 0 12px; color: #6B7488; font-size: 14.5px; }
.ori-record__authors { margin: 0 0 6px; color: #2F3A52; font-size: 15px; }
.ori-record__source { margin: 0 0 16px; color: #6B7488; font-size: 13.5px; }
.ori-record__dot { margin: 0 8px; color: #C3CAD6; }
.ori-record__tags { margin: 0 0 24px; }
.ori-record .ori-tag { padding: 3px 10px; font-size: 12px; }
.ori-record__actions { gap: 8px; margin: 0 0 28px; }
.ori-record__actions .ori-btn { min-height: 36px; padding: 0 15px; border-radius: 9px; font-size: 13.5px; }
.ori-record__actions .ori-btn--ghost { border-color: #DCE2EC; }
.ori-record__tabs { gap: 2px; padding: 5px 0; border-bottom-color: #ECEFF4; }
.ori-record__tabs a { padding: 6px 11px; font-size: 13.5px; }
.ori-record__section { padding-top: 20px; }
.ori-record__section h2 { margin: 6px 0 10px; font-size: 17px; }
.ori-record__abstract { max-width: 74ch; color: #3A4458; font-size: 15px; line-height: 1.75; text-align: left; hyphens: auto; -webkit-hyphens: auto; }
.ori-record__side { gap: 12px; }
.ori-record__side .ori-card { padding: 18px; border-color: #ECEFF4; border-radius: 12px; }
.ori-record__side .ori-card__title { font-size: 14.5px; }
.ori-record__side .ori-card p { font-size: 14px; }
@media (max-width: 960px) {
    .ori-record__grid { gap: 28px; }
    .ori-record__title { font-size: 21px; }
    .ori-record__title--caps { font-size: 17px; }
    .ori-record__code-text { font-size: 16px; }
}

/* Journal profile (1.36.0) — refined, soft tints, flat (no shadow, no motion). */
.ori-jp { padding: 12px 0 64px; background: linear-gradient(180deg, #F5F7FB 0, #FBFCFE 260px, #FFFFFF 520px); }
.ori-jp .ori-container { display: flex; flex-direction: column; gap: 16px; }
.ori-jp .ori-crumbs { margin-bottom: 8px; font-size: 12.5px; }
.ori-jp__head { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 28px; align-items: start; }
.ori-jp__cover img, .ori-jp__cover > * { max-width: 150px; border-radius: 10px; }
.ori-jp__eyebrow { margin: 0 0 6px; color: #6B7A99; font-size: 11.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.ori-jp__title { margin: 0 0 10px; color: #1B2440; font-size: 26px; font-weight: 600; line-height: 1.25; letter-spacing: -.01em; }
.ori-jp__abbr { display: inline-block; margin-left: 6px; padding: 2px 10px; border: 1px solid #DCE6F7; border-radius: 999px; background: #F2F6FD; color: #1E3F86; font-size: 13px; font-weight: 500; letter-spacing: .03em; vertical-align: 4px; }
.ori-jp__areas { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; }
.ori-jp__areas a { padding: 3px 10px; border: 1px solid #E6EAF1; border-radius: 999px; background: #F6F8FC; color: #3A4458; font-size: 12.5px; text-decoration: none; }
.ori-jp__areas a:hover { border-color: #9DB4E3; color: #1E3F86; }
.ori-jp__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.ori-jp__btn { display: inline-flex; align-items: center; height: 36px; padding: 0 14px; border: 1px solid #DCE2EC; border-radius: 9px; background: #fff; color: #1E3F86; font-size: 13.5px; font-weight: 500; text-decoration: none; }
.ori-jp__btn:hover { border-color: #1E3F86; }
.ori-jp__btn--main { border-color: #1E3F86; background: #1E3F86; color: #fff; }
.ori-jp__btn--main:hover { background: #17336F; color: #fff; }
.ori-jp__actions .ori-btn { height: 36px; min-height: 36px; padding: 0 14px; border-radius: 9px; font-size: 13.5px; font-weight: 500; }

.ori-jp__kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.ori-jp__kpis li { display: flex; flex-direction: column; gap: 3px; padding: 14px 18px; border: 1px solid #DCE6F7; border-radius: 14px; background: #F2F6FD; }
.ori-jp__kpis li:nth-child(2) { border-color: #E6E0F5; background: #F7F5FD; }
.ori-jp__kpis li:nth-child(3) { border-color: #D8EEDF; background: #F2FAF5; }
.ori-jp__kpis strong { color: #1B2440; font-size: 24px; font-weight: 600; font-variant-numeric: tabular-nums; }
.ori-jp__kpis span { color: #5A6375; font-size: 13px; }

.ori-jp__card { padding: 20px 22px; border: 1px solid #E8EBF1; border-radius: 14px; background: #fff; }
.ori-jp__h { margin: 0 0 12px; color: #1B2440; font-size: 16px; font-weight: 600; }
.ori-jp__desc { max-width: 80ch; color: #3A4458; font-size: 15px; line-height: 1.75; text-align: left; hyphens: auto; }
.ori-jp__desc p:last-child { margin-bottom: 0; }
.ori-jp__facts { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 10px; margin: 0; }
.ori-jp__facts div { padding: 10px 14px; border-radius: 10px; background: #F7F8FB; }
.ori-jp__facts dt { color: #6B7488; font-size: 11.5px; letter-spacing: .04em; text-transform: uppercase; }
.ori-jp__facts dd { margin: 3px 0 0; color: #1B2440; font-size: 14px; overflow-wrap: anywhere; }
.ori-jp__facts a { color: #1E3F86; }

.ori-jp__chart { display: flex; align-items: flex-end; gap: 10px; height: 180px; margin: 0; padding: 0 0 4px; list-style: none; border-bottom: 1px solid #E8EBF1; }
.ori-jp__chart li { display: flex; flex: 1; min-width: 0; height: 100%; }
.ori-jp__chart a { display: flex; flex: 1; flex-direction: column; align-items: center; justify-content: flex-end; gap: 4px; height: 100%; text-decoration: none; }
.ori-jp__chart-n { color: #5A6375; font-size: 12px; font-variant-numeric: tabular-nums; }
.ori-jp__chart-bar { width: 100%; max-width: 46px; border-radius: 6px 6px 2px 2px; background: #BFD0EE; }
.ori-jp__chart a:hover .ori-jp__chart-bar { background: #9DB4E3; }
.ori-jp__chart li.is-current .ori-jp__chart-bar { background: #1E3F86; }
.ori-jp__chart-y { color: #3A4458; font-size: 12px; }

.ori-jp__records-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 10px; }
.ori-jp__years { display: flex; flex-wrap: wrap; gap: 4px; font-size: 13px; }
.ori-jp__years a { padding: 3px 10px; border-radius: 999px; color: #5A6375; text-decoration: none; }
.ori-jp__years a:hover { background: #F2F6FD; color: #1E3F86; }
.ori-jp__years a[aria-current] { background: #1E3F86; color: #fff; }
.ori-jp__count { margin: 0 0 6px; color: #6B7488; font-size: 13px; }
.ori-jp__list { margin: 0; padding: 0; list-style: none; }
.ori-jp__list li { padding: 13px 0; border-top: 1px solid #F0F2F6; }
.ori-jp__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin: 0 0 4px; color: #6B7488; font-size: 12.5px; }
.ori-jp__meta .ori-id { color: #1E3F86; }
.ori-jp__item { margin: 0 0 3px; font-size: 15px; font-weight: 500; line-height: 1.45; }
.ori-jp__item a { color: #1B2440; text-decoration: none; }
.ori-jp__item a:hover { color: #1E3F86; text-decoration: underline; text-underline-offset: 2px; }
.ori-jp__by { margin: 0; color: #3A4458; font-size: 13.5px; }
.ori-jp__pages { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 14px; }
.ori-jp__pages a, .ori-jp__pages span { min-width: 34px; padding: 6px 10px; border-radius: 8px; font-size: 14px; text-align: center; text-decoration: none; }
.ori-jp__pages a { color: #1E3F86; }
.ori-jp__pages a:hover { background: #F2F6FD; }
.ori-jp__pages span[aria-current] { background: #1E3F86; color: #fff; }
.ori-jp__gap { color: #6B7488; }
@media (max-width: 760px) {
    .ori-jp__head { grid-template-columns: minmax(0, 1fr); gap: 14px; }
    .ori-jp__cover > * { max-width: 110px; }
    .ori-jp__title { font-size: 22px; }
    .ori-jp__kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ori-jp__chart { gap: 4px; height: 150px; }
    .ori-jp__chart-n { font-size: 11px; }
}

.ori-recordform { max-width: 900px; }
.ori-fieldset { margin: 0 0 18px; padding: 16px 18px 6px; border: 1px solid var(--ori-line); border-radius: 8px; }
.ori-fieldset legend { padding: 0 6px; font-weight: 600; color: var(--ori-blue); font-size: 15px; }
.ori-fieldset--plain { border: 0; padding: 0; margin: 0 0 14px; }
.ori-fieldset--plain legend { padding: 0; font-size: 14px; color: var(--ori-text); margin-bottom: 6px; }
.ori-recordform .ori-input { max-width: none; }
.ori-grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
.ori-grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 16px; }
.ori-rowcard { position: relative; margin: 0 0 12px; padding: 14px 14px 4px; border-radius: 6px; background: var(--ori-bg-muted); }
.ori-rowcard--inline { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 0 12px; align-items: end; padding-bottom: 12px; }
.ori-rowcard--inline .ori-field { margin-bottom: 0; }
.ori-rowcard--inline [data-ori-remove] { justify-self: start; margin-top: 8px; }
.ori-field--end { display: flex; flex-direction: column; justify-content: flex-end; gap: 8px; }
.ori-input--multi { min-height: 76px; }
[data-ori-add] { margin-bottom: 12px; }
.ori-recordform__save { position: sticky; bottom: 0; padding: 12px 0; background: var(--ori-white); border-top: 1px solid var(--ori-line); }
.ori-recordbar { margin-bottom: 18px; }
.ori-recordbar__info { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 12px; }
.ori-recordbar__actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-start; }
.ori-recordbar__actions .ori-inline-form { margin: 0; }
.ori-recordbar__actions .ori-disclosure { margin: 0; }
.ori-recordbar__actions .ori-disclosure summary { list-style: none; color: #fff; }
.ori-recordbar__actions .ori-disclosure summary.ori-btn--ghost { color: var(--ori-blue); }
.ori-recordbar__actions .ori-disclosure summary::-webkit-details-marker { display: none; }
.ori-recordbar__actions .ori-disclosure[open] { flex-basis: 100%; }
.ori-tokenbox { margin: 0 0 22px; padding: 16px 18px; border: 1px solid #1E5B34; border-radius: 8px; background: #E9F6EE; }
.ori-tokenbox p { margin: 0 0 6px; }
.ori-tokenbox__value { display: block; margin-top: 8px; padding: 10px 12px; border-radius: 6px; background: #fff; font-size: 13px; overflow-wrap: anywhere; user-select: all; }
.ori-json { max-height: 320px; overflow: auto; padding: 12px; border-radius: 6px; background: var(--ori-bg-muted); font-size: 12px; white-space: pre-wrap; }
@media (max-width: 860px) { .ori-grid-2, .ori-grid-3 { grid-template-columns: 1fr; } .ori-toolbar__filters input[type="search"] { min-width: 0; width: 100%; } }

/* Repository files */
.ori-files__title { font-size: 16px; color: var(--ori-blue); margin: 0 0 4px; }
.ori-files__upload { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--ori-line); }
.ori-filelist { list-style: none; margin: 0 0 8px; padding: 0; font-size: 14px; }
.ori-filelist li { display: flex; flex-direction: column; gap: 2px; padding: 8px 0; border-bottom: 1px solid var(--ori-line); }
.ori-filelist li:last-child { border-bottom: 0; }
.ori-filelist a { font-weight: 600; text-decoration: none; }
.ori-filelist__sum { font-family: var(--ori-mono); font-size: 11.5px; }

/* Dashboard application shell (sidebar, no site header/footer) */
.ori-app { display: flex; min-height: 100vh; background: var(--ori-white); }
.ori-app__sidebar { position: sticky; top: 0; height: 100vh; flex: 0 0 248px; width: 248px; display: flex; flex-direction: column; padding: 22px 14px 18px; background: var(--ori-blue); color: #D7DEEE; overflow-y: auto; }
.ori-app__brand { display: block; margin: 0 8px 28px; line-height: 0; }
.ori-app__brand img { height: 40px; width: auto; }
.ori-app__menu { list-style: none; margin: 0; padding: 0; }
.ori-app__menu li { margin: 0 0 2px; }
.ori-app__menu a { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: var(--ori-radius); color: #C9D3EA; font-size: 15px; text-decoration: none; }
.ori-app__menu a:hover { color: #FFFFFF; background: rgba(255, 255, 255, .06); }
.ori-app__menu a[aria-current="page"] { color: #FFFFFF; background: rgba(255, 255, 255, .13); font-weight: 600; }
.ori-app__menu svg { flex: 0 0 auto; }
.ori-app__user { margin-top: auto; padding: 14px 10px 0; border-top: 1px solid rgba(255, 255, 255, .14); font-size: 13px; }
.ori-app__name { margin: 0; color: #FFFFFF; font-weight: 600; }
.ori-app__email { margin: 0 0 10px; color: #AEB9D3; overflow-wrap: anywhere; }
.ori-app__links { display: flex; gap: 16px; margin: 0; font-size: 13px; }
.ori-app__links a { color: #FFFFFF; text-decoration: none; }
.ori-app__links a:hover { color: #A9C4EC; }
.ori-app__mobile { display: none; }
.ori-app__main { flex: 1 1 auto; min-width: 0; }
.ori-app__head { padding: 22px 36px; border-bottom: 1px solid var(--ori-line); }
.ori-app__head h1 { margin: 0; font-size: 24px; }
.ori-app__content { max-width: 920px; padding: 28px 36px 56px; }
.ori-dash h2 { margin-top: 30px; }
.ori-dash h2:first-child, .ori-dash .ori-alert + h2 { margin-top: 0; }
.ori-stats--compact { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 0; border: 1px solid var(--ori-line); border-radius: var(--ori-radius); }
.ori-stats--compact > div { padding: 12px 16px; border-left: 1px solid var(--ori-line); }
.ori-stats--compact > div:first-child { border-left: 0; padding-left: 16px; }
.ori-stats--compact dd { font-size: 22px; }

@media (max-width: 900px) {
    .ori-app { display: block; }
    .ori-app__sidebar { display: none; }
    .ori-app__mobile { display: block; position: relative; background: var(--ori-blue); }
    .ori-app__mobile summary { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; cursor: pointer; list-style: none; }
    .ori-app__mobile summary::-webkit-details-marker { display: none; }
    .ori-app__mobile summary img { height: 32px; width: auto; }
    .ori-app__toggle { display: inline-flex; align-items: center; height: 34px; padding: 0 14px; border: 1px solid rgba(255, 255, 255, .35); border-radius: var(--ori-radius); color: #FFFFFF; font-size: 14px; }
    .ori-app__mobile nav { padding: 4px 12px 16px; }
    .ori-app__mobile .ori-app__links { padding: 12px 10px 0; border-top: 1px solid rgba(255, 255, 255, .14); margin-top: 8px; }
    .ori-app__head { padding: 18px 16px; }
    .ori-app__head h1 { font-size: 21px; }
    .ori-app__content { padding: 20px 16px 40px; }
}
/* Pagination */
.nav-links { display: flex; gap: 8px; margin-top: 20px; }
.page-numbers { padding: 4px 10px; border: 1px solid var(--ori-line); border-radius: var(--ori-radius); text-decoration: none; }
.page-numbers.current { background: var(--ori-blue); color: #fff; border-color: var(--ori-blue); }

/* Small screens: collapsible menu (no JavaScript) */
@media (max-width: 1100px) {
    .ori-container { padding: 0 20px; }
    .ori-menu { gap: 4px 18px; }
}
@media (max-width: 860px) {
    .ori-container { padding: 0 16px; }
    .ori-header__inner { min-height: 64px; }
    .ori-brand img, .custom-logo { height: 36px; }
    .ori-nav__toggle { display: inline-flex; align-items: center; height: 36px; padding: 0 14px; border: 1px solid var(--ori-line); border-radius: var(--ori-radius); cursor: pointer; list-style: none; font-size: 15px; color: var(--ori-blue); }
    .ori-nav__toggle::-webkit-details-marker { display: none; }
    .ori-nav, .ori-header__inner > .ori-account { display: none; }
    .ori-nav-mobile { margin-left: auto; }
    .ori-nav-mobile { display: block; }
    .ori-nav__panel { position: absolute; right: 0; top: 44px; z-index: 20; min-width: 220px; background: var(--ori-white); border: 1px solid var(--ori-line); border-radius: var(--ori-radius); padding: 8px 16px; }
    .ori-menu { flex-direction: column; gap: 0; }
    .ori-menu a { display: block; padding: 10px 0; border-bottom: 0; }
    h1 { font-size: 24px; }
    h2 { font-size: 20px; }
    .ori-hero { padding: 36px 0 32px; }
    .ori-stats > div { flex-basis: 100%; border-left: 0; padding: 8px 0; border-top: 1px solid var(--ori-line); }
    .ori-stats > div:first-child { border-top: 0; }
}

/* Dashboard › Registrations (approval queue): compact, flat */
.ori-queue__intro { margin-bottom: 8px; }
.ori-queue__summary { margin: 0 0 14px; font-size: 14px; color: var(--ori-muted, #5b6170); }
.ori-queue__summary strong { font-weight: 600; color: inherit; }
.ori-tabs { display: flex; flex-wrap: wrap; gap: 4px; margin: 0 0 18px; padding: 3px; border: 1px solid var(--ori-line); border-radius: 8px; width: fit-content; max-width: 100%; }
.ori-tabs__item { display: inline-flex; align-items: center; gap: 8px; height: 32px; padding: 0 12px; border-radius: 6px; color: var(--ori-muted); font-size: 14px; font-weight: 500; text-decoration: none; }
.ori-tabs__item:hover { color: var(--ori-blue); }
.ori-tabs__item[aria-current="page"] { background: var(--ori-blue-soft); color: var(--ori-blue); }
.ori-tabs__count { min-width: 20px; padding: 0 6px; border-radius: 999px; background: var(--ori-bg-muted); color: var(--ori-muted); font-size: 12px; line-height: 20px; text-align: center; }
.ori-tabs__item[aria-current="page"] .ori-tabs__count { background: var(--ori-white); color: var(--ori-blue); }
.ori-queue__empty { padding: 28px 0; }
.ori-queue__bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 14px; border: 1px solid var(--ori-line); border-bottom: 0; border-radius: 8px 8px 0 0; background: var(--ori-bg-muted); }
.ori-queue__all { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: var(--ori-muted); cursor: pointer; }
.ori-queue__bar .ori-btn[disabled] { opacity: .45; cursor: default; }
.ori-queue__list { list-style: none; margin: 0 0 24px; padding: 0; border: 1px solid var(--ori-line); border-radius: 8px; }
.ori-queue__bar + .ori-queue__list { border-radius: 0 0 8px 8px; }
.ori-queue__item { display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; gap: 14px; align-items: start; padding: 14px; border-top: 1px solid var(--ori-line); }
.ori-queue__item:first-child { border-top: 0; }
.ori-queue__check { margin: 4px 0 0; width: 16px; height: 16px; }
.ori-queue__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin: 0 0 4px; color: var(--ori-muted); font-size: 13px; }
.ori-dot { display: inline-flex; align-items: center; gap: 6px; font-weight: 500; color: var(--ori-text); }
.ori-dot::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--ori-muted); }
.ori-dot--pending::before { background: #C98A1B; }
.ori-dot--completed::before, .ori-dot--approved::before { background: #2E8B57; }
.ori-dot--failed::before, .ori-dot--rejected::before { background: var(--ori-danger); }
.ori-queue__title { margin: 0 0 4px; font-size: 15px; font-weight: 500; line-height: 1.45; color: var(--ori-text); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ori-queue__title a { color: inherit; text-decoration: none; }
.ori-queue__title a:hover { color: var(--ori-blue); text-decoration: underline; }
.ori-queue__sub { display: flex; flex-wrap: wrap; gap: 4px 12px; margin: 0; color: var(--ori-muted); font-size: 13px; }
.ori-queue__code { font-family: var(--ori-mono); font-size: 12.5px; color: var(--ori-blue); text-decoration: none; }
.ori-queue__ref { font-family: var(--ori-mono); font-size: 12px; }
.ori-queue__error { margin: 6px 0 0; color: var(--ori-danger); font-size: 13px; }
.ori-queue__note { margin: 6px 0 0; color: var(--ori-muted); font-size: 13px; font-style: italic; }
.ori-queue__details { margin-top: 6px; font-size: 13px; }
.ori-queue__details > summary, .ori-queue__raw > summary { cursor: pointer; color: var(--ori-muted); list-style: none; }
.ori-queue__details > summary::-webkit-details-marker, .ori-queue__raw > summary::-webkit-details-marker, .ori-queue__reject > summary::-webkit-details-marker { display: none; }
.ori-queue__details > summary::after { content: " ▾"; font-size: 11px; }
.ori-queue__details[open] > summary::after { content: " ▴"; }
.ori-queue__details > summary:hover, .ori-queue__raw > summary:hover { color: var(--ori-blue); }
.ori-queue__dl { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 8px 16px; margin: 10px 0 8px; }
.ori-queue__dl dt { color: var(--ori-muted); font-size: 12px; }
.ori-queue__dl dd { margin: 0; overflow-wrap: anywhere; }
.ori-queue__dl-wide { grid-column: 1 / -1; }
.ori-queue__raw { margin-top: 4px; }
.ori-queue__actions { display: flex; align-items: flex-start; gap: 6px; }
.ori-queue__reject { position: relative; }
.ori-queue__reject > summary { list-style: none; display: inline-flex; align-items: center; height: 32px; padding: 0 12px; border: 1px solid var(--ori-line); border-radius: var(--ori-radius); color: var(--ori-muted); font-size: 14px; cursor: pointer; }
.ori-queue__reject > summary:hover, .ori-queue__reject[open] > summary { color: var(--ori-danger); border-color: var(--ori-danger); }
.ori-queue__reject-box { position: absolute; right: 0; top: 38px; z-index: 5; display: grid; gap: 8px; width: 280px; padding: 12px; border: 1px solid var(--ori-line); border-radius: 8px; background: var(--ori-white); }
.ori-queue__reject-box .ori-btn { justify-self: end; }
@media (max-width: 720px) {
    .ori-queue__item { grid-template-columns: 18px minmax(0, 1fr); }
    .ori-queue__actions { grid-column: 2; }
    .ori-queue__reject-box { right: auto; left: 0; width: min(280px, calc(100vw - 64px)); }
}

/* Dashboard panels (Account and other settings pages): one column, flat */
.ori-panel { max-width: 760px; margin: 0 0 16px; border: 1px solid var(--ori-line); border-radius: 10px; background: var(--ori-white); }
.ori-panel__head { display: block; padding: 18px 22px 0; }
.ori-panel__head--row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 22px; cursor: pointer; list-style: none; }
.ori-panel__head--row::-webkit-details-marker { display: none; }
.ori-panel__title { display: block; margin: 0; font-size: 16px; font-weight: 600; color: var(--ori-text); }
.ori-panel__desc { display: block; margin: 2px 0 0; color: var(--ori-muted); font-size: 13.5px; }
.ori-panel__body { padding: 18px 22px 4px; }
.ori-panel__body .ori-input { max-width: 100%; }
.ori-panel__foot { display: flex; justify-content: flex-end; gap: 8px; padding: 12px 22px; border-top: 1px solid var(--ori-line); background: var(--ori-bg-muted); border-radius: 0 0 10px 10px; }
.ori-panel__fold[open] .ori-panel__head--row { border-bottom: 1px solid var(--ori-line); }
.ori-panel__fold[open] .ori-panel__toggle { visibility: hidden; }
.ori-panel .ori-field label { font-weight: 500; font-size: 13.5px; }
.ori-field__optional { margin-left: 4px; color: var(--ori-muted); font-weight: 400; font-size: 12.5px; }
.ori-input-prefix { position: relative; }
.ori-input-prefix__icon { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); display: flex; }
.ori-input-prefix .ori-input { padding-left: 38px; font-family: var(--ori-mono); font-size: 14px; letter-spacing: .02em; }
.ori-identity { display: flex; align-items: center; gap: 16px; padding: 20px 22px; }
.ori-identity__avatar { flex: 0 0 56px; width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; background: var(--ori-blue-soft); color: var(--ori-blue); font-size: 19px; font-weight: 600; letter-spacing: .02em; }
.ori-identity__main { flex: 1 1 auto; min-width: 0; }
.ori-identity__name { margin: 0 0 2px; font-size: 18px; font-weight: 600; color: var(--ori-text); }
.ori-identity__line { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; margin: 0; font-size: 14px; color: var(--ori-text); overflow-wrap: anywhere; }
.ori-identity__line--muted { margin-top: 4px; color: var(--ori-muted); font-size: 13px; }
.ori-identity__action { margin-left: auto; }
@media (max-width: 560px) {
    .ori-identity { flex-wrap: wrap; }
    .ori-identity__action { margin-left: 72px; }
    .ori-panel__head--row { flex-wrap: wrap; }
}

/* Dashboard › Overview */
.ori-hello { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; max-width: 760px; margin: 0 0 20px; }
.ori-hello__title { margin: 0; font-size: 20px; font-weight: 600; color: var(--ori-text); }
.ori-hello__sub { margin: 2px 0 0; color: var(--ori-muted); font-size: 14px; }
.ori-hello__actions { display: flex; gap: 8px; flex-wrap: wrap; }
.ori-panel__head--split { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.ori-panel__link { font-size: 13.5px; color: var(--ori-muted); text-decoration: none; }
.ori-panel__link:hover { color: var(--ori-blue); }
.ori-allclear { display: flex; flex-wrap: wrap; gap: 6px 12px; margin: 0; padding: 14px 22px 18px; }
.ori-todo { list-style: none; margin: 12px 0 0; padding: 0; }
.ori-todo__item { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 22px 12px 19px; border-top: 1px solid var(--ori-line); border-left: 3px solid transparent; }
.ori-todo__item--info { border-left-color: var(--ori-accent); }
.ori-todo__item--warn { border-left-color: #C98A1B; }
.ori-todo__item--danger { border-left-color: var(--ori-danger); }
.ori-todo__item:last-child { border-radius: 0 0 0 10px; }
.ori-todo__title { margin: 0; font-size: 14.5px; font-weight: 500; color: var(--ori-text); }
.ori-todo__desc { margin: 1px 0 0; font-size: 13px; color: var(--ori-muted); }
.ori-kpis { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 16px 32px; padding: 14px 22px 16px; }
.ori-kpis__main { display: flex; flex-direction: column; }
.ori-kpis__value { font-size: 36px; font-weight: 600; line-height: 1.1; color: var(--ori-blue); letter-spacing: -.01em; }
.ori-kpis__label { color: var(--ori-muted); font-size: 13px; }
.ori-kpis__rest { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 0; }
.ori-kpis__rest dt { color: var(--ori-muted); font-size: 12.5px; }
.ori-kpis__rest dd { margin: 0; font-size: 16px; font-weight: 500; color: var(--ori-text); }
.ori-bars { list-style: none; margin: 0; padding: 4px 22px 18px; }
.ori-bars__row { display: grid; grid-template-columns: minmax(0, 220px) minmax(60px, 1fr) auto; align-items: center; gap: 14px; padding: 6px 0; font-size: 13.5px; }
.ori-bars__name { color: var(--ori-text); text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ori-bars__name:hover { color: var(--ori-blue); }
.ori-bars__track { height: 6px; border-radius: 999px; background: var(--ori-bg-muted); overflow: hidden; }
.ori-bars__fill { display: block; height: 100%; min-width: 2px; border-radius: 999px; background: var(--ori-accent); }
.ori-bars__value { font-variant-numeric: tabular-nums; font-weight: 500; text-align: right; min-width: 2.5em; }
.ori-feed { list-style: none; margin: 10px 0 0; padding: 0; }
.ori-feed__item { padding: 11px 22px; border-top: 1px solid var(--ori-line); }
.ori-feed__title { display: block; color: var(--ori-text); font-size: 14.5px; font-weight: 500; text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
a.ori-feed__title:hover { color: var(--ori-blue); }
.ori-feed__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 12px; margin: 2px 0 0; color: var(--ori-muted); font-size: 12.5px; }
.ori-dot--published::before { background: #2E8B57; }
.ori-dot--reserved::before { background: var(--ori-accent); }
.ori-dot--draft::before { background: #A3AAB8; }
.ori-dot--withdrawn::before { background: #C98A1B; }
.ori-dot--retracted::before { background: var(--ori-danger); }
.ori-panel__body { padding: 14px 22px; border-top: 1px solid var(--ori-line); }
@media (max-width: 560px) {
    .ori-bars__row { grid-template-columns: minmax(0, 1fr) auto; }
    .ori-bars__track { grid-column: 1 / -1; grid-row: 2; }
    .ori-todo__item { flex-wrap: wrap; }
}

/* Dashboard shared components: toolbar, row lists, empty state (flat, one column) */
.ori-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 14px; }
.ori-bar__search { position: relative; flex: 1 1 260px; max-width: 420px; }
.ori-bar__search svg { position: absolute; left: 11px; top: 50%; transform: translateY(-50%); color: var(--ori-muted); pointer-events: none; }
.ori-bar__search .ori-input { max-width: none; padding-left: 34px; }
.ori-bar .ori-input { width: auto; min-height: 36px; height: 36px; padding-top: 0; padding-bottom: 0; font-size: 14px; }
.ori-bar select.ori-input { padding-right: 28px; }
.ori-bar__spacer { flex: 1 1 auto; }
.ori-intro { margin: 0 0 16px; color: var(--ori-muted); font-size: 14px; max-width: 760px; }
.ori-count { margin: 0 0 8px; color: var(--ori-muted); font-size: 13px; }
.ori-rows { list-style: none; margin: 0 0 20px; padding: 0; border: 1px solid var(--ori-line); border-radius: 10px; background: var(--ori-white); }
.ori-row { display: flex; align-items: center; gap: 16px; padding: 12px 18px; border-top: 1px solid var(--ori-line); }
.ori-row:first-child { border-top: 0; }
.ori-row__body { flex: 1 1 auto; min-width: 0; }
.ori-row__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 12px; margin: 0 0 3px; color: var(--ori-muted); font-size: 12.5px; }
.ori-row__title { margin: 0; font-size: 14.5px; font-weight: 500; line-height: 1.45; color: var(--ori-text); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ori-row__title a { color: inherit; text-decoration: none; }
.ori-row__title a:hover { color: var(--ori-blue); text-decoration: underline; }
.ori-row__sub { display: flex; flex-wrap: wrap; gap: 2px 12px; margin: 3px 0 0; color: var(--ori-muted); font-size: 12.5px; }
.ori-row__actions { flex: 0 0 auto; display: flex; align-items: center; gap: 6px; }
.ori-row__actions form { margin: 0; }
.ori-code-chip { font-family: var(--ori-mono); font-size: 12px; color: var(--ori-blue); }
.ori-blank { padding: 36px 20px; border: 1px dashed var(--ori-line); border-radius: 10px; text-align: center; color: var(--ori-muted); font-size: 14px; }
.ori-blank .ori-btn { margin-top: 12px; }
.ori-app .ori-pager { justify-content: flex-start; gap: 4px; margin: 0 0 20px; }
.ori-dot--active::before { background: #2E8B57; }
.ori-dot--suspended::before, .ori-dot--inactive::before { background: #C98A1B; }
.ori-dot--revoked::before, .ori-dot--expired::before { background: var(--ori-danger); }
@media (max-width: 640px) {
    .ori-row { flex-wrap: wrap; }
    .ori-row__actions { width: 100%; }
    .ori-bar .ori-input, .ori-bar__search { flex: 1 1 100%; max-width: none; }
}
.ori-bar .ori-intro { margin: 0; flex: 1 1 320px; }
.ori-avatar { flex: 0 0 36px; width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: var(--ori-blue-soft); color: var(--ori-blue); font-size: 13px; font-weight: 600; }
.ori-panel__fold .ori-panel__body { border-top: 0; padding-top: 18px; }
.ori-panel__body .ori-input { max-width: 100%; }
.ori-panel__body .ori-input--short { max-width: 200px; }
.ori-panel__body--form .ori-actions { margin-top: 4px; }

/* Dashboard forms and headings: panels, quiet labels, action bar */
.ori-dash > h2, .ori-dash form > h2 { margin: 26px 0 10px; font-size: 16px; font-weight: 600; color: var(--ori-text); }
.ori-dash > h2:first-child { margin-top: 0; }
.ori-dash .ori-field label, .ori-dash .ori-fieldset--plain legend { font-weight: 500; font-size: 13.5px; color: var(--ori-text); }
.ori-dash .ori-form { max-width: 760px; margin: 0 0 20px; padding: 20px 22px 0; border: 1px solid var(--ori-line); border-radius: 10px; background: var(--ori-white); }
.ori-dash .ori-form .ori-input { max-width: 100%; }
.ori-dash .ori-form .ori-input--short { max-width: 200px; }
.ori-dash .ori-form > .ori-actions, .ori-dash .ori-form > .ori-actions--end { display: flex; justify-content: flex-end; gap: 8px; margin: 18px -22px 0; padding: 12px 22px; border-top: 1px solid var(--ori-line); background: var(--ori-bg-muted); border-radius: 0 0 10px 10px; }
.ori-dash .ori-form > button[type="submit"]:last-child { margin: 4px 0 20px; }
.ori-dash .ori-actions .ori-btn { height: 32px; padding: 0 12px; font-size: 14px; }
.ori-dash .ori-panel .ori-form, .ori-dash .ori-queue .ori-form, .ori-dash .ori-form--decision, .ori-dash .ori-disclosure .ori-form, .ori-dash .ori-files .ori-form, .ori-dash .ori-recordbar .ori-form { max-width: none; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; }
.ori-dash .ori-panel .ori-form > .ori-actions { margin: 12px -22px 0; }
.ori-dash .ori-fieldset { border-radius: 10px; padding: 16px 20px 6px; }
.ori-dash .ori-fieldset legend { font-size: 14px; font-weight: 600; color: var(--ori-text); }
.ori-dash .ori-btn { font-weight: 500; }
.ori-dash .ori-alert { max-width: 760px; border-radius: 8px; font-size: 14px; }
.ori-dash .ori-tokenbox { max-width: 760px; }
.ori-bar .ori-bar__search .ori-input { width: 100%; }
.ori-dash .ori-form.ori-recordform { max-width: none; padding: 0; border: 0; background: none; }
.ori-files__item { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.ori-files__main { min-width: 0; flex: 1 1 auto; }
.ori-files__deposit { border-top: 1px solid var(--ori-line); }
.ori-files__deposit > .ori-panel__head--row { padding: 12px 22px; }
.ori-files__bag { align-items: center; justify-content: space-between; }
.ori-files__bag .ori-panel__desc { margin: 0; }
.ori-panel.ori-files { max-width: none; }
.ori-back { margin: 0 0 12px; font-size: 13.5px; }
.ori-back a { color: var(--ori-muted); text-decoration: none; }
.ori-back a:hover { color: var(--ori-blue); }
.ori-panel.ori-recordhead { max-width: none; }
.ori-recordhead__row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; padding: 14px 18px; }
.ori-recordhead__info { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; font-size: 13.5px; }
.ori-recordhead__alert { margin: 0 18px 14px; }
.ori-recordhead__help { margin: 0; padding: 10px 18px; border-top: 1px solid var(--ori-line); color: var(--ori-muted); font-size: 13px; }
.ori-dash .ori-btn, .ori-panel__toggle { white-space: nowrap; }
.ori-panel__head + .ori-panel__foot { margin-top: 14px; }
.ori-checks { list-style: none; margin: 12px 0 0; padding: 0; }
.ori-checks__item { display: flex; align-items: center; gap: 10px; padding: 9px 22px; border-top: 1px solid var(--ori-line); font-size: 13.5px; }
.ori-checks__count { margin-left: auto; color: var(--ori-muted); font-variant-numeric: tabular-nums; }
@media (max-width: 720px) { .ori-queue__reject-box { left: auto; right: 0; width: min(280px, calc(100vw - 48px)); } .ori-queue__reject:not([open]) .ori-queue__reject-box { display: none; } }
@media (max-width: 720px) { .ori-queue__reject[open] { flex: 1 1 100%; } .ori-queue__reject-box { position: static; width: auto; margin-top: 8px; } .ori-row__actions, .ori-queue__actions { flex-wrap: wrap; } }
.ori-dash .ori-form.ori-recordform > .ori-recordform__save { justify-content: flex-start; align-items: center; margin: 0; padding: 12px 0; background: var(--ori-white); border-radius: 0; }

/* Dashboard shell v2: light sidebar with groups, slim top bar, soft canvas */
.ori-app-body { background: #F7F8FA; }
.ori-app { background: #F7F8FA; }
.ori-app__sidebar { flex: 0 0 240px; width: 240px; padding: 18px 12px 14px; background: #FFFFFF; color: var(--ori-text); border-right: 1px solid var(--ori-line); }
.ori-app__brand { margin: 2px 10px 18px; }
.ori-app__brand img { height: 34px; }
.ori-app__group { margin: 14px 10px 4px; color: #8A93A5; font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.ori-app__group:first-child { margin-top: 0; }
.ori-app__menu a { gap: 10px; padding: 7px 10px; border-radius: 7px; color: #3D4657; font-size: 14px; font-weight: 400; }
.ori-app__menu a:hover { color: var(--ori-blue); background: #F2F4F8; }
.ori-app__menu a[aria-current="page"] { color: var(--ori-blue); background: var(--ori-blue-soft); font-weight: 500; }
.ori-app__menu a svg { color: #8A93A5; }
.ori-app__menu a:hover svg, .ori-app__menu a[aria-current="page"] svg { color: var(--ori-blue); }
.ori-app__badge { margin-left: auto; min-width: 20px; padding: 0 6px; border-radius: 999px; background: var(--ori-blue); color: #fff; font-size: 11px; font-weight: 500; line-height: 18px; text-align: center; }
.ori-app__user { display: flex; align-items: center; gap: 10px; margin-top: auto; padding: 12px 6px 0; border-top: 1px solid var(--ori-line); font-size: 13px; }
.ori-avatar--sm { flex: 0 0 30px; width: 30px; height: 30px; font-size: 11.5px; }
.ori-app__who { display: flex; flex-direction: column; min-width: 0; flex: 1 1 auto; }
.ori-app__name { margin: 0; color: var(--ori-text); font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ori-app__email { margin: 0; color: var(--ori-muted); font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ori-app__out { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 7px; color: var(--ori-muted); }
.ori-app__out:hover { color: var(--ori-danger); background: #F2F4F8; }
.ori-app__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px 20px; flex-wrap: wrap; padding: 22px 36px 6px; border-bottom: 0; }
.ori-app__crumbs { margin: 0 0 4px; color: var(--ori-muted); font-size: 12.5px; }
.ori-app__crumbs a { color: inherit; text-decoration: none; }
.ori-app__crumbs a:hover { color: var(--ori-blue); }
.ori-app__crumbs span { margin: 0 4px; color: #B6BDCA; }
.ori-app__head h1 { margin: 0; font-size: 22px; font-weight: 600; color: var(--ori-text); letter-spacing: -.01em; }
.ori-app__tools { display: flex; align-items: center; gap: 8px; }
.ori-app__find { display: inline-flex; align-items: center; gap: 8px; height: 34px; min-width: 220px; padding: 0 8px 0 11px; border: 1px solid var(--ori-line); border-radius: 8px; background: #fff; color: var(--ori-muted); font: 400 13.5px var(--ori-font); cursor: pointer; }
.ori-app__find:hover { border-color: #C9CFDB; color: var(--ori-text); }
.ori-app__find span { flex: 1 1 auto; text-align: left; }
.ori-app__find kbd, .ori-find kbd { padding: 1px 6px; border: 1px solid var(--ori-line); border-radius: 5px; background: #F7F8FA; color: var(--ori-muted); font: 500 11px var(--ori-font); }
.ori-app__portal { display: inline-flex; align-items: center; height: 34px; padding: 0 10px; border-radius: 8px; color: var(--ori-muted); font-size: 13.5px; text-decoration: none; }
.ori-app__portal:hover { color: var(--ori-blue); background: #fff; }
.ori-app__content { max-width: 980px; padding: 18px 36px 64px; }
.ori-dash .ori-panel, .ori-dash .ori-rows, .ori-dash .ori-queue__list, .ori-dash .ori-form { border-color: #E6E9EF; }
.ori-dash .ori-blank { background: #FFFFFF; }
.ori-dash .ori-tabs { background: #FFFFFF; }
.ori-dash .ori-input { border-color: #D5DAE3; }
.ori-hello { margin-bottom: 18px; }
.ori-find { width: min(620px, calc(100vw - 32px)); max-width: none; margin: 12vh auto auto; padding: 0; border: 1px solid var(--ori-line); border-radius: 12px; background: #fff; color: var(--ori-text); }
.ori-find::backdrop { background: rgba(23, 45, 103, .18); }
.ori-find__box { margin: 0; }
.ori-find__field { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-bottom: 1px solid var(--ori-line); color: var(--ori-muted); }
.ori-find__field input { flex: 1 1 auto; border: 0; outline: 0; background: none; color: var(--ori-text); font: 400 15px var(--ori-font); }
.ori-find__list { list-style: none; margin: 0; padding: 6px; max-height: 50vh; overflow-y: auto; }
.ori-find__list:empty { display: none; }
.ori-find__item a { display: block; padding: 8px 10px; border-radius: 8px; color: var(--ori-text); text-decoration: none; }
.ori-find__item a:hover, .ori-find__item[aria-selected="true"] a { background: var(--ori-blue-soft); }
.ori-find__title { display: block; font-size: 14px; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ori-find__meta { display: flex; flex-wrap: wrap; gap: 2px 10px; color: var(--ori-muted); font-size: 12px; }
.ori-find__hint { margin: 0; padding: 9px 14px; border-top: 1px solid var(--ori-line); color: var(--ori-muted); font-size: 12px; }
@media (max-width: 900px) {
    .ori-app__mobile { background: #FFFFFF; border-bottom: 1px solid var(--ori-line); }
    .ori-app__toggle { border-color: var(--ori-line); color: var(--ori-text); }
    .ori-app__mobile .ori-app__links { border-top-color: var(--ori-line); }
    .ori-app__mobile .ori-app__links a { color: var(--ori-blue); }
    .ori-app__head { padding: 16px 16px 4px; }
    .ori-app__content { padding: 14px 16px 40px; }
    .ori-app__find { min-width: 0; }
    .ori-app__find span, .ori-app__find kbd { display: none; }
}

/* Header: search field, notifications bell, account menu */
.ori-app__head { align-items: center; }
.ori-app__tools { gap: 6px; }
.ori-app__find { min-width: 260px; }
.ori-pop { position: relative; }
.ori-pop > summary { list-style: none; cursor: pointer; }
.ori-pop > summary::-webkit-details-marker { display: none; }
.ori-iconbtn { position: relative; display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid transparent; border-radius: 8px; color: var(--ori-muted); }
.ori-iconbtn:hover, .ori-pop[open] > .ori-iconbtn { color: var(--ori-blue); background: #fff; border-color: var(--ori-line); }
.ori-bell__count { position: absolute; top: 3px; right: 3px; min-width: 15px; height: 15px; padding: 0 4px; border-radius: 999px; background: var(--ori-danger); color: #fff; font-size: 10px; font-weight: 600; line-height: 15px; text-align: center; }
.ori-me__btn { display: block; padding: 2px; border-radius: 50%; }
.ori-me__btn:hover .ori-avatar, .ori-pop[open] > .ori-me__btn .ori-avatar { background: var(--ori-blue); color: #fff; }
.ori-pop__panel { position: absolute; right: 0; top: calc(100% + 8px); z-index: 30; width: 300px; padding: 6px; border: 1px solid var(--ori-line); border-radius: 10px; background: #fff; }
.ori-pop__title { margin: 4px 8px 6px; color: var(--ori-muted); font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.ori-pop__empty { margin: 0; padding: 8px; font-size: 13.5px; }
.ori-bell__list { list-style: none; margin: 0; padding: 0; }
.ori-bell__item { display: block; padding: 8px 10px 8px 12px; border-left: 3px solid transparent; border-radius: 6px; color: var(--ori-text); font-size: 13.5px; text-decoration: none; }
.ori-bell__item:hover { background: #F2F4F8; color: var(--ori-blue); }
.ori-bell__item--info { border-left-color: var(--ori-accent); }
.ori-bell__item--warn { border-left-color: #C98A1B; }
.ori-bell__item--danger { border-left-color: var(--ori-danger); }
.ori-me__panel { width: 240px; }
.ori-me__who { display: flex; flex-direction: column; padding: 8px 10px 10px; margin-bottom: 4px; border-bottom: 1px solid var(--ori-line); font-size: 13px; }
.ori-me__link { display: block; padding: 7px 10px; border-radius: 6px; color: var(--ori-text); font-size: 13.5px; text-decoration: none; }
.ori-me__link:hover { background: #F2F4F8; color: var(--ori-blue); }
.ori-me__link--out { margin-top: 4px; border-top: 1px solid var(--ori-line); border-radius: 0 0 6px 6px; color: var(--ori-muted); }
.ori-me__link--out:hover { color: var(--ori-danger); }
@media (max-width: 900px) {
    .ori-app__find { min-width: 0; }
    .ori-pop__panel { position: fixed; left: 12px; right: 12px; top: 64px; width: auto; }
}

/* Dashboard: one width for every module — the content column decides, modules fill it */
.ori-app__content { box-sizing: border-box; width: 100%; max-width: 1200px; padding: 18px clamp(16px, 3vw, 40px) 64px; }
.ori-app__head { padding-left: clamp(16px, 3vw, 40px); padding-right: clamp(16px, 3vw, 40px); max-width: 1200px; box-sizing: border-box; }
.ori-dash .ori-panel, .ori-dash .ori-form, .ori-dash .ori-rows, .ori-dash .ori-queue, .ori-dash .ori-queue__list, .ori-dash .ori-blank, .ori-dash .ori-alert, .ori-dash .ori-tokenbox, .ori-dash .ori-hello, .ori-dash .ori-intro, .ori-dash .ori-bar, .ori-dash .ori-fieldset, .ori-dash .ori-recordform { box-sizing: border-box; width: 100%; max-width: none; }
.ori-dash .ori-form .ori-input, .ori-dash .ori-panel .ori-input { max-width: 100%; }
.ori-dash .ori-input--short { max-width: 200px; }
.ori-dash .ori-tabs { max-width: 100%; }

/* Public search (one column, minimal) */
.ori-pagehead--search.ori-sx-head { padding: 34px 0 22px; background: #F7F8FA; border-bottom: 1px solid var(--ori-line); }
.ori-sx-head h1 { margin: 0 0 4px; font-size: 26px; font-weight: 600; letter-spacing: -.01em; }
.ori-sx-head .ori-lead { margin: 0; font-size: 15px; color: var(--ori-muted); }
.ori-sx { padding: 22px 0 56px; }
.ori-sx__bar { display: flex; align-items: center; gap: 10px; height: 50px; padding: 0 6px 0 16px; border: 1px solid #D5DAE3; border-radius: 10px; background: #fff; }
.ori-sx__bar:focus-within { border-color: var(--ori-blue); }
.ori-sx__bar input { flex: 1 1 auto; min-width: 0; height: 100%; border: 0; outline: 0; background: none; font: 400 16px var(--ori-font); color: var(--ori-text); }
.ori-sx__bar .ori-search__icon { color: var(--ori-muted); display: flex; position: static; }
.ori-sx__go { height: 38px; padding: 0 18px; border: 0; border-radius: 8px; background: var(--ori-blue); color: #fff; font: 500 14px var(--ori-font); cursor: pointer; }
.ori-sx__go:hover { background: var(--ori-blue-hover); }
.ori-sx__filters { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 12px 0 0; }
.ori-sx__spacer { flex: 1 1 auto; }
.ori-sx__select { display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 4px 0 12px; border: 1px solid var(--ori-line); border-radius: 999px; background: #fff; font-size: 13.5px; color: var(--ori-muted); }
.ori-sx__select:hover { border-color: #C9CFDB; }
.ori-sx__select.is-active { border-color: var(--ori-blue); background: var(--ori-blue-soft); }
.ori-sx__select select { max-width: 240px; height: 100%; padding: 0 22px 0 0; border: 0; background: transparent; color: var(--ori-text); font: 400 13.5px var(--ori-font); cursor: pointer; }
.ori-sx__sort { border-color: transparent; background: transparent; }
.ori-sx__status { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin: 18px 0 10px; min-height: 26px; }
.ori-sx__count { margin: 0 6px 0 0; color: var(--ori-muted); font-size: 13.5px; }
.ori-sx__chip { display: inline-flex; align-items: center; gap: 6px; height: 26px; padding: 0 10px; border-radius: 999px; background: var(--ori-blue-soft); color: var(--ori-blue); font-size: 13px; text-decoration: none; }
.ori-sx__chip:hover { background: #E2E8F5; }
.ori-sx__clear { color: var(--ori-muted); font-size: 13px; }
.ori-sx__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--ori-line); }
.ori-sx__item { padding: 20px 0; border-bottom: 1px solid var(--ori-line); }
.ori-sx__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 12px; margin: 0 0 6px; color: var(--ori-muted); font-size: 12.5px; }
.ori-sx__code { font-family: var(--ori-mono); font-size: 12px; color: var(--ori-blue); }
.ori-sx__oa { color: #2E7D52; }
.ori-sx__title { margin: 0 0 6px; font-size: 17px; font-weight: 500; line-height: 1.4; }
.ori-sx__title a { color: var(--ori-text); text-decoration: none; }
.ori-sx__title a:hover { color: var(--ori-blue); text-decoration: underline; text-underline-offset: 3px; }
.ori-sx__by { display: flex; flex-wrap: wrap; gap: 2px 14px; margin: 0 0 6px; color: #4A5366; font-size: 14px; }
.ori-sx__journal { color: var(--ori-muted); }
.ori-sx__abstract { margin: 0 0 10px; color: var(--ori-muted); font-size: 14px; line-height: 1.6; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ori-sx__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0; }
.ori-sx__kw { padding: 2px 9px; border: 1px solid var(--ori-line); border-radius: 999px; color: #4A5366; font-size: 12px; text-decoration: none; }
.ori-sx__kw:hover { border-color: var(--ori-blue); color: var(--ori-blue); }
.ori-sx__links { display: inline-flex; gap: 14px; margin-left: auto; font-size: 13px; }
.ori-sx__links a { color: var(--ori-blue); text-decoration: none; }
.ori-sx__links a:hover { text-decoration: underline; }
.ori-sx__pager { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 22px; }
.ori-sx__perpage { margin-left: auto; }
.ori-sx__empty { padding: 40px 20px; border: 1px dashed var(--ori-line); border-radius: 10px; text-align: center; }
.ori-sx__empty p { margin: 0 0 4px; }
.ori-sx__note { margin: 28px 0 0; color: var(--ori-muted); font-size: 13px; }
@media (max-width: 640px) {
    .ori-sx__bar { height: 46px; }
    .ori-sx__go { padding: 0 12px; }
    .ori-sx__select { max-width: 100%; }
    .ori-sx__select select { max-width: 200px; }
    .ori-sx__spacer { display: none; }
    .ori-sx__links { margin-left: 0; width: 100%; }
}

/* Public search: filter sidebar */
.ori-sx__layout { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 36px; margin-top: 22px; align-items: start; }
.ori-sx__side { position: sticky; top: 16px; }
.ori-sx__sidehead { display: flex; align-items: center; gap: 8px; margin: 0 0 6px; list-style: none; font-size: 13px; font-weight: 600; color: var(--ori-text); letter-spacing: .02em; pointer-events: none; }
.ori-sx__sidehead::-webkit-details-marker { display: none; }
.ori-sx__sidecount { min-width: 18px; padding: 0 6px; border-radius: 999px; background: var(--ori-blue); color: #fff; font-size: 11px; line-height: 18px; text-align: center; }
.ori-sx__facet { margin: 0; padding: 14px 0 10px; border: 0; border-top: 1px solid var(--ori-line); }
.ori-sx__facet legend { float: left; width: 100%; margin: 0 0 8px; padding: 0; color: var(--ori-muted); font-size: 12px; font-weight: 500; }
.ori-sx__opt { clear: both; display: flex; align-items: center; gap: 9px; padding: 4px 0; font-size: 14px; color: var(--ori-text); cursor: pointer; }
.ori-sx__opt:hover .ori-sx__optlabel { color: var(--ori-blue); }
.ori-sx__opt input { width: 15px; height: 15px; margin: 0; accent-color: var(--ori-blue); }
.ori-sx__optlabel { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ori-sx__optcount { color: var(--ori-muted); font-size: 12px; font-variant-numeric: tabular-nums; }
.ori-sx__facet.is-long:not(.is-open) .is-extra { display: none; }
.ori-sx__more { margin: 4px 0 0; padding: 0; border: 0; background: none; color: var(--ori-blue); font: 400 13px var(--ori-font); cursor: pointer; }
.ori-sx__clearall { display: inline-block; margin-top: 10px; }
.ori-sx__main .ori-sx__status { margin-top: 0; }
.ori-sx__sort { margin-left: auto; }
@media (max-width: 900px) {
    .ori-sx__layout { grid-template-columns: minmax(0, 1fr); gap: 14px; }
    .ori-sx__side { position: static; padding: 0 14px; border: 1px solid var(--ori-line); border-radius: 10px; background: #fff; }
    .ori-sx__sidehead { margin: 0; padding: 12px 0; pointer-events: auto; cursor: pointer; }
    .ori-sx__sidehead::after { content: "▾"; margin-left: auto; color: var(--ori-muted); font-size: 11px; }
    .ori-sx__side[open] .ori-sx__sidehead::after { content: "▴"; }
}
.ori-sx__seg { display: inline-flex; align-items: center; gap: 2px; font-size: 13px; }
.ori-sx__seg span { margin-right: 6px; color: var(--ori-muted); }
.ori-sx__seg a { padding: 3px 9px; border-radius: 999px; color: var(--ori-muted); text-decoration: none; }
.ori-sx__seg a:hover { color: var(--ori-blue); }
.ori-sx__seg a[aria-current="true"] { background: var(--ori-blue-soft); color: var(--ori-blue); font-weight: 500; }

/* FAQ: filter, categories, accordions */
.ori-prose .ori-faq { margin-top: 26px; }
.ori-faq__tools { display: flex; flex-direction: column; gap: 12px; margin: 0 0 30px; }
.ori-faq__search { display: flex; align-items: center; gap: 10px; height: 46px; padding: 0 14px; border: 1px solid #D5DAE3; border-radius: 10px; background: #fff; color: var(--ori-muted); }
.ori-faq__search:focus-within { border-color: var(--ori-blue); }
.ori-faq__search input { flex: 1 1 auto; min-width: 0; border: 0; outline: 0; background: none; color: var(--ori-text); font: 400 15px var(--ori-font); }
.ori-faq__cats { display: flex; flex-wrap: wrap; gap: 6px; }
.ori-prose .ori-faq__cats a { padding: 5px 12px; border: 1px solid var(--ori-line); border-radius: 999px; color: #4A5366; font-size: 13px; text-decoration: none; }
.ori-prose .ori-faq__cats a:hover { border-color: var(--ori-blue); color: var(--ori-blue); }
.ori-faq__group { margin: 0 0 30px; scroll-margin-top: 20px; }
.ori-prose .ori-faq__title { margin: 0 0 8px; font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--ori-muted); }
.ori-faq__item { border-top: 1px solid var(--ori-line); scroll-margin-top: 20px; }
.ori-faq__group .ori-faq__item:last-of-type { border-bottom: 1px solid var(--ori-line); }
.ori-faq__item > summary { position: relative; display: block; padding: 15px 36px 15px 0; list-style: none; cursor: pointer; color: var(--ori-text); font-size: 16px; font-weight: 500; line-height: 1.45; }
.ori-faq__item > summary::-webkit-details-marker { display: none; }
.ori-faq__item > summary::after { content: ""; position: absolute; right: 6px; top: 50%; width: 8px; height: 8px; margin-top: -6px; border-right: 1.6px solid var(--ori-muted); border-bottom: 1.6px solid var(--ori-muted); transform: rotate(45deg); }
.ori-faq__item[open] > summary::after { margin-top: -2px; transform: rotate(-135deg); }
.ori-faq__item > summary:hover { color: var(--ori-blue); }
.ori-faq__answer { padding: 0 36px 16px 0; }
.ori-prose .ori-faq__answer p { margin: 0; color: #4A5366; font-size: 15px; line-height: 1.7; }
.ori-faq__none { color: var(--ori-muted); }
.ori-faq__contact { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; margin-top: 10px; padding: 20px 22px; border: 1px solid var(--ori-line); border-radius: 12px; background: #F7F8FA; }
.ori-prose .ori-faq__contact p { margin: 0; font-size: 14px; color: var(--ori-muted); }
.ori-prose .ori-faq__contact .ori-faq__contact-title { margin-bottom: 2px; font-size: 16px; font-weight: 600; color: var(--ori-text); }
.ori-prose .ori-faq__contact .ori-btn { color: #fff; text-decoration: none; }

/* About ORI */
.ori-prose .ori-ab__lead { max-width: 900px; font-size: 18px; line-height: 1.65; color: var(--ori-text); }
.ori-ab { margin-top: 28px; }
.ori-ab__figures { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 0 48px; border: 1px solid var(--ori-line); border-radius: 12px; overflow: hidden; }
.ori-ab__figures > div { padding: 18px 22px; border-left: 1px solid var(--ori-line); background: #fff; }
.ori-ab__figures > div:first-child { border-left: 0; }
.ori-ab__figures dt { color: var(--ori-muted); font-size: 13px; }
.ori-ab__figures dd { margin: 2px 0 0; color: var(--ori-blue); font-size: 28px; font-weight: 600; letter-spacing: -.01em; }
.ori-ab__figures dd.ori-ab__org { font-size: 18px; padding-top: 8px; }
.ori-ab__section { margin: 0 0 52px; }
.ori-prose .ori-ab__h { margin: 0 0 16px; font-size: 22px; font-weight: 600; color: var(--ori-text); letter-spacing: -.01em; }
.ori-ab__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.ori-prose .ori-ab__head a { font-size: 14px; text-decoration: none; }
.ori-ab__cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.ori-ab__card { padding: 22px; border: 1px solid var(--ori-line); border-radius: 12px; background: #fff; }
.ori-ab__icon { display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 14px; border-radius: 10px; background: var(--ori-blue-soft); color: var(--ori-blue); }
.ori-prose .ori-ab__card h3, .ori-prose .ori-ab__steps h3 { margin: 0 0 6px; font-size: 16px; font-weight: 600; color: var(--ori-text); }
.ori-prose .ori-ab__card p, .ori-prose .ori-ab__steps p { margin: 0; color: #4A5366; font-size: 14.5px; line-height: 1.6; }
.ori-ab__split { display: grid; gap: 36px; }
.ori-prose .ori-ab__statement { max-width: 980px; margin: 0 0 10px; font-size: 19px; line-height: 1.6; color: var(--ori-text); }
.ori-prose .ori-ab__muted { max-width: 980px; color: var(--ori-muted); font-size: 15px; }
.ori-prose .ori-ab__list { list-style: none; margin: 0; padding: 0; counter-reset: ab; border-top: 1px solid var(--ori-line); }
.ori-prose .ori-ab__list li { counter-increment: ab; display: flex; gap: 16px; margin: 0; padding: 12px 0; border-bottom: 1px solid var(--ori-line); font-size: 15.5px; }
.ori-prose .ori-ab__list li::before { content: counter(ab, decimal-leading-zero); color: var(--ori-accent); font-variant-numeric: tabular-nums; font-weight: 500; }
.ori-prose .ori-ab__steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.ori-prose .ori-ab__steps li { margin: 0; padding: 20px 22px; border-top: 2px solid var(--ori-blue); background: #F7F8FA; border-radius: 0 0 10px 10px; }
.ori-ab__num { display: block; margin-bottom: 10px; color: var(--ori-accent); font-size: 13px; font-weight: 600; letter-spacing: .04em; }
.ori-ab__principles { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0 0 16px; border: 1px solid var(--ori-line); border-radius: 12px; overflow: hidden; }
.ori-ab__principles > div { padding: 18px 20px; border-left: 1px solid var(--ori-line); }
.ori-ab__principles > div:first-child { border-left: 0; }
.ori-ab__principles dt { margin: 0 0 4px; font-weight: 600; font-size: 15px; color: var(--ori-text); }
.ori-ab__principles dd { margin: 0; color: #4A5366; font-size: 14px; line-height: 1.55; }
.ori-prose .ori-ab__journals { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.ori-prose .ori-ab__journals li { margin: 0; }
.ori-prose .ori-ab__journal { display: grid; grid-template-columns: 64px minmax(0, 1fr); column-gap: 14px; align-items: center; padding: 14px; border: 1px solid var(--ori-line); border-radius: 12px; text-decoration: none; color: var(--ori-text); }
.ori-prose .ori-ab__journal:hover { border-color: var(--ori-blue); }
.ori-ab__cover { grid-row: 1 / 3; width: 64px; line-height: 0; }
.ori-ab__cover > * { max-width: 64px; }
.ori-ab__jt { align-self: end; font-weight: 600; font-size: 15px; }
.ori-ab__jm { align-self: start; color: var(--ori-muted); font-size: 13px; }
.ori-ab__scope { margin: 0 0 52px; padding: 20px 24px; border-left: 3px solid var(--ori-accent); border-radius: 0 10px 10px 0; background: var(--ori-blue-soft); }
.ori-prose .ori-ab__scope h2 { margin: 0 0 4px; font-size: 16px; font-weight: 600; color: var(--ori-text); }
.ori-prose .ori-ab__scope p { margin: 0; font-size: 15px; color: #3D4657; }
.ori-ab__cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 32px; padding: 30px 32px; border-radius: 14px; background: var(--ori-blue); color: #fff; }
.ori-prose .ori-ab__cta h2 { margin: 0 0 4px; color: #fff; font-size: 22px; font-weight: 600; }
.ori-prose .ori-ab__cta p { margin: 0; color: #C9D3EA; font-size: 15px; }
.ori-ab__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.ori-prose .ori-ab__cta .ori-btn { background: #fff; border-color: #fff; color: var(--ori-blue); text-decoration: none; }
.ori-prose .ori-ab__cta .ori-btn--ghost { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .5); }
.ori-prose .ori-ab__link { color: #fff; font-size: 14px; text-decoration: none; }
@media (max-width: 1100px) {
    .ori-ab__cards, .ori-prose .ori-ab__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ori-ab__principles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ori-ab__principles > div { border-left: 0; border-top: 1px solid var(--ori-line); }
    .ori-ab__principles > div:nth-child(-n+2) { border-top: 0; }
    .ori-ab__principles > div:nth-child(2n) { border-left: 1px solid var(--ori-line); }
}
@media (max-width: 720px) {
    .ori-ab__figures { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ori-ab__figures > div:nth-child(3) { border-left: 0; }
    .ori-ab__figures > div:nth-child(n+3) { border-top: 1px solid var(--ori-line); }
    .ori-ab__cards, .ori-prose .ori-ab__steps, .ori-ab__principles { grid-template-columns: minmax(0, 1fr); }
    .ori-ab__principles > div, .ori-ab__principles > div:nth-child(2n) { border-left: 0; border-top: 1px solid var(--ori-line); }
    .ori-ab__principles > div:first-child { border-top: 0; }
    .ori-ab__cta { padding: 24px 20px; }
}

/* Participating journals directory */
.ori-jx__figures { display: flex; flex-wrap: wrap; gap: 10px 40px; margin: 18px 0 0; }
.ori-jx__figures > div { display: flex; flex-direction: column-reverse; }
.ori-jx__figures dt { color: var(--ori-muted); font-size: 13px; }
.ori-jx__figures dd { margin: 0; color: var(--ori-blue); font-size: 24px; font-weight: 600; line-height: 1.2; font-variant-numeric: tabular-nums; }
.ori-jx__opt input[type="radio"] { width: 15px; height: 15px; margin: 0; accent-color: var(--ori-blue); }
.ori-jx__views { display: inline-flex; gap: 2px; padding: 2px; border: 1px solid var(--ori-line); border-radius: 8px; }
.ori-jx__views a { display: grid; place-items: center; width: 28px; height: 26px; border-radius: 6px; color: var(--ori-muted); }
.ori-jx__views a:hover { color: var(--ori-blue); }
.ori-jx__views a[aria-current="true"] { background: var(--ori-blue-soft); color: var(--ori-blue); }
.ori-jx__list { list-style: none; margin: 0; padding: 0; }
.ori-jx__list--grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; }
.ori-jx__card { display: grid; grid-template-columns: 76px minmax(0, 1fr); grid-template-rows: 1fr auto; column-gap: 16px; margin: 0; padding: 18px; border: 1px solid var(--ori-line); border-radius: 12px; background: #fff; }
.ori-jx__card:hover { border-color: #C4CDDD; }
.ori-jx__cover { grid-row: 1; align-self: start; display: block; line-height: 0; }
.ori-jx__body { min-width: 0; }
.ori-jx__org { margin: 0 0 2px; color: var(--ori-muted); font-size: 12.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ori-jx__title { margin: 0 0 6px; font-size: 17px; font-weight: 600; line-height: 1.3; letter-spacing: -.005em; }
.ori-jx__title a { color: var(--ori-text); text-decoration: none; }
.ori-jx__title a:hover { color: var(--ori-blue); }
.ori-jx__meta { display: flex; flex-wrap: wrap; gap: 2px 12px; margin: 0 0 8px; color: var(--ori-muted); font-size: 12.5px; }
.ori-jx__access.is-open { color: #1E7A4C; }
.ori-jx__desc { margin: 0 0 10px; color: #4A5366; font-size: 14px; line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ori-jx__tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 4px; }
.ori-jx__tags a { padding: 2px 9px; border-radius: 999px; background: #F2F4F7; color: #4A5366; font-size: 12px; text-decoration: none; }
.ori-jx__tags a:hover { background: var(--ori-blue-soft); color: var(--ori-blue); }
.ori-jx__foot { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--ori-line); font-size: 13.5px; }
.ori-jx__records { color: var(--ori-muted); text-decoration: none; }
.ori-jx__records strong { color: var(--ori-text); font-weight: 600; }
.ori-jx__records:hover, .ori-jx__records:hover strong { color: var(--ori-blue); }
.ori-jx__more { color: var(--ori-blue); text-decoration: none; font-weight: 500; }
.ori-jx__list--list { border-top: 1px solid var(--ori-line); }
.ori-jx__list--list .ori-jx__card { grid-template-columns: 56px minmax(0, 1fr) auto; grid-template-rows: auto; padding: 16px 4px; border: 0; border-bottom: 1px solid var(--ori-line); border-radius: 0; background: none; }
.ori-jx__list--list .ori-jx__desc { -webkit-line-clamp: 2; }
.ori-jx__list--list .ori-jx__foot { grid-column: 3; flex-direction: column; align-items: flex-end; justify-content: flex-start; margin: 0; padding: 0; border: 0; white-space: nowrap; }
.ori-jx__cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 32px; margin: 48px 0 8px; padding: 26px 30px; border-radius: 14px; background: var(--ori-blue); color: #fff; }
.ori-jx__cta h2 { margin: 0 0 4px; color: #fff; font-size: 20px; font-weight: 600; }
.ori-jx__cta p { margin: 0; color: #C9D3EA; font-size: 14.5px; }
.ori-jx__cta .ori-btn { background: #fff; border-color: #fff; color: var(--ori-blue); text-decoration: none; }
.ori-cover--tile { container-type: inline-size; }
.ori-cover--tile span { font-size: clamp(8px, 12cqw, 16px); overflow-wrap: normal; word-break: normal; hyphens: manual; }
@media (max-width: 720px) {
    .ori-jx__figures { gap: 8px 24px; }
    .ori-jx__figures dd { font-size: 20px; }
    .ori-jx__list--grid { grid-template-columns: minmax(0, 1fr); }
    .ori-jx__card { grid-template-columns: 60px minmax(0, 1fr); padding: 16px; }
    .ori-jx__list--list .ori-jx__card { grid-template-columns: 48px minmax(0, 1fr); }
    .ori-jx__list--list .ori-jx__foot { grid-column: 1 / -1; flex-direction: row; justify-content: space-between; margin-top: 10px; }
    .ori-jx__cta { padding: 22px 20px; }
}

/* Home page */
.ori-hm-hero { padding: 34px 0 26px; }
.ori-hm-hero h1 { font-weight: 600; }
.ori-hm-hero__search { max-width: 640px; margin: 22px 0 8px; }
.ori-hm-hero__hint { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin: 0 0 22px; color: var(--ori-muted); font-size: 13px; }
.ori-hm-hero__hint a { color: var(--ori-blue); text-decoration: none; }
.ori-hm-hero__hint a:hover { text-decoration: underline; }
.ori-hm-hero__hint code { font-size: 12.5px; background: none; padding: 0; }
.ori-hm-hero__links { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; }
.ori-hm-link { color: var(--ori-blue); font-size: 14px; font-weight: 500; text-decoration: none; white-space: nowrap; }
.ori-hm-link:hover { text-decoration: underline; }
.ori-hm-stats { padding: 6px 0 10px; }
.ori-hm-stats__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; border: 1px solid var(--ori-line); border-radius: 12px; background: #fff; overflow: hidden; }
.ori-hm-stats__grid > div { display: flex; flex-direction: column; padding: 18px 22px; border-left: 1px solid var(--ori-line); }
.ori-hm-stats__grid > div:first-child { border-left: 0; }
.ori-hm-stats__grid dt { order: 1; color: var(--ori-text); font-size: 14px; }
.ori-hm-stats__grid dd { order: 0; margin: 0; color: var(--ori-blue); font-size: 28px; font-weight: 600; line-height: 1.2; font-variant-numeric: tabular-nums; }
.ori-hm-stats__grid dd.ori-hm-stats__delta { order: 2; margin-top: 2px; color: var(--ori-muted); font-size: 12.5px; font-weight: 400; line-height: 1.4; }
.ori-hm-section { padding: 44px 0 0; }
.ori-hm-last { padding-bottom: 52px; }
.ori-hm-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 8px 20px; margin: 0 0 18px; }
.ori-hm-head h2, .ori-hm-anatomy h2 { margin: 0 0 4px; font-size: 22px; font-weight: 600; letter-spacing: -.01em; color: var(--ori-text); }
.ori-hm-head p { margin: 0; color: var(--ori-muted); font-size: 15px; }
.ori-hm-records { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--ori-line); }
.ori-hm-records li { margin: 0; border-bottom: 1px solid var(--ori-line); }
.ori-hm-record { display: grid; grid-template-columns: 196px minmax(0, 1fr) auto auto; align-items: center; gap: 6px 20px; padding: 14px 6px; color: var(--ori-text); text-decoration: none; }
.ori-hm-record:hover .ori-hm-record__title, .ori-hm-record:hover .ori-hm-record__go { color: var(--ori-blue); }
.ori-hm-record__code { justify-self: start; padding: 3px 9px; border-radius: 6px; background: var(--ori-blue-soft); color: var(--ori-blue); font: 500 12.5px/1.4 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .02em; }
.ori-hm-record__main { min-width: 0; }
.ori-hm-record__title { display: block; font-size: 15.5px; font-weight: 500; line-height: 1.4; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ori-hm-record__by { display: block; margin-top: 2px; color: var(--ori-muted); font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ori-hm-record__flag { padding: 2px 8px; border-radius: 999px; background: #FDF1E3; color: #9A5B13; font-size: 12px; }
.ori-hm-record__go { color: #A9B3C4; }
.ori-hm-anatomy__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 28px 48px; align-items: center; padding: 32px; border-radius: 14px; background: #F7F8FA; }
.ori-hm-anatomy p { margin: 0 0 12px; color: #4A5366; font-size: 15px; line-height: 1.6; }
.ori-hm-anatomy__notes { margin: 0; padding: 0; list-style: none; }
.ori-hm-anatomy__notes li { position: relative; margin: 0; padding: 4px 0 4px 18px; color: #4A5366; font-size: 14.5px; }
.ori-hm-anatomy__notes li::before { content: ""; position: absolute; left: 2px; top: 13px; width: 6px; height: 6px; border-radius: 50%; background: var(--ori-accent); }
.ori-hm-code { margin: 0; padding: 26px; border: 1px solid var(--ori-line); border-radius: 12px; background: #fff; text-align: center; }
.ori-hm-code__value { font: 500 clamp(22px, 3.4vw, 38px)/1.2 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .04em; overflow-wrap: anywhere; }
.ori-hm-code .is-prefix { color: var(--ori-muted); }
.ori-hm-code .is-body { color: var(--ori-blue); }
.ori-hm-code .is-check { color: var(--ori-accent); }
.ori-hm-code__legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 18px; margin: 14px 0 0; color: var(--ori-muted); font-size: 13px; }
.ori-hm-code__legend i { display: inline-block; width: 10px; height: 3px; margin: 0 6px 3px 0; border-radius: 2px; }
.ori-hm-code__legend i.is-prefix { background: #A9B3C4; }
.ori-hm-code__legend i.is-body { background: var(--ori-blue); }
.ori-hm-code__legend i.is-check { background: var(--ori-accent); }
.ori-hm-anatomy .ori-hm-code__url { margin: 16px 0 0; padding-top: 14px; border-top: 1px solid var(--ori-line); color: var(--ori-muted); font-size: 13px; overflow-wrap: anywhere; }
.ori-hm-code__url strong { color: var(--ori-text); font-weight: 500; }
.ori-hm-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.ori-hm-steps li { margin: 0; padding: 20px 22px; border-top: 2px solid var(--ori-blue); border-radius: 0 0 10px 10px; background: #F7F8FA; }
.ori-hm-steps__num { display: block; margin-bottom: 10px; color: var(--ori-accent); font-size: 13px; font-weight: 600; letter-spacing: .04em; }
.ori-hm-steps h3, .ori-hm-audience h3 { margin: 0 0 6px; font-size: 16px; font-weight: 600; color: var(--ori-text); }
.ori-hm-steps p, .ori-hm-audience p { margin: 0; color: #4A5366; font-size: 14.5px; line-height: 1.6; }
.ori-hm-audiences { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ori-hm-audience { display: flex; flex-direction: column; padding: 22px; border: 1px solid var(--ori-line); border-radius: 12px; background: #fff; }
.ori-hm-audience__icon { display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 14px; border-radius: 10px; background: var(--ori-blue-soft); color: var(--ori-blue); }
.ori-hm-audience .ori-hm-audience__links { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: auto; padding-top: 14px; }
.ori-hm-audience__links a { color: var(--ori-blue); font-size: 14px; font-weight: 500; text-decoration: none; }
.ori-hm-audience__links a:hover { text-decoration: underline; }
.ori-hm-principles { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 16px 0 0; border: 1px solid var(--ori-line); border-radius: 12px; overflow: hidden; }
.ori-hm-principles > div { padding: 14px 18px; border-left: 1px solid var(--ori-line); }
.ori-hm-principles > div:first-child { border-left: 0; }
.ori-hm-principles dt { font-size: 14px; font-weight: 600; color: var(--ori-text); }
.ori-hm-principles dd { margin: 2px 0 0; color: var(--ori-muted); font-size: 13px; }
.ori-hm-journals { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ori-hm-journals li { margin: 0; }
.ori-hm-journal { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 16px; align-items: center; height: 100%; padding: 16px; border: 1px solid var(--ori-line); border-radius: 12px; color: var(--ori-text); text-decoration: none; }
.ori-hm-journal:hover { border-color: var(--ori-blue); color: var(--ori-text); }
.ori-hm-journal__cover { line-height: 0; }
.ori-hm-journal__body { min-width: 0; }
.ori-hm-journal__title { display: block; font-size: 15.5px; font-weight: 600; }
.ori-hm-journal__meta { display: block; margin-top: 2px; color: var(--ori-muted); font-size: 13px; }
.ori-hm-journal__tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.ori-hm-journal__tags span { padding: 1px 8px; border-radius: 999px; background: #F2F4F7; color: #4A5366; font-size: 12px; }
.ori-hm-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 32px; padding: 30px 32px; border-radius: 14px; background: var(--ori-blue); color: #fff; }
.ori-hm-cta h2 { margin: 0 0 4px; color: #fff; font-size: 22px; font-weight: 600; }
.ori-hm-cta p { margin: 0; max-width: 720px; color: #C9D3EA; font-size: 15px; }
.ori-hm-cta__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; }
.ori-hm-cta .ori-btn { background: #fff; border-color: #fff; color: var(--ori-blue); text-decoration: none; }
.ori-hm-cta__link { color: #fff; font-size: 14px; text-decoration: none; }
.ori-hm-cta__link:hover { color: #fff; text-decoration: underline; }
.ori-hm-note { margin: 16px 0 0; color: var(--ori-muted); font-size: 13px; }
@media (max-width: 1100px) {
    .ori-hm-stats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ori-hm-stats__grid > div:nth-child(3) { border-left: 0; }
    .ori-hm-stats__grid > div:nth-child(n+3) { border-top: 1px solid var(--ori-line); }
    .ori-hm-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ori-hm-audiences, .ori-hm-journals { grid-template-columns: minmax(0, 1fr); }
    .ori-hm-principles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .ori-hm-principles > div { border-top: 1px solid var(--ori-line); }
    .ori-hm-principles > div:nth-child(-n+3) { border-top: 0; }
    .ori-hm-principles > div:nth-child(4) { border-left: 0; }
    .ori-hm-anatomy__grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 720px) {
    .ori-hm-section { padding-top: 34px; }
    .ori-hm-stats__grid > div { padding: 14px 16px; }
    .ori-hm-stats__grid dd { font-size: 22px; }
    .ori-hm-head { flex-direction: column; align-items: flex-start; }
    .ori-hm-record { grid-template-columns: minmax(0, 1fr); gap: 6px; padding: 14px 2px; }
    .ori-hm-record__go { display: none; }
    .ori-hm-record__flag { justify-self: start; }
    .ori-hm-record__title { white-space: normal; }
    .ori-hm-steps, .ori-hm-principles { grid-template-columns: minmax(0, 1fr); }
    .ori-hm-principles > div, .ori-hm-principles > div:nth-child(-n+3) { border-left: 0; border-top: 1px solid var(--ori-line); }
    .ori-hm-principles > div:first-child { border-top: 0; }
    .ori-hm-anatomy__grid { padding: 22px 18px; }
    .ori-hm-code { padding: 20px 14px; }
    .ori-hm-cta { padding: 24px 20px; }
}

/* ORI identifier: the ORI icon followed by the code, everywhere a code is shown */
.ori-id { display: inline-flex; align-items: center; gap: .35em; max-width: 100%; vertical-align: middle; white-space: nowrap; }
.ori-id > .ori-icon, .ori-icon { flex: 0 0 auto; width: 1.1em; height: 1.1em; border-radius: 50%; }
.ori-id__code { overflow: hidden; text-overflow: ellipsis; }
a.ori-id { text-decoration: none; }
a.ori-id:hover .ori-id__code { text-decoration: underline; }
.ori-hm-code__value.ori-id { flex-wrap: wrap; justify-content: center; white-space: normal; gap: .3em; }

/* Header cart icon (ORI Billing) */
.ori-cartlink { position: relative; display: inline-grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--ori-line); border-radius: 8px; color: var(--ori-blue); text-decoration: none; flex: 0 0 auto; }
.ori-cartlink:hover, .ori-cartlink.is-current { border-color: var(--ori-blue); background: var(--ori-blue-soft); color: var(--ori-blue); }
.ori-cartlink__count { position: absolute; top: -6px; right: -6px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--ori-blue); color: #fff; font-size: 11px; font-weight: 600; line-height: 18px; text-align: center; }
.ori-header__inner .ori-nav + .ori-cartlink { margin-left: -8px; }
@media (max-width: 960px) {
    .ori-header__inner .ori-cartlink { margin-left: auto; }
}

/* How it works (1.19): stages, anatomy of an identifier, channels, checks, life cycle, addresses. Flat. */
.ori-hw { margin-top: 28px; }
.ori-hw__stages { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0 0 56px; }
.ori-prose .ori-hw__stage { display: grid; gap: 4px; align-content: start; padding: 20px; border: 1px solid #E6EAF1; border-radius: 14px; background: #fff; color: #4A5366; font-size: 14px; line-height: 1.5; text-decoration: none; }
.ori-prose .ori-hw__stage:hover { border-color: var(--ori-blue); }
.ori-hw__stage strong { color: var(--ori-text); font-size: 16px; font-weight: 600; }
.ori-hw__stage-icon { display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 10px; border-radius: 11px; background: var(--ori-blue-soft); color: var(--ori-blue); }
.ori-hw__stage-n { color: var(--ori-accent); font-size: 12px; font-weight: 600; letter-spacing: .08em; }
.ori-hw__section { margin: 0 0 60px; scroll-margin-top: 24px; }
.ori-prose .ori-hw__kicker { margin: 0 0 6px; color: var(--ori-accent); font-size: 12.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.ori-prose .ori-hw__h { margin: 0 0 10px; color: var(--ori-text); font-size: 26px; font-weight: 600; letter-spacing: -.015em; }
.ori-prose .ori-hw__text { max-width: 860px; margin: 0 0 22px; color: #4A5366; font-size: 16.5px; line-height: 1.65; }
.ori-prose .ori-hw__h3 { margin: 30px 0 12px; color: var(--ori-text); font-size: 17px; font-weight: 600; }
.ori-prose .ori-hw__note { max-width: 900px; margin: 14px 0 0; color: var(--ori-muted); font-size: 14.5px; line-height: 1.6; }
.ori-hw__anatomy { padding: 30px 28px 24px; border: 1px solid #E6EAF1; border-radius: 16px; background: linear-gradient(180deg, #F6F8FC, #FFFFFF); }
.ori-hw__code { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0 2px; margin: 0 0 26px; font: 600 clamp(24px, 5vw, 44px)/1.2 var(--ori-mono, ui-monospace, monospace); letter-spacing: .04em; }
.ori-hw__code-icon { display: inline-flex; margin-right: 14px; }
.ori-hw__code-icon svg { width: .9em; height: .9em; }
.ori-hw__seg { padding: 4px 8px; border-radius: 8px; }
.ori-hw__seg--prefix { background: #EBF0FF; color: var(--ori-blue); }
.ori-hw__seg--body { background: #E9F6EE; color: #1E5B34; }
.ori-hw__seg--check { background: #FFF4E5; color: #8A4B00; }
.ori-hw__parts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.ori-hw__parts > div { position: relative; display: grid; gap: 4px; padding-left: 18px; color: #4A5366; font-size: 14px; line-height: 1.55; }
.ori-hw__parts strong { color: var(--ori-text); font-size: 15px; font-weight: 600; }
.ori-hw__dot { position: absolute; left: 0; top: 6px; width: 10px; height: 10px; border-radius: 3px; }
.ori-hw__dot--prefix { background: #C9D5EE; }
.ori-hw__dot--body { background: #A9D9BB; }
.ori-hw__dot--check { background: #F5C98B; }
.ori-prose .ori-hw__facts { display: grid; gap: 8px; margin: 20px 0 0; padding: 0; list-style: none; }
.ori-prose .ori-hw__facts li { position: relative; margin: 0; padding-left: 20px; color: #3D4657; font-size: 15px; line-height: 1.6; }
.ori-prose .ori-hw__facts li::before { content: ""; position: absolute; left: 2px; top: 10px; width: 6px; height: 6px; border-radius: 50%; background: var(--ori-accent); }
.ori-hw__cards { display: grid; gap: 14px; }
.ori-hw__cards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ori-hw__cards--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ori-hw__card { padding: 22px; border: 1px solid #E6EAF1; border-radius: 14px; background: #fff; }
.ori-hw__icon { display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 14px; border-radius: 11px; background: var(--ori-blue-soft); color: var(--ori-blue); }
.ori-prose .ori-hw__card h3 { margin: 0 0 6px; color: var(--ori-text); font-size: 16px; font-weight: 600; }
.ori-prose .ori-hw__card p { margin: 0; color: #4A5366; font-size: 14.5px; line-height: 1.6; }
.ori-prose .ori-hw__checks { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.ori-prose .ori-hw__checks li { display: inline-flex; align-items: center; gap: 6px; margin: 0; padding: 6px 12px 6px 9px; border: 1px solid #E6EAF1; border-radius: 999px; background: #fff; color: #344054; font-size: 13.5px; }
.ori-hw__checks svg { width: 15px; height: 15px; color: #1E7A4C; }
.ori-prose .ori-hw__states { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.ori-prose .ori-hw__state { position: relative; display: grid; gap: 8px; align-content: start; margin: 0; padding: 0 18px 0 0; color: #4A5366; font-size: 14px; line-height: 1.5; }
.ori-hw__state::after { content: ""; position: absolute; top: 15px; left: 0; right: 0; height: 2px; background: #E6EAF1; }
.ori-hw__pill { position: relative; z-index: 1; justify-self: start; padding: 5px 12px; border-radius: 999px; font-size: 13px; font-weight: 600; }
.ori-hw__state--draft .ori-hw__pill { background: #F2F4F7; color: #475467; }
.ori-hw__state--reserved .ori-hw__pill { background: #FFF4E5; color: #8A4B00; }
.ori-hw__state--published .ori-hw__pill { background: #E9F6EE; color: #1E5B34; }
.ori-hw__state--withdrawn .ori-hw__pill { background: #FDECEC; color: #9B1C1C; }
.ori-prose .ori-hw__urls { margin: 0; padding: 0; list-style: none; border: 1px solid #E6EAF1; border-radius: 14px; overflow: hidden; }
.ori-prose .ori-hw__urls li { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 6px 22px; align-items: center; margin: 0; padding: 14px 18px; border-top: 1px solid #EEF1F5; background: #fff; }
.ori-prose .ori-hw__urls li:first-child { border-top: 0; }
.ori-prose .ori-hw__urls code { padding: 6px 10px; border-radius: 8px; background: #F6F8FC; color: var(--ori-blue); font-size: 13px; overflow-wrap: anywhere; }
.ori-prose .ori-hw__urls span { color: #4A5366; font-size: 14px; line-height: 1.55; }
@media (max-width: 960px) {
    .ori-hw__stages, .ori-hw__cards--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ori-hw__parts { grid-template-columns: minmax(0, 1fr); }
    .ori-prose .ori-hw__states { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 18px; }
}
@media (max-width: 640px) {
    .ori-hw__stages, .ori-hw__cards--3, .ori-hw__cards--2 { grid-template-columns: minmax(0, 1fr); }
    .ori-prose .ori-hw__states { grid-template-columns: minmax(0, 1fr); }
    .ori-hw__state::after { display: none; }
    .ori-prose .ori-hw__urls li { grid-template-columns: minmax(0, 1fr); }
    .ori-hw__anatomy { padding: 22px 12px 18px; }
    .ori-hw__code { flex-wrap: nowrap; font-size: 18px; letter-spacing: .01em; }
    .ori-hw__seg { padding: 3px 4px; border-radius: 6px; }
    .ori-hw__code-icon { margin-right: 8px; }
}

/* Participating organizations (1.20): figures, soft search, segmented types, one full-width card per organization. Flat. */
.ori-od-head { padding-bottom: 34px; background: linear-gradient(180deg, #EBF0FF 0, #F6F8FC 100%); }
.ori-od-figures { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0 0; }
.ori-od-figures > div { min-width: 150px; padding: 12px 18px; border: 1px solid #DDE4F0; border-radius: 12px; background: #fff; }
.ori-od-figures dt { color: var(--ori-muted); font-size: 12.5px; }
.ori-od-figures dd { margin: 2px 0 0; color: var(--ori-blue); font-size: 24px; font-weight: 600; font-variant-numeric: tabular-nums; }
.ori-od { padding-top: 26px; padding-bottom: 60px; }
.ori-od-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; }
.ori-od-search { display: flex; flex: 1 1 420px; align-items: center; gap: 10px; max-width: 640px; padding: 5px 5px 5px 14px; border: 1px solid #D5DBE6; border-radius: 12px; background: #fff; color: var(--ori-muted); }
.ori-od-search:focus-within { border-color: var(--ori-blue); }
.ori-od-search input { flex: 1; min-width: 0; height: 36px; border: 0; outline: 0; background: transparent; color: var(--ori-text); font: 400 15px var(--ori-font); }
.ori-od-search .ori-btn { min-height: 36px; border-radius: 9px; }
.ori-od-types { flex: 0 1 auto; }
.ori-od-count { margin: 16px 0 14px; color: var(--ori-muted); font-size: 14px; }
.ori-od-count a { color: var(--ori-blue); }
.ori-od-list { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; }
.ori-od-card { padding: 22px 24px; border: 1px solid #E6EAF1; border-radius: 16px; background: #fff; }
.ori-od-card__head { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 16px; align-items: center; }
.ori-od-avatar { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 14px; background: var(--ori-blue-soft); color: var(--ori-blue); font-size: 19px; font-weight: 600; letter-spacing: .02em; }
.ori-od-card__id h2 { margin: 0 0 6px; color: #1B2440; font-size: 20px; font-weight: 600; letter-spacing: -.01em; }
.ori-od-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 0; font-size: 13px; }
.ori-od-tag { padding: 2px 10px; border-radius: 999px; background: #EBF0FF; color: var(--ori-blue); font-weight: 500; }
.ori-od-tag--plain { background: #F2F4F7; color: #475467; }
.ori-od-link { color: var(--ori-muted); text-decoration: none; }
.ori-od-link:hover { color: var(--ori-blue); }
.ori-od-stats { display: flex; gap: 8px; margin: 0; }
.ori-od-stats > div { min-width: 86px; padding: 8px 14px; border-radius: 12px; background: #F6F8FC; text-align: center; }
.ori-od-stats dd { margin: 0; color: var(--ori-blue); font-size: 20px; font-weight: 600; font-variant-numeric: tabular-nums; }
.ori-od-stats dt { color: var(--ori-muted); font-size: 12px; }
.ori-od-journals { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 10px; margin: 18px 0 0; padding: 18px 0 0; border-top: 1px solid #EEF1F5; list-style: none; }
.ori-od-journals li { margin: 0; }
.ori-od-journal { display: grid; grid-template-columns: 44px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 12px; align-items: center; padding: 10px; border: 1px solid #EEF1F5; border-radius: 12px; color: var(--ori-text); text-decoration: none; }
.ori-od-journal:hover { border-color: var(--ori-blue); background: #FAFBFE; }
.ori-od-journal__cover { grid-row: 1 / 3; width: 44px; line-height: 0; }
.ori-od-journal__cover .ori-cover { width: 44px; height: 58px; object-fit: cover; border-radius: 6px; }
.ori-od-journal__cover .ori-cover--tile { display: flex; align-items: flex-end; padding: 4px; font-size: 7px; line-height: 1.1; }
.ori-od-journal__title { align-self: end; color: #1B2440; font-size: 15px; font-weight: 600; }
.ori-od-journal__meta { align-self: start; color: var(--ori-muted); font-size: 12.5px; }
.ori-od-none { margin: 16px 0 0; padding-top: 14px; border-top: 1px solid #EEF1F5; color: var(--ori-muted); font-size: 14px; }
.ori-od-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; margin-top: 28px; padding: 24px 28px; border: 1px solid #DDE4F0; border-radius: 16px; background: #F6F8FC; }
.ori-od-cta h2 { margin: 0 0 4px; color: #1B2440; font-size: 18px; font-weight: 600; }
.ori-od-cta p { margin: 0; color: #4A5366; font-size: 14.5px; }
@media (max-width: 760px) {
    .ori-od-card { padding: 18px; }
    .ori-od-card__head { grid-template-columns: 48px minmax(0, 1fr); }
    .ori-od-avatar { width: 48px; height: 48px; font-size: 17px; }
    .ori-od-stats { grid-column: 1 / -1; }
    .ori-od-figures > div { min-width: calc(50% - 5px); flex: 1 1 calc(50% - 5px); }
    .ori-od-journals { grid-template-columns: minmax(0, 1fr); }
    .ori-od-search { flex-basis: 100%; }
    .ori-od-types { max-width: 100%; overflow-x: auto; }
}

/* News and updates (1.21): featured post, one-column list, category filters, follow box, comfortable reading. Flat. */
.ori-nw-head { padding-bottom: 34px; background: linear-gradient(180deg, #EBF0FF 0, #F6F8FC 100%); }
.ori-nw-head .ori-lead { max-width: 760px; }
.ori-nw { padding-top: 28px; padding-bottom: 64px; }
.ori-nw-cats { margin: 0 0 22px; }
.ori-nw-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin: 0 0 8px; color: var(--ori-muted); font-size: 13px; }
.ori-nw-meta > * + *::before { content: "·"; margin-right: 12px; color: #B8BFCC; }
.ori-nw-cat { color: var(--ori-blue); font-weight: 500; }
.ori-nw-featured { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); overflow: hidden; margin: 0 0 28px; border: 1px solid #E6EAF1; border-radius: 18px; background: #fff; }
.ori-nw-featured__media { display: block; min-height: 260px; background: linear-gradient(135deg, #0030DA 0, #2A4A9B 100%); line-height: 0; }
.ori-nw-featured__media img { width: 100%; height: 100%; object-fit: cover; }
.ori-nw-featured__tile { display: grid; place-items: center; width: 100%; height: 100%; min-height: 260px; }
.ori-nw-featured__tile .ori-icon { width: 72px; height: 72px; }
.ori-nw-empty__icon .ori-icon { width: 44px; height: 44px; }
.ori-nw-head .ori-lead { margin-top: 10px; }
.ori-nw-featured__body { display: flex; flex-direction: column; justify-content: center; padding: 30px 32px; }
.ori-nw-featured__title { margin: 0 0 10px; font-size: 26px; font-weight: 600; line-height: 1.25; letter-spacing: -.012em; }
.ori-nw-featured__title a, .ori-nw-item__title a { color: #1B2440; text-decoration: none; }
.ori-nw-featured__title a:hover, .ori-nw-item__title a:hover { color: var(--ori-blue); }
.ori-nw-featured__excerpt { margin: 0 0 16px; color: #4A5366; font-size: 15.5px; line-height: 1.65; }
.ori-nw-more { color: var(--ori-blue); font-size: 14.5px; font-weight: 500; text-decoration: none; }
.ori-nw-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid #EEF1F5; }
.ori-nw-item { display: grid; grid-template-columns: 76px minmax(0, 1fr) auto; gap: 20px; align-items: start; margin: 0; padding: 22px 0; border-bottom: 1px solid #EEF1F5; }
.ori-nw-item__date { display: grid; justify-items: center; padding: 10px 6px; border-radius: 12px; background: #F6F8FC; color: var(--ori-muted); font-size: 12px; text-align: center; }
.ori-nw-item__date span { color: var(--ori-blue); font-size: 22px; font-weight: 600; line-height: 1.1; }
.ori-nw-item__title { margin: 0 0 6px; font-size: 19px; font-weight: 600; line-height: 1.3; }
.ori-nw-item__excerpt { margin: 0; color: #4A5366; font-size: 15px; line-height: 1.6; }
.ori-nw-item__thumb { display: block; width: 160px; line-height: 0; }
.ori-nw-item__thumb img { width: 160px; height: 104px; object-fit: cover; border-radius: 12px; }
.ori-nw-pager { margin-top: 22px; }
.ori-nw-pager .nav-links { display: flex; flex-wrap: wrap; gap: 6px; }
.ori-nw-pager .page-numbers { display: inline-grid; place-items: center; min-width: 36px; height: 36px; padding: 0 10px; border: 1px solid #E6EAF1; border-radius: 10px; color: var(--ori-text); text-decoration: none; }
.ori-nw-pager .page-numbers.current { border-color: var(--ori-blue); background: var(--ori-blue); color: #fff; }
.ori-nw-empty { display: grid; justify-items: center; padding: 48px 20px; border: 1px dashed #D5DBE6; border-radius: 18px; text-align: center; }
.ori-nw-empty__icon { margin-bottom: 12px; }
.ori-nw-empty h2 { margin: 0 0 6px; color: #1B2440; font-size: 19px; font-weight: 600; }
.ori-nw-empty p { max-width: 520px; margin: 0; color: var(--ori-muted); font-size: 15px; }
.ori-nw-follow { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; margin-top: 36px; padding: 24px 28px; border: 1px solid #DDE4F0; border-radius: 16px; background: #F6F8FC; }
.ori-nw-follow h2 { margin: 0 0 4px; color: #1B2440; font-size: 18px; font-weight: 600; }
.ori-nw-follow p { margin: 0; color: #4A5366; font-size: 14.5px; }
.ori-nw-follow__actions { display: flex; flex-wrap: wrap; gap: 10px; }
/* Single post: same width as the rest of the site (the container), not a narrow centred column. */
.ori-nw-head--post h1 { font-size: 34px; line-height: 1.2; letter-spacing: -.015em; }
.ori-nw-back { margin: 0 0 14px; font-size: 14px; }
.ori-nw-head--post .ori-nw-meta { margin-top: 12px; }
.ori-nw-back a { color: var(--ori-muted); text-decoration: none; }
.ori-nw-back a:hover { color: var(--ori-blue); }
.ori-nw-cover { margin: 0 0 26px; line-height: 0; }
.ori-nw-cover img { width: 100%; height: auto; border-radius: 16px; }
.ori-prose.ori-nw-article { font-size: 17px; line-height: 1.75; color: #2B3345; }
.ori-nw-related { margin-top: 44px; padding-top: 24px; border-top: 1px solid #EEF1F5; }
.ori-nw-related h2 { margin: 0 0 12px; font-size: 18px; font-weight: 600; color: #1B2440; }
.ori-nw-related ul { margin: 0; padding: 0; list-style: none; }
.ori-nw-related li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 16px; padding: 10px 0; border-bottom: 1px solid #EEF1F5; }
.ori-nw-related a { color: #1B2440; font-weight: 500; text-decoration: none; }
.ori-nw-related a:hover { color: var(--ori-blue); }
.ori-nw-related span { color: var(--ori-muted); font-size: 13px; }
@media (max-width: 860px) {
    .ori-nw-featured { grid-template-columns: minmax(0, 1fr); }
    .ori-nw-featured__media, .ori-nw-featured__tile { min-height: 180px; }
    .ori-nw-featured__body { padding: 22px; }
    .ori-nw-featured__title { font-size: 22px; }
    .ori-nw-item { grid-template-columns: 60px minmax(0, 1fr); gap: 14px; }
    .ori-nw-item__thumb { display: none; }
    .ori-nw-head--post h1 { font-size: 27px; }
}

/* Request membership (1.22): figures, who can join, benefits, requirements, steps, application card, quick answers. Flat. */
.ori-mb-figures { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; align-items: stretch; margin: 0 0 56px; border: 1px solid #E6EAF1; border-radius: 16px; background: #fff; overflow: hidden; }
.ori-mb-figures > div { padding: 18px 22px; border-left: 1px solid #EEF1F5; }
.ori-mb-figures > div:first-child { border-left: 0; }
.ori-mb-figures dt { color: var(--ori-muted); font-size: 13px; }
.ori-mb-figures dd { margin: 2px 0 0; color: var(--ori-blue); font-size: 28px; font-weight: 600; font-variant-numeric: tabular-nums; }
.ori-mb-figures__cta { display: flex; align-items: center; background: #F6F8FC; }
.ori-prose .ori-mb-figures__cta .ori-btn { text-decoration: none; }
.ori-mb-cards--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ori-prose .ori-mb-reqs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.ori-prose .ori-mb-reqs li { display: flex; align-items: flex-start; gap: 12px; margin: 0; padding: 16px 18px; border: 1px solid #E6EAF1; border-radius: 14px; background: #fff; color: #344054; font-size: 15px; line-height: 1.55; }
.ori-mb-reqs__ok { display: grid; flex: none; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: #E9F6EE; color: #1E7A4C; }
.ori-mb-reqs__ok svg { width: 15px; height: 15px; }
.ori-prose ol.ori-mb-steps { padding: 0; list-style: none; margin-bottom: 0; }
.ori-prose .ori-mb-steps .ori-hw__stage { margin: 0; }
.ori-mb-steps__n { display: grid; place-items: center; width: 34px; height: 34px; margin-bottom: 10px; border-radius: 50%; background: var(--ori-blue); color: #fff; font-size: 14px; font-weight: 600; }
.ori-mb-apply { margin: 0 0 60px; padding: 28px 30px; border: 1px solid #DDE4F0; border-radius: 18px; background: linear-gradient(180deg, #F6F8FC, #FFFFFF 220px); scroll-margin-top: 24px; }
.ori-mb-apply__head { display: flex; align-items: flex-start; gap: 16px; margin: 0 0 18px; }
.ori-mb-apply__head .ori-hw__icon { flex: none; margin: 0; }
.ori-prose .ori-mb-apply__head h2 { margin: 0 0 4px; color: #1B2440; font-size: 22px; font-weight: 600; }
.ori-prose .ori-mb-apply__head p { margin: 0; color: #4A5366; font-size: 15px; }
.ori-prose ol.ori-mb-progress { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 20px; padding: 0; list-style: none; counter-reset: mbp; }
.ori-prose .ori-mb-progress li { counter-increment: mbp; display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 6px 14px 6px 6px; border: 1px solid #E6EAF1; border-radius: 999px; background: #fff; color: var(--ori-muted); font-size: 13.5px; }
.ori-mb-progress li::before { content: counter(mbp); display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: #F2F4F7; color: #475467; font-size: 12px; font-weight: 600; }
.ori-prose .ori-mb-progress li.is-current { border-color: var(--ori-blue); color: var(--ori-blue); }
.ori-mb-progress li.is-current::before { background: var(--ori-blue); color: #fff; }
.ori-prose .ori-mb-progress li.is-done { color: #1E5B34; }
.ori-mb-progress li.is-done::before { content: "✓"; background: #E9F6EE; color: #1E7A4C; }
.ori-mb-apply .ori-actions a { text-decoration: none; }
.ori-mb-q { border-bottom: 1px solid #EEF1F5; }
.ori-mb-q summary { padding: 14px 0; color: #1B2440; font-size: 16px; font-weight: 500; cursor: pointer; }
.ori-mb-q summary:hover { color: var(--ori-blue); }
.ori-prose .ori-mb-q p { max-width: 900px; margin: 0 0 16px; color: #4A5366; font-size: 15px; line-height: 1.6; }
@media (max-width: 960px) {
    .ori-mb-figures { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .ori-mb-figures__cta { grid-column: 1 / -1; border-left: 0 !important; border-top: 1px solid #EEF1F5; justify-content: center; }
    .ori-mb-cards--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .ori-mb-figures { grid-template-columns: minmax(0, 1fr); }
    .ori-mb-figures > div { border-left: 0; border-top: 1px solid #EEF1F5; }
    .ori-mb-figures > div:first-child { border-top: 0; }
    .ori-mb-cards--4, .ori-prose .ori-mb-reqs { grid-template-columns: minmax(0, 1fr); }
    .ori-mb-apply { padding: 20px 16px; }
}

/* Documentation center (1.23): paths, format, endpoints with example, write and module APIs, policies. Flat. */
.ori-prose a.ori-dc-guide { display: flex; flex-direction: column; color: inherit; text-decoration: none; }
.ori-prose a.ori-dc-guide:hover { border-color: var(--ori-blue); }
.ori-dc-guide__go { margin-top: auto; padding-top: 14px; color: var(--ori-blue); font-size: 14px; font-weight: 500; }
.ori-dc-format { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 18px 36px; align-items: center; padding: 24px 28px; border: 1px solid #E6EAF1; border-radius: 16px; background: linear-gradient(180deg, #F6F8FC, #FFFFFF); }
.ori-prose code.ori-dc-format__code { display: inline-flex; padding: 0; background: none; font: 600 30px/1.2 var(--ori-mono, ui-monospace, monospace); letter-spacing: .03em; white-space: nowrap; }
.ori-dc-format .ori-hw__facts { margin: 0; }
.ori-dc-example { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; margin-top: 16px; }
.ori-prose .ori-dc-example__label { margin: 0 0 6px; color: var(--ori-muted); font-size: 12.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.ori-prose .ori-dc-example pre { margin: 0; padding: 16px 18px; border-radius: 14px; background: #101A36; color: #DCE4F5; font-size: 13px; line-height: 1.6; overflow-x: auto; }
.ori-prose .ori-dc-example pre code { padding: 0; background: none; color: inherit; font-size: inherit; white-space: pre; }
.ori-prose .ori-dc-write { margin: 0; padding: 0; list-style: none; border: 1px solid #E6EAF1; border-radius: 14px; overflow: hidden; }
.ori-prose .ori-dc-write li { display: grid; grid-template-columns: 66px minmax(0, 1fr) minmax(0, 1.1fr); gap: 6px 16px; align-items: center; margin: 0; padding: 12px 18px; border-top: 1px solid #EEF1F5; background: #fff; }
.ori-prose .ori-dc-write li:first-child { border-top: 0; }
.ori-prose .ori-dc-write code { padding: 0; background: none; color: var(--ori-blue); font-size: 13px; overflow-wrap: anywhere; }
.ori-prose .ori-dc-write li > span:last-child { color: #4A5366; font-size: 14px; line-height: 1.5; }
.ori-dc-method { justify-self: start; padding: 2px 8px; border-radius: 6px; font: 600 11.5px var(--ori-mono, ui-monospace, monospace); letter-spacing: .04em; }
.ori-dc-method--get { background: #E9F6EE; color: #1E5B34; }
.ori-dc-method--post { background: #EBF0FF; color: var(--ori-blue); }
.ori-dc-method--patch { background: #FFF4E5; color: #8A4B00; }
.ori-prose .ori-dc-policies { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.ori-prose .ori-dc-policies li { margin: 0; }
.ori-prose .ori-dc-policies a { display: grid; gap: 3px; height: 100%; padding: 16px 18px; border: 1px solid #E6EAF1; border-radius: 14px; background: #fff; text-decoration: none; }
.ori-prose .ori-dc-policies a:hover { border-color: var(--ori-blue); }
.ori-dc-policies strong { color: #1B2440; font-size: 15px; font-weight: 600; }
.ori-dc-policies span { color: #4A5366; font-size: 13.5px; line-height: 1.5; }
@media (max-width: 960px) {
    .ori-dc-format { grid-template-columns: minmax(0, 1fr); }
    .ori-dc-example { grid-template-columns: minmax(0, 1fr); }
    .ori-prose .ori-dc-write li { grid-template-columns: 60px minmax(0, 1fr); }
    .ori-prose .ori-dc-write li > span:last-child { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
    .ori-prose code.ori-dc-format__code { font-size: 18px; }
    .ori-dc-format { padding: 18px 14px; }
}

/* Documentation guides (1.24): header, "On this page" index, numbered sections, steps, tables, other guides. Flat. */
.ori-guide-head { padding-bottom: 32px; background: linear-gradient(180deg, #EBF0FF 0, #F6F8FC 100%); }
.ori-guide-crumbs { display: flex; flex-wrap: wrap; gap: 4px 8px; margin: 0 0 16px; color: var(--ori-muted); font-size: 13px; }
.ori-guide-crumbs a { color: var(--ori-muted); text-decoration: none; }
.ori-guide-crumbs a:hover { color: var(--ori-blue); }
.ori-guide-crumbs span[aria-hidden] { color: #B8BFCC; }
.ori-guide-head .ori-lead { max-width: none; margin-top: 10px; }
.ori-guide-updated { margin: 12px 0 0; color: var(--ori-muted); font-size: 13px; }
.ori-guide { padding-top: 26px; padding-bottom: 64px; }
.ori-guide-toc { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 34px; padding: 14px 16px; border: 1px solid #E6EAF1; border-radius: 14px; background: #fff; }
.ori-guide-toc__label { margin-right: 6px; color: var(--ori-muted); font-size: 12.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.ori-guide-toc a { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px 5px 6px; border: 1px solid #EEF1F5; border-radius: 999px; background: #F6F8FC; color: #344054; font-size: 13.5px; text-decoration: none; }
.ori-guide-toc a:hover { border-color: var(--ori-blue); color: var(--ori-blue); }
.ori-guide-toc a span { display: grid; place-items: center; min-width: 24px; height: 22px; padding: 0 4px; border-radius: 999px; background: #fff; color: var(--ori-accent); font-size: 11px; font-weight: 600; }
.ori-guide-body { counter-reset: gsec; }
.ori-prose.ori-guide-body h2 { counter-increment: gsec; display: flex; align-items: baseline; gap: 12px; margin: 44px 0 14px; padding-top: 24px; border-top: 1px solid #EEF1F5; color: #1B2440; font-size: 23px; font-weight: 600; letter-spacing: -.012em; scroll-margin-top: 24px; }
.ori-prose.ori-guide-body h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.ori-prose.ori-guide-body h2::before { content: counter(gsec, decimal-leading-zero); color: var(--ori-accent); font-size: 14px; font-weight: 600; letter-spacing: .06em; }
.ori-prose.ori-guide-body > p, .ori-prose.ori-guide-body > ul { max-width: none; color: #344054; font-size: 16px; line-height: 1.7; }
.ori-prose.ori-guide-body ul:not(.ori-guide-steps) { padding: 0; list-style: none; }
.ori-prose.ori-guide-body ul:not(.ori-guide-steps) > li { position: relative; margin: 0 0 8px; padding-left: 20px; }
.ori-prose.ori-guide-body ul:not(.ori-guide-steps) > li::before { content: ""; position: absolute; left: 3px; top: 11px; width: 6px; height: 6px; border-radius: 50%; background: var(--ori-accent); }
.ori-prose.ori-guide-body code { padding: 2px 6px; border-radius: 6px; background: #EBF0FF; color: var(--ori-blue); font-size: .88em; }
.ori-prose ol.ori-guide-steps { display: grid; gap: 10px; margin: 0 0 18px; padding: 0; list-style: none; counter-reset: gstep; }
.ori-prose ol.ori-guide-steps > li { counter-increment: gstep; position: relative; margin: 0; padding: 16px 18px 16px 62px; border: 1px solid #E6EAF1; border-radius: 14px; background: #fff; color: #4A5366; font-size: 15px; line-height: 1.6; }
.ori-prose ol.ori-guide-steps > li::before { content: counter(gstep); position: absolute; left: 18px; top: 15px; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--ori-blue); color: #fff; font-size: 13px; font-weight: 600; }
.ori-prose ol.ori-guide-steps > li strong { color: #1B2440; font-weight: 600; }
.ori-prose.ori-guide-body table { width: 100%; margin: 4px 0 18px; border: 1px solid #E6EAF1; border-radius: 14px; border-collapse: separate; border-spacing: 0; overflow: hidden; font-size: 14.5px; }
.ori-prose.ori-guide-body th { padding: 11px 16px; border-bottom: 1px solid #E6EAF1; background: #F6F8FC; color: var(--ori-muted); font-size: 12.5px; font-weight: 600; letter-spacing: .04em; text-align: left; text-transform: uppercase; }
.ori-prose.ori-guide-body td { padding: 12px 16px; border-top: 1px solid #EEF1F5; color: #344054; vertical-align: top; line-height: 1.55; }
.ori-prose.ori-guide-body tbody tr:first-child td { border-top: 0; }
.ori-prose.ori-guide-body td:first-child { width: 28%; color: #1B2440; font-weight: 500; }
.ori-guide-others { margin-top: 48px; padding-top: 24px; border-top: 1px solid #EEF1F5; }
.ori-guide-others h2 { margin: 0 0 12px; color: #1B2440; font-size: 18px; font-weight: 600; }
.ori-guide-others ul { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.ori-guide-others li { margin: 0; }
.ori-guide-others a { display: flex; justify-content: space-between; gap: 10px; padding: 14px 16px; border: 1px solid #E6EAF1; border-radius: 12px; background: #fff; color: #1B2440; font-weight: 500; text-decoration: none; }
.ori-guide-others a:hover { border-color: var(--ori-blue); color: var(--ori-blue); }
.ori-guide-help { margin-top: 24px; }
@media (max-width: 640px) {
    .ori-prose ol.ori-guide-steps > li { padding: 14px 14px 14px 54px; }
    .ori-prose ol.ori-guide-steps > li::before { left: 14px; }
    .ori-prose.ori-guide-body td:first-child { width: auto; }
    .ori-prose.ori-guide-body table, .ori-prose.ori-guide-body thead, .ori-prose.ori-guide-body tbody, .ori-prose.ori-guide-body tr, .ori-prose.ori-guide-body td { display: block; }
    .ori-prose.ori-guide-body thead { display: none; }
    .ori-prose.ori-guide-body td { border-top: 0; padding: 4px 16px; }
    .ori-prose.ori-guide-body tr { padding: 8px 0; border-top: 1px solid #EEF1F5; }
    .ori-prose.ori-guide-body tbody tr:first-child { border-top: 0; }
}

/* Policies center (1.25). */
.ori-pl-principles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 0 30px; border: 1px solid #E6EAF1; border-radius: 16px; background: #fff; overflow: hidden; }
.ori-pl-principles > div { padding: 18px 20px; border-left: 1px solid #EEF1F5; }
.ori-pl-principles > div:first-child { border-left: 0; }
.ori-pl-principles dt { margin: 0 0 4px; color: var(--ori-blue); font-size: 16px; font-weight: 600; }
.ori-pl-principles dd { margin: 0; color: #4A5366; font-size: 14px; line-height: 1.5; }
.ori-pl-cards { margin-bottom: 30px; }
.ori-pl-updated { margin-top: 8px; color: var(--ori-muted); font-size: 12.5px; }
.ori-pl-scope { margin: 0 0 24px; }
@media (max-width: 960px) {
    .ori-pl-principles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ori-pl-principles > div:nth-child(3) { border-left: 0; }
    .ori-pl-principles > div:nth-child(n+3) { border-top: 1px solid #EEF1F5; }
}
@media (max-width: 640px) {
    .ori-pl-principles { grid-template-columns: minmax(0, 1fr); }
    .ori-pl-principles > div { border-left: 0; border-top: 1px solid #EEF1F5; }
    .ori-pl-principles > div:first-child { border-top: 0; }
}

/* System status (registry 0.25.4 template, theme 1.25). Flat. */
.ori-st-head { padding-bottom: 34px; background: linear-gradient(180deg, #EBF0FF 0, #F6F8FC 100%); }
.ori-st-banner { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 18px; margin-top: 22px; padding: 18px 22px; border: 1px solid #BFE3CC; border-radius: 16px; background: #EFF9F2; }
.ori-st-banner.is-down { border-color: #F6D3A6; background: #FFF6EA; }
.ori-st-banner__icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: #1E7A4C; color: #fff; }
.ori-st-banner.is-down .ori-st-banner__icon { background: #B54708; }
.ori-st-banner strong { display: block; color: #14532D; font-size: 18px; font-weight: 600; }
.ori-st-banner.is-down strong { color: #7A2E0E; }
.ori-st-banner div > span { color: #3D5A47; font-size: 13.5px; }
.ori-st-banner__open { margin-left: auto; padding: 6px 12px; border-radius: 999px; background: #fff; color: #7A2E0E; font-size: 13px; font-weight: 500; text-decoration: none; }
.ori-st { padding-top: 30px; padding-bottom: 64px; }
.ori-st-h { margin: 0 0 4px; color: #1B2440; font-size: 22px; font-weight: 600; scroll-margin-top: 24px; }
.ori-st-sub { margin: 0 0 16px; color: var(--ori-muted); font-size: 14px; }
.ori-st-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; margin: 0 0 44px; padding: 0; list-style: none; }
.ori-st-card { margin: 0; padding: 18px 20px; border: 1px solid #E6EAF1; border-radius: 14px; background: #fff; }
.ori-st-card.is-down { border-color: #F6D3A6; background: #FFFBF5; }
.ori-st-card__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.ori-st-card__icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 10px; background: var(--ori-blue-soft); color: var(--ori-blue); }
.ori-st-pill { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: 999px; background: #EFF9F2; color: #1E5B34; font-size: 12.5px; font-weight: 500; }
.ori-st-pill::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #1E7A4C; }
.is-down .ori-st-pill, .is-open .ori-st-pill { background: #FFF6EA; color: #7A2E0E; }
.is-down .ori-st-pill::before, .is-open .ori-st-pill::before { background: #B54708; }
.ori-st-card h3 { margin: 0 0 4px; color: #1B2440; font-size: 16px; font-weight: 600; }
.ori-st-card__detail { margin: 0 0 8px; color: #344054; font-size: 14px; }
.ori-st-card__what { margin: 0; color: var(--ori-muted); font-size: 13px; line-height: 1.5; }
.ori-st-empty { display: flex; align-items: center; gap: 10px; margin: 12px 0 40px; padding: 16px 18px; border: 1px dashed #D5DBE6; border-radius: 14px; color: var(--ori-muted); font-size: 14.5px; }
.ori-st-empty svg { color: #1E7A4C; }
.ori-st-notes { display: grid; gap: 12px; margin: 12px 0 40px; padding: 0; list-style: none; }
.ori-st-notes > li { margin: 0; padding: 18px 20px; border: 1px solid #E6EAF1; border-left: 4px solid #1E7A4C; border-radius: 14px; background: #fff; }
.ori-st-notes > li.is-open { border-left-color: #B54708; }
.ori-st-notes__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin: 0 0 6px; color: var(--ori-muted); font-size: 13px; }
.ori-st-notes h3 { margin: 0 0 6px; color: #1B2440; font-size: 17px; font-weight: 600; }
.ori-st-about { padding: 22px 24px; border: 1px solid #DDE4F0; border-radius: 16px; background: #F6F8FC; }
.ori-st-about h2 { margin: 0 0 6px; color: #1B2440; font-size: 17px; font-weight: 600; }
.ori-st-about p { margin: 0; color: #4A5366; font-size: 14.5px; line-height: 1.6; }
.ori-prose.ori-guide-body pre { margin: 6px 0 20px; padding: 16px 18px; border: 0; border-radius: 14px; background: #101A36; color: #DCE4F5; font-size: 13px; line-height: 1.6; overflow-x: auto; }
.ori-prose.ori-guide-body pre code { padding: 0; background: none; color: inherit; font-size: inherit; white-space: pre-wrap; overflow-wrap: anywhere; }
.ori-st-banner__icon svg { display: block; }
/* Policies 1.26: key points box, print. */
.ori-keybox { margin: 0 0 22px; padding: 20px 24px; border: 1px solid #DDE4F0; border-radius: 16px; background: linear-gradient(180deg, #F6F8FC, #FFFFFF); }
.ori-keybox h2 { margin: 0 0 12px; color: var(--ori-accent); font-size: 12.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.ori-keybox ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 24px; margin: 0; padding: 0; list-style: none; }
.ori-keybox li { position: relative; margin: 0; padding-left: 30px; color: #1B2440; font-size: 15px; line-height: 1.55; }
.ori-keybox li::before { content: "✓"; position: absolute; left: 0; top: 1px; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: #E9F6EE; color: #1E7A4C; font-size: 12px; font-weight: 600; }
.ori-guide-updated a { color: var(--ori-blue); }
@media (max-width: 760px) { .ori-keybox ul { grid-template-columns: minmax(0, 1fr); } }
@media print {
    .ori-header, .ori-footer, .ori-guide-toc, .ori-guide-others, .ori-guide-help, #wpadminbar { display: none !important; }
    .ori-guide-head { background: none; }
}
/* Numbered clauses (terms): 3.1, 3.2… following the numbered section. */
.ori-prose ol.ori-clauses { margin: 0 0 18px; padding: 0; list-style: none; counter-reset: clause; }
.ori-prose ol.ori-clauses > li { counter-increment: clause; position: relative; margin: 0 0 10px; padding-left: 46px; color: #344054; font-size: 16px; line-height: 1.7; }
.ori-prose ol.ori-clauses > li::before { content: counter(gsec) "." counter(clause); position: absolute; left: 0; top: 0; color: var(--ori-accent); font-size: 14px; font-weight: 600; font-variant-numeric: tabular-nums; }

/* Contact page */
.ori-ct-topic { display: flex; flex-direction: column; }
.ori-prose .ori-ct-topic p.ori-ct-topic__links { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: auto; padding-top: 14px; font-size: 14px; }
.ori-ct-topic__links a { color: var(--ori-blue); font-weight: 500; text-decoration: none; }
.ori-ct-topic__links a:hover { text-decoration: underline; }
.ori-ct-topic__links a.ori-ct-topic__more { color: var(--ori-muted); font-weight: 400; }
.ori-ct-topic__links a.ori-ct-topic__more:hover { color: var(--ori-blue); }
.ori-prose ul.ori-ct-facts { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 18px; padding: 0; list-style: none; }
.ori-prose ul.ori-ct-facts li { position: relative; margin: 0; padding: 5px 12px 5px 28px; border-radius: 999px; background: #F2F5FB; color: #344054; font-size: 13.5px; }
.ori-prose ul.ori-ct-facts li::before { content: ""; position: absolute; left: 12px; top: 50%; width: 8px; height: 4px; margin-top: -3px; border: solid var(--ori-blue); border-width: 0 0 1.6px 1.6px; transform: rotate(-45deg); }
.ori-ct-box { padding: 28px 30px; border: 1px solid #E6EAF1; border-radius: 16px; background: #fff; }
.ori-ct-help { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.ori-prose a.ori-ct-help__item { display: flex; flex-direction: column; gap: 4px; padding: 18px 20px; border: 1px solid #E6EAF1; border-radius: 14px; background: #fff; color: var(--ori-text); text-decoration: none; }
.ori-prose a.ori-ct-help__item:hover { border-color: var(--ori-blue); }
.ori-ct-help__item strong { font-size: 15px; font-weight: 600; }
.ori-ct-help__item span { color: var(--ori-muted); font-size: 13.5px; line-height: 1.5; }
.ori-prose a.ori-ct-help__item:hover strong { color: var(--ori-blue); }
.ori-ct-mail__list { display: flex; flex-wrap: wrap; gap: 10px 28px; margin: 0; }
.ori-ct-mail__list dt { color: var(--ori-muted); font-size: 12.5px; }
.ori-ct-mail__list dd { margin: 0; font-size: 15px; }

/* Contact form (registry) */
.ori-cf { max-width: none; }
.ori-cf .ori-input { max-width: none; }
.ori-cf__trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ori-cf__topics { margin: 0 0 18px; padding: 0; border: 0; }
.ori-cf__topics legend { margin: 0 0 8px; padding: 0; color: var(--ori-text); font-size: 14px; font-weight: 500; }
.ori-cf__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.ori-prose .ori-cf__chip, .ori-cf__chip { position: relative; display: inline-flex; margin: 0; cursor: pointer; }
.ori-cf__chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ori-cf__chip span { display: inline-flex; align-items: center; height: 34px; padding: 0 14px; border: 1px solid #DDE3EE; border-radius: 999px; background: #fff; color: #344054; font-size: 14px; font-weight: 400; }
.ori-cf__chip:hover span { border-color: var(--ori-blue); color: var(--ori-blue); }
.ori-cf__chip input:checked + span { border-color: var(--ori-blue); background: var(--ori-blue-soft); color: var(--ori-blue); font-weight: 500; }
.ori-cf__chip input:focus-visible + span { outline: 2px solid var(--ori-blue); outline-offset: 2px; }
.ori-cf__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; }
.ori-cf .ori-field { margin-bottom: 16px; }
.ori-cf .ori-field label, .ori-cv .ori-field label { display: block; margin-bottom: 6px; color: var(--ori-text); font-size: 14px; font-weight: 500; }
.ori-cf textarea.ori-input, .ori-cv textarea.ori-input { min-height: 140px; resize: vertical; line-height: 1.6; }
.ori-field--error .ori-input { border-color: var(--ori-danger); }
.ori-prose p.ori-cf__hint { display: flex; justify-content: space-between; gap: 12px; margin: 6px 0 0; color: var(--ori-muted); font-size: 13px; }
.ori-cf__hint [data-ori-count-out] { flex: none; font-variant-numeric: tabular-nums; }
.ori-cf__consent { display: flex; align-items: flex-start; gap: 10px; margin: 4px 0 6px; color: #344054; font-size: 14px; line-height: 1.55; cursor: pointer; }
.ori-cf__consent input { flex: none; width: 16px; height: 16px; margin-top: 3px; accent-color: var(--ori-blue); }
.ori-cf__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin-top: 18px; padding-top: 18px; border-top: 1px solid #EEF1F5; }
.ori-prose p.ori-cf__note, .ori-cf__note { margin: 0; color: var(--ori-muted); font-size: 13.5px; }

/* Conversation (public page and dashboard) */
.ori-cv { max-width: none; }
.ori-cv__meta, .ori-msg-head__state { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; margin: 0 0 22px; color: var(--ori-muted); font-size: 13.5px; }
.ori-thread { display: grid; gap: 12px; margin: 0 0 24px; padding: 0; list-style: none; }
.ori-thread__msg { margin: 0; padding: 18px 22px; border: 1px solid #E6EAF1; border-radius: 14px; background: #fff; }
.ori-thread__msg--team { border-color: #D7E0F2; background: #F6F8FD; }
.ori-thread__who { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 0 0 10px; color: var(--ori-muted); font-size: 13px; }
.ori-thread__who strong { color: var(--ori-text); font-size: 14px; font-weight: 600; }
.ori-thread__avatar { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #EEF1F6; color: #344054; font-size: 12.5px; font-weight: 600; }
.ori-thread__msg--team .ori-thread__avatar { background: #fff; border: 1px solid #D7E0F2; }
.ori-thread__body { color: #344054; font-size: 15px; line-height: 1.7; overflow-wrap: anywhere; }
.ori-thread__mail { padding: 1px 8px; border-radius: 999px; font-size: 12px; }
.ori-thread__mail--ok { background: #E8F5EE; color: #24734A; }
.ori-thread__mail--fail { background: #FDECEC; color: var(--ori-danger); }
.ori-cv__reply { padding: 24px 26px; border: 1px solid #E6EAF1; border-radius: 16px; background: #fff; }
.ori-cv__reply .ori-input { max-width: none; }

/* Dashboard › Messages */
.ori-inbox__row { align-items: flex-start; }
.ori-inbox__row.is-unread { background: #F8FAFE; }
.ori-inbox__row.is-unread .ori-row__title { font-weight: 600; }
.ori-inbox__avatar { flex: none; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--ori-blue-soft); color: var(--ori-blue); font-size: 14px; font-weight: 600; }
.ori-inbox__avatar--lg { width: 46px; height: 46px; font-size: 17px; }
.ori-inbox__from { color: var(--ori-text); font-weight: 500; }
.ori-inbox__new { display: inline-block; padding: 0 7px; border-radius: 999px; background: var(--ori-blue); color: #fff; font-size: 11px; font-weight: 500; line-height: 18px; vertical-align: 1px; }
.ori-inbox__preview { margin: 4px 0 0; color: var(--ori-muted); font-size: 13.5px; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ori-inbox__side { flex: none; display: flex; flex-direction: column; align-items: flex-end; gap: 4px; color: var(--ori-muted); font-size: 12.5px; text-align: right; }
.ori-inbox__topic { color: var(--ori-muted); font-size: 12.5px; }
.ori-inbox__count { min-width: 22px; padding: 0 6px; border-radius: 999px; background: var(--ori-bg-muted); font-size: 12px; line-height: 20px; text-align: center; }
.ori-msg-head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 14px 24px; margin: 0 0 18px; padding: 18px 22px; border: 1px solid var(--ori-line); border-radius: 12px; background: var(--ori-white); }
.ori-msg-head__who { display: flex; align-items: center; gap: 14px; min-width: 0; }
.ori-msg-head__name { margin: 0 0 2px; color: var(--ori-text); font-size: 16px; font-weight: 600; }
.ori-msg-head__line { display: flex; flex-wrap: wrap; gap: 2px 14px; margin: 0; color: var(--ori-muted); font-size: 13.5px; overflow-wrap: anywhere; }
.ori-msg-head__state { margin: 0; }
.ori-msg-head__actions { display: flex; gap: 6px; }
.ori-msg-head__actions form { margin: 0; }
.ori-thread--dash { max-width: 900px; }
.ori-panel.ori-msg-reply { max-width: 900px; }
.ori-msg-reply .ori-input { max-width: none; }
.ori-msg-reply .ori-panel__foot { justify-content: space-between; align-items: center; }
.ori-msg-reply__close { display: inline-flex; align-items: center; gap: 8px; color: #344054; font-size: 13.5px; }
@media (max-width: 900px) {
    .ori-ct-help { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .ori-cf__grid, .ori-ct-help { grid-template-columns: minmax(0, 1fr); }
    .ori-ct-box, .ori-cv__reply { padding: 20px 18px; }
    .ori-inbox__side { flex-direction: row; flex-wrap: wrap; align-items: center; width: 100%; padding-left: 50px; text-align: left; }
}

/* Audit fixes: long inline code wraps on phones; citation style tabs scroll inside their bar; link-styled button. */
.ori-prose code, .ori-prose.ori-guide-body code { overflow-wrap: anywhere; }
.ori-cite.is-enhanced .ori-cite__tabs { overflow-x: auto; scrollbar-width: thin; }
.ori-cite__tabs button { flex: none; white-space: nowrap; }
.ori-cite { min-width: 0; }
.ori-linkbtn { padding: 0; border: 0; background: none; color: var(--ori-blue); font: inherit; text-decoration: underline; cursor: pointer; }
.ori-linkbtn:hover { color: var(--ori-text); }

/* Record form v2 (1.37.0): one column of numbered sections, section index, marked choices (flat, no motion) */
.ori-rf-index { position: sticky; top: 0; z-index: 3; display: flex; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; gap: 4px; max-width: 860px; margin: 0 0 16px; padding: 8px 0; background: #F7F8FA; }
.ori-rf-index a { flex: none; display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px 5px 5px; border: 1px solid #E2E6EE; border-radius: 999px; background: #fff; color: #3A4458; font-size: 12.5px; font-weight: 500; text-decoration: none; }
.ori-rf-index a span { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%; background: #EBF0FF; color: #1E3F86; font-size: 11.5px; font-weight: 600; }
.ori-rf-index a:hover { border-color: #C9D3E6; color: #1E3F86; }
.ori-dash .ori-form.ori-recordform.ori-rf { display: flex; flex-direction: column; gap: 16px; max-width: 860px; }
.ori-rf-card { scroll-margin-top: 64px; padding: 22px 24px 8px; border: 1px solid #E6E9F0; border-radius: 14px; background: #fff; }
.ori-rf-card__head { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 18px; }
.ori-rf-card__num { display: inline-flex; flex: none; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: #EBF0FF; color: #1E3F86; font-size: 13px; font-weight: 600; }
.ori-rf-card__title { margin: 3px 0 0; color: #1B2440; font-size: 16px; font-weight: 600; line-height: 1.3; }
.ori-rf-card__hint { margin: 3px 0 0; color: #6B7488; font-size: 13px; line-height: 1.5; }
.ori-rf .ori-field { margin-bottom: 16px; }
.ori-rf .ori-field label, .ori-rf-choice legend { display: block; margin-bottom: 6px; color: #3A4458; font-size: 13px; font-weight: 500; }
.ori-rf .ori-field label em, .ori-rf-choice legend em { color: #8A93A6; font-style: normal; font-weight: 400; }
.ori-rf .ori-input { width: 100%; max-width: none; min-height: 40px; border-color: #D9DEE7; border-radius: 9px; font-size: 14.5px; }
.ori-rf textarea.ori-input { line-height: 1.6; }
.ori-rf .ori-input:focus { border-color: #4A7FCB; outline: 2px solid #DCE6F7; outline-offset: 0; }
.ori-rf-title { font-size: 16px !important; font-weight: 500; }
.ori-rf-mono { font-family: var(--ori-mono); font-size: 13px !important; }
.ori-rf .ori-field__help { margin: 5px 0 0; color: #8A93A6; font-size: 12.5px; }
.ori-rf-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
.ori-rf-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
/* Contributors */
.ori-rf-people { display: flex; flex-direction: column; gap: 12px; }
.ori-rf-person { padding: 16px 18px 4px; border: 1px solid #E6E9F0; border-radius: 12px; background: #FAFBFD; }
.ori-rf-person__head { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-bottom: 14px; }
.ori-rf-person__badge { display: inline-flex; flex: none; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: #EBF0FF; color: #1E3F86; font-size: 13.5px; font-weight: 600; }
.ori-rf-person__name { flex: 1; min-width: 140px; color: #1B2440; font-size: 14.5px; font-weight: 600; }
.ori-rf-orcid { max-width: 260px !important; font-family: var(--ori-mono); font-size: 13.5px !important; }
.ori-rf-choice { margin: 0 0 16px; padding: 0; border: 0; }
.ori-rf-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.ori-rf-chip { position: relative; display: inline-flex !important; margin: 0 !important; cursor: pointer; }
.ori-rf-chip input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.ori-rf-chip span { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border: 1px solid #D9DEE7; border-radius: 999px; background: #fff; color: #3A4458; font-size: 13px; font-weight: 400; line-height: 1.2; }
.ori-rf-chip--check span::before { content: ""; display: inline-block; width: 12px; height: 12px; border: 1.5px solid #B8C0CE; border-radius: 3px; background: #fff; }
.ori-rf-chip:hover span { border-color: #B9C6DE; }
.ori-rf-chip input:checked + span { border-color: #1E3F86; background: #EBF0FF; color: #1E3F86; font-weight: 500; }
.ori-rf-chip--check input:checked + span::before { border-color: #1E3F86; background: #1E3F86 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.3 2.3 4.7-5' fill='none' stroke='%23fff' stroke-width='1.8'/%3E%3C/svg%3E") center / 10px no-repeat; }
.ori-rf-chip input:focus-visible + span { outline: 2px solid #4A7FCB; outline-offset: 2px; }
.ori-rf-toggle { display: inline-flex !important; align-items: center; gap: 7px; margin: 0 !important; color: #3A4458; font-size: 13px; cursor: pointer; }
.ori-rf-toggle input { width: 16px; height: 16px; accent-color: #1E3F86; }
.ori-rf-remove { padding: 4px 10px; border: 1px solid transparent; border-radius: 8px; background: none; color: #8A93A6; font: inherit; font-size: 12.5px; cursor: pointer; }
.ori-rf-remove:hover { border-color: #F2D4D4; background: #FDF4F4; color: #9B2C2C; }
.ori-rf-add { display: inline-flex; align-items: center; margin: 4px 0 16px; padding: 7px 14px; border: 1px dashed #C9D3E6; border-radius: 9px; background: #fff; color: #1E3F86; font: inherit; font-size: 13.5px; font-weight: 500; cursor: pointer; }
.ori-rf-add:hover { border-style: solid; background: #F2F6FD; }
.ori-rf-add--block { justify-content: center; width: 100%; margin-top: 12px; }
/* Repeatable rows (translations, identifiers, funding, relations) */
.ori-rf-row { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 0 12px; margin-bottom: 10px; padding: 12px 14px 0; border: 1px solid #E6E9F0; border-radius: 10px; background: #FAFBFD; }
.ori-rf-row .ori-field { flex: 1 1 180px; margin-bottom: 12px; }
.ori-rf-row .ori-rf-row__textarea { flex-basis: 100%; }
.ori-rf-row .ori-rf-remove { margin-bottom: 14px; }
.ori-rf-sub { margin: 4px 0 8px; }
.ori-rf-sub__title { margin: 0 0 10px; color: #3A4458; font-size: 13.5px; font-weight: 600; }
.ori-rf-more { margin: 0 0 16px; }
.ori-rf-more > summary { color: #1E3F86; font-size: 13.5px; font-weight: 500; cursor: pointer; }
.ori-rf-more[open] > summary { margin-bottom: 14px; }
/* License cards */
.ori-rf-licenses { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 8px; margin-bottom: 16px; }
.ori-rf-license { position: relative; display: block !important; margin: 0 !important; cursor: pointer; }
.ori-rf-license input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.ori-rf-license span { display: flex; flex-direction: column; gap: 3px; height: 100%; padding: 11px 13px; border: 1px solid #D9DEE7; border-radius: 10px; background: #fff; box-sizing: border-box; }
.ori-rf-license strong { color: #1B2440; font-size: 13.5px; font-weight: 600; }
.ori-rf-license em { color: #6B7488; font-size: 12px; font-style: normal; line-height: 1.4; }
.ori-rf-license:hover span { border-color: #B9C6DE; }
.ori-rf-license input:checked + span { border-color: #1E3F86; background: #EBF0FF; }
.ori-rf-license input:checked + span strong { color: #1E3F86; }
.ori-rf-license input:focus-visible + span { outline: 2px solid #4A7FCB; outline-offset: 2px; }
.ori-dash .ori-form.ori-recordform.ori-rf > .ori-rf-save { position: sticky; bottom: 0; z-index: 3; display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; margin: 0; padding: 12px 0; border-top: 1px solid #E6E9F0; background: #F7F8FA; }
.ori-rf-save .ori-btn { min-height: 40px; padding: 0 22px; border-radius: 9px; }
@media (max-width: 720px) {
    .ori-rf-card { padding: 18px 16px 4px; }
    .ori-rf-grid, .ori-rf-grid--3 { grid-template-columns: 1fr; }
    .ori-rf-index { position: static; }
}
.ori-portal--dashboard-record-form .ori-recordhead, .ori-portal--dashboard-record-form .ori-dash .ori-panel, .ori-portal--dashboard-record-form .ori-dash > .ori-alert { max-width: 860px; }
.ori-portal--dashboard-record-form .ori-recordhead, .ori-portal--dashboard-record-form .ori-panel { border-radius: 14px; }

/* Preservation › backups and file security (0.36.0) */
.ori-bk__desc { margin: 0; padding: 0 22px 6px; }
.ori-bk__msg { margin: 8px 22px 0; font-size: 13.5px; }
.ori-bk__msg.is-ok { color: #2F6B4A; }
.ori-bk__row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; }
.ori-bk__row strong { font-weight: 600; font-size: 14px; }
.ori-bk__settings { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin: 0; }
.ori-mono { font-family: var(--ori-mono); font-size: 12px; }

.ori-bk__sub { margin: 14px 22px 4px; color: #3A4458; font-size: 13.5px; font-weight: 600; }

/* ==========================================================================
   Header 1.39 — utility bar, main bar with navigation panels, compact search.
   Flat: no shadow, no transition; panels open on hover (fine pointers), click and keyboard.
   ========================================================================== */
.ori-ub { background: var(--ori-blue); color: #C9D4EC; font-size: 12.5px; }
.ori-ub__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 34px; }
.ori-ub__tagline { margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ori-ub__links { display: flex; gap: 22px; list-style: none; margin: 0; padding: 0; white-space: nowrap; }
.ori-ub__links a { color: #E4EAF6; text-decoration: none; }
.ori-ub__links a:hover { color: #FFFFFF; text-decoration: underline; }

.ori-header { position: sticky; top: 0; z-index: 50; background: var(--ori-white); border-bottom: 1px solid var(--ori-line); }
.admin-bar .ori-header { top: 32px; }
.ori-header__inner { min-height: 72px; gap: 28px; justify-content: flex-start; }
.ori-header__inner .ori-nav { margin-left: 8px; }
.ori-header__tools { display: flex; align-items: center; gap: 14px; margin-left: auto; }
.ori-brand img, .custom-logo { height: 40px; }

.ori-mn { display: flex; align-items: center; gap: 2px; list-style: none; margin: 0; padding: 0; }
.ori-mn__item { position: relative; }
.ori-mn__top { display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 12px; border: 0; border-radius: 6px; background: none; color: var(--ori-text); font: 400 15px/1 var(--ori-font); text-decoration: none; cursor: pointer; }
.ori-mn__top svg { color: var(--ori-muted); }
.ori-mn__top:hover, .ori-mn__item.is-open > .ori-mn__top { color: var(--ori-blue); background: var(--ori-blue-soft); }
.ori-mn__item.is-current > .ori-mn__top { color: var(--ori-blue); font-weight: 600; }
.ori-mn__item.is-current > .ori-mn__top::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: -16px; height: 2px; background: var(--ori-blue); }
.ori-mn__panel { display: none; position: absolute; left: -12px; top: calc(100% + 15px); z-index: 60; width: 560px; padding: 10px; background: var(--ori-white); border: 1px solid var(--ori-line); border-radius: 10px; }
.ori-mn__panel.has-intro { display: none; width: 760px; grid-template-columns: 230px minmax(0, 1fr); gap: 10px; }
.ori-mn__item.is-open > .ori-mn__panel { display: block; }
.ori-mn__item.is-open > .ori-mn__panel.has-intro { display: grid; }
@media (hover: hover) and (pointer: fine) {
    .ori-mn__item:hover > .ori-mn__panel { display: block; }
    .ori-mn__item:hover > .ori-mn__panel.has-intro { display: grid; }
    /* Bridge the gap between the button and the panel so the pointer can travel. */
    .ori-mn__item:hover::before { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 18px; }
}
.ori-mn__intro { display: flex; flex-direction: column; gap: 6px; padding: 16px; border-radius: 8px; background: var(--ori-blue); color: #D5DEF0; font-size: 13px; line-height: 1.5; }
.ori-mn__intro p { margin: 0; }
.ori-mn__intro .ori-mn__intro-title { color: #FFFFFF; font-size: 15px; font-weight: 600; }
.ori-mn__intro a { margin-top: auto; color: #FFFFFF; font-size: 13px; text-decoration: none; }
.ori-mn__intro a:hover { text-decoration: underline; color: #FFFFFF; }
.ori-mn__list { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; list-style: none; margin: 0; padding: 0; }
.ori-mn__list a { display: flex; align-items: flex-start; gap: 12px; padding: 11px 12px; border-radius: 8px; color: var(--ori-text); text-decoration: none; }
.ori-mn__list a:hover { background: var(--ori-bg-muted); color: var(--ori-text); }
.ori-mn__list a:hover .ori-mn__label { color: var(--ori-blue); }
.ori-mn__icon { display: inline-grid; place-items: center; flex: 0 0 34px; height: 34px; border-radius: 8px; background: var(--ori-blue-soft); color: var(--ori-blue); }
.ori-mn__icon svg { width: 18px; height: 18px; }
.ori-mn__label { display: block; font-size: 14px; font-weight: 600; color: var(--ori-text); line-height: 1.35; }
.ori-mn__desc { display: block; margin-top: 2px; font-size: 12.5px; color: var(--ori-muted); line-height: 1.4; }

.ori-hs { position: relative; display: flex; align-items: center; }
.ori-hs__icon { position: absolute; left: 11px; display: inline-flex; color: var(--ori-muted); pointer-events: none; }
.ori-hs__icon svg { width: 17px; height: 17px; }
.ori-hs input { width: 250px; height: 38px; padding: 0 12px 0 36px; border: 1px solid var(--ori-line); border-radius: 8px; background: var(--ori-bg-muted); color: var(--ori-text); font: 400 14px var(--ori-font); }
.ori-hs input:focus { outline: 2px solid var(--ori-accent); outline-offset: 0; border-color: transparent; background: var(--ori-white); }
.ori-header__tools .ori-cartlink { margin: 0; }

@media (max-width: 1320px) {
    .ori-hs input { width: 190px; }
    .ori-ub__tagline { display: none; }
    .ori-ub__inner { justify-content: flex-end; }
}
@media (max-width: 1180px) {
    .ori-header__tools > .ori-hs { display: none; }
    .ori-mn__top { padding: 0 9px; }
}
@media (max-width: 1020px) {
    .ori-nav, .ori-header__tools .ori-account { display: none; }
    .ori-nav-mobile { display: block; margin-left: 0; }
    .ori-nav__toggle { display: inline-flex; align-items: center; height: 38px; padding: 0 14px; border: 1px solid var(--ori-line); border-radius: 8px; cursor: pointer; list-style: none; font-size: 15px; color: var(--ori-blue); }
    .ori-nav__toggle::-webkit-details-marker { display: none; }
    .ori-nav__panel { position: absolute; right: 0; top: 48px; z-index: 60; width: min(360px, calc(100vw - 32px)); max-height: calc(100vh - 140px); overflow-y: auto; padding: 14px 16px; background: var(--ori-white); border: 1px solid var(--ori-line); border-radius: 10px; }
    .ori-nav__panel .ori-hs input { width: 100%; }
    .ori-nav__panel .ori-hs { margin-bottom: 6px; }
}
@media (max-width: 860px) {
    .ori-ub { display: none; }
    .ori-header__inner { min-height: 62px; }
    .admin-bar .ori-header { top: 0; position: relative; }
}
.ori-mm__group { margin: 14px 0 4px; color: var(--ori-muted); font-size: 12px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; }
.ori-mm__list { list-style: none; margin: 0; padding: 0; }
.ori-mm__list a, .ori-mm__top { display: block; padding: 8px 0; color: var(--ori-text); font-size: 15px; text-decoration: none; }
.ori-mm__top { margin-top: 10px; font-weight: 600; }
.ori-mm__list a:hover, .ori-mm__top:hover { color: var(--ori-blue); }

/* ==========================================================================
   Home 1.39 — institutional, image-led. Type scale 28/22/17/15/13/12; radii 6/10/pill.
   Static illustrations (template-parts/home-art.php); no shadow, no transition, no animation.
   ========================================================================== */
.ori-hx-hero { position: relative; overflow: hidden; background: var(--ori-blue); color: #D5DEF0; }
.ori-hx-hero > .ori-hx-art--network { position: absolute; right: -40px; top: 0; width: 62%; height: 100%; pointer-events: none; }
.ori-hx-hero__grid { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 560px); gap: 56px; align-items: center; padding-top: 64px; padding-bottom: 72px; }
.ori-hx-eyebrow { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 16px; padding: 4px 12px; border: 1px solid rgba(255, 255, 255, .22); border-radius: 999px; color: #FFFFFF; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.ori-hx-hero h1 { max-width: 620px; margin: 0 0 14px; color: #FFFFFF; font-size: 28px; line-height: 1.25; letter-spacing: -.01em; }
.ori-hx-lead { max-width: 600px; margin: 0 0 26px; color: #D5DEF0; font-size: 15px; line-height: 1.65; }
.ori-hx-search { display: flex; align-items: center; max-width: 620px; height: 52px; padding: 0 6px 0 14px; border-radius: 10px; background: #FFFFFF; }
.ori-hx-search__icon { display: inline-flex; color: var(--ori-muted); }
.ori-hx-search input { flex: 1; min-width: 0; height: 100%; padding: 0 12px; border: 0; background: none; color: var(--ori-text); font: 400 15px var(--ori-font); }
.ori-hx-search input:focus { outline: none; }
.ori-hx-search:focus-within { outline: 2px solid #7FA6DD; outline-offset: 2px; }
.ori-hx-search button { height: 40px; padding: 0 20px; border: 0; border-radius: 6px; background: var(--ori-blue); color: #FFFFFF; font: 600 14px var(--ori-font); cursor: pointer; }
.ori-hx-search button:hover { background: var(--ori-blue-hover); }
.ori-hx-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.ori-hx-btn { display: inline-flex; align-items: center; height: 40px; padding: 0 18px; border-radius: 6px; font-size: 14px; font-weight: 600; text-decoration: none; }
.ori-hx-btn--light { background: #FFFFFF; color: var(--ori-blue); border: 1px solid #FFFFFF; }
.ori-hx-btn--light:hover { background: var(--ori-blue-soft); color: var(--ori-blue); }
.ori-hx-btn--ghost { border: 1px solid rgba(255, 255, 255, .4); color: #FFFFFF; }
.ori-hx-btn--ghost:hover { border-color: #FFFFFF; color: #FFFFFF; background: rgba(255, 255, 255, .08); }

.ori-hx-hero__visual { position: relative; display: flex; flex-direction: column; justify-content: center; min-height: 340px; }
.ori-hx-hero__photo { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 10px; }
.ori-hx-hero.has-photo .ori-hx-card { position: absolute; left: -40px; bottom: -28px; width: 82%; }
.ori-hx-card { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 10px; padding: 22px 24px 18px; border: 1px solid #D9E0EC; border-radius: 10px; background: #FFFFFF; color: var(--ori-text); text-decoration: none; }
.ori-hx-card:hover { border-color: #FFFFFF; color: var(--ori-text); }
.ori-hx-card:hover .ori-hx-card__foot { color: var(--ori-accent); }
.ori-hx-card__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ori-hx-card__code { color: var(--ori-blue); font-family: var(--ori-mono); font-size: 13px; }
.ori-hx-card__badge { padding: 2px 10px; border-radius: 999px; background: #E6F4EA; color: #1F6B3A; font-size: 12px; }
.ori-hx-card__title { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; color: var(--ori-blue); font-size: 17px; font-weight: 600; line-height: 1.4; }
.ori-hx-card__by { color: var(--ori-muted); font-size: 13px; }
.ori-hx-card__formats { display: flex; flex-wrap: wrap; gap: 6px; padding-top: 12px; border-top: 1px solid var(--ori-line); }
.ori-hx-card__formats span { padding: 2px 9px; border: 1px solid var(--ori-line); border-radius: 6px; color: var(--ori-muted); font-size: 12px; }
.ori-hx-card__foot { color: var(--ori-blue); font-size: 13px; font-weight: 600; }
.ori-hx-chip { position: absolute; z-index: 2; display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 999px; background: #FFFFFF; color: var(--ori-blue); font-size: 12px; font-weight: 600; border: 1px solid #D9E0EC; }
.ori-hx-chip i { width: 8px; height: 8px; border-radius: 50%; background: #2E8B57; }
.ori-hx-chip--a { top: 4px; right: 24px; }
.ori-hx-chip--b { bottom: 4px; left: -18px; }
.ori-hx-chip--b i { background: var(--ori-accent); }
.ori-hx-hero.has-photo .ori-hx-chip--a { top: 16px; right: 16px; }
.ori-hx-hero.has-photo .ori-hx-chip--b { display: none; }

.ori-hx-figures { border-bottom: 1px solid var(--ori-line); }
.ori-hx-figures__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; }
.ori-hx-figures__grid > div { display: flex; flex-direction: column; gap: 2px; padding: 28px 24px; border-left: 1px solid var(--ori-line); }
.ori-hx-figures__grid > div:first-child { border-left: 0; padding-left: 0; }
.ori-hx-figures__grid dd { margin: 0; color: var(--ori-blue); font-size: 28px; font-weight: 600; line-height: 1.2; }
.ori-hx-figures__grid dt { color: var(--ori-muted); font-size: 13px; }
.ori-hx-figures__note { margin: 0 0 14px; color: var(--ori-muted); font-size: 12px; }

.ori-hx-section { padding: 72px 0; }
.ori-hx-section--muted { background: var(--ori-bg-muted); }
.ori-hx-section--line { border-top: 1px solid var(--ori-line); }
.ori-hx-kicker { margin: 0 0 6px; color: var(--ori-accent); font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.ori-hx-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 32px; }
.ori-hx-head h2 { margin: 0; font-size: 22px; }
.ori-hx-head p:not(.ori-hx-kicker) { margin: 8px 0 0; color: var(--ori-muted); font-size: 15px; }
.ori-hx-head--center { flex-direction: column; align-items: center; text-align: center; max-width: 720px; margin: 0 auto 48px; }
.ori-hx-link { flex: 0 0 auto; color: var(--ori-blue); font-size: 14px; font-weight: 600; text-decoration: none; }
.ori-hx-link:hover { color: var(--ori-accent); }

.ori-hx-feature { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: center; padding: 40px 0; }
.ori-hx-feature + .ori-hx-feature { border-top: 1px solid var(--ori-line); }
.ori-hx-feature--reverse .ori-hx-feature__media { order: 2; }
.ori-hx-feature__media { display: grid; place-items: center; min-height: 320px; margin: 0; padding: 28px; border-radius: 10px; background: var(--ori-blue-soft); }
.ori-hx-feature__media .ori-hx-art { width: 100%; max-width: 520px; height: auto; }
.ori-hx-feature__text { max-width: 560px; }
.ori-hx-feature__text h3 { margin: 0 0 12px; font-size: 22px; }
.ori-hx-feature__text > p:not(.ori-hx-kicker) { color: var(--ori-text); font-size: 15px; }
.ori-hx-checks { list-style: none; margin: 0 0 20px; padding: 0; }
.ori-hx-checks li { position: relative; padding: 7px 0 7px 28px; border-top: 1px solid var(--ori-line); font-size: 14px; color: var(--ori-text); }
.ori-hx-checks li:last-child { border-bottom: 1px solid var(--ori-line); }
.ori-hx-checks li::before { content: ""; position: absolute; left: 2px; top: 11px; width: 16px; height: 16px; background: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3E%3Cpath d=%27m3 8.5 3.2 3.2L13 5%27 fill=%27none%27 stroke=%27%23172D67%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E") no-repeat center / 16px; }

.ori-hx-code { gap: 18px; align-content: center; }
.ori-hx-code__value { display: inline-flex; align-items: center; gap: 2px; padding: 18px 26px; border: 1px solid #D9E0EC; border-radius: 10px; background: #FFFFFF; font-family: var(--ori-mono); font-size: 26px; color: var(--ori-blue); }
.ori-hx-code__value svg, .ori-hx-code__value img { width: 26px; height: 26px; margin-right: 10px; }
.ori-hx-code__value .is-prefix { color: var(--ori-muted); }
.ori-hx-code__value .is-check { color: var(--ori-accent); }
.ori-hx-code__legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 20px; color: var(--ori-muted); font-size: 13px; }
.ori-hx-code__legend span { display: inline-flex; align-items: center; gap: 7px; }
.ori-hx-code__legend i { width: 10px; height: 10px; border-radius: 3px; background: var(--ori-muted); }
.ori-hx-code__legend i.is-body { background: var(--ori-blue); }
.ori-hx-code__legend i.is-check { background: var(--ori-accent); }
.ori-hx-code__url { margin: 0; color: var(--ori-muted); font-family: var(--ori-mono); font-size: 13px; }
.ori-hx-code__url strong { color: var(--ori-blue); font-weight: 600; }

.ori-hx-records { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; list-style: none; margin: 0; padding: 0; }
.ori-hx-record { display: flex; flex-direction: column; gap: 10px; height: 100%; padding: 20px 22px; border: 1px solid var(--ori-line); border-radius: 10px; background: #FFFFFF; color: var(--ori-text); text-decoration: none; }
.ori-hx-record:hover { border-color: var(--ori-blue); color: var(--ori-text); }
.ori-hx-record__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; color: var(--ori-muted); font-size: 12px; }
.ori-hx-record__meta .ori-id { color: var(--ori-blue); font-family: var(--ori-mono); }
.ori-hx-record__flag { padding: 1px 8px; border-radius: 999px; background: var(--ori-warn-bg); color: var(--ori-warn); }
.ori-hx-record__title { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; color: var(--ori-blue); font-size: 15px; font-weight: 600; line-height: 1.45; }
.ori-hx-record__by { margin-top: auto; color: var(--ori-muted); font-size: 13px; }

.ori-hx-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; list-style: none; margin: 0; padding: 0; }
.ori-hx-steps li { position: relative; padding: 0 28px 0 0; }
.ori-hx-steps li::before { content: ""; position: absolute; left: 44px; right: 12px; top: 17px; height: 1px; background: var(--ori-line); }
.ori-hx-steps li:last-child::before { display: none; }
.ori-hx-steps__num { position: relative; display: inline-grid; place-items: center; width: 34px; height: 34px; margin-bottom: 16px; border-radius: 50%; background: var(--ori-blue); color: #FFFFFF; font-size: 14px; font-weight: 600; }
.ori-hx-steps h3 { margin: 0 0 6px; font-size: 17px; }
.ori-hx-steps p { margin: 0; color: var(--ori-muted); font-size: 14px; }

.ori-hx-audiences { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ori-hx-audience { display: flex; flex-direction: column; padding: 26px; border: 1px solid var(--ori-line); border-radius: 10px; }
.ori-hx-audience__icon { display: inline-grid; place-items: center; width: 44px; height: 44px; margin-bottom: 16px; border-radius: 10px; background: var(--ori-blue-soft); color: var(--ori-blue); }
.ori-hx-audience h3 { margin: 0 0 8px; font-size: 17px; }
.ori-hx-audience p { color: var(--ori-text); font-size: 14px; }
.ori-hx-audience__links { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: auto 0 0; padding-top: 8px; }
.ori-hx-audience__links a { color: var(--ori-blue); font-size: 14px; font-weight: 600; text-decoration: none; }
.ori-hx-audience__links a:hover { color: var(--ori-accent); }

.ori-hx-journals { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; list-style: none; margin: 0; padding: 0; }
.ori-hx-journal { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 16px; height: 100%; padding: 18px; border: 1px solid var(--ori-line); border-radius: 10px; color: var(--ori-text); text-decoration: none; }
.ori-hx-journal:hover { border-color: var(--ori-blue); color: var(--ori-text); }
.ori-hx-journal__cover { line-height: 0; }
.ori-hx-journal__cover img, .ori-hx-journal__cover > * { width: 64px; max-width: 64px; border-radius: 6px; }
.ori-hx-journal__body { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.ori-hx-journal__title { color: var(--ori-blue); font-size: 15px; font-weight: 600; line-height: 1.35; }
.ori-hx-journal__meta { color: var(--ori-muted); font-size: 12px; }
.ori-hx-journal__tags { display: flex; flex-wrap: wrap; gap: 4px; }
.ori-hx-journal__tags span { padding: 1px 8px; border-radius: 999px; background: var(--ori-bg-muted); color: var(--ori-muted); font-size: 12px; }

.ori-hx-cta { position: relative; overflow: hidden; background: var(--ori-blue); color: #D5DEF0; }
.ori-hx-cta > .ori-hx-art--network { position: absolute; right: -80px; top: -60px; width: 55%; height: 180%; pointer-events: none; }
.ori-hx-cta__inner { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 32px; padding-top: 56px; padding-bottom: 56px; }
.ori-hx-cta h2 { margin: 0 0 8px; color: #FFFFFF; font-size: 22px; }
.ori-hx-cta p { max-width: 640px; margin: 0; font-size: 15px; }
.ori-hx-cta__actions { display: flex; flex-wrap: wrap; gap: 12px; flex: 0 0 auto; }
.ori-hx-note { margin: 18px 0 28px; color: var(--ori-muted); font-size: 12px; }

@media (max-width: 1100px) {
    .ori-hx-hero__grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
    .ori-hx-hero__visual { max-width: 620px; }
    .ori-hx-feature { gap: 40px; }
    .ori-hx-records, .ori-hx-journals { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ori-hx-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 28px; }
    .ori-hx-steps li:nth-child(2)::before { display: none; }
}
@media (max-width: 860px) {
    .ori-hx-hero__grid { padding-top: 40px; padding-bottom: 48px; }
    .ori-hx-hero h1 { font-size: 24px; }
    .ori-hx-hero > .ori-hx-art--network { width: 120%; opacity: .6; }
    .ori-hx-chip--b { left: 8px; }
    .ori-hx-hero.has-photo .ori-hx-card { position: relative; left: auto; bottom: auto; width: auto; margin: -40px 12px 0; }
    .ori-hx-figures__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ori-hx-figures__grid > div { padding: 20px 0; border-left: 0; border-top: 1px solid var(--ori-line); }
    .ori-hx-figures__grid > div:nth-child(-n+2) { border-top: 0; }
    .ori-hx-section { padding: 48px 0; }
    .ori-hx-feature, .ori-hx-feature--reverse { grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 28px 0; }
    .ori-hx-feature--reverse .ori-hx-feature__media { order: 0; }
    .ori-hx-feature__media { min-height: 0; padding: 18px; }
    .ori-hx-code__value { font-size: 18px; padding: 14px 16px; }
    .ori-hx-head { flex-direction: column; align-items: flex-start; }
    .ori-hx-records, .ori-hx-journals, .ori-hx-audiences, .ori-hx-steps { grid-template-columns: minmax(0, 1fr); }
    .ori-hx-steps li::before { display: none; }
    .ori-hx-cta__inner { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 480px) {
    .ori-hx-search { height: auto; flex-wrap: wrap; padding: 8px; gap: 8px; }
    .ori-hx-search__icon { display: none; }
    .ori-hx-search input { flex-basis: 100%; height: 40px; padding: 0 6px; }
    .ori-hx-search button { width: 100%; }
    .ori-hx-chip { display: none; }
}
html { scroll-padding-top: 92px; }
@media (max-width: 860px) { html { scroll-padding-top: 0; } }
/* Hero: ORI icon on a white disc (when no institutional photograph is set); the latest record overlaps it. */
.ori-hx-mark { display: grid; place-items: center; width: 300px; height: 300px; margin: 0 0 0 auto; border-radius: 50%; background: none; outline: 1px solid rgba(255, 255, 255, .22); outline-offset: 14px; }
.ori-hx-mark img { width: 100%; height: auto; }
.ori-hx-hero:not(.has-photo) .ori-hx-card { width: 74%; margin-top: -28px; }
.ori-hx-hero:not(.has-photo) .ori-hx-chip--a { top: 18px; right: auto; left: 8px; }
.ori-hx-hero:not(.has-photo) .ori-hx-chip--b { bottom: auto; top: 214px; left: auto; right: 250px; }
@media (max-width: 1100px) {
    .ori-hx-mark { margin: 0 auto; }
    .ori-hx-hero:not(.has-photo) .ori-hx-card { width: auto; }
}
@media (max-width: 860px) {
    .ori-hx-mark { width: 200px; height: 200px; outline-offset: 10px; }
    .ori-hx-hero:not(.has-photo) .ori-hx-card { margin-top: 20px; }
    .ori-hx-hero:not(.has-photo) .ori-hx-chip--b { top: 160px; }
}
/* Hero 350 px: text, search and actions on the left; the ORI icon (or the institutional photograph) on the right. */
.ori-hx-hero__grid { height: 350px; padding-top: 0; padding-bottom: 0; grid-template-columns: minmax(0, 1fr) minmax(0, 520px); gap: 48px; }
.ori-hx-hero h1 { margin-bottom: 10px; }
.ori-hx-lead { margin-bottom: 20px; }
.ori-hx-hero__actions { margin-top: 16px; }
.ori-hx-hero__visual { min-height: 0; height: 100%; align-items: center; }
.ori-hx-mark { width: 240px; height: 240px; margin: 0; }
.ori-hx-hero:not(.has-photo) .ori-hx-chip--a { top: 62px; left: 4px; right: auto; }
.ori-hx-hero:not(.has-photo) .ori-hx-chip--b { top: auto; bottom: 62px; right: 0; left: auto; }
.ori-hx-hero__photo { height: 270px; aspect-ratio: auto; }
.ori-hx-hero.has-photo .ori-hx-chip--a { top: 52px; right: 16px; }
@media (max-width: 1100px) {
    .ori-hx-hero__grid { height: auto; grid-template-columns: minmax(0, 1fr); padding-top: 40px; padding-bottom: 40px; }
    .ori-hx-hero__visual { display: none; }
}

/* Download buttons: always red (ORI rule), in every page and in the dashboard. */
.ori-btn.ori-btn--download, a.ori-btn--download, button.ori-btn--download { background: #D92D20; border: 1px solid #D92D20; color: #FFFFFF; }
.ori-btn.ori-btn--download:hover, a.ori-btn--download:hover, button.ori-btn--download:hover { background: #B42318; border-color: #B42318; color: #FFFFFF; }
.ori-btn.ori-btn--download:disabled, button.ori-btn--download:disabled { background: #F4B8B3; border-color: #F4B8B3; color: #FFFFFF; cursor: not-allowed; }

/* ==========================================================================
   Record page 1.39 — one column. The record content comes first; the side cards (journal, files, record
   information, export, permanent URL, licence, share) follow as a responsive grid, within the 1400 px container.
   ========================================================================== */
.ori-record { background: #FFFFFF; }
.ori-record__grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
.ori-record__title { max-width: 60ch; font-size: 24px; line-height: 1.3; color: var(--ori-blue); }
.ori-record__title--caps { max-width: 72ch; font-size: 20px; line-height: 1.4; letter-spacing: .01em; color: var(--ori-blue); }
.ori-record__abstract { max-width: 80ch; }
.ori-record__side { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; align-items: start; padding-top: 32px; border-top: 1px solid var(--ori-line); }
.ori-record__side .ori-card { height: 100%; margin: 0; padding: 20px; border: 1px solid var(--ori-line); border-radius: 10px; }
.ori-record__side .ori-card__title { font-size: 15px; }
.ori-record__side .ori-card p { font-size: 14px; }
.ori-record__side .ori-btn { border-radius: 6px; font-weight: 600; }
@media (max-width: 860px) {
    .ori-record__title { font-size: 21px; }
    .ori-record__title--caps { font-size: 17px; }
    .ori-record__side { grid-template-columns: minmax(0, 1fr); padding-top: 24px; }
}

/* Journal page 1.39 — one style for the figures (no per-card tints), page title on the common scale. */
.ori-jp__kpis li, .ori-jp__kpis li:nth-child(2), .ori-jp__kpis li:nth-child(3) { padding: 16px 20px; border: 1px solid var(--ori-line); border-radius: 10px; background: #FFFFFF; }
.ori-jp__kpis strong { color: var(--ori-blue); font-size: 28px; line-height: 1.2; }
.ori-jp__title { font-size: 28px; }
.ori-jp__card { border-radius: 10px; }
.ori-jp__desc { max-width: 90ch; }
@media (max-width: 560px) { .ori-jp__kpis { grid-template-columns: minmax(0, 1fr); } .ori-jp__title { font-size: 24px; } }

/* Type scale 1.39: every page title (H1) is 28 px (24 px on phones); record and item titles 24 px. */
.ori-main h1:not(.ori-record__title) { font-size: 28px; line-height: 1.25; letter-spacing: -.01em; }
.ori-main .ori-item h1 { font-size: 24px; line-height: 1.3; }
@media (max-width: 860px) {
    .ori-main h1:not(.ori-record__title) { font-size: 24px; }
    .ori-main .ori-item h1 { font-size: 21px; }
}

/* Credentials: rotation form beside Revoke. */
.ori-row__actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.ori-row__actions .ori-inline-form { display: flex; gap: 6px; align-items: center; margin: 0; }
.ori-input.ori-input--small { width: auto; height: 32px; padding: 0 8px; font-size: 13px; }

/* ORI wordmark (header: colour; footer: white). Same height as the previous logo, so the header keeps its size. */
.ori-wordmark { display: block; width: auto; height: 40px; overflow: visible; }
.ori-brand { display: inline-flex; align-items: center; line-height: 0; text-decoration: none; }
.ori-footer__logo { display: inline-block; line-height: 0; margin-bottom: 14px; }
.ori-footer__logo .ori-wordmark { height: 44px; }
@media (max-width: 860px) { .ori-brand .ori-wordmark { height: 34px; } }

/* Smooth page changes (1.40): a short cross-fade between pages of the site, the header and the utility bar stay in
   place; no reserved space jumps when a page has or has not a scrollbar. Reduced motion: no transition. */
@view-transition { navigation: auto; }
html { scrollbar-gutter: stable; }
.ori-header { view-transition-name: ori-header; }
.ori-ub { view-transition-name: ori-utility; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: 180ms; animation-timing-function: ease-out; }
::view-transition-group(ori-header), ::view-transition-group(ori-utility) { animation-duration: 0s; }
@media (prefers-reduced-motion: reduce) {
    @view-transition { navigation: none; }
}
/* Dashboard: the sidebar stays in place between sections. */
.ori-app__sidebar { view-transition-name: ori-sidebar; }
::view-transition-group(ori-sidebar) { animation-duration: 0s; }
