.gevi-png-paper {
    --navy-900: #0b1730;
    --navy-800: #101f3d;
    --navy-700: #16294f;
    --navy-600: #1d3663;
    --ink: #0f1c34;
    --body: #43536e;
    --muted: #7d8ba4;
    --line: #dde4f0;
    --paper: #f2f6fd;
    --white: #ffffff;
    --blue: #2f7cf6;
    --blue-soft: #8fc0ff;
    --amber: #e8a33d;
    --red: #e05a5a;
    --green: #2f9e73;
    --serif: 'Playfair Display',Georgia,serif;
    --sans: 'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    --mono: 'JetBrains Mono',ui-monospace,Menlo,monospace;
}

.gevi-png-paper * {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

.gevi-png-paper {
    scroll-behavior: smooth;
}

.gevi-png-paper {
    font-family: var(--sans);
    color: var(--body);
    background: var(--white);
    -webkit-font-smoothing: antialiased;
    line-height: 1.62;
    font-size: 15px;
}

.gevi-png-paper .wrap {
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 32px;
}

.gevi-png-paper .narrow {
    max-width: 760px;
    margin: 0 auto;
}

/* ---------- scroll progress bar ---------- */

.gevi-png-paper #prog {
    position: fixed;
    top: 0;
    left: 0;
    height: 3px;
    background: #4FA0FF;
    z-index: 9999;
    width: 0%;
    transition: width 0.1s ease-out;
}

/* ---------- top bar ---------- */

.gevi-png-paper .nav {
    background: var(--navy-900);
    border-bottom: 1px solid rgba(255,255,255,.07);
}

.gevi-png-paper .nav .wrap {
    display: flex;
    align-items: center;
    gap: 28px;
    height: 64px;
}

.gevi-png-paper .brand {
    display: flex;
    align-items: center;
    gap: 11px;
    text-decoration: none;
}

.gevi-png-paper .brand .mark {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: linear-gradient(135deg,var(--blue),#1b4fa8);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 700;
    font-size: 17px;
}

.gevi-png-paper .brand .txt {
    line-height: 1.15;
}

.gevi-png-paper .brand .txt b {
    display: block;
    color: #fff;
    font-size: 14px;
    letter-spacing: .02em;
    font-weight: 700;
}

.gevi-png-paper .brand .txt b i {
    color: var(--blue-soft);
    font-style: normal;
}

.gevi-png-paper .brand .txt span {
    display: block;
    font-family: var(--mono);
    font-size: 9.5px;
    color: #7f92b4;
    letter-spacing: .05em;
}

.gevi-png-paper .navlinks {
    display: flex;
    gap: 5px;
    margin-left: 14px;
}

.gevi-png-paper .navlinks a {
    font-family: var(--mono);
    font-size: 10.5px;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: #93a4c2;
    text-decoration: none;
    padding: 7px 11px;
    border-radius: 5px;
}

.gevi-png-paper .navlinks a:hover {
    color: #fff;
    background: rgba(255,255,255,.06);
}

.gevi-png-paper .navlinks a.on {
    color: #fff;
    background: rgba(255,255,255,.09);
}

.gevi-png-paper .cta {
    margin-left: auto;
    background: var(--blue);
    color: #fff;
    text-decoration: none;
    font-family: var(--mono);
    font-size: 10.5px;
    letter-spacing: .09em;
    text-transform: uppercase;
    padding: 9px 16px;
    border-radius: 6px;
    font-weight: 500;
}

.gevi-png-paper .cta:hover {
    background: #1f6ae4;
}

/* ---------- hero ---------- */

.gevi-png-paper .hero {
    background: radial-gradient(900px 460px at 88% 18%,rgba(47,124,246,.18),transparent 62%),
    radial-gradient(600px 420px at 6% 92%,rgba(47,124,246,.09),transparent 60%),
    linear-gradient(160deg,var(--navy-800) 0%,var(--navy-900) 100%);
    position: relative;
    overflow: hidden;
    padding: 64px 0 72px;
    border-bottom: 1px solid rgba(79, 160, 255, 0.2);
}

.gevi-png-paper #research-constellation {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    pointer-events: none;
    z-index: 1;
}

.gevi-png-paper .hero .wrap {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1.02fr .98fr;
    gap: 56px;
    align-items: center;
}

.gevi-png-paper .back {
    font-family: var(--mono);
    font-size: 10.5px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--blue-soft);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 26px;
    transition: color .15s ease;
}

.gevi-png-paper .back:hover {
    color: #fff;
}

.gevi-png-paper h1.title {
    font-family: var(--serif);
    font-size: 47px;
    line-height: 1.08;
    color: #fff;
    letter-spacing: -.015em;
    font-weight: 700;
}

.gevi-png-paper h1.title em {
    display: block;
    color: var(--blue-soft);
    font-style: normal;
}

.gevi-png-paper .sub {
    font-family: var(--serif);
    font-style: italic;
    font-size: 16.5px;
    line-height: 1.5;
    color: #b9c8e2;
    margin-top: 16px;
    max-width: 470px;
}

.gevi-png-paper .pillbox {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin-top: 24px;
    padding: 9px 18px 9px 15px;
    border: 1px solid rgba(232,163,61,.45);
    background: rgba(232,163,61,.1);
    border-radius: 999px;
}

.gevi-png-paper .pillbox b {
    font-family: var(--mono);
    font-size: 24px;
    color: var(--amber);
    font-weight: 700;
    letter-spacing: -.02em;
}

.gevi-png-paper .pillbox {
    animation: pillglow 4200ms ease-in-out infinite;
}

@keyframes pillglow {
    0%,100% {
        box-shadow: 0 0 0 0 rgba(232,163,61,0);
    }

    50% {
        box-shadow: 0 0 0 7px rgba(232,163,61,.07);
    }
}

