/* Shared presentation tokens. Content and destinations remain Drupal entities. */
:root {
  --rv-radius-xs: 4px;
  --rv-radius-sm: 8px;
  --rv-radius-control: 10px;
  --rv-radius-card: 16px;
  --rv-radius-panel: 20px;
  --rv-radius-photo: var(--rv-radius-sm);
  --rv-radius: var(--rv-radius-sm);
  --rv-font-interface: Inter, Geist, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --rv-card-lift: -2px;
  --rv-card-shadow: 0 8px 22px var(--rv-shadow-soft);
  --rv-interaction-duration: 160ms;
}
body, h1, h2, h3, h4, .journal-mark, .journal-mark small, .compact-mark, .utility-title,
.current-issue h2, .current-issue h3, .identity-current a, .directory-item,
.eyebrow, kbd, .references summary, .hero-metrics strong, .issue-tile strong,
.footer-blocks .utility-title { font-family: var(--rv-font-interface); }
h1, h2, h3, h4 { font-weight: 600; letter-spacing: -.02em; }
body { font-weight: 400; }
.journal-mark { font-weight: 650; }
.article-card h3 { font-size: 23px; line-height: 1.3; font-weight: 600; }
.utility-title { font-size: 20px; font-weight: 600; }
.article-card .article-kicker, .article-card .article-actions { font-size: 12px; }

button, .button, input:not([type="checkbox"]):not([type="radio"]), select,
.palette-top input, .form-item input, .details-link, .pdf-link {
  border-radius: var(--rv-radius-control);
}
.article-card, .current-issue, .utility-card, .archive-year,
.contextual-sidebar .cms-block, .contextual-sidebar .cms-menu,
.journal-cta, .directory-item, .issue-tile, .citation, .archive-discovery,
.rv-search-page, .editorial-member-card, .editorial-empty {
  border-radius: var(--rv-radius-card);
}
.article-card { overflow: hidden; }
.journal-identity { --rv-fact-radius: var(--rv-radius-card); --rv-hero-cta-radius: var(--rv-radius-card); }
.journal-identity .journal-fact dt { font-size: 12px; }
.journal-identity .journal-fact dd { font-size: 14px; }
.journal-fact .fact-icon { width: 19px; height: 19px; }
.contextual-sidebar .cms-menu { padding: 18px; border: 1px solid var(--rv-line); background: var(--rv-white); }
.contextual-sidebar .cms-menu li a { font-family: var(--rv-font-interface); font-size: 14px; }
.desktop-navigation .mega-panel, .compact-navigation .mega-panel,
.search-palette, .mobile-menu, .editorial-member-profile,
.index-strip-inner { border-radius: var(--rv-radius-panel); }
.index-strip-inner { border: 1px solid var(--rv-line); padding: 18px 20px; background: var(--rv-white); }
.index-strip .directory-item { border-radius: var(--rv-radius-sm); }
.directory-section.index-strip[data-component=partners] .directory-item { min-width: 180px; max-width: 230px; height: 76px; padding: 8px 12px; border: 1px solid var(--rv-line); border-radius: var(--rv-radius-control); font-family: var(--rv-font-interface); }
.index-strip .directory-item img { width: 180px; max-width: 180px; height: 60px; max-height: 60px; object-fit: contain; }
.index-strip h2 { font: 600 12px/1.4 var(--rv-font-interface); letter-spacing: .06em; }
.directory-section[data-component=journals] .view-content { gap: 18px; }
.directory-section[data-component=journals] .directory-item { height: 100%; min-height: 140px; border: 1px solid var(--rv-line); border-radius: var(--rv-radius-card); padding: 20px; background: var(--rv-white); font-family: var(--rv-font-interface); align-items: flex-start; }
.directory-section[data-component=journals] .directory-item:hover { text-decoration: none; }
.directory-copy { flex: 1; }
.directory-copy strong { display: block; font-size: 17px; font-weight: 600; line-height: 1.4; }
.directory-copy small { display: block; font-size: 13px; line-height: 1.5; color: var(--rv-muted); margin-top: 10px; }
.palette-body li, .result-icon, .member-links a, .member-interests li { border-radius: var(--rv-radius-sm); }
.article-card h3 { padding-left: 44px; }
.article-card h3 > .rv-icon-ribbon { width: 18px; height: 24px; left: 20px; }
.utility-title .rv-icon-ribbon { width: 18px; height: 24px; }
.article-actions .rv-icon { width: 18px; height: 18px; }
.article-actions .rv-icon-doi { width: 24px; height: 24px; min-width: 24px; }
.editorial-main .member-academic, .editorial-main .member-interests li { font-size: 12px; }
.editorial-main .member-affiliation, .editorial-main .member-location,
.editorial-main .member-position { font-size: 13px; }

