/* ISOKEM Rationale subpages only. No rules here alter the homepage or other pages. */
body.evidence-page {
  --evidence-navy: #102b54;
  --evidence-line: #e0e6ef;
  --evidence-muted: #536078;
  --evidence-mid: #75829a;
}
html:has(body.evidence-page) { scroll-padding-top: calc(var(--header-height) + 18px); overflow-x: clip; }
body.evidence-page { overflow-x: clip; }
.evidence-page .evidence-page-main { min-height: calc(100svh - var(--header-height)); }
.evidence-page .evidence-page-shell { padding-top: 25px; padding-bottom: 50px; }
.evidence-page .evidence-page-top { margin: 0 0 8px; }
.evidence-page .evidence-page-top h1 {
  margin: 0 0 24px; color: var(--evidence-navy);
  font: 710 clamp(1.65rem, 2.65vw, 2.5rem)/1.16 var(--font-display);
  letter-spacing: -.032em;
}
/* Two peer pages beneath Rationale. These are proper page links, not a promotional banner. */
.evidence-page .rationale-pages { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: min(100%, 820px); gap: 0; border-bottom: 1px solid #d6e0eb; }
.evidence-page .rationale-pages a {
  padding: 13px 17px 14px; font: 600 .8rem/1.3 var(--font-body);
  color: #78869b; text-align: left; border-bottom: 2px solid transparent;
  transition: color .16s ease, border-color .16s ease;
}
.evidence-page .rationale-pages a:first-child { padding-left: 0; }
.evidence-page .rationale-pages a:hover, .evidence-page .rationale-pages a[aria-current="page"] { color: var(--evidence-navy); border-bottom-color: var(--evidence-navy); }
.evidence-page .evidence-layout { display: grid; grid-template-columns: minmax(0,1fr) 151px; column-gap: clamp(28px, 4vw, 55px); align-items: stretch; }
.evidence-page .evidence-body { min-width: 0; }
.evidence-page .evidence-scene {
  position: relative; isolation: isolate;
  min-height: 0;
  padding: clamp(22px, 3vw, 38px) 0 clamp(22px, 3vw, 36px);
  border-top: 1px solid var(--evidence-line);
  scroll-snap-align: start;
  scroll-margin-top: calc(var(--header-height) + 10px);
}
.evidence-page .evidence-scene:first-child { border-top: 0; }
/* Subtle alternating chapter surfaces create the reveal of a new page without colored boxes. */
.evidence-page .evidence-scene:nth-child(even)::before {
  content: ""; position: absolute; z-index: -1; inset: 0 -22px;
  background: #fafcff; border-radius: 3px; pointer-events: none;
}
.evidence-page .evidence-scene-inner { width: 100%; }
/* Only stage entries are animated, never individual words or paragraphs. */
@media(prefers-reduced-motion:no-preference) {
  .evidence-page.evidence-motion-ready .evidence-scene:not(.is-revealed) .evidence-scene-inner {
    opacity: .06; transform: translate3d(0, 45px, 0);
  }
  .evidence-page.evidence-motion-ready .evidence-scene .evidence-scene-inner {
    transition: opacity .70s cubic-bezier(.21,.65,.2,1), transform .70s cubic-bezier(.21,.65,.2,1);
  }
}
.evidence-page .evidence-scene-head { display: flex; align-items: baseline; gap: 15px; margin: 0 0 24px; }
.evidence-page .evidence-scene-index { color: #2362a2; font: 650 .85rem/1.4 var(--font-technical); letter-spacing: .035em; flex: 0 0 auto; }
.evidence-page .evidence-scene-head h2 { color: var(--evidence-navy); margin: 0; font: 715 clamp(1.55rem, 2.55vw, 2.15rem)/1.16 var(--font-display); letter-spacing: -.025em; }
.evidence-page .evidence-prose p { color: #43516a; font: 400 .94rem/1.72 var(--font-body); margin: 0 0 16px; }
.evidence-page .rationale-propositions { list-style: none; margin: 17px 0 0; padding: 0; border-top: 1px solid var(--evidence-line); counter-reset: proposition; }
.evidence-page .rationale-propositions li {
  counter-increment: proposition; position:relative; padding: 12px 0 12px 32px;
  border-bottom: 1px solid var(--evidence-line); color: #43516a;
  font: 400 .925rem/1.6 var(--font-body);
}
.evidence-page .rationale-propositions li::before { content:counter(proposition) "."; position:absolute; left:0; color:#546884; font-weight: 400; }
.evidence-page .evidence-scene-product .feature-row {
  display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.65fr); column-gap: clamp(23px, 3.5vw, 55px);
  border-top: 1px solid var(--evidence-line); padding: 22px 0; margin: 0;
}
.evidence-page .evidence-scene-product .feature-row h3 { margin: 0; color: #273348; font: 610 .91rem/1.48 var(--font-body); letter-spacing: -.012em; }
.evidence-page .evidence-scene-product .feature-row p { margin: 0; color: #4c5b73; font: 400 .9rem/1.7 var(--font-body); }
.evidence-page .evidence-scene-product .feature-row p + p { margin-top: 12px; }
.evidence-page .evidence-scene-product .implications-heading { font: 680 1.03rem/1.4 var(--font-display); color: var(--evidence-navy); margin: 30px 0 15px; }
/* Footnote links are intentionally small and neutral. No reference appendix. */
.evidence-page .evidence-cite { color: #8b98aa; font: 400 .68em/1 var(--font-body); text-decoration: none; vertical-align: super; margin-left: 1px; }
.evidence-page .evidence-cite:hover { color: var(--evidence-navy); text-decoration: underline; }
.evidence-page .evidence-byline { padding: 9px 0 4px; margin: 0; color: #8590a0; font: 400 .68rem/1.4 var(--font-body); }
.evidence-page .evidence-byline em { font-style: italic; }
/* Sticky outline follows each full-screen chapter. */
.evidence-page .evidence-side-rail { align-self: start; position: sticky; top: calc(var(--header-height) + 35px); padding: 0 0 20px; max-height: calc(100svh - var(--header-height) - 55px); }
.evidence-page .evidence-rail-links { border-left: 2px solid #e3e9f1; display: flex; flex-direction: column; }
.evidence-page .evidence-rail-item {
  display: flex; gap: 10px; color: #8a96a7; border-left: 2px solid transparent;
  margin-left: -2px; padding: 16px 2px 16px 11px;
  font: 600 .70rem/1.4 var(--font-technical); letter-spacing: .008em;
  transition: color .18s ease, border-color .18s ease;
}
.evidence-page .evidence-rail-item .rail-num { font-size: .68rem; font-weight: 500; }
.evidence-page .evidence-rail-item.active, .evidence-page .evidence-rail-item[aria-current="location"], .evidence-page .evidence-rail-item:hover { color: var(--evidence-navy); border-left-color: #225d9f; }
.evidence-page .evidence-mobile-nav { display: none; }
/* Impact page: intentionally ~40% smaller numerical typography and tiles than previous build. */
.evidence-page .impact-one-liner { margin: 7px 0 0; color:#56647a; font:400 .88rem/1.52 var(--font-body); }
.evidence-page .impact-hero-stat {
  width: min(100%, 820px); display:flex; align-items:center; gap: 22px;
  padding: 13px 19px; margin: 26px 0 0; background: #f5f8fb; border-left: 2px solid #223d63;
}
.evidence-page .impact-hero-figure { color:var(--evidence-navy); font: 760 clamp(2.25rem, 4.4vw, 3.75rem)/1.05 var(--font-display); letter-spacing: -.053em; white-space: nowrap; font-variant-numeric: tabular-nums; }
.evidence-page .impact-hero-figure small { font:650 .8rem/1 var(--font-technical); letter-spacing:0; }
.evidence-page .impact-hero-right { display:flex; align-items:start; flex-direction:column; gap:7px; }
.evidence-page .impact-hero-label { color:#283d5b; font: 650 .78rem/1.3 var(--font-technical); letter-spacing: .025em; }
.evidence-page .impact-scene { padding-top: clamp(35px, 4.5vw, 60px); }
.evidence-page .impact-scene .evidence-scene-head { margin-bottom: 23px; }
.evidence-page .impact-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
.evidence-page .impact-card {
  min-width:0; min-height: 163px; padding: 14px 13px 11px;
  display:flex; flex-direction:column; gap:5px;
  background:#f5f8fc; border:1px solid #e7ebf2; border-radius:2px;
}
.evidence-page .impact-number { color:var(--evidence-navy); font: 750 clamp(1.45rem, 2.3vw, 2.2rem)/1.15 var(--font-display); letter-spacing:-.044em; font-variant-numeric: tabular-nums; overflow-wrap:anywhere; }
.evidence-page .impact-card h3 { margin:0; color:#223853; font:650 .66rem/1.32 var(--font-technical); letter-spacing:.015em; }
.evidence-page .impact-card-description { color:#52627a; margin:0; font:400 .73rem/1.42 var(--font-body); flex:1; }
.evidence-page .impact-card-reference { display:flex; flex-wrap:wrap; align-items:baseline; column-gap:8px; row-gap:2px; margin-top:7px; padding-top:7px; border-top:1px solid #e0e7f0; }
.evidence-page .impact-source-label { color:#848fa0; font:400 .66rem/1.4 var(--font-body); }
/* 8pt, plain grey, clickable, never competing with numbers. */
.evidence-page .evidence-source-link { color:#8c96a5; font:400 8pt/1.4 var(--font-body); text-decoration:none; }
.evidence-page .evidence-source-link:hover { color:#53647c; text-decoration:underline; }
.evidence-page .impact-subgroup { margin: 26px 0 12px; color:#657187; font:590 .7rem/1.4 var(--font-technical); letter-spacing:.045em; }
.evidence-page .impact-subgroup:first-of-type { margin-top:0; }
.evidence-page .rationale-pages a:focus-visible, .evidence-page .evidence-source-link:focus-visible, .evidence-page .evidence-cite:focus-visible,
.evidence-page .evidence-rail-item:focus-visible, .evidence-page .evidence-mobile-nav a:focus-visible { outline: 2px solid #1e63b0; outline-offset: 3px; }
@media(max-width:1050px) { .evidence-page .evidence-layout { grid-template-columns:minmax(0,1fr) 129px; column-gap:25px; } .evidence-page .impact-cards { gap:8px; } .evidence-page .impact-card { padding:12px 10px 10px; } }
@media(max-width:770px) {
  .evidence-page .evidence-page-shell { padding-top:20px; }
  .evidence-page .evidence-page-top h1 { font-size:1.7rem; margin-bottom:18px; }
  .evidence-page .rationale-pages a { font-size:.72rem; padding:11px 7px; }
  .evidence-page .evidence-layout { display:block; }
  .evidence-page .evidence-side-rail { display:none; }
  .evidence-page .evidence-mobile-nav {
    display:flex; position:sticky; top:var(--header-height); z-index:7;
    margin: 0 -12px; padding:7px 6px; gap:3px; background:rgba(255,255,255,.97);
    border-bottom:1px solid var(--evidence-line); backdrop-filter:blur(12px);
  }
  .evidence-page .evidence-mobile-nav a { flex:1; text-align:center; min-width:0; padding:8px 2px; border-bottom:2px solid transparent; font:590 .65rem/1.2 var(--font-technical); color:#8290a1; }
  .evidence-page .evidence-mobile-nav a.active { color:var(--evidence-navy); border-color:var(--evidence-navy); }
  .evidence-page .evidence-scene { min-height:0; padding:26px 0 29px; scroll-margin-top:calc(var(--header-height) + 43px); }
  .evidence-page .evidence-scene-product .feature-row { grid-template-columns:minmax(0,1fr); gap:8px; padding:18px 0; }
  .evidence-page .impact-cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .evidence-page .impact-number { font-size:clamp(1.65rem,5vw,2.1rem); }
}
@media(max-width:470px) {
  .evidence-page .rationale-pages a { font-size:.69rem; }
  .evidence-page .evidence-scene-head { gap:10px; }
  .evidence-page .evidence-scene-head h2 { font-size:1.48rem; }
  .evidence-page .evidence-prose p { font-size:.91rem; line-height:1.65; }
  .evidence-page .impact-hero-figure { font-size:2.05rem; }
  .evidence-page .impact-hero-stat { gap:13px; padding:12px; }
  .evidence-page .impact-hero-label { font-size:.66rem; }
  .evidence-page .impact-cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
  .evidence-page .impact-card { min-height:178px; padding:11px 9px; }
  .evidence-page .impact-number { font-size:clamp(1.42rem,6vw,1.78rem); }
  .evidence-page .impact-card h3 { font-size:.62rem; }
  .evidence-page .impact-card-description { font-size:.69rem; }
  .evidence-page .impact-source-label { font-size:.6rem; }
}
@media(max-width:345px) { .evidence-page .impact-cards { grid-template-columns:1fr; } .evidence-page .impact-card { min-height:155px; } }
@media print {
  html:has(body.evidence-page){scroll-snap-type:none}
  .evidence-page .evidence-mobile-nav, .evidence-page .evidence-side-rail {display:none!important}
  .evidence-page .evidence-layout {display:block}
  .evidence-page .evidence-scene { min-height:0; break-inside:auto; padding:24px 0; }
  .evidence-page .impact-card,.evidence-page .feature-row { break-inside:avoid; }
}