.gevi-png-paper .pillbox span {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: .11em;
    text-transform: uppercase;
    color: #e3c493;
}

.gevi-png-paper .lede {
    color: #a9bad6;
    font-size: 14.5px;
    line-height: 1.68;
    margin-top: 24px;
    max-width: 470px;
}

/* meta row */

.gevi-png-paper .meta-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 20px 32px;
    margin-top: 28px;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,.12);
}

.gevi-png-paper .meta-row > div {
    font-size: 13px;
}

/* Match the reference paper's compact DOI badge. */
.gevi-png-paper .authenticity-badge {
    margin-top: 10px;
}

.gevi-png-paper .authenticity-badge a {
    display: inline-block;
    transition: opacity 0.15s ease;
    border: 0 !important;
}

.gevi-png-paper .authenticity-badge a:hover {
    opacity: 0.85;
}

.gevi-png-paper .authenticity-badge img {
    display: block;
    height: 20px;
}


.gevi-png-paper .meta-row .k {
    font-family: var(--mono);
    font-size: 9.5px;
    letter-spacing: .11em;
    text-transform: uppercase;
    color: #8ea3c6;
    display: block;
    margin-bottom: 4px;
}

.gevi-png-paper .meta-row .v {
    color: #e8eefb;
    font-weight: 600;
    font-size: 13.5px;
    line-height: 1.4;
}

.gevi-png-paper .orcid-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
    font-size: 12px;
    font-weight: 400;
    color: #b6cfee;
    margin-top: 4px;
    transition: color 0.15s ease;
    border: 0 !important;
}

.gevi-png-paper .orcid-link:hover {
    color: #fff;
}

.gevi-png-paper .orcid-link-img {
    width: 15px;
    height: 15px;
    display: inline-block;
    vertical-align: middle;
}

.gevi-png-paper .authenticity-badge {
    margin-top: 2px;
}

.gevi-png-paper .authenticity-badge a {
    display: inline-block;
    transition: opacity .15s ease;
    border: 0 !important;
}

.gevi-png-paper .authenticity-badge a:hover {
    opacity: .85;
}

.gevi-png-paper .authenticity-badge img {
    display: block;
    height: 22px;
}

.gevi-png-paper .gevi-pitaa-metadata .authenticity-badge {
    flex-basis: 100%;
    margin-top: 0;
}

.gevi-png-paper .gevi-pitaa-metadata .authenticity-badge img {
    height: 20px;
}

/* ---------- hero: pit cross-section ---------- */
.gevi-png-paper .chartcard {
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 14px;
    background: rgba(255,255,255,.035);
    padding: 20px 22px 18px;
    backdrop-filter: blur(2px);
    overflow: hidden;
}

.gevi-png-paper .chartcard .ct {
    font-family: var(--mono);
    font-size: 9.5px;
    letter-spacing: .13em;
    text-transform: uppercase;
    color: #8ea3c6;
    display: flex;
    justify-content: space-between;
    margin-bottom: 4px;
}

.gevi-png-paper .verdict {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: .06em;
    min-height: 15px;
    position: relative;
    margin-bottom: 10px;
}

.gevi-png-paper .verdict span {
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0;
    transition: opacity 420ms ease;
    white-space: nowrap;
}

.gevi-png-paper .verdict .v0 {
    color: #8ea3c6;
}

.gevi-png-paper .verdict .v1 {
    color: #5fd3a6;
}

.gevi-png-paper .verdict .v2 {
    color: var(--red);
}

.gevi-png-paper .chartcard[data-k="0"] .v0,.gevi-png-paper .chartcard[data-k="1"] .v1,.gevi-png-paper .chartcard[data-k="2"] .v2,.gevi-png-paper .chartcard[data-k="3"] .v2 {
    opacity: 1;
}

.gevi-png-paper .pit {
    display: block;
    width: 100%;
    height: auto;
}

/* rock strata drift in */

.gevi-png-paper .pit .strata line {
    opacity: 0;
    transition: opacity 700ms ease;
}

.gevi-png-paper .chartcard.go .pit .strata line {
    opacity: 1;
}

.gevi-png-paper .pit .ground {
    stroke-dasharray: 460;
    stroke-dashoffset: 460;
    transition: stroke-dashoffset 900ms ease;
}

.gevi-png-paper .chartcard.go .pit .ground {
    stroke-dashoffset: 0;
}

/* the excavated void: wipes open from the surface downward */

.gevi-png-paper .pit .void {
    clip-path: inset(0 0 100% 0);
    transition: clip-path 1500ms cubic-bezier(.33,.9,.4,1);
}

.gevi-png-paper .chartcard.go .pit .void {
    clip-path: inset(0 0 0 0);
}

/* probes descend into the rock */

.gevi-png-paper .pit .pr {
    opacity: 0;
    transform: translateY(-16px);
    transition: opacity 460ms ease,transform 620ms cubic-bezier(.22,1,.36,1);
}

.gevi-png-paper .chartcard[data-k="1"] .pit .pr,.gevi-png-paper .chartcard[data-k="2"] .pit .pr,.gevi-png-paper .chartcard[data-k="3"] .pit .pr {
    opacity: 1;
    transform: none;
}

.gevi-png-paper .chartcard .pit .pr1 {
    transition-delay: 0ms;
}

.gevi-png-paper .chartcard .pit .pr2 {
    transition-delay: 120ms;
}

.gevi-png-paper .chartcard .pit .pr3 {
    transition-delay: 240ms;
}

.gevi-png-paper .chartcard .pit .pr4 {
    transition-delay: 360ms;
}

/* surveyed floor confirmed by the probes */

.gevi-png-paper .pit .tfloor {
    opacity: 0;
    transition: opacity 500ms ease;
    transition-delay: 420ms;
}