/* An actual profile anchor covers each member card; other actions stay separate. */
.editorial-member-card { position: relative; }
.editorial-member-card .member-name a::after { content: ""; position: absolute; inset: 0; border-radius: var(--rv-radius-card); z-index: 1; }
.editorial-member-card .member-name a:focus-visible::after { outline: 2px solid var(--rv-focus); outline-offset: 3px; border-radius: var(--rv-radius-card); }
.editorial-member-card .member-links { position: relative; z-index: 2; }
.current-issue { position: relative; }
.current-issue .issue-info h2 a::after, .current-issue .issue-info h3 a::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: var(--rv-radius-card); }
.current-issue .cover-link, .current-issue .button { position: relative; z-index: 2; }

/* Whole-card links may move; the printed current-issue cover stays still. */
.editorial-member-card, a.issue-tile {
  transition: transform var(--rv-interaction-duration) ease,
    box-shadow var(--rv-interaction-duration) ease,
    border-color var(--rv-interaction-duration) ease;
}
.editorial-member-card:focus-within, a.issue-tile:focus-visible {
  transform: translateY(var(--rv-card-lift));
  box-shadow: var(--rv-card-shadow);
  border-color: var(--rv-line-strong);
}
@media (hover: hover) {
  .editorial-member-card:hover, a.issue-tile:hover {
    transform: translateY(var(--rv-card-lift));
    box-shadow: var(--rv-card-shadow);
    border-color: var(--rv-line-strong);
  }
}
/* Directory cards are information, with quieter movement than primary actions. */
.directory-section[data-component=partners] .directory-item,
.directory-section[data-component=journals] .directory-item {
  background: var(--rv-white);
  color: inherit;
  border-color: var(--rv-line);
}
.directory-section[data-component=partners] a.directory-item,
.directory-section[data-component=journals] a.directory-item {
  --rv-information-lift: -1px;
  --rv-information-shadow: 0 2px 8px rgb(20 28 32 / 4%);
  transition: transform var(--rv-interaction-duration) ease, box-shadow var(--rv-interaction-duration) ease;
}
.directory-section[data-component=journals] a.directory-item {
  --rv-information-lift: -2px;
  --rv-information-shadow: 0 3px 10px rgb(20 28 32 / 5%);
}
.directory-section[data-component=partners] a.directory-item:focus-visible,
.directory-section[data-component=journals] a.directory-item:focus-visible {
  transform: translateY(var(--rv-information-lift));
  box-shadow: var(--rv-information-shadow);
}
@media (hover: hover) {
  .directory-section[data-component=partners] a.directory-item:hover,
  .directory-section[data-component=journals] a.directory-item:hover {
    transform: translateY(var(--rv-information-lift));
    box-shadow: var(--rv-information-shadow);
    background: var(--rv-white);
    color: inherit;
    border-color: var(--rv-line);
  }
}
a.directory-item, a.issue-tile, .editorial-member-card .member-name a { cursor: pointer; }
.journal-fact, .hero-metrics, .article-card, .utility-card, .editorial-group-heading { cursor: auto; }
/* Printed objects keep their physical rectangular silhouette. */
.cover-link, .issue-cover, .type-cover, .identity-visual img { border-radius: 0; }
.cover-link, .issue-cover { transition: none; transform: none; filter: none; }
.cover-link:hover { transform: none; }
.specialist-notice { width: 100%; background: var(--rv-notice-bg); color: var(--rv-white); }
.specialist-notice-inner { display: flex; align-items: center; gap: 24px; padding-block: 10px; }
.specialist-notice p { flex: 1; margin: 0; font-size: 13px; line-height: 1.5; }
.specialist-notice a { text-decoration: underline; text-underline-offset: 3px; }
.specialist-notice button { flex-shrink: 0; min-height: 40px; border: 0; padding-inline: 18px; background: var(--rv-notice-button); color: var(--rv-notice-button-text); font-weight: 600; }
.specialist-notice :focus-visible { outline-color: var(--rv-white); }
.metric-demo { display: inline-block; width: fit-content; font-size: 10px; letter-spacing: .06em; font-weight: 600; border: 1px solid var(--rv-line-strong); border-radius: var(--rv-radius-xs); padding: 1px 4px; margin-bottom: 4px; }
@media (max-width: 600px) {
  .article-card h3 { font-size: 21px; padding-left: 42px; }
  .article-card h3 > .rv-icon-ribbon { left: 16px; }
  .contextual-sidebar .cms-menu { padding: 16px; }
  .specialist-notice-inner { gap: 10px; align-items: flex-start; flex-wrap: wrap; }
  .specialist-notice p { flex-basis: 100%; font-size: 12px; }
  .specialist-notice button { min-height: 40px; }
}
@media (prefers-reduced-motion: reduce) {
  :root { --rv-card-lift: 0px; --rv-interaction-duration: 0ms; }
  .editorial-member-card, a.directory-item, a.issue-tile { transition: none; }
  .editorial-member-card:hover, .editorial-member-card:focus-within,
  a.directory-item:hover, a.directory-item:focus-visible,
  .directory-section[data-component=partners] a.directory-item:hover,
  .directory-section[data-component=partners] a.directory-item:focus-visible,
  .directory-section[data-component=journals] a.directory-item:hover,
  .directory-section[data-component=journals] a.directory-item:focus-visible,
  a.issue-tile:hover, a.issue-tile:focus-visible { transform: none; }
}
