/* Research publications: five ascending, independently turnable paper dossiers. */
@property --folio-open {
  syntax: '<number>';
  inherits: true;
  initial-value: 0;
}
#evidence .folio-heading {
  display: flex; align-items: center; justify-content: space-between; gap: 36px;
  max-width: none; padding: 0 0 20px !important; margin: 0 !important;
}
#evidence .folio-heading::after { content: none; }
#evidence .folio-heading-copy > span { color: #245cc2; font-size: 12px; letter-spacing: .13em; }
#evidence .folio-heading h2 {
  margin: 10px 0 0; color: #102e44; font-size: clamp(38px, 3.5vw, 56px);
  font-weight: 850; letter-spacing: -.035em; line-height: 1.2;
}
#evidence .folio-heading p { margin: 14px 0 0; max-width: 720px; font-size: 16px; color: #4c6982; }
#evidence .folio-collection {
  position: relative; isolation: isolate; display: grid; justify-items: center; align-content: center;
  width: 114px; height: 102px; margin-right: 24px; flex: 0 0 auto;
  border: 1px solid #b8cceb; border-radius: 4px; background: #fff; transform: rotate(6deg);
  color: #2457b5; box-shadow: 0 4px 10px #16345508;
}
#evidence .folio-collection b { font-size: 36px; line-height: 1.1; font-weight: 750; letter-spacing: -.04em; }
#evidence .folio-collection > span { font-size: 11px; margin-top: 5px; letter-spacing: .12em; color: #426382; }
#evidence .folio-collection .folio-collection-pages { position: absolute; inset: 0; margin: 0; z-index: -1; pointer-events: none; }
.folio-collection-pages i { position: absolute; inset: -4px 8px 4px -8px; border: 1px solid #cbd9ed; border-radius: 4px; background: #eef4ff; transform: rotate(-15deg); z-index: -2; }
.folio-collection-pages i:last-child { inset: 5px -5px -5px 5px; transform: rotate(5deg); background: #fff; }
#evidence .folio-collection > svg { position: absolute; top: -13px; right: -19px; width: 35px; height: 35px; fill: #72aa9e; transform: rotate(8deg); }
#evidence .publication-shelf { overflow: visible; }
#evidence .publication-shelf::before { content: none; }
#evidence #paper-achievements { margin-top: 16px !important; gap: 20px; align-items: end; }
#evidence #paper-achievements > .paper-folio {
  --folio-ink: #265bc2; --folio-tint: #eef3ff; --folio-line: #c8d7f2; --folio-tape: #c5d8f9;
  display: flex; flex-direction: column; gap: 0; order: initial !important;
  position: relative; overflow: visible; isolation: auto;
  padding: 0 !important; min-width: 0; height: auto !important; min-height: var(--paper-card-height) !important;
  border: 1px solid var(--folio-line) !important; border-radius: 9px 17px 17px 9px;
  background: var(--folio-tint); box-shadow: 0 12px 26px -13px #28496532, 3px 3px 0 #fff, 4px 4px 0 var(--folio-line);
  opacity: 1 !important; filter: none !important;
  /* The page reveal is composited before the independent pointer tilt. */
  transform-style: flat !important;
  backface-visibility: visible !important;
}
#evidence #paper-achievements > .folio-rural { --folio-ink: #826729; --folio-tint: #fbf7ec; --folio-line: #e4d8b8; --folio-tape: #e8dbaa; }
#evidence #paper-achievements > .folio-umbrella { --folio-ink: #63519b; --folio-tint: #f5f1fc; --folio-line: #d9d0eb; --folio-tape: #d9ceef; }
#evidence #paper-achievements > .folio-tractor { --folio-ink: #2d638b; --folio-tint: #eff6fb; --folio-line: #c8ddea; --folio-tape: #c1ddeb; }
#evidence #paper-achievements > .folio-circular { --folio-ink: #176b60; --folio-tint: #edf7f3; --folio-line: #c2ded4; --folio-tape: #bcdfd3; }
#evidence #paper-achievements > .paper-folio::before,
#evidence #paper-achievements > .paper-folio::after { content: none !important; display: none !important; }
#evidence #paper-achievements > .paper-folio:is(:hover,:focus-within) {
  border-color: var(--folio-ink) !important;
  box-shadow: 0 16px 32px -16px #28496540, 3px 3px 0 #fff, 4px 4px 0 var(--folio-line) !important;
}
#paper-achievements .folio-stage { position: relative; display: grid; flex: 1 1 auto; min-width: 0; isolation: isolate; }
#paper-achievements .folio-turn { position: relative; display: grid; min-width: 0; }
#paper-achievements .folio-front,
#paper-achievements .folio-back { min-width: 0; padding: 22px 20px 16px; color: #163449; }
#paper-achievements .folio-front { display: flex; flex-direction: column; background: var(--folio-tint); border-radius: 8px 16px 0 0; }
#paper-achievements span { text-transform: none; letter-spacing: normal; font-weight: inherit; font-size: inherit; line-height: inherit; color: inherit; }
#paper-achievements .folio-topline { display: flex; align-items: center; justify-content: space-between; gap: 4px; }
#paper-achievements .folio-category { font-size: 12px; line-height: 1.5; color: var(--folio-ink); font-weight: 750; }
#paper-achievements .folio-index { font-size: 13px; font-variant-numeric: tabular-nums; color: var(--folio-ink); opacity: .8; }
#paper-achievements h3 { margin: 17px 0 0; padding: 0; color: #163449; font-size: clamp(20px, 1.5vw, 24px); font-weight: 800; line-height: 1.36; letter-spacing: -.025em; }
#paper-achievements h3 a { color: inherit; background: none; text-decoration: none; }
#paper-achievements h3 a:hover { color: var(--folio-ink); }
#paper-achievements h3 a::after { content: none; }
#paper-achievements .folio-figure { position: relative; display: flex; flex-direction: column; justify-content: center; flex: 1; min-height: 132px; margin: 23px 0 18px; padding: 0; border: 0; border-radius: 0; overflow: visible; background: transparent; box-shadow: none; }
#paper-achievements .folio-figure > a {
  position: relative; display: flex; align-items: center; justify-content: center; width: 100%; height: 138px;
  padding: 9px; background: #fff; border: 1px solid var(--folio-line); border-radius: 3px;
  transform: rotate(-3deg); box-shadow: 0 6px 12px #24466612;
  transition: transform 400ms cubic-bezier(.16,1,.3,1), box-shadow 400ms ease;
}
#paper-achievements .folio-figure > a::before { content: ''; position: absolute; width: 54px; height: 17px; top: -9px; left: calc(50% - 27px); z-index: 1; background: var(--folio-tape); opacity: .83; transform: rotate(3deg); }
#paper-achievements .folio-figure > a::after { content: ''; position: absolute; z-index: -1; inset: 5px -4px -5px 4px; background: #fff; border: 1px solid var(--folio-line); transform: rotate(4deg); border-radius: 3px; }
#paper-achievements .folio-figure img { display: block; width: 100%; height: 100%; object-fit: contain; border-radius: 0; }
#paper-achievements .folio-rural .folio-figure > a { width: 78%; height: 154px; align-self: center; transform: rotate(-6deg); }
#paper-achievements .folio-rural .folio-figure img { object-fit: cover; object-position: top; }
#paper-achievements .folio-umbrella .folio-figure > a { transform: rotate(3deg); }
#paper-achievements .folio-circular .folio-figure > a { transform: rotate(2deg); }
#paper-achievements .folio-figure figcaption { margin-top: 14px; padding: 0; text-align: center; font-size: 11px; color: #5a6c7e; line-height: 1.3; }
#paper-achievements .paper-folio:is(:hover,:focus-within) .folio-figure > a { transform: translateY(-4px) rotate(0); box-shadow: 0 9px 15px #2446661a; }
#paper-achievements .folio-publication { display: flex; align-items: baseline; justify-content: space-between; gap: 6px; font-size: 13px; line-height: 1.5; color: var(--folio-ink); font-weight: 750; }
#paper-achievements .folio-publication time { font-size: 13px; font-variant-numeric: tabular-nums; font-weight: 500; }
#paper-achievements .folio-topic { margin: 5px 0 0; padding: 0; color: #4c6175; font-size: 12px; line-height: 1.5; }
#paper-achievements .folio-controls { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 7px; min-height: 53px; margin: 0 20px; padding: 8px 0 10px; border-top: 1px solid var(--folio-line); }
#paper-achievements .folio-read { display: inline-flex; gap: 8px; align-items: center; color: #203e52; font-size: 12px; font-weight: 700; line-height: 1.5; text-decoration: none; background: none; white-space: nowrap; }
#paper-achievements .folio-read > span { transition: transform 250ms ease; }
#paper-achievements .folio-read:hover > span { transform: translate(2px,-2px); }
#paper-achievements .folio-flip { display: none; }
#paper-achievements.is-interactive .folio-flip { display: inline-flex; align-items: center; justify-content: center; gap: 5px; min-height: 32px; padding: 5px 6px; border: 0; border-radius: 4px; background: transparent; color: var(--folio-ink); font-family: inherit; font-size: 12px; font-weight: 650; line-height: 1.4; cursor: pointer; transition: background-color 180ms ease; }
#paper-achievements .folio-flip:hover { background: #ffffffb8; }
#paper-achievements .folio-flip svg, #evidence .folio-shelf-note svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
#paper-achievements a:focus-visible, #paper-achievements button:focus-visible { outline: 2px solid var(--folio-ink); outline-offset: 4px; }
#paper-achievements .folio-back { display: flex; flex-direction: column; gap: 0; background: color-mix(in srgb, var(--folio-tint) 25%, white); border-radius: 8px 16px 0 0; }
#paper-achievements .folio-back h4 { margin: 16px 0 12px; color: #173448; font-size: 15px; font-weight: 750; line-height: 1.5; letter-spacing: -.01em; text-wrap: pretty; overflow-wrap: anywhere; }
#paper-achievements .folio-citation { margin: 0; font-size: 12px; line-height: 1.65; color: #4c6175; }
#paper-achievements .folio-source { display: inline-block; color: var(--folio-ink); text-decoration: underline; text-underline-offset: 3px; }
#paper-achievements .folio-notes { margin: auto 0 0; padding: 20px 0 0; }
#paper-achievements .folio-notes > div { border-top: 1px solid var(--folio-line); padding: 11px 0 0; margin-top: 11px; }
#paper-achievements .folio-notes dt { color: var(--folio-ink); font-size: 11px; font-weight: 750; line-height: 1.5; }
#paper-achievements .folio-notes dd { margin: 5px 0 0; font-size: 13px; color: #29475a; line-height: 1.65; }
#paper-achievements.is-interactive .folio-stage {
  --folio-open: 0;
  transition: --folio-open 780ms cubic-bezier(.36,0,.2,1);
}
#paper-achievements.is-interactive .is-flipped .folio-stage { --folio-open: 1; }
#paper-achievements.is-interactive .folio-turn {
  /* A crease travels diagonally from the lower-right corner to the spine.
     Both paper faces stay upright; no mirrored text or shared 3D planes. */
  --peel-edge: calc(200% - var(--folio-open) * 200%);
  --peel-high: clamp(0%, var(--peel-edge), 100%);
  --peel-low: clamp(0%, calc(var(--peel-edge) - 100%), 100%);
  --peel-tip: calc(var(--peel-edge) - 100%);
  isolation: isolate;
}
#paper-achievements.is-interactive .folio-front,
#paper-achievements.is-interactive .folio-back { grid-area: 1 / 1; position: relative; }
#paper-achievements.is-interactive .folio-front {
  z-index: 2;
  clip-path: polygon(0 0, var(--peel-high) 0, var(--peel-high) var(--peel-low), var(--peel-low) var(--peel-high), 0 var(--peel-high));
}
#paper-achievements.is-interactive .folio-back {
  z-index: 0;
  opacity: clamp(0, calc(var(--folio-open) * 2), 1);
  transform: translateY(calc((1 - var(--folio-open)) * 6px));
}
#paper-achievements.is-interactive .folio-turn::before,
#paper-achievements.is-interactive .folio-turn::after {
  content: ''; position: absolute; inset: 0; pointer-events: none; border-radius: 8px 16px 0 0;
}
#paper-achievements.is-interactive .folio-turn::before {
  z-index: 1;
  background: #2544591a;
  clip-path: polygon(var(--peel-high) var(--peel-low), var(--peel-low) var(--peel-high), calc(var(--peel-low) + 5%) calc(var(--peel-high) + 5%), calc(var(--peel-high) + 5%) calc(var(--peel-low) + 5%));
  opacity: clamp(0, min(calc(var(--folio-open) * 9), calc((1 - var(--folio-open)) * 9)), 1);
}
#paper-achievements.is-interactive .folio-turn::after {
  z-index: 3;
  background: linear-gradient(135deg, #fff 22%, var(--folio-tint) 58%, var(--folio-line) 100%);
  clip-path: polygon(var(--peel-high) var(--peel-low), var(--peel-low) var(--peel-high), var(--peel-tip) var(--peel-tip));
  opacity: clamp(0, calc((1 - var(--folio-open)) * 12), 1);
}
#paper-achievements.is-interactive .folio-front::after {
  content: ''; position: absolute; right: 0; bottom: 0; width: 18px; height: 18px; pointer-events: none;
  background: linear-gradient(135deg, var(--folio-line) 45%, #fff 50%);
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
}
#paper-achievements .folio-flip svg { overflow: visible; }
#paper-achievements .folio-flip .folio-icon-leaf { transform-origin: 6px 12px; transition: transform 320ms cubic-bezier(.16,1,.3,1); }
#paper-achievements .folio-flip:hover .folio-icon-leaf,
#paper-achievements .is-flipped .folio-flip .folio-icon-leaf { transform: translate(-1px,-1px) rotate(-12deg); }
#paper-achievements [inert] { pointer-events: none; }
#evidence .folio-shelf-note { display: flex; justify-content: flex-end; gap: 24px; margin-top: 28px; padding: 13px 0 0; border-top: 1px solid #dce6ef; color: #546e82; font-size: 12px; line-height: 1.6; }
#evidence .folio-shelf-note > span { display: inline-flex; align-items: center; gap: 7px; color: inherit; font-size: inherit; font-weight: 400; letter-spacing: 0; text-transform: none; }
@media (min-width: 1280px) and (max-width: 1500px) {
  #evidence #paper-achievements { gap: 18px; }
  #paper-achievements .folio-front, #paper-achievements .folio-back { padding-inline: 17px; }
  #paper-achievements .folio-controls { margin-inline: 17px; gap: 3px; }
  #paper-achievements.is-interactive .folio-flip { padding-inline: 3px; }
  #paper-achievements h3 { font-size: 21px; }
  #paper-achievements .folio-publication { font-size: 12px; }
  #paper-achievements .folio-back h4 { font-size: 14px; }
}
@media (min-width: 980px) and (max-width: 1279px) {
  #evidence #paper-achievements > .paper-folio { min-height: 480px !important; }
}
@media (max-width: 979px) {
  #evidence #paper-achievements > .paper-folio { min-height: 490px !important; }
  #evidence .folio-collection { transform: scale(.8) rotate(6deg); transform-origin: right; margin-right: 8px; }
  #evidence .folio-heading { gap: 12px; }
}
@media (max-width: 639px) {
  #evidence .folio-collection { display: none; }
  #evidence .folio-heading h2 { font-size: 36px; }
  #evidence .folio-shelf-note { flex-direction: column; gap: 6px; }
}
@media (prefers-reduced-motion: reduce) {
  #paper-achievements .folio-stage, #paper-achievements .folio-figure > a, #paper-achievements .folio-read > span, #paper-achievements .folio-icon-leaf { transition: none !important; }
  #paper-achievements .paper-folio:is(:hover,:focus-within) .folio-figure > a { transform: none; }
}