.gevi-png-paper .chartcard[data-k="1"] .pit .tfloor,.gevi-png-paper .chartcard[data-k="2"] .pit .tfloor,.gevi-png-paper .chartcard[data-k="3"] .pit .tfloor {
    opacity: 1;
}

/* the phantom volume the claim asserts */

.gevi-png-paper .pit .phantom {
    opacity: 0;
    clip-path: inset(0 0 100% 0);
    transition: opacity 520ms ease,clip-path 1100ms cubic-bezier(.33,.9,.4,1);
}

.gevi-png-paper .chartcard[data-k="2"] .pit .phantom,.gevi-png-paper .chartcard[data-k="3"] .pit .phantom {
    opacity: 1;
    clip-path: inset(0 0 0 0);
}

.gevi-png-paper .pit .cfloor,.gevi-png-paper .pit .gap {
    opacity: 0;
    transition: opacity 500ms ease;
    transition-delay: 600ms;
}

.gevi-png-paper .chartcard[data-k="2"] .pit .cfloor,.gevi-png-paper .chartcard[data-k="3"] .pit .cfloor,.gevi-png-paper .chartcard[data-k="2"] .pit .gap,.gevi-png-paper .chartcard[data-k="3"] .pit .gap {
    opacity: 1;
}

/* labels */

.gevi-png-paper .pit .lg {
    opacity: 0;
    transition: opacity 500ms ease;
    transition-delay: 700ms;
}

.gevi-png-paper .chartcard.go .pit .lg {
    opacity: 1;
}

.gevi-png-paper .pit .lt {
    opacity: 0;
    transition: opacity 460ms ease;
    transition-delay: 560ms;
}

.gevi-png-paper .chartcard[data-k="1"] .pit .lt,.gevi-png-paper .chartcard[data-k="2"] .pit .lt,.gevi-png-paper .chartcard[data-k="3"] .pit .lt {
    opacity: 1;
}

.gevi-png-paper .pit .lc {
    opacity: 0;
    transition: opacity 460ms ease;
    transition-delay: 700ms;
}

.gevi-png-paper .chartcard[data-k="2"] .pit .lc,.gevi-png-paper .chartcard[data-k="3"] .pit .lc {
    opacity: 1;
}

.gevi-png-paper .pit .lp {
    opacity: 0;
    transition: opacity 520ms ease;
}

.gevi-png-paper .chartcard[data-k="3"] .pit .lp {
    opacity: 1;
}

/* readout */

.gevi-png-paper .mread {
    display: flex;
    gap: 20px;
    margin-top: 12px;
    padding-top: 13px;
    border-top: 1px solid rgba(255,255,255,.1);
}

.gevi-png-paper .mread div {
    flex: 1;
}

.gevi-png-paper .mread .k {
    display: block;
    font-family: var(--mono);
    font-size: 8.5px;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: #6f83a6;
    margin-bottom: 5px;
}

.gevi-png-paper .mread .v {
    font-family: var(--mono);
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    white-space: nowrap;
    transition: color 420ms ease;
}

.gevi-png-paper .chartcard[data-k="3"] .mread .v.hot {
    color: var(--red);
}

.gevi-png-paper .chartcard.reset .pit * {
    transition: none !important;
    transition-delay: 0ms !important;
}

/* ---------- layout for section 01 (sticky sidebar) ---------- */

.gevi-png-paper .s-layout {
    display: flex;
    gap: 48px;
    align-items: flex-start;
    position: relative;
}

.gevi-png-paper .s-main {
    flex: 1;
    min-width: 0;
    max-width: 670px;
}

.gevi-png-paper .s-side {
    width: 380px;
    flex-shrink: 0;
    position: -webkit-sticky;
    position: sticky;
    top: 32px;
    padding-top: 8px;
}

.gevi-png-paper .cite-content {
    background: transparent;
}

.gevi-png-paper .cite-format-title {
    font-family: Inter, system-ui, -apple-system, sans-serif;
    font-weight: 600;
    font-size: 13px;
    color: #1e293b;
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.gevi-png-paper .cite-box {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    padding: 16px 20px;
    margin-bottom: 16px;
    position: relative;
    overflow: hidden;
}

.gevi-png-paper .cite-box code {
    font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 11.5px;
    color: #1e293b;
    line-height: 1.9;
    word-break: break-all;
    display: block;
    white-space: pre-wrap;
}

.gevi-png-paper .cite-reuse-text {
    font-size: 12px;
    line-height: 1.6;
    color: #64748b;
}

/* rules / weights blocks */

.gevi-png-paper .rules {
    display: grid;
    gap: 12px;
    margin-top: 26px;
}

.gevi-png-paper .rule {
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: 20px;
    align-items: start;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 20px 22px;
}

.gevi-png-paper .s-dark .rule {
    background: rgba(255,255,255,.045);
    border-color: rgba(255,255,255,.09);
}

.gevi-png-paper .rule .rn {
    font-family: var(--mono);
    font-size: 11px;
    letter-spacing: .08em;
    color: var(--blue);
    border: 1px solid rgba(47,124,246,.3);
    border-radius: 6px;
    padding: 6px 0;
    text-align: center;
    background: rgba(47,124,246,.06);
}

.gevi-png-paper .s-dark .rule .rn {
    color: var(--blue-soft);
    border-color: rgba(143,192,255,.28);
    background: rgba(143,192,255,.08);
}

.gevi-png-paper .rule h4 {
    font-size: 14.5px;
    color: var(--ink);
    font-weight: 600;
    margin-bottom: 7px;
}

.gevi-png-paper .s-dark .rule h4 {
    color: #fff;
}

.gevi-png-paper .rule p {
    font-size: 12.8px;
    line-height: 1.6;
    margin: 0;
    text-align: justify;
    hyphens: auto;
    -webkit-hyphens: auto;
}

.gevi-png-paper .chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.gevi-png-paper .chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid var(--line);
    background: #fff;
    border-radius: 999px;
    padding: 7px 14px;
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--body);
}

.gevi-png-paper .s-dark .chip {
    background: rgba(255,255,255,.05);
    border-color: rgba(255,255,255,.13);
    color: #c2d1e8;
}

.gevi-png-paper .chip i {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    display: inline-block;
}

/* money identity equation */

.gevi-png-paper .eq {
    background: var(--navy-900);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 12px;
    padding: 24px 26px;
    margin-top: 24px;
    text-align: center;
}

.gevi-png-paper .eq .line {
    font-family: var(--mono);
    font-size: 15px;
    color: #fff;
    letter-spacing: .02em;
    margin-bottom: 16px;
}

.gevi-png-paper .eq .line em {
    font-style: normal;
    color: var(--amber);
}

.gevi-png-paper .eq .terms {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 12px;
    margin-top: 6px;
}

.gevi-png-paper .eq .term {
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 8px;
    padding: 13px 12px;
    background: rgba(255,255,255,.03);
}

.gevi-png-paper .eq .term b {
    display: block;
    font-family: var(--mono);
    font-size: 17px;
    color: var(--amber);
    margin-bottom: 5px;
}

.gevi-png-paper .eq .term span {
    display: block;
    font-family: var(--mono);
    font-size: 8.5px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #7f93b4;
    line-height: 1.5;
}

@media (max-width:940px) {
    .gevi-png-paper .eq .terms {
        grid-template-columns: 1fr;
    }

    .gevi-png-paper .rule {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .gevi-png-paper .rule .rn {
        width: 56px;
    }
}

/* findings table numerics */

.gevi-png-paper .tbl-wrap {
    width: 100%;
    overflow-x: auto;
    border: 1px solid var(--line);
    border-radius: 12px;
    margin-top: 22px;
}

.gevi-png-paper .tbl {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border: none;
}

.gevi-png-paper .tbl th {
    font-family: var(--mono);
    font-size: 9.5px;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: var(--muted);
    text-align: left;
    padding: 14px 16px;
    background: #f7fafe;
    border-bottom: 1px solid var(--line);
    font-weight: 500;
}

.gevi-png-paper .tbl td {
    padding: 15px 16px;
    border-bottom: 1px solid var(--line);
    font-size: 13px;
    color: var(--body);
    vertical-align: top;
}

.gevi-png-paper .tbl tr:last-child td {
    border-bottom: none;
}

.gevi-png-paper .tbl td.rg {
    color: var(--ink);
    font-weight: 600;
    font-size: 13px;
    width: 33%;
}

.gevi-png-paper .tbl td.rg small,.gevi-png-paper .tbl td small {
    display: block;
    font-family: var(--mono);
    font-size: 9px;
    color: var(--muted);
    font-weight: 400;
    margin-top: 4px;
    letter-spacing: .05em;
}

.gevi-png-paper .tbl td.amt {
    font-family: var(--mono);
    font-weight: 700;
    color: var(--ink);
    white-space: nowrap;
}

.gevi-png-paper .tbl tr.tot td {
    background: rgba(232,163,61,.09);
}

.gevi-png-paper .tbl tr.tot td.amt {
    color: #a4762a;
}

.gevi-png-paper .tbl tbody tr {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 560ms ease,transform 560ms cubic-bezier(.22,1,.36,1);
}

.gevi-png-paper .tbl.go tbody tr {
    opacity: 1;
    transform: none;
}

.gevi-png-paper .tbl.go tbody tr:nth-child(1) {
    transition-delay: 0ms;
}

.gevi-png-paper .tbl.go tbody tr:nth-child(2) {
    transition-delay: 130ms;
}

.gevi-png-paper .tbl.go tbody tr:nth-child(3) {
    transition-delay: 260ms;
}

.gevi-png-paper .tbl.go tbody tr:nth-child(4) {
    transition-delay: 390ms;
}

.gevi-png-paper .tbl.go tbody tr:nth-child(5) {
    transition-delay: 520ms;
}

.gevi-png-paper .tbl.go tbody tr:nth-child(6) {
    transition-delay: 650ms;
}

.gevi-png-paper .cap {
    font-size: 11.5px;
    color: var(--muted);
    margin-top: 12px;
    line-height: 1.55;
}

/* mechanism cards */

.gevi-png-paper .grid3 {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 16px;
    margin-top: 26px;
}

.gevi-png-paper .card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 22px;
    border-top: 3px solid var(--blue);
}

.gevi-png-paper .card.amber {
    border-top-color: var(--amber);
}

.gevi-png-paper .card.red {
    border-top-color: var(--red);
}

.gevi-png-paper .card.green {
    border-top-color: var(--green);
}

.gevi-png-paper .card .lbl {
    font-family: var(--mono);
    font-size: 9.5px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 9px;
}

.gevi-png-paper .card h4 {
    font-size: 14.5px;
    color: var(--ink);
    font-weight: 600;
    margin-bottom: 9px;
}

.gevi-png-paper .card p {
    font-size: 12.8px;
    color: var(--body);
    margin: 0;
    line-height: 1.6;
}

.gevi-png-paper .card .fig {
    font-family: var(--mono);
    font-size: 26px;
    font-weight: 700;
    color: var(--blue);
    line-height: 1;
    margin-bottom: 8px;
}

.gevi-png-paper .card.amber .fig {
    color: var(--amber);
}

.gevi-png-paper .card.red .fig {
    color: var(--red);
}

.gevi-png-paper .card.green .fig {
    color: var(--green);
}

.gevi-png-paper .card .fig em {
    font-style: normal;
    font-size: 12px;
    color: var(--muted);
    margin-left: 5px;
    font-weight: 400;
}

/* dark principle list */

.gevi-png-paper .plist {
    display: grid;
    gap: 10px;
    margin-top: 26px;
}

.gevi-png-paper .pitem {
    display: flex;
    gap: 18px;
    background: rgba(255,255,255,.045);
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 10px;
    padding: 16px 20px;
    align-items: flex-start;
}

.gevi-png-paper .pitem .no {
    font-family: var(--mono);
    font-size: 10px;
    color: var(--blue-soft);
    letter-spacing: .06em;
    padding-top: 2px;
    min-width: 20px;
}

.gevi-png-paper .pitem div p {
    margin: 0;
    font-size: 13px;
    color: #b3c3dd;
    line-height: 1.6;
}

.gevi-png-paper .pitem div b {
    color: #fff;
    font-weight: 600;
}

/* pull quote */

.gevi-png-paper .pq {
    border-left: 3px solid var(--blue);
    padding: 6px 0 6px 24px;
    margin: 32px 0;
}

.gevi-png-paper .pq p {
    font-family: var(--serif);
    font-style: italic;
    font-size: 19px;
    line-height: 1.5;
    color: var(--ink);
    margin: 0;
}

.gevi-png-paper .s-dark .pq p {
    color: #e6edf9;
}

/* sources */

.gevi-png-paper .srcbox {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 22px 26px;
    margin-top: 34px;
    font-size: 12px;
    color: var(--muted);
    line-height: 1.75;
    text-align: justify;
    hyphens: auto;
    -webkit-hyphens: auto;
}

/* Ragged-right exemptions */

.gevi-png-paper .lede,.gevi-png-paper .sub,.gevi-png-paper .card p,.gevi-png-paper .result .mid p,.gevi-png-paper .pq p,.gevi-png-paper .cap,.gevi-png-paper .meta-row div,.gevi-png-paper .hero p,.gevi-png-paper .tbl td,.gevi-png-paper .tbl th,.gevi-png-paper .cite-reuse-text {
    text-align: left;
    hyphens: manual;
    -webkit-hyphens: manual;
}

.gevi-png-paper .pitem div p {
    text-align: justify;
    hyphens: auto;
    -webkit-hyphens: auto;
}

.gevi-png-paper .srcbox b {
    color: var(--ink);
    font-weight: 600;
}

.gevi-png-paper .srcbox a {
    color: var(--blue);
    text-decoration: none;
}

/* ---------- sections ---------- */

.gevi-png-paper section {
    padding: 64px 0;
}

.gevi-png-paper .s-light {
    background: var(--paper);
}

.gevi-png-paper .s-dark {
    background: var(--navy-900);
    color: #c6d3e8;
}

.gevi-png-paper .s-white {
    background: var(--white);
}

.gevi-png-paper .num {
    font-family: var(--mono);
    font-size: 11px;
    color: var(--blue);
    letter-spacing: .16em;
    display: block;
    margin-bottom: 9px;
}

.gevi-png-paper .s-dark .num {
    color: var(--blue-soft);
}

.gevi-png-paper h2 {
    font-size: 27px;
    line-height: 1.22;
    color: var(--ink);
    letter-spacing: -.015em;
    font-weight: 700;
    margin-bottom: 24px;
}

.gevi-png-paper .s-dark h2 {
    color: #fff;
}

.gevi-png-paper h3 {
    font-size: 15px;
    color: var(--ink);
    font-weight: 600;
    margin: 30px 0 12px;
}

.gevi-png-paper .s-dark h3 {
    color: #fff;
}

.gevi-png-paper p {
    margin-bottom: 15px;
    text-align: justify;
    text-justify: inter-word;
    hyphens: auto;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
}

.gevi-png-paper p a {
    color: var(--blue);
    text-decoration: none;
    border-bottom: 1px solid rgba(47,124,246,.32);
}

.gevi-png-paper p a:hover {
    border-bottom-color: var(--blue);
}

.gevi-png-paper .s-dark p {
    color: #b3c3dd;
}

.gevi-png-paper .dl {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: var(--blue);
    color: #fff;
    text-decoration: none;
    padding: 12px 12px 12px 20px;
    border-radius: 8px;
    font-size: 13.5px;
    font-weight: 600;
    margin-top: 10px;
}

.gevi-png-paper .dl:hover {
    background: #1f6ae4;
}

.gevi-png-paper .dl span {
    font-family: var(--mono);
    font-size: 9.5px;
    letter-spacing: .1em;
    background: rgba(255,255,255,.2);
    padding: 4px 8px;
    border-radius: 4px;
}

/* headline result panel */

.gevi-png-paper .result {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 640ms ease,transform 640ms cubic-bezier(.22,1,.36,1);
    border: 1px solid rgba(143,192,255,.28);
    background: rgba(47,124,246,.08);
    border-radius: 14px;
    padding: 26px 30px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 34px;
    align-items: center;
    margin-top: 26px;
}

.gevi-png-paper .result.go {
    opacity: 1;
    transform: none;
}

.gevi-png-paper .result .big {
    font-family: var(--mono);
    font-size: 48px;
    font-weight: 700;
    color: var(--amber);
    line-height: 1;
    letter-spacing: -.03em;
    white-space: nowrap;
}

.gevi-png-paper .result .big em {
    font-style: normal;
    font-size: 15px;
    color: #8ea3c6;
    margin-left: 5px;
}

.gevi-png-paper .result .tag {
    display: inline-block;
    font-family: var(--mono);
    font-size: 9.5px;
    letter-spacing: .11em;
    text-transform: uppercase;
    color: var(--amber);
    border: 1px solid rgba(232,163,61,.45);
    border-radius: 999px;
    padding: 4px 12px;
    margin-bottom: 10px;
}

.gevi-png-paper .result .mid p {
    font-size: 12.8px;
    color: #a3b5d2;
    margin: 0;
    line-height: 1.55;
}

.gevi-png-paper .result .right {
    text-align: right;
    border-left: 1px solid rgba(255,255,255,.12);
    padding-left: 30px;
}

.gevi-png-paper .result .right b {
    font-family: var(--mono);
    font-size: 26px;
    color: #fff;
    display: block;
    line-height: 1;
    white-space: nowrap;
}

.gevi-png-paper .result .right > span {
    font-family: var(--mono);
    font-size: 9.5px;
    color: #7f93b4;
    display: block;
    margin-top: 6px;
    letter-spacing: .05em;
}

.gevi-png-paper .result .right b span {
    font: inherit;
    color: inherit;
    display: inline;
    margin: 0;
    letter-spacing: inherit;
}

/* footer */

.gevi-png-paper footer {
    background: #070f22;
    padding: 26px 0;
}

.gevi-png-paper footer .wrap {
    display: flex;
    align-items: center;
    gap: 20px;
}

.gevi-png-paper footer .fl {
    display: flex;
    align-items: center;
    gap: 10px;
}

.gevi-png-paper footer .fl .mark {
    width: 26px;
    height: 26px;
    border-radius: 6px;
    background: linear-gradient(135deg,var(--blue),#1b4fa8);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 700;
    font-size: 13px;
}

.gevi-png-paper footer .fl b {
    color: #fff;
    font-size: 13px;
    letter-spacing: .02em;
}

.gevi-png-paper footer .fl b i {
    color: var(--blue-soft);
    font-style: normal;
}

.gevi-png-paper footer .fr {
    margin-left: auto;
    display: flex;
    gap: 22px;
    align-items: center;
    font-family: var(--mono);
    font-size: 9.5px;
    color: #5d6f8f;
    letter-spacing: .06em;
}

.gevi-png-paper footer .fr a {
    color: #5d6f8f;
    text-decoration: none;
}

.gevi-png-paper footer .fr a:hover {
    color: #a9bad6;
}

/* card + row reveal on scroll */

.gevi-png-paper .reveal {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 620ms ease,transform 620ms cubic-bezier(.22,1,.36,1);
    transition-delay: var(--d,0ms);
}

.gevi-png-paper .reveal.go {
    opacity: 1;
    transform: none;
}

/* NO-JS SAFETY NET */

.gevi-png-paper:not(.js) .pit .void,.gevi-png-paper:not(.js) .pit .phantom {
    clip-path: inset(0 0 0 0);
}

.gevi-png-paper:not(.js) .pit .ground {
    stroke-dashoffset: 0;
}

.gevi-png-paper:not(.js) .pit .pr {
    transform: none;
}

.gevi-png-paper:not(.js) .pit *,.gevi-png-paper:not(.js) .verdict .v2,.gevi-png-paper:not(.js) .reveal,.gevi-png-paper:not(.js) .result,.gevi-png-paper:not(.js) .tbl tbody tr {
    opacity: 1;
    transform: none;
}

@media (prefers-reduced-motion:reduce) {
    .gevi-png-paper .pit *,.gevi-png-paper .verdict span,.gevi-png-paper .reveal {
        transition: none !important;
        transition-delay: 0ms !important;
    }

    .gevi-png-paper .pit .void,.gevi-png-paper .pit .phantom {
        clip-path: inset(0 0 0 0);
    }

    .gevi-png-paper .pit .ground {
        stroke-dashoffset: 0;
    }

    .gevi-png-paper .pit .pr {
        transform: none;
    }

    .gevi-png-paper .pit *,.gevi-png-paper .verdict .v2 {
        opacity: 1;
    }

    .gevi-png-paper .reveal {
        opacity: 1;
        transform: none;
    }

    .gevi-png-paper .tbl tbody tr,.gevi-png-paper .result {
        opacity: 1;
        transform: none;
    }

    .gevi-png-paper .pillbox {
        animation: none !important;
    }
}

@media (max-width:1024px) {
    .gevi-png-paper .s-layout {
        flex-direction: column;
        gap: 36px;
    }

    .gevi-png-paper .s-main {
        max-width: 100%;
    }

    .gevi-png-paper .s-side {
        width: 100%;
        position: static;
        padding-top: 0;
    }
}

@media (max-width:940px) {
    .gevi-png-paper p,.gevi-png-paper .srcbox,.gevi-png-paper .pitem div p {
        text-align: left;
        hyphens: manual;
        -webkit-hyphens: manual;
    }

    .gevi-png-paper .hero .wrap {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .gevi-png-paper h1.title {
        font-size: 36px;
    }

    .gevi-png-paper .grid3 {
        grid-template-columns: 1fr;
    }

    .gevi-png-paper .result {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .gevi-png-paper .result .right {
        border-left: none;
        border-top: 1px solid rgba(255,255,255,.12);
        padding-left: 0;
        padding-top: 18px;
        text-align: left;
    }

    .gevi-png-paper .navlinks {
        display: none;
    }

    .gevi-png-paper .wrap {
        padding: 0 20px;
    }
}

/* GEVI hero — source-backed animated dimension portrait */

.gevi-png-paper .title-small {
    display: block;
    color: #8fc0ff;
    font: 10px var(--mono);
    letter-spacing: .16em;
    margin-bottom: 18px;
    text-transform: uppercase;
}

.gevi-png-paper .gevi-art {
    display: block;
    width: 100%;
    height: auto;
    margin-top: 12px;
}

.gevi-png-paper .gevi-art .dimension-fill {
    transform: scaleX(0);
    transform-box: fill-box;
    transform-origin: left;
    transition: transform 1.6s cubic-bezier(.22,1,.36,1);
}

.gevi-png-paper .chartcard.go .dimension-fill {
    transform: scaleX(1);
}

.gevi-png-paper .gevi-art .focus-ring {
    opacity: .35;
    transition: opacity .8s;
}

.gevi-png-paper .chartcard[data-stage="1"] .focus-ring {
    opacity: 1;
}

.gevi-png-paper .hero-note {
    font-size: 11px;
    color: #a9bad6;
    margin-top: 12px;
    text-align: left;
}

.gevi-png-paper #hero-caption {
    font: 9px var(--mono);
    color: #8fc0ff;
    min-height: 28px;
    margin-top: 9px;
    letter-spacing: .05em;
}

.gevi-png-paper .formula {
    font: 14px var(--mono);
    line-height: 1.9;
    color: #fff;
    overflow-wrap: anywhere;
}

.gevi-png-paper .source-note {
    font-size: 12px;
    color: var(--muted);
    margin-top: 16px;
}

.gevi-png-paper .s-side {
    width: 330px;
}

.gevi-png-paper .s-main {
    min-width: 0;
}

.gevi-png-paper .tbl-wrap:focus {
    outline: 2px solid var(--blue);
    outline-offset: 3px;
}

.gevi-png-paper button.motion-toggle {
    background: transparent;
    color: #b6cfee;
    border: 1px solid #465e82;
    border-radius: 5px;
    padding: 6px 10px;
    font: 10px var(--mono);
    cursor: pointer;
    margin-top: 12px;
}

.gevi-png-paper.motion-paused * {
    animation-play-state: paused !important;
    transition: none !important;
}

@media (max-width:540px) {
    .gevi-png-paper .nav .wrap {
        gap: 10px;
    }

    .gevi-png-paper .brand .txt span {
        font-size: 8px;
    }

    .gevi-png-paper .cta {
        font-size: 9px;
        padding: 8px;
    }

    .gevi-png-paper .pillbox {
        gap: 10px;
        padding: 9px 12px;
    }

    .gevi-png-paper .pillbox span {
        font-size: 8px;
    }

    .gevi-png-paper .meta-row {
        gap: 18px;
    }

    .gevi-png-paper .chartcard {
        padding: 18px 14px;
    }

    .gevi-png-paper .mread {
        gap: 12px;
    }

    .gevi-png-paper .mread .v {
        font-size: 18px;
    }

    .gevi-png-paper h1.title {
        font-size: 35px;
    }

    .gevi-png-paper footer .wrap {
        flex-wrap: wrap;
    }

    .gevi-png-paper footer .fr {
        flex-wrap: wrap;
        margin-left: 0;
        gap: 12px;
    }

    .gevi-png-paper .eq {
        padding: 20px 15px;
    }

    .gevi-png-paper .hero {
        padding: 42px 0 46px;
    }

    .gevi-png-paper section {
        padding: 44px 0;
    }
}

@media (prefers-reduced-motion:reduce) {
    .gevi-png-paper {
        scroll-behavior: auto;
    }

    .gevi-png-paper .gevi-art .dimension-fill {
        transform: scaleX(1);
        transition: none;
    }
}

.gevi-png-paper:not(.js) .gevi-art .dimension-fill {
    transform: scaleX(1);
}

@media print {
    .gevi-png-paper .nav,.gevi-png-paper #prog,.gevi-png-paper .motion-toggle {
        display: none;
    }

    .gevi-png-paper .hero,.gevi-png-paper section,.gevi-png-paper footer {
        background: #fff !important;
        color: #15243b !important;
        padding: 24px 0;
    }

    .gevi-png-paper .hero *,.gevi-png-paper .s-dark * {
        color: #15243b !important;
    }

    .gevi-png-paper .hero .wrap {
        display: block;
    }

    .gevi-png-paper .chartcard {
        max-width: 520px;
        background: #0b1730 !important;
        print-color-adjust: exact;
    }

    .gevi-png-paper .chartcard * {
        color: #b6cfee !important;
    }

    .gevi-png-paper .reveal,.gevi-png-paper .result,.gevi-png-paper .tbl tbody tr {
        opacity: 1;
        transform: none;
    }

    .gevi-png-paper .s-side {
        position: static;
    }

    .gevi-png-paper .s-layout {
        display: block;
    }

    .gevi-png-paper .s-main {
        max-width: none;
    }

    .gevi-png-paper canvas {
        display: none;
    }
}

.gevi-png-paper .visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
}

/* Compact hero graphic */

.gevi-png-paper .hero {
    padding: 46px 0 50px;
}

.gevi-png-paper .hero .wrap {
    grid-template-columns: 1.16fr .84fr;
    gap: 44px;
}

.gevi-png-paper .chartcard {
    width: 100%;
    max-width: 390px;
    justify-self: end;
    padding: 16px 18px 14px;
}

.gevi-png-paper .gevi-art {
    max-width: 340px;
    margin: 8px auto 0;
}

.gevi-png-paper .hero-note {
    font-size: 10px;
    line-height: 1.5;
    margin-top: 10px;
}

.gevi-png-paper .mread {
    gap: 12px;
    padding-top: 10px;
    margin-top: 8px;
}

.gevi-png-paper #hero-caption {
    font-size: 8px;
    min-height: 22px;
    margin-top: 6px;
}

@media (max-width:940px) {
    .gevi-png-paper .hero .wrap {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .gevi-png-paper .chartcard {
        justify-self: center;
        max-width: 380px;
    }

    .gevi-png-paper .hero {
        padding: 38px 0 40px;
    }
}

@media (max-width:540px) {
    .gevi-png-paper .chartcard {
        max-width: 330px;
        padding: 14px;
    }

    .gevi-png-paper .gevi-art {
        max-width: 290px;
    }

    .gevi-png-paper .mread .v {
        font-size: 15px;
    }
}

/* Distinct source-grounded hero compositions */

.gevi-png-paper .hero-gauge .gauge-draw {
    animation: gauge-reveal 2.4s ease both;
}

@keyframes gauge-reveal {
    from {
        stroke-dasharray: 0 578.1;
    }

    to {
        stroke-dasharray: 272.8 578.1;
    }
}

.gevi-png-paper .hero-dumbbell .link-reveal {
    stroke-dasharray: 400;
    animation: line-draw 2s ease both;
}

.gevi-png-paper .hero-dumbbell .node-pop {
    animation: node-pop 1s ease both;
    transform-box: fill-box;
    transform-origin: center;
}

@keyframes line-draw {
    from {
        stroke-dashoffset: 400;
    }

    to {
        stroke-dashoffset: 0;
    }
}

@keyframes node-pop {
    from {
        opacity: 0;
        transform: scale(.5);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

.gevi-png-paper .hero-cards .metric-card {
    animation: card-rise 1.5s ease both;
}

.gevi-png-paper .hero-cards .metric-card:nth-of-type(2) {
    animation-delay: .3s;
}

.gevi-png-paper .hero-cards .metric-card:nth-of-type(3) {
    animation-delay: .6s;
}

@keyframes card-rise {
    from {
        opacity: 0;
        transform: translateY(12px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.gevi-png-paper .hero-steps .step-panel {
    animation: step-slide 1.5s ease both;
}

.gevi-png-paper .hero-steps .step-panel:nth-of-type(2) {
    animation-delay: .3s;
}

.gevi-png-paper .hero-steps .step-panel:nth-of-type(3) {
    animation-delay: .6s;
}

@keyframes step-slide {
    from {
        opacity: 0;
        transform: translateX(-12px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.gevi-png-paper .hero-orbit .orbit-path {
    animation: orbit-dash 18s linear infinite;
}

.gevi-png-paper .hero-orbit .beacon-ring {
    animation: beacon 4s ease-in-out infinite;
}

@keyframes orbit-dash {
    to {
        stroke-dashoffset: -120;
    }
}

@keyframes beacon {
    0%,100% {
        opacity: .4;
    }

    50% {
        opacity: 1;
    }
}

.gevi-png-paper .hero-dots .dot-reveal {
    animation: dot-light 1.8s ease both;
}

@keyframes dot-light {
    from {
        opacity: .1;
    }

    to {
        opacity: 1;
    }
}

@media (prefers-reduced-motion:reduce) {
    .gevi-png-paper .gevi-art * {
        animation: none !important;
        transition: none !important;
    }
}

.gevi-png-paper:not(.js) .gevi-art * {
    animation: none !important;
}

/* ---------- Responsive fixes -------------------------------------------------
   These must stay LAST in this stylesheet. The earlier @media(max-width:540px)
   block sits before `.s-side{width:330px}` and `.chartcard{max-width:390px}`,
   so those later, unscoped widths were overriding the mobile steps and pushing
   the Section 01 sidebar and the hero card off the right edge of the screen. */
@media(max-width:940px){
  .gevi-png-paper .s-side,
  .research-paper-detail-page .s-side{width:100%;max-width:100%}
}
@media(max-width:900px){
  .gevi-png-paper .chartcard,
  .research-paper-detail-page .chartcard{width:100%;max-width:380px;margin-inline:auto}
}
@media(max-width:540px){
  .gevi-png-paper .chartcard,
  .research-paper-detail-page .chartcard{max-width:330px;padding:14px}
}
/* One fluid ramp for the hero title instead of the fixed 47px -> 36px -> 35px steps */
.gevi-png-paper h1.title,
.research-paper-detail-page h1.title,
h1.title{font-size:clamp(31px,4.2vw,47px)}

/* ---------- Responsive fixes, pass 2 -----------------------------------------
   Text right after a table had no gap: .tbl-wrap sets margin-top but no
   margin-bottom, and Tailwind's preflight zeroes the following <p> margin.
   Preserve 12px bottom corner radius during horizontal table scroll without
   scrollbar notch clipping. */
.gevi-png-paper .tbl-wrap,
.research-paper-detail-page .tbl-wrap{
  margin-bottom:22px;
  overflow-x:auto;
  overflow-y:hidden;
  border-radius:12px;
  -webkit-clip-path:inset(0 round 12px);
  clip-path:inset(0 round 12px);
  isolation:isolate;
  scrollbar-width:thin;
  scrollbar-color:rgba(100,116,139,.45) transparent;
}
.gevi-png-paper .tbl-wrap::-webkit-scrollbar,
.research-paper-detail-page .tbl-wrap::-webkit-scrollbar{height:8px;width:8px}
.gevi-png-paper .tbl-wrap::-webkit-scrollbar-track,
.research-paper-detail-page .tbl-wrap::-webkit-scrollbar-track{background:transparent;margin:0 12px}
.gevi-png-paper .tbl-wrap::-webkit-scrollbar-thumb,
.research-paper-detail-page .tbl-wrap::-webkit-scrollbar-thumb{
  background:rgba(100,116,139,.45);
  border-radius:999px;
}
.gevi-png-paper .tbl-wrap::-webkit-scrollbar-thumb:hover,
.research-paper-detail-page .tbl-wrap::-webkit-scrollbar-thumb:hover{background:rgba(71,85,105,.7)}
.gevi-png-paper .tbl-wrap:focus,
.gevi-png-paper .tbl-wrap:focus-visible,
.research-paper-detail-page .tbl-wrap:focus,
.research-paper-detail-page .tbl-wrap:focus-visible{
  outline:none;
  box-shadow:0 0 0 2px var(--blue);
  clip-path:none;
  -webkit-clip-path:none;
}
/* Keep the GEVI download form reachable on short mobile viewports. */
.gevi-png-paper ~ #download-modal #modal-box {
  max-height:calc(100dvh - 32px);
  overflow-y:auto;
  overscroll-behavior:contain;
}
